ax-common-ui-lib 1.0.0-qa.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1016) hide show
  1. package/README.md +24 -0
  2. package/ax-common-ui-lib.d.ts +5 -0
  3. package/esm2020/ax-common-ui-lib.mjs +5 -0
  4. package/esm2020/lib/app-list/app-list-dto.mjs +29 -0
  5. package/esm2020/lib/app-list/app-list.component.mjs +421 -0
  6. package/esm2020/lib/app-list/my-app-list.service.mjs +142 -0
  7. package/esm2020/lib/app-list/organization-list-dto.mjs +29 -0
  8. package/esm2020/lib/ax-app-common-lib.component.mjs +26 -0
  9. package/esm2020/lib/ax-app-common-lib.module.mjs +147 -0
  10. package/esm2020/lib/ax-app-common-lib.service.mjs +14 -0
  11. package/esm2020/lib/axo-filters/axo-filters.component.mjs +422 -0
  12. package/esm2020/lib/axo-filters/axo-filters.module.mjs +59 -0
  13. package/esm2020/lib/axo-filters/axo-filters.service.mjs +85 -0
  14. package/esm2020/lib/axo-map/axo-map.component.mjs +40 -0
  15. package/esm2020/lib/axo-map/axo-map.mjs +37 -0
  16. package/esm2020/lib/axo-map/axo-map.module.mjs +41 -0
  17. package/esm2020/lib/axo-map/public-api.mjs +7 -0
  18. package/esm2020/lib/axo-search-bar/axo-search-bar.component.mjs +84 -0
  19. package/esm2020/lib/axo-search-bar/axo-search-bar.module.mjs +38 -0
  20. package/esm2020/lib/axo-search-bar/public.api.mjs +3 -0
  21. package/esm2020/lib/axo-snack-bar/axo-snack-bar.component.mjs +155 -0
  22. package/esm2020/lib/axo-snack-bar/axo-snack-bar.module.mjs +34 -0
  23. package/esm2020/lib/axo-snack-bar/axo-snack-bar.service.mjs +29 -0
  24. package/esm2020/lib/axo-snack-bar/public-api.mjs +3 -0
  25. package/esm2020/lib/axo-state-manager/axo-state-manager.module.mjs +27 -0
  26. package/esm2020/lib/axo-state-manager/axo-state-manager.service.mjs +37 -0
  27. package/esm2020/lib/axo-state-manager/public-api.mjs +3 -0
  28. package/esm2020/lib/axo-utils/axo-utils.mjs +149 -0
  29. package/esm2020/lib/axo-utils/axo-utils.module.mjs +25 -0
  30. package/esm2020/lib/axo-utils/constants.mjs +3 -0
  31. package/esm2020/lib/axo-utils/data-source-types.mjs +12 -0
  32. package/esm2020/lib/axo-utils/field-list-search-pipe.mjs +32 -0
  33. package/esm2020/lib/axo-utils/filter-search-pipe.mjs +16 -0
  34. package/esm2020/lib/axo-utils/public-api.mjs +2 -0
  35. package/esm2020/lib/axo-utils/search-pipe/choice-search.pipe.mjs +33 -0
  36. package/esm2020/lib/axo-utils/search-pipe.mjs +36 -0
  37. package/esm2020/lib/bread-crumbs/bread-crumbs.component.mjs +196 -0
  38. package/esm2020/lib/bread-crumbs/bread-crumbs.module.mjs +29 -0
  39. package/esm2020/lib/bread-crumbs/bread-crumbs.service.mjs +122 -0
  40. package/esm2020/lib/code-editor/code-editor-modes.mjs +11 -0
  41. package/esm2020/lib/code-editor/code-editor-themes.mjs +8 -0
  42. package/esm2020/lib/code-editor/code-editor.component.mjs +60 -0
  43. package/esm2020/lib/code-editor/code-editor.module.mjs +36 -0
  44. package/esm2020/lib/code-editor/icode-editor-options.mjs +2 -0
  45. package/esm2020/lib/code-editor/public-api.mjs +3 -0
  46. package/esm2020/lib/common-dto/attributes-dto.mjs +39 -0
  47. package/esm2020/lib/common-dto/dashboard-dto.mjs +12 -0
  48. package/esm2020/lib/common-dto/dataListFilter-dto.mjs +13 -0
  49. package/esm2020/lib/common-dto/elements-dto.mjs +61 -0
  50. package/esm2020/lib/common-dto/form-dto.mjs +48 -0
  51. package/esm2020/lib/common-lib-configuration.service.mjs +21 -0
  52. package/esm2020/lib/common-property-panel/properties/properties.service.mjs +30 -0
  53. package/esm2020/lib/common-utils/entity-base.mjs +12 -0
  54. package/esm2020/lib/common-utils/iFlatten.mjs +2 -0
  55. package/esm2020/lib/common-utils/report.mjs +45 -0
  56. package/esm2020/lib/common.service.mjs +78 -0
  57. package/esm2020/lib/converters/convert-to-new-service.mjs +11 -0
  58. package/esm2020/lib/converters/convert-to-old-service.mjs +168 -0
  59. package/esm2020/lib/core/auth/auth.service.mjs +146 -0
  60. package/esm2020/lib/core/core.module.mjs +37 -0
  61. package/esm2020/lib/core/icons/icons.module.mjs +255 -0
  62. package/esm2020/lib/core/transloco/transloco.http-loader.mjs +32 -0
  63. package/esm2020/lib/core/transloco/transloco.module.mjs +94 -0
  64. package/esm2020/lib/core/user/axo-user.mjs +46 -0
  65. package/esm2020/lib/core/user/user-data.service.mjs +46 -0
  66. package/esm2020/lib/core/user/user.service.mjs +87 -0
  67. package/esm2020/lib/core/user/user.types.mjs +2 -0
  68. package/esm2020/lib/dashboard-lib/dashboard-builder.service.mjs +56 -0
  69. package/esm2020/lib/dashboard-lib/dashboard-control.service.mjs +92 -0
  70. package/esm2020/lib/dashboard-lib/dashboard-element/dashboard-element.mjs +11 -0
  71. package/esm2020/lib/dashboard-lib/dashboard-element-property/dashboard-property/dashboard-element-property.mjs +9 -0
  72. package/esm2020/lib/dashboard-lib/dashboard-filter/dashboard-filter.component.mjs +107 -0
  73. package/esm2020/lib/dashboard-lib/dashboard-lib.module.mjs +111 -0
  74. package/esm2020/lib/dashboard-lib/dashboard-list.service.mjs +73 -0
  75. package/esm2020/lib/dashboard-lib/dashboard.mjs +15 -0
  76. package/esm2020/lib/dashboard-lib/send-to-dashboard.service.mjs +96 -0
  77. package/esm2020/lib/dashboard-lib/show-dashboards/show-dashboards.component.mjs +241 -0
  78. package/esm2020/lib/dashboard-lib/show-dashboards/show-dashboards.service.mjs +32 -0
  79. package/esm2020/lib/data-view-lib/data-view/axo-card.mjs +26 -0
  80. package/esm2020/lib/data-view-lib/data-view/axo-tag.mjs +48 -0
  81. package/esm2020/lib/data-view-lib/data-view/board-column.mjs +24 -0
  82. package/esm2020/lib/data-view-lib/data-view/board-view.mjs +45 -0
  83. package/esm2020/lib/data-view-lib/data-view/cardConfig.mjs +26 -0
  84. package/esm2020/lib/data-view-lib/data-view/conditional-formatting.mjs +25 -0
  85. package/esm2020/lib/data-view-lib/data-view/coordinate.mjs +21 -0
  86. package/esm2020/lib/data-view-lib/data-view/data-view-enums.mjs +68 -0
  87. package/esm2020/lib/data-view-lib/data-view/data-view-filter.mjs +47 -0
  88. package/esm2020/lib/data-view-lib/data-view/data-view.mjs +66 -0
  89. package/esm2020/lib/data-view-lib/data-view/idata-view.mjs +2 -0
  90. package/esm2020/lib/data-view-lib/data-view/image-style.mjs +21 -0
  91. package/esm2020/lib/data-view-lib/data-view/info-window.mjs +23 -0
  92. package/esm2020/lib/data-view-lib/data-view/location.mjs +21 -0
  93. package/esm2020/lib/data-view-lib/data-view/map-view.mjs +41 -0
  94. package/esm2020/lib/data-view-lib/data-view/prefix-style.mjs +28 -0
  95. package/esm2020/lib/data-view-lib/data-view/tag-style.mjs +28 -0
  96. package/esm2020/lib/data-view-lib/data-view/tagConfig.mjs +63 -0
  97. package/esm2020/lib/data-view-lib/data-view/task-asset-form-object-dto.mjs +72 -0
  98. package/esm2020/lib/data-view-lib/data-view/task-column-value.mjs +43 -0
  99. package/esm2020/lib/data-view-lib/data-view/task-view.mjs +31 -0
  100. package/esm2020/lib/data-view-lib/data-view/task.mjs +199 -0
  101. package/esm2020/lib/data-view-lib/data-view/value-style.mjs +25 -0
  102. package/esm2020/lib/data-view-lib/data-view-filters/data-view-filters.component.mjs +661 -0
  103. package/esm2020/lib/data-view-lib/data-view-filters/data-view-filters.service.mjs +102 -0
  104. package/esm2020/lib/data-view-lib/data-view-header/data-view-header.component.mjs +536 -0
  105. package/esm2020/lib/data-view-lib/data-view-lib.module.mjs +88 -0
  106. package/esm2020/lib/data-view-lib/data-view.service.mjs +211 -0
  107. package/esm2020/lib/data-view-lib/public-api.mjs +28 -0
  108. package/esm2020/lib/directive/adjust-font-size.mjs +49 -0
  109. package/esm2020/lib/drill-through/drill-through.component.mjs +153 -0
  110. package/esm2020/lib/drill-through/drill-through.module.mjs +33 -0
  111. package/esm2020/lib/drill-through/drill-through.resolver.mjs +80 -0
  112. package/esm2020/lib/drill-through/drill-through.service.mjs +218 -0
  113. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-column.mjs +37 -0
  114. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-list.mjs +37 -0
  115. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-range-value.mjs +37 -0
  116. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-range.mjs +34 -0
  117. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-time-list.mjs +36 -0
  118. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-time-range-value.mjs +37 -0
  119. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-time-range.mjs +34 -0
  120. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-time.mjs +36 -0
  121. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-date-value.mjs +36 -0
  122. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-number-list.mjs +36 -0
  123. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-number-range-value.mjs +37 -0
  124. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-number-value.mjs +36 -0
  125. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-text-list.mjs +36 -0
  126. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-text.mjs +36 -0
  127. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-time-list.mjs +36 -0
  128. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-time-range-value.mjs +37 -0
  129. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-time-range.mjs +38 -0
  130. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-time.mjs +36 -0
  131. package/esm2020/lib/enlighten-lib/ax-expression/ax-exp-toggle.mjs +36 -0
  132. package/esm2020/lib/enlighten-lib/ax-expression/ax-expression-value.mjs +32 -0
  133. package/esm2020/lib/enlighten-lib/ax-expression/ax-expression.mjs +415 -0
  134. package/esm2020/lib/enlighten-lib/ax-expression/ax-number-range.mjs +34 -0
  135. package/esm2020/lib/enlighten-lib/ax-expression/exp-sub-type.mjs +29 -0
  136. package/esm2020/lib/enlighten-lib/ax-expression/public-api.mjs +24 -0
  137. package/esm2020/lib/enlighten-lib/data-model/attribute.mjs +247 -0
  138. package/esm2020/lib/enlighten-lib/data-model/data-model.mjs +52 -0
  139. package/esm2020/lib/enlighten-lib/data-model/dependee.mjs +24 -0
  140. package/esm2020/lib/enlighten-lib/data-model/dependent.mjs +24 -0
  141. package/esm2020/lib/enlighten-lib/data-model/entity.mjs +71 -0
  142. package/esm2020/lib/enlighten-lib/data-model-tree/attributes-dragdrop-layout/attributes-dragdrop-layout.component.mjs +100 -0
  143. package/esm2020/lib/enlighten-lib/data-model-tree/attributes-selection-layout/attributes-selection-layout.component.mjs +100 -0
  144. package/esm2020/lib/enlighten-lib/data-model-tree/categories-tree/categories-tree.component.mjs +113 -0
  145. package/esm2020/lib/enlighten-lib/data-model-tree/data-model-tree-enums.mjs +6 -0
  146. package/esm2020/lib/enlighten-lib/data-model-tree/data-model-tree.component.mjs +301 -0
  147. package/esm2020/lib/enlighten-lib/data-model-tree/data-model-tree.module.mjs +67 -0
  148. package/esm2020/lib/enlighten-lib/elements/Property.mjs +3 -0
  149. package/esm2020/lib/enlighten-lib/elements/ax-element.mjs +55 -0
  150. package/esm2020/lib/enlighten-lib/elements/element-factory.mjs +38 -0
  151. package/esm2020/lib/enlighten-lib/enlighten-lib.module.mjs +308 -0
  152. package/esm2020/lib/enlighten-lib/enums/bread-crumbs-style.mjs +6 -0
  153. package/esm2020/lib/enlighten-lib/enums/operator-text-enum.mjs +11 -0
  154. package/esm2020/lib/enlighten-lib/fields/attribute-data.mjs +167 -0
  155. package/esm2020/lib/enlighten-lib/fields/entity.mjs +16 -0
  156. package/esm2020/lib/enlighten-lib/fields/types/ax-audio.mjs +6 -0
  157. package/esm2020/lib/enlighten-lib/fields/types/ax-barcode.mjs +6 -0
  158. package/esm2020/lib/enlighten-lib/fields/types/ax-childrecord.mjs +6 -0
  159. package/esm2020/lib/enlighten-lib/fields/types/ax-counter.mjs +6 -0
  160. package/esm2020/lib/enlighten-lib/fields/types/ax-date.mjs +6 -0
  161. package/esm2020/lib/enlighten-lib/fields/types/ax-decimal.mjs +6 -0
  162. package/esm2020/lib/enlighten-lib/fields/types/ax-document.mjs +6 -0
  163. package/esm2020/lib/enlighten-lib/fields/types/ax-file.mjs +6 -0
  164. package/esm2020/lib/enlighten-lib/fields/types/ax-image.mjs +6 -0
  165. package/esm2020/lib/enlighten-lib/fields/types/ax-location.mjs +6 -0
  166. package/esm2020/lib/enlighten-lib/fields/types/ax-number.mjs +6 -0
  167. package/esm2020/lib/enlighten-lib/fields/types/ax-qrcode.mjs +6 -0
  168. package/esm2020/lib/enlighten-lib/fields/types/ax-signature.mjs +6 -0
  169. package/esm2020/lib/enlighten-lib/fields/types/ax-staticmedia.mjs +6 -0
  170. package/esm2020/lib/enlighten-lib/fields/types/ax-text.mjs +6 -0
  171. package/esm2020/lib/enlighten-lib/fields/types/ax-time.mjs +6 -0
  172. package/esm2020/lib/enlighten-lib/fields/types/ax-uniqueid.mjs +6 -0
  173. package/esm2020/lib/enlighten-lib/fields/types/axo-timestamp.mjs +6 -0
  174. package/esm2020/lib/enlighten-lib/fields/types/choicelist.mjs +6 -0
  175. package/esm2020/lib/enlighten-lib/fields/types/datetime.mjs +6 -0
  176. package/esm2020/lib/enlighten-lib/fields/types/hyperlink.mjs +6 -0
  177. package/esm2020/lib/enlighten-lib/fields/types/ienlighten-type.mjs +2 -0
  178. package/esm2020/lib/enlighten-lib/fields/types/toggle.mjs +6 -0
  179. package/esm2020/lib/enlighten-lib/fields/types/video.mjs +6 -0
  180. package/esm2020/lib/enlighten-lib/filters/ax-filter.mjs +74 -0
  181. package/esm2020/lib/enlighten-lib/filters/ax-operator.mjs +88 -0
  182. package/esm2020/lib/enlighten-lib/filters/chart-filter-type.mjs +7 -0
  183. package/esm2020/lib/enlighten-lib/filters/condition-type.mjs +49 -0
  184. package/esm2020/lib/enlighten-lib/filters/dataList-searchNode.mjs +48 -0
  185. package/esm2020/lib/enlighten-lib/filters/dataListFilterExpression.mjs +32 -0
  186. package/esm2020/lib/enlighten-lib/filters/dataListFilterOperator.mjs +43 -0
  187. package/esm2020/lib/enlighten-lib/filters/dataListSeachQueryTree.mjs +25 -0
  188. package/esm2020/lib/enlighten-lib/filters/filter-category.mjs +78 -0
  189. package/esm2020/lib/enlighten-lib/filters/general-filter-type.mjs +13 -0
  190. package/esm2020/lib/enlighten-lib/filters/gridster-properties.mjs +31 -0
  191. package/esm2020/lib/enlighten-lib/filters/iax-filter.mjs +2 -0
  192. package/esm2020/lib/enlighten-lib/filters/search-node.mjs +50 -0
  193. package/esm2020/lib/enlighten-lib/filters/static-widget.mjs +24 -0
  194. package/esm2020/lib/enlighten-lib/property/element-property.mjs +11 -0
  195. package/esm2020/lib/enlighten-lib/property/filter-category-property.mjs +9 -0
  196. package/esm2020/lib/enlighten-lib/property/filter-property.mjs +9 -0
  197. package/esm2020/lib/enlighten-lib/report/chart-filter/chart-filter.component.mjs +393 -0
  198. package/esm2020/lib/enlighten-lib/report/element.service.mjs +115 -0
  199. package/esm2020/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.component.mjs +1002 -0
  200. package/esm2020/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.mjs +144 -0
  201. package/esm2020/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.service.mjs +15 -0
  202. package/esm2020/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.component.mjs +576 -0
  203. package/esm2020/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.mjs +66 -0
  204. package/esm2020/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.service.mjs +15 -0
  205. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/border.mjs +18 -0
  206. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/chart-factory.mjs +80 -0
  207. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/chart-property.mjs +4 -0
  208. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/chart-type.mjs +15 -0
  209. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/chart.mjs +123 -0
  210. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/common-chart.service.mjs +32 -0
  211. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/conditional-formatting.mjs +8 -0
  212. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/dimension.mjs +8 -0
  213. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/font.mjs +32 -0
  214. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/fontStyle.mjs +28 -0
  215. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/label.mjs +6 -0
  216. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/legend.mjs +28 -0
  217. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/matrix.mjs +26 -0
  218. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/shadow.mjs +7 -0
  219. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/style.mjs +14 -0
  220. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/text-style.mjs +34 -0
  221. package/esm2020/lib/enlighten-lib/report/graphical-report/chart/title.mjs +12 -0
  222. package/esm2020/lib/enlighten-lib/report/graphical-report/graphical-report.component.mjs +357 -0
  223. package/esm2020/lib/enlighten-lib/report/graphical-report/graphical-report.directive.mjs +16 -0
  224. package/esm2020/lib/enlighten-lib/report/graphical-report/ichart-component.mjs +2 -0
  225. package/esm2020/lib/enlighten-lib/report/graphical-report/igraphical-report.component.mjs +2 -0
  226. package/esm2020/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.component.mjs +856 -0
  227. package/esm2020/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.mjs +97 -0
  228. package/esm2020/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.service.mjs +15 -0
  229. package/esm2020/lib/enlighten-lib/report/graphical-report/page/page.mjs +48 -0
  230. package/esm2020/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.component.mjs +934 -0
  231. package/esm2020/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.mjs +103 -0
  232. package/esm2020/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.service.mjs +15 -0
  233. package/esm2020/lib/enlighten-lib/report/graphical-report/text/text-chart.mjs +56 -0
  234. package/esm2020/lib/enlighten-lib/report/graphical-report/text/text.component.mjs +302 -0
  235. package/esm2020/lib/enlighten-lib/report/graphical-report/text/text.service.mjs +15 -0
  236. package/esm2020/lib/enlighten-lib/report/iproperty.component.mjs +8 -0
  237. package/esm2020/lib/enlighten-lib/report/ireport.mjs +14 -0
  238. package/esm2020/lib/enlighten-lib/report/report-builder-master.service.mjs +83 -0
  239. package/esm2020/lib/enlighten-lib/report/report-filter/report-filter.component.mjs +313 -0
  240. package/esm2020/lib/enlighten-lib/report/report-filter/report-filter.module.mjs +71 -0
  241. package/esm2020/lib/enlighten-lib/report/report-filter/report-filter.service.mjs +246 -0
  242. package/esm2020/lib/enlighten-lib/report/tabular-report/aggregate.mjs +10 -0
  243. package/esm2020/lib/enlighten-lib/report/tabular-report/axo-percentage.pipe.mjs +26 -0
  244. package/esm2020/lib/enlighten-lib/report/tabular-report/column-style.mjs +7 -0
  245. package/esm2020/lib/enlighten-lib/report/tabular-report/itabular-report.component.mjs +2 -0
  246. package/esm2020/lib/enlighten-lib/report/tabular-report/orderby-type.mjs +7 -0
  247. package/esm2020/lib/enlighten-lib/report/tabular-report/row-style.mjs +7 -0
  248. package/esm2020/lib/enlighten-lib/report/tabular-report/table-style.mjs +47 -0
  249. package/esm2020/lib/enlighten-lib/report/tabular-report/tabular/column-group-view/column-group-view.component.mjs +4464 -0
  250. package/esm2020/lib/enlighten-lib/report/tabular-report/tabular/detail-group-view/detail-group-view.component.mjs +1583 -0
  251. package/esm2020/lib/enlighten-lib/report/tabular-report/tabular/resize-column-directive.mjs +70 -0
  252. package/esm2020/lib/enlighten-lib/report/tabular-report/tabular/row-group-view/row-group-view.component.mjs +1837 -0
  253. package/esm2020/lib/enlighten-lib/report/tabular-report/tabular/tabular.component.mjs +756 -0
  254. package/esm2020/lib/enlighten-lib/report/tabular-report/tabular-report.component.mjs +156 -0
  255. package/esm2020/lib/enlighten-lib/report/tabular-report/tabular-report.mjs +245 -0
  256. package/esm2020/lib/enlighten-lib/report/tabular-report/tabular-report.service.mjs +960 -0
  257. package/esm2020/lib/enlighten-lib/report/tabular-report/tabular.mjs +196 -0
  258. package/esm2020/lib/enlighten-lib/report/tabular-report/value-formatting.mjs +9 -0
  259. package/esm2020/lib/enlighten-lib/report-control.service.mjs +41 -0
  260. package/esm2020/lib/enlighten-lib/utils/utils.mjs +26 -0
  261. package/esm2020/lib/field-list-lib/fields-list.service.mjs +299 -0
  262. package/esm2020/lib/filters/calender-filter/calender-filter.component.mjs +351 -0
  263. package/esm2020/lib/filters/category-filter/category-filter.component.mjs +207 -0
  264. package/esm2020/lib/filters/category-filter/category-filter.service.mjs +31 -0
  265. package/esm2020/lib/filters/category-filter/category.service.mjs +45 -0
  266. package/esm2020/lib/filters/choice-list-filter/choice-list-filter.component.mjs +178 -0
  267. package/esm2020/lib/filters/choice-list-filter/choice-list-filter.service.mjs +53 -0
  268. package/esm2020/lib/filters/common-filter/common-filter.component.mjs +310 -0
  269. package/esm2020/lib/filters/common-filter/common-filter.service.mjs +106 -0
  270. package/esm2020/lib/filters/custom-scroll-directives.mjs +45 -0
  271. package/esm2020/lib/filters/date-time-filter/date-time-filter.component.mjs +345 -0
  272. package/esm2020/lib/filters/filter-footer/filter-footer.component.mjs +62 -0
  273. package/esm2020/lib/filters/filters.component.mjs +688 -0
  274. package/esm2020/lib/filters/filters.module.mjs +196 -0
  275. package/esm2020/lib/filters/filters.service.mjs +147 -0
  276. package/esm2020/lib/filters/meta-column-filter-builder/meta-column-filter-builder.service.mjs +202 -0
  277. package/esm2020/lib/filters/metaColumnTypes.mjs +36 -0
  278. package/esm2020/lib/filters/multi-select-filter/multi-select-filter.component.mjs +211 -0
  279. package/esm2020/lib/filters/multi-select-filter/multi-select-filter.service.mjs +214 -0
  280. package/esm2020/lib/filters/number-filter/number-filter.component.mjs +321 -0
  281. package/esm2020/lib/filters/public-api.mjs +15 -0
  282. package/esm2020/lib/filters/reference-list-filter/reference-list-filter.component.mjs +180 -0
  283. package/esm2020/lib/filters/reference-list-filter/reference-list-filter.service.mjs +151 -0
  284. package/esm2020/lib/filters/single-select-filter/single-select-filter.component.mjs +177 -0
  285. package/esm2020/lib/filters/time-filter/time-filter.component.mjs +301 -0
  286. package/esm2020/lib/filters/user-filter/user-filter.component.mjs +178 -0
  287. package/esm2020/lib/filters/user-filter/user-filter.service.mjs +62 -0
  288. package/esm2020/lib/form-object/form-object-list/form-object-list-filter/form-object-list-filter.component.mjs +346 -0
  289. package/esm2020/lib/form-object/form-object-list/form-object-list-filter/form-object-list-filter.service.mjs +105 -0
  290. package/esm2020/lib/form-object/form-object-list/form-object-list-header/form-object-list-header.component.mjs +41 -0
  291. package/esm2020/lib/form-object/form-object-list/form-object-list-header/widget-header-type-handler.mjs +10 -0
  292. package/esm2020/lib/form-object/form-object-list/form-object-list-header/widgets/text-box-header/text-box-header.component.mjs +21 -0
  293. package/esm2020/lib/form-object/form-object-list/form-object-list-header/widgets-header.directive.mjs +16 -0
  294. package/esm2020/lib/form-object/form-object-list/form-object-list.component.mjs +823 -0
  295. package/esm2020/lib/form-object/form-object-list/form-object-list.mjs +211 -0
  296. package/esm2020/lib/form-object/form-object-list/form-object-list.module.mjs +224 -0
  297. package/esm2020/lib/form-object/form-object-list/form-object-list.service.mjs +171 -0
  298. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/form-object-value-handler.mjs +94 -0
  299. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/form-object-value.directive.mjs +16 -0
  300. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/form-object-widget-value.component.mjs +60 -0
  301. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-apply-geo-fence-value/formobject-apply-geo-fence-value.component.mjs +33 -0
  302. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-audio-value/formobject-audio-value.component.mjs +40 -0
  303. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-auto-number-value/formobject-auto-number-value.component.mjs +31 -0
  304. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-bar-code-value/formobject-bar-code-value.component.mjs +98 -0
  305. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-child-records-value/formobject-child-records-value.component.mjs +86 -0
  306. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-choicelist-value/formobject-choicelist-value.component.mjs +180 -0
  307. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-counter-value/formobject-counter-value.component.mjs +45 -0
  308. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-date-time-value/formobject-date-time-value.component.mjs +54 -0
  309. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-document-value/formobject-document-value.component.mjs +163 -0
  310. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-formula-value/formobject-formula-value.component.mjs +45 -0
  311. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-geo-fence-value/formobject-geo-fence-value.component.mjs +61 -0
  312. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-gps-value/formobject-gps-value.component.mjs +64 -0
  313. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-group-header-value/formobject-group-header-value.component.mjs +21 -0
  314. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-image-value/formobject-image-value.component.mjs +119 -0
  315. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-languages-value/formobject-languages-value.component.mjs +37 -0
  316. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-payment-value/formobject-payment-value.component.mjs +21 -0
  317. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-qr-code-value/formobject-qr-code-value.component.mjs +98 -0
  318. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-signature-value/formobject-signature-value.component.mjs +60 -0
  319. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-static-media-value/formobject-static-media-value.component.mjs +62 -0
  320. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-stop-watch-value/formobject-stop-watch-value.component.mjs +24 -0
  321. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-sub-form-value/formobject-sub-form-value.component.mjs +19 -0
  322. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-textbox-value/formobject-textbox-value.component.mjs +49 -0
  323. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-time-stamp-value/formobject-time-stamp-value.component.mjs +50 -0
  324. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-toggle-value/formobject-toggle-value.component.mjs +25 -0
  325. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-unique-id-value/formobject-unique-id-value.component.mjs +33 -0
  326. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-verification-value/formobject-verification-value.component.mjs +60 -0
  327. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-video-value/formobject-video-value.component.mjs +65 -0
  328. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-web-link-value/formobject-web-link-value.component.mjs +28 -0
  329. package/esm2020/lib/form-object/form-object-list/formObjectWidgetValue/formobject-widget-mat-dialog/formobject-widget-mat-dialog.component.mjs +89 -0
  330. package/esm2020/lib/form-object/form-object-view/data-detail-view-dto.mjs +55 -0
  331. package/esm2020/lib/form-object/form-object-view/dynamic-view/dynamic-view.component.mjs +85 -0
  332. package/esm2020/lib/form-object/form-object-view/dynamic-view/dynamic-view.directive.mjs +16 -0
  333. package/esm2020/lib/form-object/form-object-view/form-object-view.component.mjs +209 -0
  334. package/esm2020/lib/form-object/form-object-view/form-object-view.module.mjs +273 -0
  335. package/esm2020/lib/form-object/form-object-view/form-object-view.service.mjs +268 -0
  336. package/esm2020/lib/form-object/form-object-view/form-object-widgets/apply-geo-fence-widget-view/apply-geo-fence-widget-view.component.mjs +83 -0
  337. package/esm2020/lib/form-object/form-object-view/form-object-widgets/audio-widget-view/audio-widget-view.component.mjs +92 -0
  338. package/esm2020/lib/form-object/form-object-view/form-object-widgets/auto-number-widget-view/auto-number-widget-view.component.mjs +68 -0
  339. package/esm2020/lib/form-object/form-object-view/form-object-widgets/bar-code-widget-view/bar-code-widget-view.component.mjs +155 -0
  340. package/esm2020/lib/form-object/form-object-view/form-object-widgets/child-records-widget-view/child-records-widget-view.component.mjs +158 -0
  341. package/esm2020/lib/form-object/form-object-view/form-object-widgets/choice-list-widget-view/choice-list-widget-view.component.mjs +248 -0
  342. package/esm2020/lib/form-object/form-object-view/form-object-widgets/counter-widget-view/counter-widget-view.component.mjs +93 -0
  343. package/esm2020/lib/form-object/form-object-view/form-object-widgets/date-time-widget-view/date-time-widget-view.component.mjs +179 -0
  344. package/esm2020/lib/form-object/form-object-view/form-object-widgets/document-widget-view/document-widget-view.component.mjs +210 -0
  345. package/esm2020/lib/form-object/form-object-view/form-object-widgets/form-object-widget-type-handler.mjs +93 -0
  346. package/esm2020/lib/form-object/form-object-view/form-object-widgets/form-object-widgets-view.component.mjs +58 -0
  347. package/esm2020/lib/form-object/form-object-view/form-object-widgets/form-object-widgets-view.directive.mjs +16 -0
  348. package/esm2020/lib/form-object/form-object-view/form-object-widgets/formula-widget-view/formula-widget-view.component.mjs +76 -0
  349. package/esm2020/lib/form-object/form-object-view/form-object-widgets/geo-fence-widget-view/geo-fence-widget-view.component.mjs +89 -0
  350. package/esm2020/lib/form-object/form-object-view/form-object-widgets/gps-widget-view/gps-widget-view.component.mjs +263 -0
  351. package/esm2020/lib/form-object/form-object-view/form-object-widgets/group-header-widget-view/group-header-widget-view.component.mjs +17 -0
  352. package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-annotation-data-dto.mjs +335 -0
  353. package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-map-view/image-map-view.component.mjs +270 -0
  354. package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-widget-lightbox-view/image-widget-lightbox-view.component.mjs +498 -0
  355. package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-widget-view.component.mjs +203 -0
  356. package/esm2020/lib/form-object/form-object-view/form-object-widgets/language-widget-view/language-widget-view.component.mjs +70 -0
  357. package/esm2020/lib/form-object/form-object-view/form-object-widgets/payment-widget-view/payment-widget-view.component.mjs +21 -0
  358. package/esm2020/lib/form-object/form-object-view/form-object-widgets/qr-code-widget-view/qr-code-widget-view.component.mjs +146 -0
  359. package/esm2020/lib/form-object/form-object-view/form-object-widgets/signature-widget-view/signature-widget-view.component.mjs +92 -0
  360. package/esm2020/lib/form-object/form-object-view/form-object-widgets/static-media-widget-view/static-media-widget-view.component.mjs +84 -0
  361. package/esm2020/lib/form-object/form-object-view/form-object-widgets/stop-watch-widget-view/stop-watch-widget-view.component.mjs +82 -0
  362. package/esm2020/lib/form-object/form-object-view/form-object-widgets/sub-form-widget-view/sub-form-widget-view.component.mjs +93 -0
  363. package/esm2020/lib/form-object/form-object-view/form-object-widgets/text-box-widget-view/text-box-widget-view.component.mjs +144 -0
  364. package/esm2020/lib/form-object/form-object-view/form-object-widgets/time-stamp-widget-view/time-stamp-widget-view.component.mjs +95 -0
  365. package/esm2020/lib/form-object/form-object-view/form-object-widgets/toggle-widget-view/toggle-widget-view.component.mjs +83 -0
  366. package/esm2020/lib/form-object/form-object-view/form-object-widgets/unique-id-widget-view/unique-id-widget-view.component.mjs +82 -0
  367. package/esm2020/lib/form-object/form-object-view/form-object-widgets/verification-widget-view/verification-widget-view.component.mjs +79 -0
  368. package/esm2020/lib/form-object/form-object-view/form-object-widgets/video-widget-view/video-widget-view.component.mjs +113 -0
  369. package/esm2020/lib/form-object/form-object-view/form-object-widgets/web-link-widget-view/web-link-widget-view.component.mjs +89 -0
  370. package/esm2020/lib/form-object/form-object-view/meta-section/meta-section.component.mjs +157 -0
  371. package/esm2020/lib/form-object/form-object-view/section/section.component.mjs +75 -0
  372. package/esm2020/lib/form-object/form-object-view/section-field/section-field.component.mjs +30 -0
  373. package/esm2020/lib/form-object/form-object-view/section-view/section-view.component.mjs +110 -0
  374. package/esm2020/lib/form-object/public-api.mjs +3 -0
  375. package/esm2020/lib/form-permission.service.mjs +106 -0
  376. package/esm2020/lib/forms/ax-form.mjs +212 -0
  377. package/esm2020/lib/forms/iform.mjs +2 -0
  378. package/esm2020/lib/forms/page/common/axo-response-status.mjs +6 -0
  379. package/esm2020/lib/forms/page/common/constants.mjs +399 -0
  380. package/esm2020/lib/forms/page/common/detail-view-enums.mjs +8 -0
  381. package/esm2020/lib/forms/page/common/flatten-status-enum.mjs +10 -0
  382. package/esm2020/lib/forms/page/common/form.constant.mjs +87 -0
  383. package/esm2020/lib/forms/page/common/property-panel-field.mjs +5 -0
  384. package/esm2020/lib/forms/page/common/widget-enums.mjs +269 -0
  385. package/esm2020/lib/forms/page/common/widget-value-handler.mjs +321 -0
  386. package/esm2020/lib/forms/page/data-detail-view/ax-section.mjs +51 -0
  387. package/esm2020/lib/forms/page/data-detail-view/collection-view.mjs +30 -0
  388. package/esm2020/lib/forms/page/data-detail-view/data-details.mjs +60 -0
  389. package/esm2020/lib/forms/page/data-detail-view/section-field.mjs +32 -0
  390. package/esm2020/lib/forms/page/data-detail-view/section.mjs +33 -0
  391. package/esm2020/lib/forms/page/data-list/data-list-column.mjs +45 -0
  392. package/esm2020/lib/forms/page/data-list/data-list.mjs +64 -0
  393. package/esm2020/lib/forms/page/form-object.mjs +17 -0
  394. package/esm2020/lib/forms/page/form-page.mjs +28 -0
  395. package/esm2020/lib/forms/page/value-converters/displayMode-to-bool.mjs +16 -0
  396. package/esm2020/lib/forms/page/value-converters/form-type-converter.mjs +23 -0
  397. package/esm2020/lib/forms/page/value-converters/geo-fence-value-converter.mjs +24 -0
  398. package/esm2020/lib/forms/page/value-converters/image-annotation-value-converter.mjs +20 -0
  399. package/esm2020/lib/forms/page/value-converters/language-source-value-converter.mjs +24 -0
  400. package/esm2020/lib/forms/page/value-converters/list-view-title-converter.mjs +20 -0
  401. package/esm2020/lib/forms/page/value-converters/parse-float-converter.mjs +15 -0
  402. package/esm2020/lib/forms/page/value-converters/parse-int-converter.mjs +20 -0
  403. package/esm2020/lib/forms/page/value-converters/parse-string-converter.mjs +20 -0
  404. package/esm2020/lib/forms/page/value-converters/publicUrls-string-to-array.mjs +20 -0
  405. package/esm2020/lib/forms/page/value-converters/record-limit-type-converter.mjs +23 -0
  406. package/esm2020/lib/forms/page/value-converters/restriction-mode-converter.mjs +23 -0
  407. package/esm2020/lib/forms/page/value-converters/string-to-bool-converter.mjs +16 -0
  408. package/esm2020/lib/forms/page/value-converters/string-to-bool-value-converter.mjs +16 -0
  409. package/esm2020/lib/forms/page/value-converters/string-to-date-time-converter.mjs +19 -0
  410. package/esm2020/lib/forms/page/value-converters/string-to-number -converter.mjs +20 -0
  411. package/esm2020/lib/forms/page/value-converters/textBox-mask-converter.mjs +16 -0
  412. package/esm2020/lib/forms/page/value-converters/validate-converter.mjs +20 -0
  413. package/esm2020/lib/forms/page/value-converters/value-without-mask-converter.mjs +20 -0
  414. package/esm2020/lib/forms/page/value-converters/widget-concrete-class-converter.mjs +22 -0
  415. package/esm2020/lib/forms/page/value-converters/widget-deserializer.mjs +149 -0
  416. package/esm2020/lib/forms/page/widgets/apply-geofences.mjs +65 -0
  417. package/esm2020/lib/forms/page/widgets/auto-number.mjs +87 -0
  418. package/esm2020/lib/forms/page/widgets/ax-audio.mjs +154 -0
  419. package/esm2020/lib/forms/page/widgets/ax-document.mjs +149 -0
  420. package/esm2020/lib/forms/page/widgets/ax-image.mjs +183 -0
  421. package/esm2020/lib/forms/page/widgets/bar-code.mjs +212 -0
  422. package/esm2020/lib/forms/page/widgets/child-record.mjs +193 -0
  423. package/esm2020/lib/forms/page/widgets/choicelist.mjs +375 -0
  424. package/esm2020/lib/forms/page/widgets/counter.mjs +69 -0
  425. package/esm2020/lib/forms/page/widgets/datetime.mjs +247 -0
  426. package/esm2020/lib/forms/page/widgets/formula.mjs +106 -0
  427. package/esm2020/lib/forms/page/widgets/geofence.mjs +127 -0
  428. package/esm2020/lib/forms/page/widgets/gps.mjs +192 -0
  429. package/esm2020/lib/forms/page/widgets/group-header.mjs +200 -0
  430. package/esm2020/lib/forms/page/widgets/languages.mjs +129 -0
  431. package/esm2020/lib/forms/page/widgets/link.mjs +107 -0
  432. package/esm2020/lib/forms/page/widgets/payment.mjs +104 -0
  433. package/esm2020/lib/forms/page/widgets/qr-code.mjs +129 -0
  434. package/esm2020/lib/forms/page/widgets/script-condition.mjs +115 -0
  435. package/esm2020/lib/forms/page/widgets/signature.mjs +81 -0
  436. package/esm2020/lib/forms/page/widgets/static-media.mjs +130 -0
  437. package/esm2020/lib/forms/page/widgets/stopwatch.mjs +117 -0
  438. package/esm2020/lib/forms/page/widgets/sub-form.mjs +114 -0
  439. package/esm2020/lib/forms/page/widgets/textbox.mjs +338 -0
  440. package/esm2020/lib/forms/page/widgets/timestamp.mjs +155 -0
  441. package/esm2020/lib/forms/page/widgets/toggle.mjs +115 -0
  442. package/esm2020/lib/forms/page/widgets/unique-id.mjs +75 -0
  443. package/esm2020/lib/forms/page/widgets/verification.mjs +207 -0
  444. package/esm2020/lib/forms/page/widgets/video.mjs +151 -0
  445. package/esm2020/lib/forms/page/widgets/widget-value/apply-geo-fence-widget-value.mjs +74 -0
  446. package/esm2020/lib/forms/page/widgets/widget-value/audio-video-widget-value.mjs +36 -0
  447. package/esm2020/lib/forms/page/widgets/widget-value/child-record-value.mjs +114 -0
  448. package/esm2020/lib/forms/page/widgets/widget-value/choice-list-options.mjs +84 -0
  449. package/esm2020/lib/forms/page/widgets/widget-value/choices-ml.mjs +107 -0
  450. package/esm2020/lib/forms/page/widgets/widget-value/dateRangeValue.mjs +38 -0
  451. package/esm2020/lib/forms/page/widgets/widget-value/deviceProfileParams.mjs +9 -0
  452. package/esm2020/lib/forms/page/widgets/widget-value/deviceProfilesTemp.mjs +72 -0
  453. package/esm2020/lib/forms/page/widgets/widget-value/document-widget-value.mjs +56 -0
  454. package/esm2020/lib/forms/page/widgets/widget-value/geo-fence-location-value.mjs +54 -0
  455. package/esm2020/lib/forms/page/widgets/widget-value/geo-fence-widget-value.mjs +50 -0
  456. package/esm2020/lib/forms/page/widgets/widget-value/gps-widget-value.mjs +58 -0
  457. package/esm2020/lib/forms/page/widgets/widget-value/image-widget-value.mjs +99 -0
  458. package/esm2020/lib/forms/page/widgets/widget-value/language-widget-value.mjs +43 -0
  459. package/esm2020/lib/forms/page/widgets/widget-value/location-object-value.mjs +44 -0
  460. package/esm2020/lib/forms/page/widgets/widget-value/multiple-languages.mjs +106 -0
  461. package/esm2020/lib/forms/page/widgets/widget-value/reference-list-object-value.mjs +72 -0
  462. package/esm2020/lib/forms/page/widgets/widget-value/verification-widget-value.mjs +126 -0
  463. package/esm2020/lib/forms/page/widgets/widget.mjs +429 -0
  464. package/esm2020/lib/ghost-loader/ghost-loader.component.mjs +708 -0
  465. package/esm2020/lib/ghost-loader/ghost-loader.module.mjs +27 -0
  466. package/esm2020/lib/ghost-loader/public-api.mjs +3 -0
  467. package/esm2020/lib/map-dialog/map-dialog.component.mjs +46 -0
  468. package/esm2020/lib/map-dialog/map-dialog.module.mjs +39 -0
  469. package/esm2020/lib/map-dialog/public-api.mjs +6 -0
  470. package/esm2020/lib/reports-container/public-api.mjs +8 -0
  471. package/esm2020/lib/reports-container/report-group/report-group.component.mjs +77 -0
  472. package/esm2020/lib/reports-container/reports-container-models/report-group.mjs +42 -0
  473. package/esm2020/lib/reports-container/reports-container-models/report-property.mjs +30 -0
  474. package/esm2020/lib/reports-container/reports-container-models/reports-container-enums.mjs +16 -0
  475. package/esm2020/lib/reports-container/reports-container-models/reports-container.mjs +29 -0
  476. package/esm2020/lib/reports-container/reports-container.component.mjs +60 -0
  477. package/esm2020/lib/reports-container/reports-container.module.mjs +52 -0
  478. package/esm2020/lib/reports-container/reports-container.service.mjs +29 -0
  479. package/esm2020/lib/scrollbar/index.mjs +3 -0
  480. package/esm2020/lib/scrollbar/public-api.mjs +3 -0
  481. package/esm2020/lib/scrollbar/scrollbar.directive.mjs +351 -0
  482. package/esm2020/lib/scrollbar/scrollbar.module.mjs +21 -0
  483. package/esm2020/lib/scrollbar/scrollbar.types.mjs +15 -0
  484. package/esm2020/lib/sculptor-lib/widgets/audio/audio.component.mjs +115 -0
  485. package/esm2020/lib/sculptor-lib/widgets/barcode/barcode.component.mjs +118 -0
  486. package/esm2020/lib/sculptor-lib/widgets/child-record/child-record.component.mjs +115 -0
  487. package/esm2020/lib/sculptor-lib/widgets/choice-list/choice-list.component.mjs +105 -0
  488. package/esm2020/lib/sculptor-lib/widgets/date-time/date-time.component.mjs +136 -0
  489. package/esm2020/lib/sculptor-lib/widgets/document/document.component.mjs +118 -0
  490. package/esm2020/lib/sculptor-lib/widgets/geofence/geofence.component.mjs +115 -0
  491. package/esm2020/lib/sculptor-lib/widgets/gps/gps.component.mjs +115 -0
  492. package/esm2020/lib/sculptor-lib/widgets/group-header/group-header.component.mjs +109 -0
  493. package/esm2020/lib/sculptor-lib/widgets/image/image.component.mjs +131 -0
  494. package/esm2020/lib/sculptor-lib/widgets/language/language.component.mjs +105 -0
  495. package/esm2020/lib/sculptor-lib/widgets/link/link.component.mjs +115 -0
  496. package/esm2020/lib/sculptor-lib/widgets/qr-code/qr-code.component.mjs +118 -0
  497. package/esm2020/lib/sculptor-lib/widgets/stopwatch/stopwatch.component.mjs +105 -0
  498. package/esm2020/lib/sculptor-lib/widgets/subform/subform.component.mjs +109 -0
  499. package/esm2020/lib/sculptor-lib/widgets/textbox/textbox.component.mjs +177 -0
  500. package/esm2020/lib/sculptor-lib/widgets/timestamp/timestamp.component.mjs +115 -0
  501. package/esm2020/lib/sculptor-lib/widgets/toggle/toggle.component.mjs +112 -0
  502. package/esm2020/lib/sculptor-lib/widgets/video/video.component.mjs +118 -0
  503. package/esm2020/lib/sculptor-lib/widgets/widgets.service.mjs +58 -0
  504. package/esm2020/lib/shared/comfirmation-modal/confirmation-modal.component.mjs +63 -0
  505. package/esm2020/lib/shared/conditional-formatting/conditional-formatting/conditional-formatting.component.mjs +83 -0
  506. package/esm2020/lib/shared/shared.module.mjs +51 -0
  507. package/esm2020/public-api.mjs +138 -0
  508. package/fesm2015/ax-common-ui-lib.mjs +56598 -0
  509. package/fesm2015/ax-common-ui-lib.mjs.map +1 -0
  510. package/fesm2020/ax-common-ui-lib.mjs +52373 -0
  511. package/fesm2020/ax-common-ui-lib.mjs.map +1 -0
  512. package/lib/app-list/app-list-dto.d.ts +15 -0
  513. package/lib/app-list/app-list.component.d.ts +62 -0
  514. package/lib/app-list/my-app-list.service.d.ts +69 -0
  515. package/lib/app-list/organization-list-dto.d.ts +15 -0
  516. package/lib/ax-app-common-lib.component.d.ts +8 -0
  517. package/lib/ax-app-common-lib.module.d.ts +24 -0
  518. package/lib/ax-app-common-lib.service.d.ts +6 -0
  519. package/lib/axo-filters/axo-filters.component.d.ts +86 -0
  520. package/lib/axo-filters/axo-filters.module.d.ts +16 -0
  521. package/lib/axo-filters/axo-filters.service.d.ts +36 -0
  522. package/lib/axo-map/axo-map.component.d.ts +9 -0
  523. package/lib/axo-map/axo-map.d.ts +14 -0
  524. package/lib/axo-map/axo-map.module.d.ts +10 -0
  525. package/lib/axo-map/public-api.d.ts +6 -0
  526. package/lib/axo-search-bar/axo-search-bar.component.d.ts +21 -0
  527. package/lib/axo-search-bar/axo-search-bar.module.d.ts +10 -0
  528. package/lib/axo-search-bar/public.api.d.ts +2 -0
  529. package/lib/axo-snack-bar/axo-snack-bar.component.d.ts +20 -0
  530. package/lib/axo-snack-bar/axo-snack-bar.module.d.ts +9 -0
  531. package/lib/axo-snack-bar/axo-snack-bar.service.d.ts +16 -0
  532. package/lib/axo-snack-bar/public-api.d.ts +2 -0
  533. package/lib/axo-state-manager/axo-state-manager.module.d.ts +7 -0
  534. package/lib/axo-state-manager/axo-state-manager.service.d.ts +15 -0
  535. package/lib/axo-state-manager/public-api.d.ts +2 -0
  536. package/lib/axo-utils/axo-utils.d.ts +72 -0
  537. package/lib/axo-utils/axo-utils.module.d.ts +10 -0
  538. package/lib/axo-utils/constants.d.ts +2 -0
  539. package/lib/axo-utils/data-source-types.d.ts +10 -0
  540. package/lib/axo-utils/field-list-search-pipe.d.ts +7 -0
  541. package/lib/axo-utils/filter-search-pipe.d.ts +7 -0
  542. package/lib/axo-utils/public-api.d.ts +1 -0
  543. package/lib/axo-utils/search-pipe/choice-search.pipe.d.ts +7 -0
  544. package/lib/axo-utils/search-pipe.d.ts +7 -0
  545. package/lib/bread-crumbs/bread-crumbs.component.d.ts +48 -0
  546. package/lib/bread-crumbs/bread-crumbs.module.d.ts +9 -0
  547. package/lib/bread-crumbs/bread-crumbs.service.d.ts +76 -0
  548. package/lib/code-editor/code-editor-modes.d.ts +9 -0
  549. package/lib/code-editor/code-editor-themes.d.ts +6 -0
  550. package/lib/code-editor/code-editor.component.d.ts +20 -0
  551. package/lib/code-editor/code-editor.module.d.ts +10 -0
  552. package/lib/code-editor/icode-editor-options.d.ts +51 -0
  553. package/lib/code-editor/public-api.d.ts +2 -0
  554. package/lib/common-dto/attributes-dto.d.ts +24 -0
  555. package/lib/common-dto/dashboard-dto.d.ts +10 -0
  556. package/lib/common-dto/dataListFilter-dto.d.ts +10 -0
  557. package/lib/common-dto/elements-dto.d.ts +51 -0
  558. package/lib/common-dto/form-dto.d.ts +17 -0
  559. package/lib/common-lib-configuration.service.d.ts +13 -0
  560. package/lib/common-property-panel/properties/properties.service.d.ts +18 -0
  561. package/lib/common-utils/entity-base.d.ts +10 -0
  562. package/lib/common-utils/iFlatten.d.ts +13 -0
  563. package/lib/common-utils/report.d.ts +26 -0
  564. package/lib/common.service.d.ts +50 -0
  565. package/lib/converters/convert-to-new-service.d.ts +6 -0
  566. package/lib/converters/convert-to-old-service.d.ts +26 -0
  567. package/lib/core/auth/auth.service.d.ts +75 -0
  568. package/lib/core/core.module.d.ts +12 -0
  569. package/lib/core/icons/icons.module.d.ts +14 -0
  570. package/lib/core/transloco/transloco.http-loader.d.ts +19 -0
  571. package/lib/core/transloco/transloco.module.d.ts +7 -0
  572. package/lib/core/user/axo-user.d.ts +9 -0
  573. package/lib/core/user/user-data.service.d.ts +25 -0
  574. package/lib/core/user/user.service.d.ts +45 -0
  575. package/lib/core/user/user.types.d.ts +9 -0
  576. package/lib/dashboard-lib/dashboard-builder.service.d.ts +27 -0
  577. package/lib/dashboard-lib/dashboard-control.service.d.ts +31 -0
  578. package/lib/dashboard-lib/dashboard-element/dashboard-element.d.ts +9 -0
  579. package/lib/dashboard-lib/dashboard-element-property/dashboard-property/dashboard-element-property.d.ts +7 -0
  580. package/lib/dashboard-lib/dashboard-filter/dashboard-filter.component.d.ts +37 -0
  581. package/lib/dashboard-lib/dashboard-lib.module.d.ts +26 -0
  582. package/lib/dashboard-lib/dashboard-list.service.d.ts +24 -0
  583. package/lib/dashboard-lib/dashboard.d.ts +14 -0
  584. package/lib/dashboard-lib/send-to-dashboard.service.d.ts +39 -0
  585. package/lib/dashboard-lib/show-dashboards/show-dashboards.component.d.ts +53 -0
  586. package/lib/dashboard-lib/show-dashboards/show-dashboards.service.d.ts +11 -0
  587. package/lib/data-view-lib/data-view/axo-card.d.ts +11 -0
  588. package/lib/data-view-lib/data-view/axo-tag.d.ts +26 -0
  589. package/lib/data-view-lib/data-view/board-column.d.ts +12 -0
  590. package/lib/data-view-lib/data-view/board-view.d.ts +23 -0
  591. package/lib/data-view-lib/data-view/cardConfig.d.ts +11 -0
  592. package/lib/data-view-lib/data-view/conditional-formatting.d.ts +11 -0
  593. package/lib/data-view-lib/data-view/coordinate.d.ts +8 -0
  594. package/lib/data-view-lib/data-view/data-view-enums.d.ts +58 -0
  595. package/lib/data-view-lib/data-view/data-view-filter.d.ts +25 -0
  596. package/lib/data-view-lib/data-view/data-view.d.ts +33 -0
  597. package/lib/data-view-lib/data-view/idata-view.d.ts +7 -0
  598. package/lib/data-view-lib/data-view/image-style.d.ts +8 -0
  599. package/lib/data-view-lib/data-view/info-window.d.ts +10 -0
  600. package/lib/data-view-lib/data-view/location.d.ts +8 -0
  601. package/lib/data-view-lib/data-view/map-view.d.ts +21 -0
  602. package/lib/data-view-lib/data-view/prefix-style.d.ts +12 -0
  603. package/lib/data-view-lib/data-view/tag-style.d.ts +12 -0
  604. package/lib/data-view-lib/data-view/tagConfig.d.ts +34 -0
  605. package/lib/data-view-lib/data-view/task-asset-form-object-dto.d.ts +19 -0
  606. package/lib/data-view-lib/data-view/task-column-value.d.ts +48 -0
  607. package/lib/data-view-lib/data-view/task-view.d.ts +15 -0
  608. package/lib/data-view-lib/data-view/task.d.ts +57 -0
  609. package/lib/data-view-lib/data-view/value-style.d.ts +10 -0
  610. package/lib/data-view-lib/data-view-filters/data-view-filters.component.d.ts +142 -0
  611. package/lib/data-view-lib/data-view-filters/data-view-filters.service.d.ts +28 -0
  612. package/lib/data-view-lib/data-view-header/data-view-header.component.d.ts +85 -0
  613. package/lib/data-view-lib/data-view-lib.module.d.ts +19 -0
  614. package/lib/data-view-lib/data-view.service.d.ts +94 -0
  615. package/lib/data-view-lib/public-api.d.ts +27 -0
  616. package/lib/directive/adjust-font-size.d.ts +13 -0
  617. package/lib/drill-through/drill-through.component.d.ts +53 -0
  618. package/lib/drill-through/drill-through.module.d.ts +10 -0
  619. package/lib/drill-through/drill-through.resolver.d.ts +30 -0
  620. package/lib/drill-through/drill-through.service.d.ts +100 -0
  621. package/lib/enlighten-lib/ax-expression/ax-exp-column.d.ts +17 -0
  622. package/lib/enlighten-lib/ax-expression/ax-exp-date-list.d.ts +16 -0
  623. package/lib/enlighten-lib/ax-expression/ax-exp-date-range-value.d.ts +17 -0
  624. package/lib/enlighten-lib/ax-expression/ax-exp-date-range.d.ts +16 -0
  625. package/lib/enlighten-lib/ax-expression/ax-exp-date-time-list.d.ts +16 -0
  626. package/lib/enlighten-lib/ax-expression/ax-exp-date-time-range-value.d.ts +17 -0
  627. package/lib/enlighten-lib/ax-expression/ax-exp-date-time-range.d.ts +16 -0
  628. package/lib/enlighten-lib/ax-expression/ax-exp-date-time.d.ts +16 -0
  629. package/lib/enlighten-lib/ax-expression/ax-exp-date-value.d.ts +16 -0
  630. package/lib/enlighten-lib/ax-expression/ax-exp-number-list.d.ts +16 -0
  631. package/lib/enlighten-lib/ax-expression/ax-exp-number-range-value.d.ts +17 -0
  632. package/lib/enlighten-lib/ax-expression/ax-exp-number-value.d.ts +16 -0
  633. package/lib/enlighten-lib/ax-expression/ax-exp-text-list.d.ts +16 -0
  634. package/lib/enlighten-lib/ax-expression/ax-exp-text.d.ts +16 -0
  635. package/lib/enlighten-lib/ax-expression/ax-exp-time-list.d.ts +16 -0
  636. package/lib/enlighten-lib/ax-expression/ax-exp-time-range-value.d.ts +17 -0
  637. package/lib/enlighten-lib/ax-expression/ax-exp-time-range.d.ts +17 -0
  638. package/lib/enlighten-lib/ax-expression/ax-exp-time.d.ts +16 -0
  639. package/lib/enlighten-lib/ax-expression/ax-exp-toggle.d.ts +16 -0
  640. package/lib/enlighten-lib/ax-expression/ax-expression-value.d.ts +19 -0
  641. package/lib/enlighten-lib/ax-expression/ax-expression.d.ts +66 -0
  642. package/lib/enlighten-lib/ax-expression/ax-number-range.d.ts +16 -0
  643. package/lib/enlighten-lib/ax-expression/exp-sub-type.d.ts +26 -0
  644. package/lib/enlighten-lib/ax-expression/public-api.d.ts +23 -0
  645. package/lib/enlighten-lib/data-model/attribute.d.ts +60 -0
  646. package/lib/enlighten-lib/data-model/data-model.d.ts +32 -0
  647. package/lib/enlighten-lib/data-model/dependee.d.ts +11 -0
  648. package/lib/enlighten-lib/data-model/dependent.d.ts +11 -0
  649. package/lib/enlighten-lib/data-model/entity.d.ts +31 -0
  650. package/lib/enlighten-lib/data-model-tree/attributes-dragdrop-layout/attributes-dragdrop-layout.component.d.ts +23 -0
  651. package/lib/enlighten-lib/data-model-tree/attributes-selection-layout/attributes-selection-layout.component.d.ts +24 -0
  652. package/lib/enlighten-lib/data-model-tree/categories-tree/categories-tree.component.d.ts +25 -0
  653. package/lib/enlighten-lib/data-model-tree/data-model-tree-enums.d.ts +4 -0
  654. package/lib/enlighten-lib/data-model-tree/data-model-tree.component.d.ts +67 -0
  655. package/lib/enlighten-lib/data-model-tree/data-model-tree.module.d.ts +18 -0
  656. package/lib/enlighten-lib/elements/Property.d.ts +3 -0
  657. package/lib/enlighten-lib/elements/ax-element.d.ts +31 -0
  658. package/lib/enlighten-lib/elements/element-factory.d.ts +13 -0
  659. package/lib/enlighten-lib/enlighten-lib.module.d.ts +53 -0
  660. package/lib/enlighten-lib/enums/bread-crumbs-style.d.ts +4 -0
  661. package/lib/enlighten-lib/enums/operator-text-enum.d.ts +9 -0
  662. package/lib/enlighten-lib/fields/attribute-data.d.ts +55 -0
  663. package/lib/enlighten-lib/fields/entity.d.ts +15 -0
  664. package/lib/enlighten-lib/fields/types/ax-audio.d.ts +4 -0
  665. package/lib/enlighten-lib/fields/types/ax-barcode.d.ts +4 -0
  666. package/lib/enlighten-lib/fields/types/ax-childrecord.d.ts +4 -0
  667. package/lib/enlighten-lib/fields/types/ax-counter.d.ts +4 -0
  668. package/lib/enlighten-lib/fields/types/ax-date.d.ts +4 -0
  669. package/lib/enlighten-lib/fields/types/ax-decimal.d.ts +4 -0
  670. package/lib/enlighten-lib/fields/types/ax-document.d.ts +4 -0
  671. package/lib/enlighten-lib/fields/types/ax-file.d.ts +4 -0
  672. package/lib/enlighten-lib/fields/types/ax-image.d.ts +4 -0
  673. package/lib/enlighten-lib/fields/types/ax-location.d.ts +4 -0
  674. package/lib/enlighten-lib/fields/types/ax-number.d.ts +4 -0
  675. package/lib/enlighten-lib/fields/types/ax-qrcode.d.ts +4 -0
  676. package/lib/enlighten-lib/fields/types/ax-signature.d.ts +4 -0
  677. package/lib/enlighten-lib/fields/types/ax-staticmedia.d.ts +4 -0
  678. package/lib/enlighten-lib/fields/types/ax-text.d.ts +4 -0
  679. package/lib/enlighten-lib/fields/types/ax-time.d.ts +4 -0
  680. package/lib/enlighten-lib/fields/types/ax-uniqueid.d.ts +4 -0
  681. package/lib/enlighten-lib/fields/types/axo-timestamp.d.ts +4 -0
  682. package/lib/enlighten-lib/fields/types/choicelist.d.ts +4 -0
  683. package/lib/enlighten-lib/fields/types/datetime.d.ts +4 -0
  684. package/lib/enlighten-lib/fields/types/hyperlink.d.ts +4 -0
  685. package/lib/enlighten-lib/fields/types/ienlighten-type.d.ts +3 -0
  686. package/lib/enlighten-lib/fields/types/toggle.d.ts +4 -0
  687. package/lib/enlighten-lib/fields/types/video.d.ts +4 -0
  688. package/lib/enlighten-lib/filters/ax-filter.d.ts +38 -0
  689. package/lib/enlighten-lib/filters/ax-operator.d.ts +40 -0
  690. package/lib/enlighten-lib/filters/chart-filter-type.d.ts +5 -0
  691. package/lib/enlighten-lib/filters/condition-type.d.ts +43 -0
  692. package/lib/enlighten-lib/filters/dataList-searchNode.d.ts +27 -0
  693. package/lib/enlighten-lib/filters/dataListFilterExpression.d.ts +20 -0
  694. package/lib/enlighten-lib/filters/dataListFilterOperator.d.ts +29 -0
  695. package/lib/enlighten-lib/filters/dataListSeachQueryTree.d.ts +15 -0
  696. package/lib/enlighten-lib/filters/filter-category.d.ts +43 -0
  697. package/lib/enlighten-lib/filters/general-filter-type.d.ts +10 -0
  698. package/lib/enlighten-lib/filters/gridster-properties.d.ts +17 -0
  699. package/lib/enlighten-lib/filters/iax-filter.d.ts +7 -0
  700. package/lib/enlighten-lib/filters/search-node.d.ts +27 -0
  701. package/lib/enlighten-lib/filters/static-widget.d.ts +2 -0
  702. package/lib/enlighten-lib/property/element-property.d.ts +8 -0
  703. package/lib/enlighten-lib/property/filter-category-property.d.ts +6 -0
  704. package/lib/enlighten-lib/property/filter-property.d.ts +6 -0
  705. package/lib/enlighten-lib/report/chart-filter/chart-filter.component.d.ts +78 -0
  706. package/lib/enlighten-lib/report/element.service.d.ts +61 -0
  707. package/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.component.d.ts +259 -0
  708. package/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.d.ts +52 -0
  709. package/lib/enlighten-lib/report/graphical-report/bar-chart/bar-chart.service.d.ts +9 -0
  710. package/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.component.d.ts +177 -0
  711. package/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.d.ts +29 -0
  712. package/lib/enlighten-lib/report/graphical-report/card-chart/card-chart.service.d.ts +9 -0
  713. package/lib/enlighten-lib/report/graphical-report/chart/border.d.ts +13 -0
  714. package/lib/enlighten-lib/report/graphical-report/chart/chart-factory.d.ts +7 -0
  715. package/lib/enlighten-lib/report/graphical-report/chart/chart-property.d.ts +5 -0
  716. package/lib/enlighten-lib/report/graphical-report/chart/chart-type.d.ts +16 -0
  717. package/lib/enlighten-lib/report/graphical-report/chart/chart.d.ts +41 -0
  718. package/lib/enlighten-lib/report/graphical-report/chart/common-chart.service.d.ts +13 -0
  719. package/lib/enlighten-lib/report/graphical-report/chart/conditional-formatting.d.ts +6 -0
  720. package/lib/enlighten-lib/report/graphical-report/chart/dimension.d.ts +6 -0
  721. package/lib/enlighten-lib/report/graphical-report/chart/font.d.ts +13 -0
  722. package/lib/enlighten-lib/report/graphical-report/chart/fontStyle.d.ts +13 -0
  723. package/lib/enlighten-lib/report/graphical-report/chart/label.d.ts +6 -0
  724. package/lib/enlighten-lib/report/graphical-report/chart/legend.d.ts +13 -0
  725. package/lib/enlighten-lib/report/graphical-report/chart/matrix.d.ts +11 -0
  726. package/lib/enlighten-lib/report/graphical-report/chart/shadow.d.ts +5 -0
  727. package/lib/enlighten-lib/report/graphical-report/chart/style.d.ts +12 -0
  728. package/lib/enlighten-lib/report/graphical-report/chart/text-style.d.ts +17 -0
  729. package/lib/enlighten-lib/report/graphical-report/chart/title.d.ts +11 -0
  730. package/lib/enlighten-lib/report/graphical-report/graphical-report.component.d.ts +130 -0
  731. package/lib/enlighten-lib/report/graphical-report/graphical-report.directive.d.ts +8 -0
  732. package/lib/enlighten-lib/report/graphical-report/ichart-component.d.ts +6 -0
  733. package/lib/enlighten-lib/report/graphical-report/igraphical-report.component.d.ts +21 -0
  734. package/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.component.d.ts +215 -0
  735. package/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.d.ts +34 -0
  736. package/lib/enlighten-lib/report/graphical-report/line-chart/line-chart.service.d.ts +9 -0
  737. package/lib/enlighten-lib/report/graphical-report/page/page.d.ts +25 -0
  738. package/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.component.d.ts +220 -0
  739. package/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.d.ts +38 -0
  740. package/lib/enlighten-lib/report/graphical-report/pie-chart/pie-chart.service.d.ts +9 -0
  741. package/lib/enlighten-lib/report/graphical-report/text/text-chart.d.ts +19 -0
  742. package/lib/enlighten-lib/report/graphical-report/text/text.component.d.ts +72 -0
  743. package/lib/enlighten-lib/report/graphical-report/text/text.service.d.ts +9 -0
  744. package/lib/enlighten-lib/report/iproperty.component.d.ts +14 -0
  745. package/lib/enlighten-lib/report/ireport.d.ts +14 -0
  746. package/lib/enlighten-lib/report/report-builder-master.service.d.ts +42 -0
  747. package/lib/enlighten-lib/report/report-filter/report-filter.component.d.ts +117 -0
  748. package/lib/enlighten-lib/report/report-filter/report-filter.module.d.ts +19 -0
  749. package/lib/enlighten-lib/report/report-filter/report-filter.service.d.ts +102 -0
  750. package/lib/enlighten-lib/report/tabular-report/aggregate.d.ts +8 -0
  751. package/lib/enlighten-lib/report/tabular-report/axo-percentage.pipe.d.ts +7 -0
  752. package/lib/enlighten-lib/report/tabular-report/column-style.d.ts +5 -0
  753. package/lib/enlighten-lib/report/tabular-report/itabular-report.component.d.ts +16 -0
  754. package/lib/enlighten-lib/report/tabular-report/orderby-type.d.ts +5 -0
  755. package/lib/enlighten-lib/report/tabular-report/row-style.d.ts +5 -0
  756. package/lib/enlighten-lib/report/tabular-report/table-style.d.ts +21 -0
  757. package/lib/enlighten-lib/report/tabular-report/tabular/column-group-view/column-group-view.component.d.ts +124 -0
  758. package/lib/enlighten-lib/report/tabular-report/tabular/detail-group-view/detail-group-view.component.d.ts +242 -0
  759. package/lib/enlighten-lib/report/tabular-report/tabular/resize-column-directive.d.ts +21 -0
  760. package/lib/enlighten-lib/report/tabular-report/tabular/row-group-view/row-group-view.component.d.ts +190 -0
  761. package/lib/enlighten-lib/report/tabular-report/tabular/tabular.component.d.ts +177 -0
  762. package/lib/enlighten-lib/report/tabular-report/tabular-report.component.d.ts +53 -0
  763. package/lib/enlighten-lib/report/tabular-report/tabular-report.d.ts +102 -0
  764. package/lib/enlighten-lib/report/tabular-report/tabular-report.service.d.ts +173 -0
  765. package/lib/enlighten-lib/report/tabular-report/tabular.d.ts +92 -0
  766. package/lib/enlighten-lib/report/tabular-report/value-formatting.d.ts +7 -0
  767. package/lib/enlighten-lib/report-control.service.d.ts +15 -0
  768. package/lib/enlighten-lib/utils/utils.d.ts +16 -0
  769. package/lib/field-list-lib/fields-list.service.d.ts +71 -0
  770. package/lib/filters/calender-filter/calender-filter.component.d.ts +70 -0
  771. package/lib/filters/category-filter/category-filter.component.d.ts +65 -0
  772. package/lib/filters/category-filter/category-filter.service.d.ts +16 -0
  773. package/lib/filters/category-filter/category.service.d.ts +23 -0
  774. package/lib/filters/choice-list-filter/choice-list-filter.component.d.ts +64 -0
  775. package/lib/filters/choice-list-filter/choice-list-filter.service.d.ts +36 -0
  776. package/lib/filters/common-filter/common-filter.component.d.ts +135 -0
  777. package/lib/filters/common-filter/common-filter.service.d.ts +42 -0
  778. package/lib/filters/custom-scroll-directives.d.ts +14 -0
  779. package/lib/filters/date-time-filter/date-time-filter.component.d.ts +83 -0
  780. package/lib/filters/filter-footer/filter-footer.component.d.ts +12 -0
  781. package/lib/filters/filters.component.d.ts +139 -0
  782. package/lib/filters/filters.module.d.ts +43 -0
  783. package/lib/filters/filters.service.d.ts +83 -0
  784. package/lib/filters/meta-column-filter-builder/meta-column-filter-builder.service.d.ts +70 -0
  785. package/lib/filters/metaColumnTypes.d.ts +18 -0
  786. package/lib/filters/multi-select-filter/multi-select-filter.component.d.ts +68 -0
  787. package/lib/filters/multi-select-filter/multi-select-filter.service.d.ts +77 -0
  788. package/lib/filters/number-filter/number-filter.component.d.ts +70 -0
  789. package/lib/filters/public-api.d.ts +14 -0
  790. package/lib/filters/reference-list-filter/reference-list-filter.component.d.ts +59 -0
  791. package/lib/filters/reference-list-filter/reference-list-filter.service.d.ts +62 -0
  792. package/lib/filters/single-select-filter/single-select-filter.component.d.ts +59 -0
  793. package/lib/filters/time-filter/time-filter.component.d.ts +62 -0
  794. package/lib/filters/user-filter/user-filter.component.d.ts +61 -0
  795. package/lib/filters/user-filter/user-filter.service.d.ts +26 -0
  796. package/lib/form-object/form-object-list/form-object-list-filter/form-object-list-filter.component.d.ts +87 -0
  797. package/lib/form-object/form-object-list/form-object-list-filter/form-object-list-filter.service.d.ts +33 -0
  798. package/lib/form-object/form-object-list/form-object-list-header/form-object-list-header.component.d.ts +13 -0
  799. package/lib/form-object/form-object-list/form-object-list-header/widget-header-type-handler.d.ts +3 -0
  800. package/lib/form-object/form-object-list/form-object-list-header/widgets/text-box-header/text-box-header.component.d.ts +10 -0
  801. package/lib/form-object/form-object-list/form-object-list-header/widgets-header.directive.d.ts +8 -0
  802. package/lib/form-object/form-object-list/form-object-list.component.d.ts +200 -0
  803. package/lib/form-object/form-object-list/form-object-list.d.ts +42 -0
  804. package/lib/form-object/form-object-list/form-object-list.module.d.ts +59 -0
  805. package/lib/form-object/form-object-list/form-object-list.service.d.ts +69 -0
  806. package/lib/form-object/form-object-list/formObjectWidgetValue/form-object-value-handler.d.ts +3 -0
  807. package/lib/form-object/form-object-list/formObjectWidgetValue/form-object-value.directive.d.ts +8 -0
  808. package/lib/form-object/form-object-list/formObjectWidgetValue/form-object-widget-value.component.d.ts +22 -0
  809. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-apply-geo-fence-value/formobject-apply-geo-fence-value.component.d.ts +10 -0
  810. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-audio-value/formobject-audio-value.component.d.ts +12 -0
  811. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-auto-number-value/formobject-auto-number-value.component.d.ts +10 -0
  812. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-bar-code-value/formobject-bar-code-value.component.d.ts +27 -0
  813. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-child-records-value/formobject-child-records-value.component.d.ts +13 -0
  814. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-choicelist-value/formobject-choicelist-value.component.d.ts +20 -0
  815. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-counter-value/formobject-counter-value.component.d.ts +10 -0
  816. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-date-time-value/formobject-date-time-value.component.d.ts +13 -0
  817. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-document-value/formobject-document-value.component.d.ts +15 -0
  818. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-formula-value/formobject-formula-value.component.d.ts +11 -0
  819. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-geo-fence-value/formobject-geo-fence-value.component.d.ts +21 -0
  820. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-gps-value/formobject-gps-value.component.d.ts +23 -0
  821. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-group-header-value/formobject-group-header-value.component.d.ts +10 -0
  822. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-image-value/formobject-image-value.component.d.ts +34 -0
  823. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-languages-value/formobject-languages-value.component.d.ts +12 -0
  824. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-payment-value/formobject-payment-value.component.d.ts +10 -0
  825. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-qr-code-value/formobject-qr-code-value.component.d.ts +27 -0
  826. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-signature-value/formobject-signature-value.component.d.ts +17 -0
  827. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-static-media-value/formobject-static-media-value.component.d.ts +15 -0
  828. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-stop-watch-value/formobject-stop-watch-value.component.d.ts +10 -0
  829. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-sub-form-value/formobject-sub-form-value.component.d.ts +10 -0
  830. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-textbox-value/formobject-textbox-value.component.d.ts +12 -0
  831. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-time-stamp-value/formobject-time-stamp-value.component.d.ts +16 -0
  832. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-toggle-value/formobject-toggle-value.component.d.ts +11 -0
  833. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-unique-id-value/formobject-unique-id-value.component.d.ts +10 -0
  834. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-verification-value/formobject-verification-value.component.d.ts +14 -0
  835. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-video-value/formobject-video-value.component.d.ts +16 -0
  836. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-web-link-value/formobject-web-link-value.component.d.ts +10 -0
  837. package/lib/form-object/form-object-list/formObjectWidgetValue/formobject-widget-mat-dialog/formobject-widget-mat-dialog.component.d.ts +13 -0
  838. package/lib/form-object/form-object-view/data-detail-view-dto.d.ts +16 -0
  839. package/lib/form-object/form-object-view/dynamic-view/dynamic-view.component.d.ts +32 -0
  840. package/lib/form-object/form-object-view/dynamic-view/dynamic-view.directive.d.ts +8 -0
  841. package/lib/form-object/form-object-view/form-object-view.component.d.ts +45 -0
  842. package/lib/form-object/form-object-view/form-object-view.module.d.ts +70 -0
  843. package/lib/form-object/form-object-view/form-object-view.service.d.ts +49 -0
  844. package/lib/form-object/form-object-view/form-object-widgets/apply-geo-fence-widget-view/apply-geo-fence-widget-view.component.d.ts +10 -0
  845. package/lib/form-object/form-object-view/form-object-widgets/audio-widget-view/audio-widget-view.component.d.ts +12 -0
  846. package/lib/form-object/form-object-view/form-object-widgets/auto-number-widget-view/auto-number-widget-view.component.d.ts +10 -0
  847. package/lib/form-object/form-object-view/form-object-widgets/bar-code-widget-view/bar-code-widget-view.component.d.ts +31 -0
  848. package/lib/form-object/form-object-view/form-object-widgets/child-records-widget-view/child-records-widget-view.component.d.ts +22 -0
  849. package/lib/form-object/form-object-view/form-object-widgets/choice-list-widget-view/choice-list-widget-view.component.d.ts +25 -0
  850. package/lib/form-object/form-object-view/form-object-widgets/counter-widget-view/counter-widget-view.component.d.ts +10 -0
  851. package/lib/form-object/form-object-view/form-object-widgets/date-time-widget-view/date-time-widget-view.component.d.ts +12 -0
  852. package/lib/form-object/form-object-view/form-object-widgets/document-widget-view/document-widget-view.component.d.ts +15 -0
  853. package/lib/form-object/form-object-view/form-object-widgets/form-object-widget-type-handler.d.ts +3 -0
  854. package/lib/form-object/form-object-view/form-object-widgets/form-object-widgets-view.component.d.ts +25 -0
  855. package/lib/form-object/form-object-view/form-object-widgets/form-object-widgets-view.directive.d.ts +8 -0
  856. package/lib/form-object/form-object-view/form-object-widgets/formula-widget-view/formula-widget-view.component.d.ts +10 -0
  857. package/lib/form-object/form-object-view/form-object-widgets/geo-fence-widget-view/geo-fence-widget-view.component.d.ts +14 -0
  858. package/lib/form-object/form-object-view/form-object-widgets/gps-widget-view/gps-widget-view.component.d.ts +37 -0
  859. package/lib/form-object/form-object-view/form-object-widgets/group-header-widget-view/group-header-widget-view.component.d.ts +10 -0
  860. package/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-annotation-data-dto.d.ts +91 -0
  861. package/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-map-view/image-map-view.component.d.ts +32 -0
  862. package/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-widget-lightbox-view/image-widget-lightbox-view.component.d.ts +71 -0
  863. package/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-widget-view.component.d.ts +40 -0
  864. package/lib/form-object/form-object-view/form-object-widgets/language-widget-view/language-widget-view.component.d.ts +12 -0
  865. package/lib/form-object/form-object-view/form-object-widgets/payment-widget-view/payment-widget-view.component.d.ts +10 -0
  866. package/lib/form-object/form-object-view/form-object-widgets/qr-code-widget-view/qr-code-widget-view.component.d.ts +26 -0
  867. package/lib/form-object/form-object-view/form-object-widgets/signature-widget-view/signature-widget-view.component.d.ts +13 -0
  868. package/lib/form-object/form-object-view/form-object-widgets/static-media-widget-view/static-media-widget-view.component.d.ts +13 -0
  869. package/lib/form-object/form-object-view/form-object-widgets/stop-watch-widget-view/stop-watch-widget-view.component.d.ts +10 -0
  870. package/lib/form-object/form-object-view/form-object-widgets/sub-form-widget-view/sub-form-widget-view.component.d.ts +16 -0
  871. package/lib/form-object/form-object-view/form-object-widgets/text-box-widget-view/text-box-widget-view.component.d.ts +14 -0
  872. package/lib/form-object/form-object-view/form-object-widgets/time-stamp-widget-view/time-stamp-widget-view.component.d.ts +15 -0
  873. package/lib/form-object/form-object-view/form-object-widgets/toggle-widget-view/toggle-widget-view.component.d.ts +11 -0
  874. package/lib/form-object/form-object-view/form-object-widgets/unique-id-widget-view/unique-id-widget-view.component.d.ts +10 -0
  875. package/lib/form-object/form-object-view/form-object-widgets/verification-widget-view/verification-widget-view.component.d.ts +14 -0
  876. package/lib/form-object/form-object-view/form-object-widgets/video-widget-view/video-widget-view.component.d.ts +16 -0
  877. package/lib/form-object/form-object-view/form-object-widgets/web-link-widget-view/web-link-widget-view.component.d.ts +10 -0
  878. package/lib/form-object/form-object-view/meta-section/meta-section.component.d.ts +31 -0
  879. package/lib/form-object/form-object-view/section/section.component.d.ts +16 -0
  880. package/lib/form-object/form-object-view/section-field/section-field.component.d.ts +13 -0
  881. package/lib/form-object/form-object-view/section-view/section-view.component.d.ts +16 -0
  882. package/lib/form-object/public-api.d.ts +2 -0
  883. package/lib/form-permission.service.d.ts +51 -0
  884. package/lib/forms/ax-form.d.ts +47 -0
  885. package/lib/forms/iform.d.ts +18 -0
  886. package/lib/forms/page/common/axo-response-status.d.ts +4 -0
  887. package/lib/forms/page/common/constants.d.ts +371 -0
  888. package/lib/forms/page/common/detail-view-enums.d.ts +5 -0
  889. package/lib/forms/page/common/flatten-status-enum.d.ts +7 -0
  890. package/lib/forms/page/common/form.constant.d.ts +85 -0
  891. package/lib/forms/page/common/property-panel-field.d.ts +21 -0
  892. package/lib/forms/page/common/widget-enums.d.ts +236 -0
  893. package/lib/forms/page/common/widget-value-handler.d.ts +4 -0
  894. package/lib/forms/page/data-detail-view/ax-section.d.ts +22 -0
  895. package/lib/forms/page/data-detail-view/collection-view.d.ts +11 -0
  896. package/lib/forms/page/data-detail-view/data-details.d.ts +17 -0
  897. package/lib/forms/page/data-detail-view/section-field.d.ts +13 -0
  898. package/lib/forms/page/data-detail-view/section.d.ts +13 -0
  899. package/lib/forms/page/data-list/data-list-column.d.ts +24 -0
  900. package/lib/forms/page/data-list/data-list.d.ts +24 -0
  901. package/lib/forms/page/form-object.d.ts +6 -0
  902. package/lib/forms/page/form-page.d.ts +19 -0
  903. package/lib/forms/page/value-converters/displayMode-to-bool.d.ts +5 -0
  904. package/lib/forms/page/value-converters/form-type-converter.d.ts +5 -0
  905. package/lib/forms/page/value-converters/geo-fence-value-converter.d.ts +5 -0
  906. package/lib/forms/page/value-converters/image-annotation-value-converter.d.ts +5 -0
  907. package/lib/forms/page/value-converters/language-source-value-converter.d.ts +6 -0
  908. package/lib/forms/page/value-converters/list-view-title-converter.d.ts +5 -0
  909. package/lib/forms/page/value-converters/parse-float-converter.d.ts +5 -0
  910. package/lib/forms/page/value-converters/parse-int-converter.d.ts +5 -0
  911. package/lib/forms/page/value-converters/parse-string-converter.d.ts +5 -0
  912. package/lib/forms/page/value-converters/publicUrls-string-to-array.d.ts +5 -0
  913. package/lib/forms/page/value-converters/record-limit-type-converter.d.ts +5 -0
  914. package/lib/forms/page/value-converters/restriction-mode-converter.d.ts +5 -0
  915. package/lib/forms/page/value-converters/string-to-bool-converter.d.ts +5 -0
  916. package/lib/forms/page/value-converters/string-to-bool-value-converter.d.ts +5 -0
  917. package/lib/forms/page/value-converters/string-to-date-time-converter.d.ts +5 -0
  918. package/lib/forms/page/value-converters/string-to-number -converter.d.ts +5 -0
  919. package/lib/forms/page/value-converters/textBox-mask-converter.d.ts +5 -0
  920. package/lib/forms/page/value-converters/validate-converter.d.ts +5 -0
  921. package/lib/forms/page/value-converters/value-without-mask-converter.d.ts +5 -0
  922. package/lib/forms/page/value-converters/widget-concrete-class-converter.d.ts +6 -0
  923. package/lib/forms/page/value-converters/widget-deserializer.d.ts +3 -0
  924. package/lib/forms/page/widgets/apply-geofences.d.ts +25 -0
  925. package/lib/forms/page/widgets/auto-number.d.ts +28 -0
  926. package/lib/forms/page/widgets/ax-audio.d.ts +43 -0
  927. package/lib/forms/page/widgets/ax-document.d.ts +44 -0
  928. package/lib/forms/page/widgets/ax-image.d.ts +46 -0
  929. package/lib/forms/page/widgets/bar-code.d.ts +52 -0
  930. package/lib/forms/page/widgets/child-record.d.ts +50 -0
  931. package/lib/forms/page/widgets/choicelist.d.ts +70 -0
  932. package/lib/forms/page/widgets/counter.d.ts +36 -0
  933. package/lib/forms/page/widgets/datetime.d.ts +53 -0
  934. package/lib/forms/page/widgets/formula.d.ts +38 -0
  935. package/lib/forms/page/widgets/geofence.d.ts +41 -0
  936. package/lib/forms/page/widgets/gps.d.ts +49 -0
  937. package/lib/forms/page/widgets/group-header.d.ts +51 -0
  938. package/lib/forms/page/widgets/languages.d.ts +41 -0
  939. package/lib/forms/page/widgets/link.d.ts +36 -0
  940. package/lib/forms/page/widgets/payment.d.ts +37 -0
  941. package/lib/forms/page/widgets/qr-code.d.ts +39 -0
  942. package/lib/forms/page/widgets/script-condition.d.ts +33 -0
  943. package/lib/forms/page/widgets/signature.d.ts +34 -0
  944. package/lib/forms/page/widgets/static-media.d.ts +40 -0
  945. package/lib/forms/page/widgets/stopwatch.d.ts +37 -0
  946. package/lib/forms/page/widgets/sub-form.d.ts +39 -0
  947. package/lib/forms/page/widgets/textbox.d.ts +63 -0
  948. package/lib/forms/page/widgets/timestamp.d.ts +42 -0
  949. package/lib/forms/page/widgets/toggle.d.ts +36 -0
  950. package/lib/forms/page/widgets/unique-id.d.ts +33 -0
  951. package/lib/forms/page/widgets/verification.d.ts +55 -0
  952. package/lib/forms/page/widgets/video.d.ts +44 -0
  953. package/lib/forms/page/widgets/widget-value/apply-geo-fence-widget-value.d.ts +18 -0
  954. package/lib/forms/page/widgets/widget-value/audio-video-widget-value.d.ts +11 -0
  955. package/lib/forms/page/widgets/widget-value/child-record-value.d.ts +26 -0
  956. package/lib/forms/page/widgets/widget-value/choice-list-options.d.ts +27 -0
  957. package/lib/forms/page/widgets/widget-value/choices-ml.d.ts +22 -0
  958. package/lib/forms/page/widgets/widget-value/dateRangeValue.d.ts +12 -0
  959. package/lib/forms/page/widgets/widget-value/deviceProfileParams.d.ts +4 -0
  960. package/lib/forms/page/widgets/widget-value/deviceProfilesTemp.d.ts +19 -0
  961. package/lib/forms/page/widgets/widget-value/document-widget-value.d.ts +15 -0
  962. package/lib/forms/page/widgets/widget-value/geo-fence-location-value.d.ts +14 -0
  963. package/lib/forms/page/widgets/widget-value/geo-fence-widget-value.d.ts +14 -0
  964. package/lib/forms/page/widgets/widget-value/gps-widget-value.d.ts +21 -0
  965. package/lib/forms/page/widgets/widget-value/image-widget-value.d.ts +19 -0
  966. package/lib/forms/page/widgets/widget-value/language-widget-value.d.ts +12 -0
  967. package/lib/forms/page/widgets/widget-value/location-object-value.d.ts +12 -0
  968. package/lib/forms/page/widgets/widget-value/multiple-languages.d.ts +21 -0
  969. package/lib/forms/page/widgets/widget-value/reference-list-object-value.d.ts +17 -0
  970. package/lib/forms/page/widgets/widget-value/verification-widget-value.d.ts +31 -0
  971. package/lib/forms/page/widgets/widget.d.ts +75 -0
  972. package/lib/ghost-loader/ghost-loader.component.d.ts +41 -0
  973. package/lib/ghost-loader/ghost-loader.module.d.ts +8 -0
  974. package/lib/ghost-loader/public-api.d.ts +2 -0
  975. package/lib/map-dialog/map-dialog.component.d.ts +16 -0
  976. package/lib/map-dialog/map-dialog.module.d.ts +11 -0
  977. package/lib/map-dialog/public-api.d.ts +5 -0
  978. package/lib/reports-container/public-api.d.ts +7 -0
  979. package/lib/reports-container/report-group/report-group.component.d.ts +17 -0
  980. package/lib/reports-container/reports-container-models/report-group.d.ts +20 -0
  981. package/lib/reports-container/reports-container-models/report-property.d.ts +19 -0
  982. package/lib/reports-container/reports-container-models/reports-container-enums.d.ts +13 -0
  983. package/lib/reports-container/reports-container-models/reports-container.d.ts +16 -0
  984. package/lib/reports-container/reports-container.component.d.ts +16 -0
  985. package/lib/reports-container/reports-container.module.d.ts +13 -0
  986. package/lib/reports-container/reports-container.service.d.ts +18 -0
  987. package/lib/scrollbar/index.d.ts +2 -0
  988. package/lib/scrollbar/public-api.d.ts +2 -0
  989. package/lib/scrollbar/scrollbar.directive.d.ts +153 -0
  990. package/lib/scrollbar/scrollbar.module.d.ts +7 -0
  991. package/lib/scrollbar/scrollbar.types.d.ts +12 -0
  992. package/lib/sculptor-lib/widgets/audio/audio.component.d.ts +32 -0
  993. package/lib/sculptor-lib/widgets/barcode/barcode.component.d.ts +32 -0
  994. package/lib/sculptor-lib/widgets/child-record/child-record.component.d.ts +32 -0
  995. package/lib/sculptor-lib/widgets/choice-list/choice-list.component.d.ts +32 -0
  996. package/lib/sculptor-lib/widgets/date-time/date-time.component.d.ts +32 -0
  997. package/lib/sculptor-lib/widgets/document/document.component.d.ts +32 -0
  998. package/lib/sculptor-lib/widgets/geofence/geofence.component.d.ts +32 -0
  999. package/lib/sculptor-lib/widgets/gps/gps.component.d.ts +32 -0
  1000. package/lib/sculptor-lib/widgets/group-header/group-header.component.d.ts +32 -0
  1001. package/lib/sculptor-lib/widgets/image/image.component.d.ts +32 -0
  1002. package/lib/sculptor-lib/widgets/language/language.component.d.ts +32 -0
  1003. package/lib/sculptor-lib/widgets/link/link.component.d.ts +32 -0
  1004. package/lib/sculptor-lib/widgets/qr-code/qr-code.component.d.ts +32 -0
  1005. package/lib/sculptor-lib/widgets/stopwatch/stopwatch.component.d.ts +32 -0
  1006. package/lib/sculptor-lib/widgets/subform/subform.component.d.ts +32 -0
  1007. package/lib/sculptor-lib/widgets/textbox/textbox.component.d.ts +32 -0
  1008. package/lib/sculptor-lib/widgets/timestamp/timestamp.component.d.ts +32 -0
  1009. package/lib/sculptor-lib/widgets/toggle/toggle.component.d.ts +32 -0
  1010. package/lib/sculptor-lib/widgets/video/video.component.d.ts +32 -0
  1011. package/lib/sculptor-lib/widgets/widgets.service.d.ts +30 -0
  1012. package/lib/shared/comfirmation-modal/confirmation-modal.component.d.ts +18 -0
  1013. package/lib/shared/conditional-formatting/conditional-formatting/conditional-formatting.component.d.ts +29 -0
  1014. package/lib/shared/shared.module.d.ts +13 -0
  1015. package/package.json +64 -0
  1016. package/public-api.d.ts +130 -0
@@ -0,0 +1,1583 @@
1
+ import { moveItemInArray } from '@angular/cdk/drag-drop';
2
+ import { Component, HostListener, Injector, Input, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { MatMenuTrigger } from '@angular/material/menu';
4
+ import { ElementsDto } from '../../../../../common-dto/elements-dto';
5
+ import { FieldsListService } from '../../../../../field-list-lib/fields-list.service';
6
+ import moment from 'moment';
7
+ import { ReportBuilderMasterService } from '../../../report-builder-master.service';
8
+ import { TabularReport } from '../../tabular-report';
9
+ import { OrderByType } from '../../orderby-type';
10
+ import { CommonService } from '../../../../../common.service';
11
+ import { ElementService } from '../../../element.service';
12
+ import { ScopeType, ScreenType } from '../../../../filters/condition-type';
13
+ import { TabularReportService } from '../../tabular-report.service';
14
+ import { Page } from '../../../graphical-report/page/page';
15
+ import { DashboardBuilderService } from '../../../../../dashboard-lib/dashboard-builder.service';
16
+ import { TabularComponent } from '../tabular.component';
17
+ import { Subject } from 'rxjs';
18
+ import { AxFilter } from '../../../../filters/ax-filter';
19
+ import { ConditionalFormattingComponent } from '../../../../../shared/conditional-formatting/conditional-formatting/conditional-formatting.component';
20
+ import { MatDialog } from '@angular/material/dialog';
21
+ import { GhostLoaderType } from '../../../../../ghost-loader/ghost-loader.component';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "../../../report-builder-master.service";
24
+ import * as i2 from "../../../../../field-list-lib/fields-list.service";
25
+ import * as i3 from "../../../../../common.service";
26
+ import * as i4 from "../../../element.service";
27
+ import * as i5 from "../../tabular-report.service";
28
+ import * as i6 from "../../../../../dashboard-lib/dashboard-builder.service";
29
+ import * as i7 from "@angular/common";
30
+ import * as i8 from "@angular/material/menu";
31
+ import * as i9 from "../../../../../ghost-loader/ghost-loader.component";
32
+ import * as i10 from "@angular/cdk/drag-drop";
33
+ import * as i11 from "@angular/forms";
34
+ import * as i12 from "@angular/material/icon";
35
+ import * as i13 from "@angular/material/checkbox";
36
+ import * as i14 from "../../axo-percentage.pipe";
37
+ const _c0 = ["drillThorughMenuTrigger"];
38
+ function DetailGroupViewComponent_div_0_Template(rf, ctx) { if (rf & 1) {
39
+ i0.ɵɵelementStart(0, "div", 7);
40
+ i0.ɵɵelement(1, "app-ghost-loader", 8);
41
+ i0.ɵɵelementEnd();
42
+ } if (rf & 2) {
43
+ const ctx_r0 = i0.ɵɵnextContext();
44
+ i0.ɵɵadvance(1);
45
+ i0.ɵɵproperty("elementType", ctx_r0.GhostLoaderType.TabularChartLoader);
46
+ } }
47
+ function DetailGroupViewComponent_div_1_table_1_th_4_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵelementStart(0, "th", 18);
49
+ i0.ɵɵelementStart(1, "div", 19);
50
+ i0.ɵɵtext(2, "Sr No.");
51
+ i0.ɵɵelementEnd();
52
+ i0.ɵɵelementEnd();
53
+ } if (rf & 2) {
54
+ const ctx_r8 = i0.ɵɵnextContext(3);
55
+ i0.ɵɵstyleProp("color", ctx_r8.tabularReport.tableStyle.header.font.color)("font-size", ctx_r8.tabularReport.tableStyle.header.font.size, "px")("font-family", ctx_r8.tabularReport.tableStyle.header.font.family)("background", ctx_r8.tabularReport.tableStyle.header.backgroundColor)("border", ctx_r8.tabularReport.tableStyle.border.width + "px" + " " + ctx_r8.tabularReport.tableStyle.border.borderStyle + " " + ctx_r8.tabularReport.tableStyle.border.color);
56
+ i0.ɵɵproperty("id", ctx_r8.srNo);
57
+ } }
58
+ function DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_div_3_Template(rf, ctx) { if (rf & 1) {
59
+ i0.ɵɵelementStart(0, "div", 33);
60
+ i0.ɵɵelementStart(1, "mat-icon");
61
+ i0.ɵɵtext(2, "drag_indicator");
62
+ i0.ɵɵelementEnd();
63
+ i0.ɵɵelementEnd();
64
+ } }
65
+ function DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_span_7_Template(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵelementStart(0, "span", 34);
67
+ i0.ɵɵtext(1);
68
+ i0.ɵɵelementEnd();
69
+ } if (rf & 2) {
70
+ const attr_r11 = i0.ɵɵnextContext(2).$implicit;
71
+ i0.ɵɵadvance(1);
72
+ i0.ɵɵtextInterpolate(attr_r11.orderSequence);
73
+ } }
74
+ function DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_ng_container_13_Template(rf, ctx) { if (rf & 1) {
75
+ const _r22 = i0.ɵɵgetCurrentView();
76
+ i0.ɵɵelementContainerStart(0);
77
+ i0.ɵɵelementStart(1, "button", 35);
78
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_ng_container_13_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(2); const i_r12 = ctx_r21.index; const attr_r11 = ctx_r21.$implicit; const ctx_r20 = i0.ɵɵnextContext(3); ctx_r20.onContextMenu($event, i_r12, attr_r11); return $event.stopPropagation(); });
79
+ i0.ɵɵelement(2, "mat-icon", 36);
80
+ i0.ɵɵelementEnd();
81
+ i0.ɵɵelement(3, "div", 37, 38);
82
+ i0.ɵɵelementContainerEnd();
83
+ } if (rf & 2) {
84
+ const attr_r11 = i0.ɵɵnextContext(2).$implicit;
85
+ i0.ɵɵnextContext(3);
86
+ const _r2 = i0.ɵɵreference(3);
87
+ i0.ɵɵadvance(3);
88
+ i0.ɵɵproperty("matMenuTriggerFor", _r2)("id", attr_r11.tableName + "-" + attr_r11.name);
89
+ } }
90
+ const _c1 = function (a0) { return { " gap-3 items-center justify-between": a0 }; };
91
+ const _c2 = function (a0) { return { "sort-heading": a0 }; };
92
+ const _c3 = function (a0) { return { "arrow-active": a0 }; };
93
+ function DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_Template(rf, ctx) { if (rf & 1) {
94
+ const _r26 = i0.ɵɵgetCurrentView();
95
+ i0.ɵɵelementStart(0, "th", 22);
96
+ i0.ɵɵelementStart(1, "div", 23);
97
+ i0.ɵɵlistener("contextmenu", function DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_Template_div_contextmenu_1_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(); const i_r12 = ctx_r25.index; const attr_r11 = ctx_r25.$implicit; const ctx_r24 = i0.ɵɵnextContext(3); return ctx_r24.onContextMenu($event, i_r12, attr_r11); });
98
+ i0.ɵɵelementStart(2, "div", 24);
99
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_Template_div_click_2_listener($event) { i0.ɵɵrestoreView(_r26); const i_r12 = i0.ɵɵnextContext().index; const ctx_r27 = i0.ɵɵnextContext(3); return ctx_r27.onClickSorting($event, i_r12); });
100
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_div_3_Template, 3, 0, "div", 25);
101
+ i0.ɵɵelementStart(4, "div", 26);
102
+ i0.ɵɵelementStart(5, "input", 27);
103
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_Template_input_click_5_listener($event) { return $event.stopPropagation(); })("ngModelChange", function DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r26); const attr_r11 = i0.ɵɵnextContext().$implicit; return attr_r11.label = $event; });
104
+ i0.ɵɵelementEnd();
105
+ i0.ɵɵelementEnd();
106
+ i0.ɵɵelementStart(6, "div", 28);
107
+ i0.ɵɵtemplate(7, DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_span_7_Template, 2, 1, "span", 29);
108
+ i0.ɵɵelementStart(8, "div", 30);
109
+ i0.ɵɵelementStart(9, "div", 31);
110
+ i0.ɵɵtext(10, "\u25B2");
111
+ i0.ɵɵelementEnd();
112
+ i0.ɵɵelementStart(11, "div", 32);
113
+ i0.ɵɵtext(12, "\u25BC");
114
+ i0.ɵɵelementEnd();
115
+ i0.ɵɵelementEnd();
116
+ i0.ɵɵelementEnd();
117
+ i0.ɵɵelementEnd();
118
+ i0.ɵɵtemplate(13, DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_ng_container_13_Template, 5, 2, "ng-container", 6);
119
+ i0.ɵɵelementEnd();
120
+ i0.ɵɵelementEnd();
121
+ } if (rf & 2) {
122
+ const attr_r11 = i0.ɵɵnextContext().$implicit;
123
+ const ctx_r14 = i0.ɵɵnextContext(3);
124
+ i0.ɵɵstyleProp("font-size", ctx_r14.tabularReport.tableStyle.header.font.size, "px")("color", ctx_r14.tabularReport.tableStyle.header.font.color)("font-family", ctx_r14.tabularReport.tableStyle.header.font.family)("background", ctx_r14.tabularReport.tableStyle.header.backgroundColor)("border", ctx_r14.tabularReport.tableStyle.border.width + "px" + " " + ctx_r14.tabularReport.tableStyle.border.borderStyle + " " + ctx_r14.tabularReport.tableStyle.border.color)("text-align", attr_r11.alignment);
125
+ i0.ɵɵproperty("id", ctx_r14.th)("cdkDragDisabled", !ctx_r14.isEditable);
126
+ i0.ɵɵadvance(2);
127
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(31, _c1, attr_r11.groupBy === 1 || attr_r11.groupBy === 2 || ctx_r14.isEditable));
128
+ i0.ɵɵadvance(1);
129
+ i0.ɵɵproperty("ngIf", ctx_r14.isEditable);
130
+ i0.ɵɵadvance(2);
131
+ i0.ɵɵstyleProp("width", attr_r11.label.length + 1 + "ch")("font-size", ctx_r14.tabularReport.tableStyle.header.font.size, "px")("color", ctx_r14.tabularReport.tableStyle.header.font.color)("font-family", ctx_r14.tabularReport.tableStyle.header.font.family);
132
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(33, _c2, !ctx_r14.headerLoaded))("ngModel", attr_r11.label)("readonly", !ctx_r14.isEditable);
133
+ i0.ɵɵadvance(2);
134
+ i0.ɵɵproperty("ngIf", attr_r11.groupBy === 1 || attr_r11.groupBy === 2);
135
+ i0.ɵɵadvance(2);
136
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(35, _c3, attr_r11.groupBy === 1));
137
+ i0.ɵɵadvance(2);
138
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(37, _c3, attr_r11.groupBy === 2));
139
+ i0.ɵɵadvance(2);
140
+ i0.ɵɵproperty("ngIf", ctx_r14.isEditable);
141
+ } }
142
+ function DetailGroupViewComponent_div_1_table_1_ng_container_5_Template(rf, ctx) { if (rf & 1) {
143
+ i0.ɵɵelementContainerStart(0, 20);
144
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_ng_container_5_th_1_Template, 14, 39, "th", 21);
145
+ i0.ɵɵelementContainerEnd();
146
+ } if (rf & 2) {
147
+ const attr_r11 = ctx.$implicit;
148
+ i0.ɵɵadvance(1);
149
+ i0.ɵɵproperty("ngIf", !attr_r11.isHidden);
150
+ } }
151
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_td_2_Template(rf, ctx) { if (rf & 1) {
152
+ i0.ɵɵelementStart(0, "td", 43);
153
+ i0.ɵɵtext(1);
154
+ i0.ɵɵelementEnd();
155
+ } if (rf & 2) {
156
+ const i_r36 = i0.ɵɵnextContext().index;
157
+ const ctx_r39 = i0.ɵɵnextContext(4);
158
+ i0.ɵɵstyleProp("border", ctx_r39.tabularReport.tableStyle.border.width + "px" + " " + ctx_r39.tabularReport.tableStyle.border.borderStyle + " " + ctx_r39.tabularReport.tableStyle.border.color)("font-family", ctx_r39.tabularReport.tableStyle.body.font.family)("font-size", ctx_r39.tabularReport.tableStyle.body.font.size, "px")("color", ctx_r39.tabularReport.tableStyle.body.font.color);
159
+ i0.ɵɵadvance(1);
160
+ i0.ɵɵtextInterpolate1(" ", (ctx_r39.tabularReport.pageIndex - 1) * ctx_r39.tabularReport.pageSize + ctx_r39.tabularReport.pageSize + i_r36 + 1, " ");
161
+ } }
162
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
163
+ i0.ɵɵelementContainerStart(0);
164
+ i0.ɵɵelementStart(1, "span");
165
+ i0.ɵɵtext(2);
166
+ i0.ɵɵpipe(3, "date");
167
+ i0.ɵɵelementEnd();
168
+ i0.ɵɵelementContainerEnd();
169
+ } if (rf & 2) {
170
+ const _attr_r42 = i0.ɵɵnextContext(4).$implicit;
171
+ const i_r36 = i0.ɵɵnextContext().index;
172
+ const ctx_r58 = i0.ɵɵnextContext(4);
173
+ i0.ɵɵadvance(2);
174
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(3, 1, ctx_r58.moment(_attr_r42.series[i_r36] + "Z"), _attr_r42.valueFormatting.date));
175
+ } }
176
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_2_Template(rf, ctx) { if (rf & 1) {
177
+ i0.ɵɵelementContainerStart(0);
178
+ i0.ɵɵelementStart(1, "span");
179
+ i0.ɵɵtext(2);
180
+ i0.ɵɵelementEnd();
181
+ i0.ɵɵelementContainerEnd();
182
+ } if (rf & 2) {
183
+ const _attr_r42 = i0.ɵɵnextContext(4).$implicit;
184
+ const i_r36 = i0.ɵɵnextContext().index;
185
+ i0.ɵɵadvance(2);
186
+ i0.ɵɵtextInterpolate(_attr_r42.series[i_r36]);
187
+ } }
188
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_3_Template(rf, ctx) { if (rf & 1) {
189
+ i0.ɵɵelementContainerStart(0);
190
+ i0.ɵɵelementStart(1, "span");
191
+ i0.ɵɵtext(2);
192
+ i0.ɵɵpipe(3, "date");
193
+ i0.ɵɵelementEnd();
194
+ i0.ɵɵelementContainerEnd();
195
+ } if (rf & 2) {
196
+ const _attr_r42 = i0.ɵɵnextContext(4).$implicit;
197
+ const i_r36 = i0.ɵɵnextContext().index;
198
+ const ctx_r60 = i0.ɵɵnextContext(4);
199
+ i0.ɵɵadvance(2);
200
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(3, 1, ctx_r60.moment(_attr_r42.series[i_r36], "hh:mm:ss"), _attr_r42.valueFormatting.date));
201
+ } }
202
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_4_span_1_Template(rf, ctx) { if (rf & 1) {
203
+ i0.ɵɵelementStart(0, "span");
204
+ i0.ɵɵtext(1);
205
+ i0.ɵɵpipe(2, "date");
206
+ i0.ɵɵelementEnd();
207
+ } if (rf & 2) {
208
+ const _attr_r42 = i0.ɵɵnextContext(5).$implicit;
209
+ const i_r36 = i0.ɵɵnextContext().index;
210
+ i0.ɵɵadvance(1);
211
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, _attr_r42.series[i_r36], _attr_r42.valueFormatting.date));
212
+ } }
213
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_4_Template(rf, ctx) { if (rf & 1) {
214
+ i0.ɵɵelementContainerStart(0);
215
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_4_span_1_Template, 3, 4, "span", 6);
216
+ i0.ɵɵelementContainerEnd();
217
+ } if (rf & 2) {
218
+ const _attr_r42 = i0.ɵɵnextContext(4).$implicit;
219
+ i0.ɵɵadvance(1);
220
+ i0.ɵɵproperty("ngIf", _attr_r42.widgetSubType === "date");
221
+ } }
222
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_5_Template(rf, ctx) { if (rf & 1) {
223
+ i0.ɵɵelementContainerStart(0);
224
+ i0.ɵɵtext(1);
225
+ i0.ɵɵelementContainerEnd();
226
+ } if (rf & 2) {
227
+ const _attr_r42 = i0.ɵɵnextContext(4).$implicit;
228
+ const i_r36 = i0.ɵɵnextContext().index;
229
+ i0.ɵɵadvance(1);
230
+ i0.ɵɵtextInterpolate1(" ", _attr_r42.series[i_r36], " ");
231
+ } }
232
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_Template(rf, ctx) { if (rf & 1) {
233
+ i0.ɵɵelementStart(0, "span");
234
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_1_Template, 4, 4, "ng-container", 6);
235
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_2_Template, 3, 1, "ng-container", 6);
236
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_3_Template, 4, 4, "ng-container", 6);
237
+ i0.ɵɵtemplate(4, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_4_Template, 2, 1, "ng-container", 6);
238
+ i0.ɵɵtemplate(5, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_ng_container_5_Template, 2, 1, "ng-container", 6);
239
+ i0.ɵɵelementEnd();
240
+ } if (rf & 2) {
241
+ const _attr_r42 = i0.ɵɵnextContext(3).$implicit;
242
+ i0.ɵɵadvance(1);
243
+ i0.ɵɵproperty("ngIf", _attr_r42.widgetSubType === "datetime" || _attr_r42.widgetSubType === "both");
244
+ i0.ɵɵadvance(1);
245
+ i0.ɵɵproperty("ngIf", _attr_r42.widgetSubType === "timestamp");
246
+ i0.ɵɵadvance(1);
247
+ i0.ɵɵproperty("ngIf", _attr_r42.widgetSubType === "time");
248
+ i0.ɵɵadvance(1);
249
+ i0.ɵɵproperty("ngIf", _attr_r42.widgetSubType === "date");
250
+ i0.ɵɵadvance(1);
251
+ i0.ɵɵproperty("ngIf", _attr_r42.widgetSubType === "date_range");
252
+ } }
253
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_span_1_Template(rf, ctx) { if (rf & 1) {
254
+ i0.ɵɵelementStart(0, "span");
255
+ i0.ɵɵtext(1);
256
+ i0.ɵɵelementEnd();
257
+ } if (rf & 2) {
258
+ const _attr_r42 = i0.ɵɵnextContext(4).$implicit;
259
+ const i_r36 = i0.ɵɵnextContext().index;
260
+ i0.ɵɵadvance(1);
261
+ i0.ɵɵtextInterpolate1(" ", _attr_r42.series[i_r36], " ");
262
+ } }
263
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_span_2_span_1_Template(rf, ctx) { if (rf & 1) {
264
+ i0.ɵɵelementStart(0, "span");
265
+ i0.ɵɵtext(1);
266
+ i0.ɵɵpipe(2, "currency");
267
+ i0.ɵɵelementEnd();
268
+ } if (rf & 2) {
269
+ const _attr_r42 = i0.ɵɵnextContext(5).$implicit;
270
+ const i_r36 = i0.ɵɵnextContext().index;
271
+ i0.ɵɵadvance(1);
272
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(2, 1, _attr_r42.series[i_r36], _attr_r42.valueFormatting.currency, "symbol"));
273
+ } }
274
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_span_2_span_2_Template(rf, ctx) { if (rf & 1) {
275
+ i0.ɵɵelementStart(0, "span");
276
+ i0.ɵɵtext(1);
277
+ i0.ɵɵpipe(2, "axoPercentage");
278
+ i0.ɵɵelementEnd();
279
+ } if (rf & 2) {
280
+ const _attr_r42 = i0.ɵɵnextContext(5).$implicit;
281
+ const i_r36 = i0.ɵɵnextContext().index;
282
+ i0.ɵɵadvance(1);
283
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(2, 1, _attr_r42.series[i_r36], _attr_r42.series, "detail"));
284
+ } }
285
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_span_2_span_3_Template(rf, ctx) { if (rf & 1) {
286
+ i0.ɵɵelementStart(0, "span");
287
+ i0.ɵɵtext(1);
288
+ i0.ɵɵelementEnd();
289
+ } if (rf & 2) {
290
+ const _attr_r42 = i0.ɵɵnextContext(5).$implicit;
291
+ const i_r36 = i0.ɵɵnextContext().index;
292
+ i0.ɵɵadvance(1);
293
+ i0.ɵɵtextInterpolate(_attr_r42.series[i_r36]);
294
+ } }
295
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_span_2_Template(rf, ctx) { if (rf & 1) {
296
+ i0.ɵɵelementStart(0, "span");
297
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_span_2_span_1_Template, 3, 5, "span", 6);
298
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_span_2_span_2_Template, 3, 5, "span", 6);
299
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_span_2_span_3_Template, 2, 1, "span", 6);
300
+ i0.ɵɵelementEnd();
301
+ } if (rf & 2) {
302
+ const _attr_r42 = i0.ɵɵnextContext(4).$implicit;
303
+ i0.ɵɵadvance(1);
304
+ i0.ɵɵproperty("ngIf", _attr_r42.valueFormatting.currency);
305
+ i0.ɵɵadvance(1);
306
+ i0.ɵɵproperty("ngIf", _attr_r42.valueFormatting.percentage);
307
+ i0.ɵɵadvance(1);
308
+ i0.ɵɵproperty("ngIf", !_attr_r42.valueFormatting.percentage && !_attr_r42.valueFormatting.currency);
309
+ } }
310
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_Template(rf, ctx) { if (rf & 1) {
311
+ i0.ɵɵelementStart(0, "span");
312
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_span_1_Template, 2, 1, "span", 6);
313
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_span_2_Template, 4, 3, "span", 6);
314
+ i0.ɵɵelementEnd();
315
+ } if (rf & 2) {
316
+ const _attr_r42 = i0.ɵɵnextContext(3).$implicit;
317
+ i0.ɵɵadvance(1);
318
+ i0.ɵɵproperty("ngIf", _attr_r42.widgetSubType === "decimal" || _attr_r42.widgetSubType === "text" || _attr_r42.widgetSubType === "string");
319
+ i0.ɵɵadvance(1);
320
+ i0.ɵɵproperty("ngIf", _attr_r42.widgetSubType === "numeric");
321
+ } }
322
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_4_Template(rf, ctx) { if (rf & 1) {
323
+ const _r93 = i0.ɵɵgetCurrentView();
324
+ i0.ɵɵelementStart(0, "span");
325
+ i0.ɵɵelementStart(1, "span", 49);
326
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_4_Template_span_click_1_listener($event) { i0.ɵɵrestoreView(_r93); const _attr_r42 = i0.ɵɵnextContext(3).$implicit; const i_r36 = i0.ɵɵnextContext().index; const ctx_r91 = i0.ɵɵnextContext(4); return ctx_r91.redirect($event, _attr_r42.series[i_r36]); });
327
+ i0.ɵɵtext(2);
328
+ i0.ɵɵelementEnd();
329
+ i0.ɵɵelementEnd();
330
+ } if (rf & 2) {
331
+ const _attr_r42 = i0.ɵɵnextContext(3).$implicit;
332
+ const i_r36 = i0.ɵɵnextContext().index;
333
+ const ctx_r50 = i0.ɵɵnextContext(4);
334
+ i0.ɵɵadvance(1);
335
+ i0.ɵɵproperty("title", ctx_r50.x1ImageMediaUrl + _attr_r42.series[i_r36]);
336
+ i0.ɵɵadvance(1);
337
+ i0.ɵɵtextInterpolate(_attr_r42.series[i_r36]);
338
+ } }
339
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_5_Template(rf, ctx) { if (rf & 1) {
340
+ const _r98 = i0.ɵɵgetCurrentView();
341
+ i0.ɵɵelementStart(0, "span");
342
+ i0.ɵɵelementStart(1, "span", 49);
343
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_5_Template_span_click_1_listener($event) { i0.ɵɵrestoreView(_r98); const _attr_r42 = i0.ɵɵnextContext(3).$implicit; const i_r36 = i0.ɵɵnextContext().index; const ctx_r97 = i0.ɵɵnextContext(4); return ctx_r97.redirect($event, ctx_r97.x1ImageMediaUrl + _attr_r42.series[i_r36]); });
344
+ i0.ɵɵtext(2);
345
+ i0.ɵɵelementEnd();
346
+ i0.ɵɵelementEnd();
347
+ } if (rf & 2) {
348
+ const _attr_r42 = i0.ɵɵnextContext(3).$implicit;
349
+ const i_r36 = i0.ɵɵnextContext().index;
350
+ const ctx_r51 = i0.ɵɵnextContext(4);
351
+ i0.ɵɵadvance(1);
352
+ i0.ɵɵproperty("title", ctx_r51.x1ImageMediaUrl + _attr_r42.series[i_r36]);
353
+ i0.ɵɵadvance(1);
354
+ i0.ɵɵtextInterpolate(_attr_r42.series[i_r36]);
355
+ } }
356
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_6_Template(rf, ctx) { if (rf & 1) {
357
+ const _r104 = i0.ɵɵgetCurrentView();
358
+ i0.ɵɵelementStart(0, "span");
359
+ i0.ɵɵelementStart(1, "span", 49);
360
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_6_Template_span_click_1_listener($event) { i0.ɵɵrestoreView(_r104); const _attr_r42 = i0.ɵɵnextContext(3).$implicit; const i_r36 = i0.ɵɵnextContext().index; const ctx_r103 = i0.ɵɵnextContext(4); return ctx_r103.redirect($event, ctx_r103.x1ImageMediaUrl + _attr_r42.series[i_r36]); });
361
+ i0.ɵɵtext(2);
362
+ i0.ɵɵelementEnd();
363
+ i0.ɵɵelementEnd();
364
+ } if (rf & 2) {
365
+ const _attr_r42 = i0.ɵɵnextContext(3).$implicit;
366
+ const i_r36 = i0.ɵɵnextContext().index;
367
+ const ctx_r52 = i0.ɵɵnextContext(4);
368
+ i0.ɵɵadvance(1);
369
+ i0.ɵɵproperty("title", ctx_r52.x1ImageMediaUrl + _attr_r42.series[i_r36]);
370
+ i0.ɵɵadvance(1);
371
+ i0.ɵɵtextInterpolate(_attr_r42.series[i_r36]);
372
+ } }
373
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_7_Template(rf, ctx) { if (rf & 1) {
374
+ const _r110 = i0.ɵɵgetCurrentView();
375
+ i0.ɵɵelementStart(0, "span");
376
+ i0.ɵɵelementStart(1, "span", 49);
377
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_7_Template_span_click_1_listener($event) { i0.ɵɵrestoreView(_r110); const _attr_r42 = i0.ɵɵnextContext(3).$implicit; const i_r36 = i0.ɵɵnextContext().index; const ctx_r109 = i0.ɵɵnextContext(4); return ctx_r109.redirect($event, ctx_r109.x1ImageMediaUrl + _attr_r42.series[i_r36]); });
378
+ i0.ɵɵtext(2);
379
+ i0.ɵɵelementEnd();
380
+ i0.ɵɵelementEnd();
381
+ } if (rf & 2) {
382
+ const _attr_r42 = i0.ɵɵnextContext(3).$implicit;
383
+ const i_r36 = i0.ɵɵnextContext().index;
384
+ const ctx_r53 = i0.ɵɵnextContext(4);
385
+ i0.ɵɵadvance(1);
386
+ i0.ɵɵproperty("title", ctx_r53.x1ImageMediaUrl + _attr_r42.series[i_r36]);
387
+ i0.ɵɵadvance(1);
388
+ i0.ɵɵtextInterpolate(_attr_r42.series[i_r36]);
389
+ } }
390
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_8_Template(rf, ctx) { if (rf & 1) {
391
+ const _r116 = i0.ɵɵgetCurrentView();
392
+ i0.ɵɵelementStart(0, "span");
393
+ i0.ɵɵelementStart(1, "span", 49);
394
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_8_Template_span_click_1_listener($event) { i0.ɵɵrestoreView(_r116); const _attr_r42 = i0.ɵɵnextContext(3).$implicit; const i_r36 = i0.ɵɵnextContext().index; const ctx_r115 = i0.ɵɵnextContext(4); return ctx_r115.redirect($event, ctx_r115.x1ImageMediaUrl + _attr_r42.series[i_r36]); });
395
+ i0.ɵɵtext(2);
396
+ i0.ɵɵelementEnd();
397
+ i0.ɵɵelementEnd();
398
+ } if (rf & 2) {
399
+ const _attr_r42 = i0.ɵɵnextContext(3).$implicit;
400
+ const i_r36 = i0.ɵɵnextContext().index;
401
+ const ctx_r54 = i0.ɵɵnextContext(4);
402
+ i0.ɵɵadvance(1);
403
+ i0.ɵɵproperty("title", ctx_r54.x1ImageMediaUrl + _attr_r42.series[i_r36]);
404
+ i0.ɵɵadvance(1);
405
+ i0.ɵɵtextInterpolate(_attr_r42.series[i_r36]);
406
+ } }
407
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_9_Template(rf, ctx) { if (rf & 1) {
408
+ const _r122 = i0.ɵɵgetCurrentView();
409
+ i0.ɵɵelementStart(0, "span");
410
+ i0.ɵɵelementStart(1, "span", 50);
411
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_9_Template_span_click_1_listener($event) { i0.ɵɵrestoreView(_r122); const _attr_r42 = i0.ɵɵnextContext(3).$implicit; const i_r36 = i0.ɵɵnextContext().index; const ctx_r121 = i0.ɵɵnextContext(4); return ctx_r121.redirectOnSingleClick($event, ctx_r121.removeSlashFromURL(ctx_r121.x1MediaUrl) + _attr_r42.series[i_r36]); });
412
+ i0.ɵɵelement(2, "mat-icon", 51);
413
+ i0.ɵɵelementEnd();
414
+ i0.ɵɵelementEnd();
415
+ } if (rf & 2) {
416
+ const _attr_r42 = i0.ɵɵnextContext(3).$implicit;
417
+ const i_r36 = i0.ɵɵnextContext().index;
418
+ const ctx_r55 = i0.ɵɵnextContext(4);
419
+ i0.ɵɵadvance(1);
420
+ i0.ɵɵproperty("title", ctx_r55.removeSlashFromURL(ctx_r55.x1MediaUrl) + _attr_r42.series[i_r36]);
421
+ } }
422
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_10_Template(rf, ctx) { if (rf & 1) {
423
+ const _r128 = i0.ɵɵgetCurrentView();
424
+ i0.ɵɵelementStart(0, "span");
425
+ i0.ɵɵelementStart(1, "span", 49);
426
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_10_Template_span_click_1_listener($event) { i0.ɵɵrestoreView(_r128); const _attr_r42 = i0.ɵɵnextContext(3).$implicit; const i_r36 = i0.ɵɵnextContext().index; const ctx_r127 = i0.ɵɵnextContext(4); return ctx_r127.redirect($event, ctx_r127.x1ImageMediaUrl + _attr_r42.series[i_r36]); });
427
+ i0.ɵɵtext(2);
428
+ i0.ɵɵelementEnd();
429
+ i0.ɵɵelementEnd();
430
+ } if (rf & 2) {
431
+ const _attr_r42 = i0.ɵɵnextContext(3).$implicit;
432
+ const i_r36 = i0.ɵɵnextContext().index;
433
+ const ctx_r56 = i0.ɵɵnextContext(4);
434
+ i0.ɵɵadvance(1);
435
+ i0.ɵɵproperty("title", ctx_r56.x1ImageMediaUrl + _attr_r42.series[i_r36]);
436
+ i0.ɵɵadvance(1);
437
+ i0.ɵɵtextInterpolate(_attr_r42.series[i_r36]);
438
+ } }
439
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_11_Template(rf, ctx) { if (rf & 1) {
440
+ i0.ɵɵelementStart(0, "span");
441
+ i0.ɵɵtext(1);
442
+ i0.ɵɵelementEnd();
443
+ } if (rf & 2) {
444
+ const _attr_r42 = i0.ɵɵnextContext(3).$implicit;
445
+ const i_r36 = i0.ɵɵnextContext().index;
446
+ i0.ɵɵadvance(1);
447
+ i0.ɵɵtextInterpolate(_attr_r42.series[i_r36]);
448
+ } }
449
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
450
+ i0.ɵɵelementContainerStart(0);
451
+ i0.ɵɵelementStart(1, "div", 46);
452
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_2_Template, 6, 5, "span", 47);
453
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_3_Template, 3, 2, "span", 47);
454
+ i0.ɵɵtemplate(4, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_4_Template, 3, 2, "span", 47);
455
+ i0.ɵɵtemplate(5, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_5_Template, 3, 2, "span", 47);
456
+ i0.ɵɵtemplate(6, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_6_Template, 3, 2, "span", 47);
457
+ i0.ɵɵtemplate(7, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_7_Template, 3, 2, "span", 47);
458
+ i0.ɵɵtemplate(8, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_8_Template, 3, 2, "span", 47);
459
+ i0.ɵɵtemplate(9, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_9_Template, 3, 1, "span", 47);
460
+ i0.ɵɵtemplate(10, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_10_Template, 3, 2, "span", 47);
461
+ i0.ɵɵtemplate(11, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_span_11_Template, 2, 1, "span", 48);
462
+ i0.ɵɵelementEnd();
463
+ i0.ɵɵelementContainerEnd();
464
+ } if (rf & 2) {
465
+ const _attr_r42 = i0.ɵɵnextContext(2).$implicit;
466
+ i0.ɵɵadvance(1);
467
+ i0.ɵɵproperty("ngSwitch", _attr_r42.widgetType);
468
+ i0.ɵɵadvance(1);
469
+ i0.ɵɵproperty("ngSwitchCase", "datepicker-widget");
470
+ i0.ɵɵadvance(1);
471
+ i0.ɵɵproperty("ngSwitchCase", "textbox-widget");
472
+ i0.ɵɵadvance(1);
473
+ i0.ɵɵproperty("ngSwitchCase", "hyperlink-widget");
474
+ i0.ɵɵadvance(1);
475
+ i0.ɵɵproperty("ngSwitchCase", "wetsignaturecapture-widget");
476
+ i0.ɵɵadvance(1);
477
+ i0.ɵɵproperty("ngSwitchCase", "videocapture-widget");
478
+ i0.ɵɵadvance(1);
479
+ i0.ɵɵproperty("ngSwitchCase", "audiocapture-widget");
480
+ i0.ɵɵadvance(1);
481
+ i0.ɵɵproperty("ngSwitchCase", "fileupload-widget");
482
+ i0.ɵɵadvance(1);
483
+ i0.ɵɵproperty("ngSwitchCase", "document");
484
+ i0.ɵɵadvance(1);
485
+ i0.ɵɵproperty("ngSwitchCase", "imagecapture-widget");
486
+ } }
487
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_span_1_span_1_Template(rf, ctx) { if (rf & 1) {
488
+ i0.ɵɵelementStart(0, "span");
489
+ i0.ɵɵtext(1);
490
+ i0.ɵɵpipe(2, "currency");
491
+ i0.ɵɵelementEnd();
492
+ } if (rf & 2) {
493
+ const _attr_r42 = i0.ɵɵnextContext(4).$implicit;
494
+ i0.ɵɵadvance(1);
495
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(2, 1, 0, _attr_r42.valueFormatting.currency, "symbol"));
496
+ } }
497
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_span_1_span_2_Template(rf, ctx) { if (rf & 1) {
498
+ i0.ɵɵelementStart(0, "span");
499
+ i0.ɵɵtext(1);
500
+ i0.ɵɵpipe(2, "axoPercentage");
501
+ i0.ɵɵelementEnd();
502
+ } if (rf & 2) {
503
+ const _attr_r42 = i0.ɵɵnextContext(4).$implicit;
504
+ i0.ɵɵadvance(1);
505
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(2, 1, 0, _attr_r42.series, "detail"));
506
+ } }
507
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_span_1_span_3_Template(rf, ctx) { if (rf & 1) {
508
+ i0.ɵɵelementStart(0, "span");
509
+ i0.ɵɵtext(1, "-");
510
+ i0.ɵɵelementEnd();
511
+ } }
512
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_span_1_Template(rf, ctx) { if (rf & 1) {
513
+ i0.ɵɵelementStart(0, "span");
514
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_span_1_span_1_Template, 3, 5, "span", 6);
515
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_span_1_span_2_Template, 3, 5, "span", 6);
516
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_span_1_span_3_Template, 2, 0, "span", 6);
517
+ i0.ɵɵelementEnd();
518
+ } if (rf & 2) {
519
+ const _attr_r42 = i0.ɵɵnextContext(3).$implicit;
520
+ i0.ɵɵadvance(1);
521
+ i0.ɵɵproperty("ngIf", _attr_r42.valueFormatting.currency);
522
+ i0.ɵɵadvance(1);
523
+ i0.ɵɵproperty("ngIf", _attr_r42.valueFormatting.percentage);
524
+ i0.ɵɵadvance(1);
525
+ i0.ɵɵproperty("ngIf", !_attr_r42.valueFormatting.percentage && !_attr_r42.valueFormatting.currency);
526
+ } }
527
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_span_2_Template(rf, ctx) { if (rf & 1) {
528
+ i0.ɵɵelementStart(0, "span");
529
+ i0.ɵɵtext(1, "-");
530
+ i0.ɵɵelementEnd();
531
+ } }
532
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_Template(rf, ctx) { if (rf & 1) {
533
+ i0.ɵɵelementStart(0, "span");
534
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_span_1_Template, 4, 3, "span", 6);
535
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_span_2_Template, 2, 0, "span", 6);
536
+ i0.ɵɵelementEnd();
537
+ } if (rf & 2) {
538
+ const _attr_r42 = i0.ɵɵnextContext(2).$implicit;
539
+ i0.ɵɵadvance(1);
540
+ i0.ɵɵproperty("ngIf", _attr_r42.widgetSubType === "numeric");
541
+ i0.ɵɵadvance(1);
542
+ i0.ɵɵproperty("ngIf", _attr_r42.widgetSubType !== "numeric");
543
+ } }
544
+ const _c4 = function (a0, a1) { return { background: a0, "border": a1 }; };
545
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_Template(rf, ctx) { if (rf & 1) {
546
+ const _r147 = i0.ɵɵgetCurrentView();
547
+ i0.ɵɵelementStart(0, "td", 45);
548
+ i0.ɵɵlistener("contextmenu", function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_Template_td_contextmenu_0_listener($event) { i0.ɵɵrestoreView(_r147); const _attr_r42 = i0.ɵɵnextContext().$implicit; const i_r36 = i0.ɵɵnextContext().index; const ctx_r145 = i0.ɵɵnextContext(4); ctx_r145.drillThroughContext($event, _attr_r42, i_r36); return $event.stopPropagation(); });
549
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_ng_container_1_Template, 12, 10, "ng-container", 6);
550
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_span_2_Template, 3, 2, "span", 6);
551
+ i0.ɵɵelementEnd();
552
+ } if (rf & 2) {
553
+ const _attr_r42 = i0.ɵɵnextContext().$implicit;
554
+ const i_r36 = i0.ɵɵnextContext().index;
555
+ const ctx_r45 = i0.ɵɵnextContext(4);
556
+ i0.ɵɵstyleProp("font-family", (_attr_r42.seriesFormatting[i_r36] == null ? null : _attr_r42.seriesFormatting[i_r36].font) ? _attr_r42.seriesFormatting[i_r36].font.family : ctx_r45.tabularReport.tableStyle.body.font.family)("font-size", (_attr_r42.seriesFormatting[i_r36] == null ? null : _attr_r42.seriesFormatting[i_r36].font) ? _attr_r42.seriesFormatting[i_r36].font.size : ctx_r45.tabularReport.tableStyle.body.font.size, "px")("color", (_attr_r42.seriesFormatting[i_r36] == null ? null : _attr_r42.seriesFormatting[i_r36].font) ? _attr_r42.seriesFormatting[i_r36].font.color : ctx_r45.tabularReport.tableStyle.body.font.color)("text-align", _attr_r42.alignment);
557
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(11, _c4, _attr_r42.seriesFormatting[i_r36].backgroundColor, (_attr_r42.seriesFormatting[i_r36] == null ? null : _attr_r42.seriesFormatting[i_r36].border) ? _attr_r42.seriesFormatting[i_r36].border.width + "px" + " " + _attr_r42.seriesFormatting[i_r36].border.borderStyle + " " + _attr_r42.seriesFormatting[i_r36].border.color : ctx_r45.tabularReport.tableStyle.border.width + "px" + " " + ctx_r45.tabularReport.tableStyle.border.borderStyle + " " + ctx_r45.tabularReport.tableStyle.border.color));
558
+ i0.ɵɵadvance(1);
559
+ i0.ɵɵproperty("ngIf", _attr_r42.series[i_r36]);
560
+ i0.ɵɵadvance(1);
561
+ i0.ɵɵproperty("ngIf", !_attr_r42.series[i_r36]);
562
+ } }
563
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_Template(rf, ctx) { if (rf & 1) {
564
+ i0.ɵɵelementContainerStart(0);
565
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_td_1_Template, 3, 14, "td", 44);
566
+ i0.ɵɵelementContainerEnd();
567
+ } if (rf & 2) {
568
+ const _attr_r42 = ctx.$implicit;
569
+ i0.ɵɵadvance(1);
570
+ i0.ɵɵproperty("ngIf", !_attr_r42.isHidden);
571
+ } }
572
+ const _c5 = function (a0) { return { background: a0 }; };
573
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_Template(rf, ctx) { if (rf & 1) {
574
+ const _r152 = i0.ɵɵgetCurrentView();
575
+ i0.ɵɵelementContainerStart(0);
576
+ i0.ɵɵelementStart(1, "tr", 41);
577
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_Template_tr_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r152); const i_r36 = restoredCtx.index; const ctx_r151 = i0.ɵɵnextContext(4); return ctx_r151.rowSelected(i_r36); });
578
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_td_2_Template, 2, 9, "td", 42);
579
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_ng_container_3_Template, 2, 1, "ng-container", 40);
580
+ i0.ɵɵelementEnd();
581
+ i0.ɵɵelementContainerEnd();
582
+ } if (rf & 2) {
583
+ const i_r36 = ctx.index;
584
+ const isEven_r37 = ctx.even;
585
+ const ctx_r33 = i0.ɵɵnextContext(4);
586
+ i0.ɵɵadvance(1);
587
+ i0.ɵɵstyleProp("background", ctx_r33.selectedRowIndexes.includes(i_r36) ? ctx_r33.tabularReport.tableStyle.body.backgroundColor + "60" : ctx_r33.tabularReport.tableStyle.body.backgroundColor)("border", ctx_r33.tabularReport.tableStyle.border.width + " " + ctx_r33.tabularReport.tableStyle.border.borderStyle + " " + ctx_r33.tabularReport.tableStyle.border.color);
588
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(7, _c5, isEven_r37 ? ctx_r33.tabularReport.tableStyle.rowStyle.oddColor : ctx_r33.tabularReport.tableStyle.rowStyle.evenColor));
589
+ i0.ɵɵadvance(1);
590
+ i0.ɵɵproperty("ngIf", ctx_r33.tabularReport.showSerialNo);
591
+ i0.ɵɵadvance(1);
592
+ i0.ɵɵproperty("ngForOf", ctx_r33.tabularReport.matrix.attributes);
593
+ } }
594
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_td_1_Template(rf, ctx) { if (rf & 1) {
595
+ i0.ɵɵelement(0, "td", 53);
596
+ } if (rf & 2) {
597
+ const ctx_r153 = i0.ɵɵnextContext(5);
598
+ i0.ɵɵstyleProp("background", ctx_r153.tabularReport.tableStyle.footer.backgroundColor)("font-family", ctx_r153.tabularReport.tableStyle.footer.font.family)("font-size", ctx_r153.tabularReport.tableStyle.footer.font.size, "px")("border", ctx_r153.tabularReport.tableStyle.border.width + "px" + " " + ctx_r153.tabularReport.tableStyle.border.borderStyle + " " + ctx_r153.tabularReport.tableStyle.border.color)("color", ctx_r153.tabularReport.tableStyle.footer.font.color);
599
+ } }
600
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_span_1_Template(rf, ctx) { if (rf & 1) {
601
+ i0.ɵɵelementStart(0, "span");
602
+ i0.ɵɵtext(1);
603
+ i0.ɵɵpipe(2, "currency");
604
+ i0.ɵɵelement(3, "br");
605
+ i0.ɵɵelementEnd();
606
+ } if (rf & 2) {
607
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
608
+ const ctx_r163 = i0.ɵɵnextContext(5);
609
+ i0.ɵɵadvance(1);
610
+ i0.ɵɵtextInterpolate1("Sum: ", i0.ɵɵpipeBind3(2, 1, ctx_r163.sum(attr_r155.series), attr_r155.valueFormatting.currency, "symbol"), "");
611
+ } }
612
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_span_2_span_2_Template(rf, ctx) { if (rf & 1) {
613
+ i0.ɵɵelementStart(0, "span");
614
+ i0.ɵɵtext(1, "100%");
615
+ i0.ɵɵelementEnd();
616
+ } }
617
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_span_2_span_3_Template(rf, ctx) { if (rf & 1) {
618
+ i0.ɵɵelementStart(0, "span");
619
+ i0.ɵɵtext(1, "0%");
620
+ i0.ɵɵelementEnd();
621
+ } }
622
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_span_2_Template(rf, ctx) { if (rf & 1) {
623
+ i0.ɵɵelementStart(0, "span");
624
+ i0.ɵɵtext(1, " Sum: ");
625
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_span_2_span_2_Template, 2, 0, "span", 6);
626
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_span_2_span_3_Template, 2, 0, "span", 6);
627
+ i0.ɵɵelement(4, "br");
628
+ i0.ɵɵelementEnd();
629
+ } if (rf & 2) {
630
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
631
+ const ctx_r164 = i0.ɵɵnextContext(5);
632
+ i0.ɵɵadvance(2);
633
+ i0.ɵɵproperty("ngIf", ctx_r164.sum(attr_r155.series) > 1);
634
+ i0.ɵɵadvance(1);
635
+ i0.ɵɵproperty("ngIf", ctx_r164.sum(attr_r155.series) < 1);
636
+ } }
637
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_span_3_Template(rf, ctx) { if (rf & 1) {
638
+ i0.ɵɵelementStart(0, "span");
639
+ i0.ɵɵtext(1);
640
+ i0.ɵɵelement(2, "br");
641
+ i0.ɵɵelementEnd();
642
+ } if (rf & 2) {
643
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
644
+ const ctx_r165 = i0.ɵɵnextContext(5);
645
+ i0.ɵɵadvance(1);
646
+ i0.ɵɵtextInterpolate1("Sum: ", ctx_r165.sum(attr_r155.series), "");
647
+ } }
648
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_Template(rf, ctx) { if (rf & 1) {
649
+ i0.ɵɵelementStart(0, "span");
650
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_span_1_Template, 4, 5, "span", 6);
651
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_span_2_Template, 5, 2, "span", 6);
652
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_span_3_Template, 3, 1, "span", 6);
653
+ i0.ɵɵelementEnd();
654
+ } if (rf & 2) {
655
+ const attr_r155 = i0.ɵɵnextContext(3).$implicit;
656
+ i0.ɵɵadvance(1);
657
+ i0.ɵɵproperty("ngIf", attr_r155.valueFormatting.currency);
658
+ i0.ɵɵadvance(1);
659
+ i0.ɵɵproperty("ngIf", attr_r155.valueFormatting.percentage);
660
+ i0.ɵɵadvance(1);
661
+ i0.ɵɵproperty("ngIf", !attr_r155.valueFormatting.percentage && !attr_r155.valueFormatting.currency);
662
+ } }
663
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_2_span_1_Template(rf, ctx) { if (rf & 1) {
664
+ i0.ɵɵelementStart(0, "span");
665
+ i0.ɵɵtext(1);
666
+ i0.ɵɵpipe(2, "currency");
667
+ i0.ɵɵelement(3, "br");
668
+ i0.ɵɵelementEnd();
669
+ } if (rf & 2) {
670
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
671
+ const ctx_r172 = i0.ɵɵnextContext(5);
672
+ i0.ɵɵadvance(1);
673
+ i0.ɵɵtextInterpolate1("Avg: ", i0.ɵɵpipeBind3(2, 1, ctx_r172.avg(attr_r155.series), attr_r155.valueFormatting.currency, "symbol"), "");
674
+ } }
675
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_2_span_2_Template(rf, ctx) { if (rf & 1) {
676
+ i0.ɵɵelementStart(0, "span");
677
+ i0.ɵɵtext(1);
678
+ i0.ɵɵpipe(2, "axoPercentage");
679
+ i0.ɵɵelement(3, "br");
680
+ i0.ɵɵelementEnd();
681
+ } if (rf & 2) {
682
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
683
+ const ctx_r173 = i0.ɵɵnextContext(5);
684
+ i0.ɵɵadvance(1);
685
+ i0.ɵɵtextInterpolate1("Avg: ", i0.ɵɵpipeBind3(2, 1, ctx_r173.avg(attr_r155.series), attr_r155.series, "detail"), "");
686
+ } }
687
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_2_span_3_Template(rf, ctx) { if (rf & 1) {
688
+ i0.ɵɵelementStart(0, "span");
689
+ i0.ɵɵtext(1);
690
+ i0.ɵɵelement(2, "br");
691
+ i0.ɵɵelementEnd();
692
+ } if (rf & 2) {
693
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
694
+ const ctx_r174 = i0.ɵɵnextContext(5);
695
+ i0.ɵɵadvance(1);
696
+ i0.ɵɵtextInterpolate1(" Avg: ", ctx_r174.avg(attr_r155.series), "");
697
+ } }
698
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_2_Template(rf, ctx) { if (rf & 1) {
699
+ i0.ɵɵelementStart(0, "span");
700
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_2_span_1_Template, 4, 5, "span", 6);
701
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_2_span_2_Template, 4, 5, "span", 6);
702
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_2_span_3_Template, 3, 1, "span", 6);
703
+ i0.ɵɵelementEnd();
704
+ } if (rf & 2) {
705
+ const attr_r155 = i0.ɵɵnextContext(3).$implicit;
706
+ i0.ɵɵadvance(1);
707
+ i0.ɵɵproperty("ngIf", attr_r155.valueFormatting.currency);
708
+ i0.ɵɵadvance(1);
709
+ i0.ɵɵproperty("ngIf", attr_r155.valueFormatting.percentage);
710
+ i0.ɵɵadvance(1);
711
+ i0.ɵɵproperty("ngIf", !attr_r155.valueFormatting.percentage && !attr_r155.valueFormatting.currency);
712
+ } }
713
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_3_span_1_Template(rf, ctx) { if (rf & 1) {
714
+ i0.ɵɵelementStart(0, "span");
715
+ i0.ɵɵtext(1);
716
+ i0.ɵɵpipe(2, "currency");
717
+ i0.ɵɵelement(3, "br");
718
+ i0.ɵɵelementEnd();
719
+ } if (rf & 2) {
720
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
721
+ const ctx_r179 = i0.ɵɵnextContext(5);
722
+ i0.ɵɵadvance(1);
723
+ i0.ɵɵtextInterpolate1(" Max: ", i0.ɵɵpipeBind3(2, 1, ctx_r179.max(attr_r155.series), attr_r155.valueFormatting.currency, "symbol"), "");
724
+ } }
725
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_3_span_2_Template(rf, ctx) { if (rf & 1) {
726
+ i0.ɵɵelementStart(0, "span");
727
+ i0.ɵɵtext(1);
728
+ i0.ɵɵpipe(2, "axoPercentage");
729
+ i0.ɵɵelement(3, "br");
730
+ i0.ɵɵelementEnd();
731
+ } if (rf & 2) {
732
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
733
+ const ctx_r180 = i0.ɵɵnextContext(5);
734
+ i0.ɵɵadvance(1);
735
+ i0.ɵɵtextInterpolate1(" Max: ", i0.ɵɵpipeBind3(2, 1, ctx_r180.max(attr_r155.series), attr_r155.series, "detail"), "");
736
+ } }
737
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_3_span_3_Template(rf, ctx) { if (rf & 1) {
738
+ i0.ɵɵelementStart(0, "span");
739
+ i0.ɵɵtext(1);
740
+ i0.ɵɵelement(2, "br");
741
+ i0.ɵɵelementEnd();
742
+ } if (rf & 2) {
743
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
744
+ const ctx_r181 = i0.ɵɵnextContext(5);
745
+ i0.ɵɵadvance(1);
746
+ i0.ɵɵtextInterpolate1(" Max: ", ctx_r181.max(attr_r155.series), "");
747
+ } }
748
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_3_Template(rf, ctx) { if (rf & 1) {
749
+ i0.ɵɵelementStart(0, "span");
750
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_3_span_1_Template, 4, 5, "span", 6);
751
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_3_span_2_Template, 4, 5, "span", 6);
752
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_3_span_3_Template, 3, 1, "span", 6);
753
+ i0.ɵɵelementEnd();
754
+ } if (rf & 2) {
755
+ const attr_r155 = i0.ɵɵnextContext(3).$implicit;
756
+ i0.ɵɵadvance(1);
757
+ i0.ɵɵproperty("ngIf", attr_r155.valueFormatting.currency);
758
+ i0.ɵɵadvance(1);
759
+ i0.ɵɵproperty("ngIf", attr_r155.valueFormatting.percentage);
760
+ i0.ɵɵadvance(1);
761
+ i0.ɵɵproperty("ngIf", !attr_r155.valueFormatting.percentage && !attr_r155.valueFormatting.currency);
762
+ } }
763
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_4_span_1_Template(rf, ctx) { if (rf & 1) {
764
+ i0.ɵɵelementStart(0, "span");
765
+ i0.ɵɵtext(1);
766
+ i0.ɵɵpipe(2, "currency");
767
+ i0.ɵɵelement(3, "br");
768
+ i0.ɵɵelementEnd();
769
+ } if (rf & 2) {
770
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
771
+ const ctx_r186 = i0.ɵɵnextContext(5);
772
+ i0.ɵɵadvance(1);
773
+ i0.ɵɵtextInterpolate1("Min: ", i0.ɵɵpipeBind3(2, 1, ctx_r186.min(attr_r155.series), attr_r155.valueFormatting.currency, "symbol"), "");
774
+ } }
775
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_4_span_2_Template(rf, ctx) { if (rf & 1) {
776
+ i0.ɵɵelementStart(0, "span");
777
+ i0.ɵɵtext(1);
778
+ i0.ɵɵpipe(2, "axoPercentage");
779
+ i0.ɵɵelement(3, "br");
780
+ i0.ɵɵelementEnd();
781
+ } if (rf & 2) {
782
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
783
+ const ctx_r187 = i0.ɵɵnextContext(5);
784
+ i0.ɵɵadvance(1);
785
+ i0.ɵɵtextInterpolate1("Min: ", i0.ɵɵpipeBind3(2, 1, ctx_r187.min(attr_r155.series), attr_r155.series, "detail"), "");
786
+ } }
787
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_4_span_3_Template(rf, ctx) { if (rf & 1) {
788
+ i0.ɵɵelementStart(0, "span");
789
+ i0.ɵɵtext(1);
790
+ i0.ɵɵelement(2, "br");
791
+ i0.ɵɵelementEnd();
792
+ } if (rf & 2) {
793
+ const attr_r155 = i0.ɵɵnextContext(4).$implicit;
794
+ const ctx_r188 = i0.ɵɵnextContext(5);
795
+ i0.ɵɵadvance(1);
796
+ i0.ɵɵtextInterpolate1(" Min: ", ctx_r188.min(attr_r155.series), "");
797
+ } }
798
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_4_Template(rf, ctx) { if (rf & 1) {
799
+ i0.ɵɵelementStart(0, "span");
800
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_4_span_1_Template, 4, 5, "span", 6);
801
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_4_span_2_Template, 4, 5, "span", 6);
802
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_4_span_3_Template, 3, 1, "span", 6);
803
+ i0.ɵɵelementEnd();
804
+ } if (rf & 2) {
805
+ const attr_r155 = i0.ɵɵnextContext(3).$implicit;
806
+ i0.ɵɵadvance(1);
807
+ i0.ɵɵproperty("ngIf", attr_r155.valueFormatting.currency);
808
+ i0.ɵɵadvance(1);
809
+ i0.ɵɵproperty("ngIf", attr_r155.valueFormatting.percentage);
810
+ i0.ɵɵadvance(1);
811
+ i0.ɵɵproperty("ngIf", !attr_r155.valueFormatting.percentage && !attr_r155.valueFormatting.currency);
812
+ } }
813
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
814
+ i0.ɵɵelementContainerStart(0);
815
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_1_Template, 4, 3, "span", 6);
816
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_2_Template, 4, 3, "span", 6);
817
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_3_Template, 4, 3, "span", 6);
818
+ i0.ɵɵtemplate(4, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_span_4_Template, 4, 3, "span", 6);
819
+ i0.ɵɵelementContainerEnd();
820
+ } if (rf & 2) {
821
+ const attr_r155 = i0.ɵɵnextContext(2).$implicit;
822
+ i0.ɵɵadvance(1);
823
+ i0.ɵɵproperty("ngIf", attr_r155.aggregate.showSum);
824
+ i0.ɵɵadvance(1);
825
+ i0.ɵɵproperty("ngIf", attr_r155.aggregate.showAvg);
826
+ i0.ɵɵadvance(1);
827
+ i0.ɵɵproperty("ngIf", attr_r155.aggregate.showMax);
828
+ i0.ɵɵadvance(1);
829
+ i0.ɵɵproperty("ngIf", attr_r155.aggregate.showMin);
830
+ } }
831
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_Template(rf, ctx) { if (rf & 1) {
832
+ i0.ɵɵelementStart(0, "td", 53);
833
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_ng_container_1_Template, 5, 4, "ng-container", 6);
834
+ i0.ɵɵelementEnd();
835
+ } if (rf & 2) {
836
+ const attr_r155 = i0.ɵɵnextContext().$implicit;
837
+ const ctx_r157 = i0.ɵɵnextContext(5);
838
+ i0.ɵɵstyleProp("background", ctx_r157.tabularReport.tableStyle.footer.backgroundColor)("font-family", ctx_r157.tabularReport.tableStyle.footer.font.family)("font-size", ctx_r157.tabularReport.tableStyle.footer.font.size, "px")("border", ctx_r157.tabularReport.tableStyle.border.width + "px" + " " + ctx_r157.tabularReport.tableStyle.border.borderStyle + " " + ctx_r157.tabularReport.tableStyle.border.color)("color", ctx_r157.tabularReport.tableStyle.footer.font.color);
839
+ i0.ɵɵadvance(1);
840
+ i0.ɵɵproperty("ngIf", attr_r155.widgetType === "textbox-widget" && attr_r155.widgetSubType === "numeric");
841
+ } }
842
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
843
+ i0.ɵɵelementContainerStart(0);
844
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_td_1_Template, 2, 11, "td", 52);
845
+ i0.ɵɵelementContainerEnd();
846
+ } if (rf & 2) {
847
+ const attr_r155 = ctx.$implicit;
848
+ i0.ɵɵadvance(1);
849
+ i0.ɵɵproperty("ngIf", !attr_r155.isHidden);
850
+ } }
851
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_Template(rf, ctx) { if (rf & 1) {
852
+ i0.ɵɵelementStart(0, "tr");
853
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_td_1_Template, 1, 10, "td", 52);
854
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_ng_container_2_Template, 2, 1, "ng-container", 40);
855
+ i0.ɵɵelementEnd();
856
+ } if (rf & 2) {
857
+ const ctx_r34 = i0.ɵɵnextContext(4);
858
+ i0.ɵɵadvance(1);
859
+ i0.ɵɵproperty("ngIf", ctx_r34.tabularReport.showSerialNo);
860
+ i0.ɵɵadvance(1);
861
+ i0.ɵɵproperty("ngForOf", ctx_r34.tabularReport.matrix.attributes);
862
+ } }
863
+ const _c6 = function (a0) { return { "shadow": a0 }; };
864
+ function DetailGroupViewComponent_div_1_table_1_tbody_6_Template(rf, ctx) { if (rf & 1) {
865
+ i0.ɵɵelementStart(0, "tbody", 39);
866
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_tbody_6_ng_container_1_Template, 4, 9, "ng-container", 40);
867
+ i0.ɵɵelementContainerStart(2);
868
+ i0.ɵɵtemplate(3, DetailGroupViewComponent_div_1_table_1_tbody_6_tr_3_Template, 3, 2, "tr", 6);
869
+ i0.ɵɵelementContainerEnd();
870
+ i0.ɵɵelementEnd();
871
+ } if (rf & 2) {
872
+ const ctx_r10 = i0.ɵɵnextContext(3);
873
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c6, ctx_r10.tabularReport.tableStyle.border.shadow.enable));
874
+ i0.ɵɵadvance(1);
875
+ i0.ɵɵproperty("ngForOf", ctx_r10.tabularReport.matrix.attributes[0].series);
876
+ i0.ɵɵadvance(2);
877
+ i0.ɵɵproperty("ngIf", ctx_r10.tabularReport.showBottomRow);
878
+ } }
879
+ const _c7 = function (a0) { return { "mt-1": a0 }; };
880
+ function DetailGroupViewComponent_div_1_table_1_Template(rf, ctx) { if (rf & 1) {
881
+ const _r196 = i0.ɵɵgetCurrentView();
882
+ i0.ɵɵelementStart(0, "table", 12);
883
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_div_1_table_1_Template_table_click_0_listener($event) { i0.ɵɵrestoreView(_r196); const ctx_r195 = i0.ɵɵnextContext(2); return ctx_r195.tableSelect($event); });
884
+ i0.ɵɵelement(1, "caption");
885
+ i0.ɵɵelementStart(2, "thead", 13);
886
+ i0.ɵɵelementStart(3, "tr", 14);
887
+ i0.ɵɵlistener("cdkDropListDropped", function DetailGroupViewComponent_div_1_table_1_Template_tr_cdkDropListDropped_3_listener($event) { i0.ɵɵrestoreView(_r196); const ctx_r197 = i0.ɵɵnextContext(2); return ctx_r197.drop($event); });
888
+ i0.ɵɵtemplate(4, DetailGroupViewComponent_div_1_table_1_th_4_Template, 3, 11, "th", 15);
889
+ i0.ɵɵtemplate(5, DetailGroupViewComponent_div_1_table_1_ng_container_5_Template, 2, 1, "ng-container", 16);
890
+ i0.ɵɵelementEnd();
891
+ i0.ɵɵelementEnd();
892
+ i0.ɵɵtemplate(6, DetailGroupViewComponent_div_1_table_1_tbody_6_Template, 4, 5, "tbody", 17);
893
+ i0.ɵɵelementEnd();
894
+ } if (rf & 2) {
895
+ const ctx_r6 = i0.ɵɵnextContext(2);
896
+ i0.ɵɵstyleProp("border", ctx_r6.tabularReport.tableStyle.border.width + "px" + " " + ctx_r6.tabularReport.tableStyle.border.borderStyle + " " + ctx_r6.tabularReport.tableStyle.border.color);
897
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c7, ctx_r6.tabularReport.matrix.attributes.length > 0 && ctx_r6.tabularReport.matrix.attributes[0].series.length === 0));
898
+ i0.ɵɵadvance(2);
899
+ i0.ɵɵstyleProp("outline", ctx_r6.tabularReport.tableStyle.border.width + "px" + " " + ctx_r6.tabularReport.tableStyle.border.borderStyle + " " + ctx_r6.tabularReport.tableStyle.border.color);
900
+ i0.ɵɵadvance(1);
901
+ i0.ɵɵstyleProp("border", ctx_r6.tabularReport.tableStyle.border.width + "px" + " " + ctx_r6.tabularReport.tableStyle.border.borderStyle + " " + ctx_r6.tabularReport.tableStyle.border.color);
902
+ i0.ɵɵadvance(1);
903
+ i0.ɵɵproperty("ngIf", ctx_r6.tabularReport.showSerialNo);
904
+ i0.ɵɵadvance(1);
905
+ i0.ɵɵproperty("ngForOf", ctx_r6.tabularReport.matrix.attributes);
906
+ i0.ɵɵadvance(1);
907
+ i0.ɵɵproperty("ngIf", ctx_r6.tabularReport.matrix.attributes.length > 0);
908
+ } }
909
+ function DetailGroupViewComponent_div_1_div_2_Template(rf, ctx) { if (rf & 1) {
910
+ i0.ɵɵelementStart(0, "div", 54);
911
+ i0.ɵɵtext(1, " No records available ");
912
+ i0.ɵɵelementEnd();
913
+ } }
914
+ const _c8 = function (a0) { return { "local-body": a0 }; };
915
+ function DetailGroupViewComponent_div_1_Template(rf, ctx) { if (rf & 1) {
916
+ i0.ɵɵelementStart(0, "div", 9);
917
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_table_1_Template, 7, 12, "table", 10);
918
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_div_1_div_2_Template, 2, 0, "div", 11);
919
+ i0.ɵɵelementEnd();
920
+ } if (rf & 2) {
921
+ const ctx_r1 = i0.ɵɵnextContext();
922
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c8, !ctx_r1.isEditable && ctx_r1.screenType !== ctx_r1.screenTypes.drillThrough));
923
+ i0.ɵɵadvance(1);
924
+ i0.ɵɵproperty("ngIf", ctx_r1.tabularReport);
925
+ i0.ɵɵadvance(1);
926
+ i0.ɵɵproperty("ngIf", ctx_r1.tabularReport.matrix.attributes.length > 0 && ctx_r1.tabularReport.matrix.attributes[0].series.length === 0);
927
+ } }
928
+ function DetailGroupViewComponent_ng_template_5_button_0_Template(rf, ctx) { if (rf & 1) {
929
+ i0.ɵɵelementStart(0, "button", 57);
930
+ i0.ɵɵtext(1, "Aggregate");
931
+ i0.ɵɵelementEnd();
932
+ } if (rf & 2) {
933
+ i0.ɵɵnextContext(2);
934
+ const _r4 = i0.ɵɵreference(7);
935
+ i0.ɵɵproperty("matMenuTriggerFor", _r4);
936
+ } }
937
+ function DetailGroupViewComponent_ng_template_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
938
+ const _r203 = i0.ɵɵgetCurrentView();
939
+ i0.ɵɵelementContainerStart(0);
940
+ i0.ɵɵelementStart(1, "button", 58);
941
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_ng_template_5_ng_container_1_Template_button_click_1_listener($event) { i0.ɵɵrestoreView(_r203); const ctx_r202 = i0.ɵɵnextContext(2); return ctx_r202.moveColumnLeft($event); });
942
+ i0.ɵɵtext(2, "Move Left");
943
+ i0.ɵɵelementEnd();
944
+ i0.ɵɵelementStart(3, "button", 58);
945
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_ng_template_5_ng_container_1_Template_button_click_3_listener($event) { i0.ɵɵrestoreView(_r203); const ctx_r204 = i0.ɵɵnextContext(2); return ctx_r204.moveColumnRight($event); });
946
+ i0.ɵɵtext(4, "Move Right");
947
+ i0.ɵɵelementEnd();
948
+ i0.ɵɵelementStart(5, "button", 58);
949
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_ng_template_5_ng_container_1_Template_button_click_5_listener($event) { i0.ɵɵrestoreView(_r203); const ctx_r205 = i0.ɵɵnextContext(2); return ctx_r205.removeColumn($event); });
950
+ i0.ɵɵtext(6, "Remove Column");
951
+ i0.ɵɵelementEnd();
952
+ i0.ɵɵelementStart(7, "button", 58);
953
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_ng_template_5_ng_container_1_Template_button_click_7_listener($event) { i0.ɵɵrestoreView(_r203); const ctx_r206 = i0.ɵɵnextContext(2); return ctx_r206.openConditionalFormatting($event); });
954
+ i0.ɵɵtext(8, "Add Conditional Formatting");
955
+ i0.ɵɵelementEnd();
956
+ i0.ɵɵelementContainerEnd();
957
+ } }
958
+ function DetailGroupViewComponent_ng_template_5_button_2_Template(rf, ctx) { if (rf & 1) {
959
+ const _r208 = i0.ɵɵgetCurrentView();
960
+ i0.ɵɵelementStart(0, "button", 58);
961
+ i0.ɵɵlistener("click", function DetailGroupViewComponent_ng_template_5_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r208); const ctx_r207 = i0.ɵɵnextContext(2); return ctx_r207.removeFromDashboard(); });
962
+ i0.ɵɵtext(1, "Remove From Dashboard");
963
+ i0.ɵɵelementEnd();
964
+ } }
965
+ function DetailGroupViewComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
966
+ i0.ɵɵtemplate(0, DetailGroupViewComponent_ng_template_5_button_0_Template, 2, 1, "button", 55);
967
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_ng_template_5_ng_container_1_Template, 9, 0, "ng-container", 6);
968
+ i0.ɵɵtemplate(2, DetailGroupViewComponent_ng_template_5_button_2_Template, 2, 0, "button", 56);
969
+ } if (rf & 2) {
970
+ const ctx_r3 = i0.ɵɵnextContext();
971
+ i0.ɵɵproperty("ngIf", ctx_r3.tabularReport.matrix.attributes[ctx_r3.currentIndex].type === "int" && (ctx_r3.tabularReport.matrix.attributes[ctx_r3.currentIndex].widgetType === "textbox-widget" || ctx_r3.tabularReport.matrix.attributes[ctx_r3.currentIndex].widgetType === "computedvalue-widget"));
972
+ i0.ɵɵadvance(1);
973
+ i0.ɵɵproperty("ngIf", ctx_r3.isEditable);
974
+ i0.ɵɵadvance(1);
975
+ i0.ɵɵproperty("ngIf", ctx_r3.screenTypes.dashboardBuilder === ctx_r3.screenType);
976
+ } }
977
+ function DetailGroupViewComponent_8_ng_template_0_section_0_Template(rf, ctx) { if (rf & 1) {
978
+ const _r212 = i0.ɵɵgetCurrentView();
979
+ i0.ɵɵelementStart(0, "section", 60);
980
+ i0.ɵɵelementStart(1, "p");
981
+ i0.ɵɵelementStart(2, "mat-checkbox", 61);
982
+ i0.ɵɵlistener("ngModelChange", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r212); const ctx_r211 = i0.ɵɵnextContext(3); return ctx_r211.tabularReport.matrix.attributes[ctx_r211.currentIndex].aggregate.showSum = $event; })("change", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_change_2_listener($event) { i0.ɵɵrestoreView(_r212); const ctx_r213 = i0.ɵɵnextContext(3); return ctx_r213.sumAggregation($event); })("click", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_click_2_listener($event) { return $event.stopPropagation(); });
983
+ i0.ɵɵtext(3, "sum");
984
+ i0.ɵɵelementEnd();
985
+ i0.ɵɵelementEnd();
986
+ i0.ɵɵelementStart(4, "p");
987
+ i0.ɵɵelementStart(5, "mat-checkbox", 61);
988
+ i0.ɵɵlistener("ngModelChange", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r212); const ctx_r215 = i0.ɵɵnextContext(3); return ctx_r215.tabularReport.matrix.attributes[ctx_r215.currentIndex].aggregate.showAvg = $event; })("change", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_change_5_listener($event) { i0.ɵɵrestoreView(_r212); const ctx_r216 = i0.ɵɵnextContext(3); return ctx_r216.averageAggregation($event); })("click", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_click_5_listener($event) { return $event.stopPropagation(); });
989
+ i0.ɵɵtext(6, "Average");
990
+ i0.ɵɵelementEnd();
991
+ i0.ɵɵelementEnd();
992
+ i0.ɵɵelementStart(7, "p");
993
+ i0.ɵɵelementStart(8, "mat-checkbox", 61);
994
+ i0.ɵɵlistener("ngModelChange", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r212); const ctx_r218 = i0.ɵɵnextContext(3); return ctx_r218.tabularReport.matrix.attributes[ctx_r218.currentIndex].aggregate.showMax = $event; })("change", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_change_8_listener($event) { i0.ɵɵrestoreView(_r212); const ctx_r219 = i0.ɵɵnextContext(3); return ctx_r219.maxAggregation($event); })("click", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_click_8_listener($event) { return $event.stopPropagation(); });
995
+ i0.ɵɵtext(9, "Max");
996
+ i0.ɵɵelementEnd();
997
+ i0.ɵɵelementEnd();
998
+ i0.ɵɵelementStart(10, "p");
999
+ i0.ɵɵelementStart(11, "mat-checkbox", 61);
1000
+ i0.ɵɵlistener("ngModelChange", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_ngModelChange_11_listener($event) { i0.ɵɵrestoreView(_r212); const ctx_r221 = i0.ɵɵnextContext(3); return ctx_r221.tabularReport.matrix.attributes[ctx_r221.currentIndex].aggregate.showMin = $event; })("change", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_change_11_listener($event) { i0.ɵɵrestoreView(_r212); const ctx_r222 = i0.ɵɵnextContext(3); return ctx_r222.minAggregation($event); })("click", function DetailGroupViewComponent_8_ng_template_0_section_0_Template_mat_checkbox_click_11_listener($event) { return $event.stopPropagation(); });
1001
+ i0.ɵɵtext(12, "Min");
1002
+ i0.ɵɵelementEnd();
1003
+ i0.ɵɵelementEnd();
1004
+ i0.ɵɵelementEnd();
1005
+ } if (rf & 2) {
1006
+ const ctx_r210 = i0.ɵɵnextContext(3);
1007
+ i0.ɵɵadvance(2);
1008
+ i0.ɵɵproperty("ngModel", ctx_r210.tabularReport.matrix.attributes[ctx_r210.currentIndex].aggregate.showSum);
1009
+ i0.ɵɵadvance(3);
1010
+ i0.ɵɵproperty("ngModel", ctx_r210.tabularReport.matrix.attributes[ctx_r210.currentIndex].aggregate.showAvg);
1011
+ i0.ɵɵadvance(3);
1012
+ i0.ɵɵproperty("ngModel", ctx_r210.tabularReport.matrix.attributes[ctx_r210.currentIndex].aggregate.showMax);
1013
+ i0.ɵɵadvance(3);
1014
+ i0.ɵɵproperty("ngModel", ctx_r210.tabularReport.matrix.attributes[ctx_r210.currentIndex].aggregate.showMin);
1015
+ } }
1016
+ function DetailGroupViewComponent_8_ng_template_0_Template(rf, ctx) { if (rf & 1) {
1017
+ i0.ɵɵtemplate(0, DetailGroupViewComponent_8_ng_template_0_section_0_Template, 13, 4, "section", 59);
1018
+ } if (rf & 2) {
1019
+ const ctx_r209 = i0.ɵɵnextContext(2);
1020
+ i0.ɵɵproperty("ngIf", ctx_r209.tabularReport.matrix.attributes[ctx_r209.currentIndex].type === "int" || ctx_r209.tabularReport.matrix.attributes[ctx_r209.currentIndex].type === "float");
1021
+ } }
1022
+ function DetailGroupViewComponent_8_Template(rf, ctx) { if (rf & 1) {
1023
+ i0.ɵɵtemplate(0, DetailGroupViewComponent_8_ng_template_0_Template, 1, 1, "ng-template", 4);
1024
+ } }
1025
+ export class DetailGroupViewComponent {
1026
+ constructor(_reportBuilderMasterService, _fieldsListService, _commonService, _elementService, _tabularReportService, _dashboardBuilderService, _injector) {
1027
+ this._reportBuilderMasterService = _reportBuilderMasterService;
1028
+ this._fieldsListService = _fieldsListService;
1029
+ this._commonService = _commonService;
1030
+ this._elementService = _elementService;
1031
+ this._tabularReportService = _tabularReportService;
1032
+ this._dashboardBuilderService = _dashboardBuilderService;
1033
+ this._injector = _injector;
1034
+ this.contextMenuPosition = { x: '0px', y: '0px' };
1035
+ this.showSum = false;
1036
+ this.showMax = false;
1037
+ this.showMin = false;
1038
+ this.showAvg = false;
1039
+ this.moment = moment;
1040
+ this._isColumnExist = false;
1041
+ this.isDataLoaded = false;
1042
+ this.headerLoaded = false;
1043
+ this.selectedRowIndexes = [];
1044
+ this.isHidden = false;
1045
+ this.GhostLoaderType = GhostLoaderType;
1046
+ this._unsubscribeAll = new Subject();
1047
+ this.dialog = this._injector.get(MatDialog);
1048
+ }
1049
+ get screenTypes() {
1050
+ return ScreenType;
1051
+ }
1052
+ /**
1053
+ * hostListener use to open matMenu specific location
1054
+ */
1055
+ click(event) {
1056
+ if (this.contextMenu &&
1057
+ this.contextMenu.ariaExpanded === 'true' &&
1058
+ event.which === 3) {
1059
+ this.contextMenu.click();
1060
+ }
1061
+ }
1062
+ ngOnInit() {
1063
+ this.subscribers();
1064
+ this.report = this._reportBuilderMasterService.report;
1065
+ if (this.reportId) {
1066
+ // this.getTabularData(); // also calling form ngOnChanges as per discuss with Swapnil
1067
+ }
1068
+ }
1069
+ ngOnDestroy() {
1070
+ this._unsubscribeAll.next();
1071
+ this._unsubscribeAll.complete();
1072
+ }
1073
+ /**
1074
+ * Subscribers should be added here.
1075
+ */
1076
+ subscribers() {
1077
+ // CrossFilter Subscriber
1078
+ this._elementService.crossFilterEvent.subscribe((crossFilter) => {
1079
+ if (crossFilter.resetFilter) {
1080
+ this.selectedRowIndexes = [];
1081
+ }
1082
+ });
1083
+ }
1084
+ /**
1085
+ * Get Tabular data
1086
+ */
1087
+ getTabularData() {
1088
+ if (this.tabularReport.matrix.attributes.length > 0) {
1089
+ const data = new ElementsDto(this.tabularReport);
1090
+ if (this.screenType === ScreenType.drillThrough) {
1091
+ data.filters.globalFilters.basic.push(this.drillThroughFilterInput);
1092
+ }
1093
+ else {
1094
+ data.filters.globalFilters.basic = this._elementService.getValidFilter(this._elementService.filtersDto.basic, ScopeType.global);
1095
+ data.filters.globalFilters.category = this._elementService.getValidFilterCategory(this._elementService.filtersDto.category, ScopeType.global);
1096
+ }
1097
+ data.filters.localFilters.basic = this._elementService.getValidFilter(this.tabularReport.filters);
1098
+ data.filters.localFilters.category = this._elementService.getValidFilterCategory(this.tabularReport.categories);
1099
+ data.reportId = this.reportId;
1100
+ data.type = 'tabular-report'; // use enum
1101
+ data.orderBy = this.tabularReport.sorting;
1102
+ data.pageIndex = this.tabularReport.pageIndex;
1103
+ data.pageSize = this.tabularReport.pageSize;
1104
+ data.pageLength = this.tabularReport.pageLength;
1105
+ if (this.drillThroughParentType == ScreenType.dashboardBuilder || this.drillThroughParentType == ScreenType.containerDashboard) {
1106
+ data.apiType = 'dashboard';
1107
+ }
1108
+ this._fieldsListService.getMatrixData(data).then((entitiesAttribute) => {
1109
+ if (entitiesAttribute != null) {
1110
+ entitiesAttribute.matrix.attributes.showSum = true;
1111
+ this.tabularReport.matrix.attributes = entitiesAttribute.matrix.attributes;
1112
+ this.tabularReport.pageLength = entitiesAttribute.totalRecords;
1113
+ this.tabularReport.pageIndex = entitiesAttribute.pageIndex;
1114
+ this.tabularReport.pageSize = entitiesAttribute.pageSize;
1115
+ }
1116
+ this.tabularReport.isDataLoaded = true;
1117
+ this.isDataLoaded = true;
1118
+ this.headerLoaded = true;
1119
+ });
1120
+ }
1121
+ this.toShowAggregation();
1122
+ }
1123
+ /**
1124
+ * to set matrix attribute data after onchange
1125
+ *
1126
+ * @param changes
1127
+ */
1128
+ ngOnChanges(changes) {
1129
+ this.isDataLoaded = false;
1130
+ this.report = this._reportBuilderMasterService.report;
1131
+ //Set Pagination
1132
+ if (!this.tabularReport.pageIndex) {
1133
+ this.tabularReport.pageIndex = 0;
1134
+ this.tabularReport.pageSize = 10;
1135
+ this.tabularReport.pageLength = 0;
1136
+ }
1137
+ this.getTabularData();
1138
+ }
1139
+ /**
1140
+ * to drop column from tabular report
1141
+ *
1142
+ * @param CdkDragDrop
1143
+ *
1144
+ */
1145
+ drop(event) {
1146
+ moveItemInArray(this.tabularReport.matrix.attributes, event.previousIndex, event.currentIndex);
1147
+ this._commonService.isReportBuilderDirty = true;
1148
+ }
1149
+ /**
1150
+ * to move column left on tabular report
1151
+ *
1152
+ * @param CdkDragDrop
1153
+ *
1154
+ */
1155
+ moveColumnLeft(event) {
1156
+ moveItemInArray(this.tabularReport.matrix.attributes, this.currentIndex, this.currentIndex - 1);
1157
+ this._commonService.isReportBuilderDirty = true;
1158
+ }
1159
+ /**
1160
+ * to move column right on tabular report
1161
+ *
1162
+ * @param CdkDragDrop
1163
+ *
1164
+ */
1165
+ moveColumnRight(event) {
1166
+ moveItemInArray(this.tabularReport.matrix.attributes, this.currentIndex, this.currentIndex + 1);
1167
+ this._commonService.isReportBuilderDirty = true;
1168
+ }
1169
+ /**
1170
+ * to remove column from tabular report
1171
+ *
1172
+ * @param Event
1173
+ *
1174
+ */
1175
+ removeColumn($event) {
1176
+ this.tabularReport.matrix.attributes.splice(this.currentIndex, 1);
1177
+ this.getTabularData();
1178
+ this._commonService.isReportBuilderDirty = true;
1179
+ }
1180
+ /**context menu for table columns
1181
+ *
1182
+ * @param MouseEvent
1183
+ * @param number
1184
+ * @param AttributeData
1185
+ */
1186
+ onContextMenu(event, index, attr) {
1187
+ if (!this.isEditable) {
1188
+ event.preventDefault();
1189
+ return;
1190
+ }
1191
+ event.stopPropagation();
1192
+ event.preventDefault();
1193
+ this.contextMenu = document.getElementById(attr.tableName + '-' + attr.name);
1194
+ this.currentIndex = index;
1195
+ this.contextMenu.click();
1196
+ }
1197
+ /**
1198
+ * to returns sum of rows
1199
+ *
1200
+ * @param string
1201
+ *
1202
+ */
1203
+ sum(series) {
1204
+ let total = 0;
1205
+ for (const data of series) {
1206
+ total += Number(data);
1207
+ }
1208
+ return total;
1209
+ }
1210
+ /**
1211
+ * to returns average of rows
1212
+ *
1213
+ * @param string
1214
+ *
1215
+ */
1216
+ avg(series) {
1217
+ let total = 0;
1218
+ for (const data of series) {
1219
+ total += Number(data);
1220
+ }
1221
+ if (series.length === 0) {
1222
+ return 0;
1223
+ }
1224
+ return (parseFloat((total / series.length).toFixed(2)));
1225
+ }
1226
+ /**
1227
+ * to returns maximum value of rows
1228
+ *
1229
+ * @param string
1230
+ *
1231
+ */
1232
+ max(series) {
1233
+ const a = [];
1234
+ for (const data of series) {
1235
+ a.push(Number(data));
1236
+ }
1237
+ if (a.length === 0) {
1238
+ return 0;
1239
+ }
1240
+ return Math.max(...a);
1241
+ }
1242
+ /**
1243
+ * to returns minimum value of rows
1244
+ *
1245
+ * @param string
1246
+ *
1247
+ */
1248
+ min(series) {
1249
+ const a = [];
1250
+ for (const data of series) {
1251
+ a.push(Number(data));
1252
+ }
1253
+ if (a.length === 0) {
1254
+ return 0;
1255
+ }
1256
+ return Math.min(...a);
1257
+ }
1258
+ /**
1259
+ * to returns count of unique value of rows
1260
+ *
1261
+ * @param string
1262
+ *
1263
+ */
1264
+ unique(series) {
1265
+ return [...new Set(series)].length;
1266
+ }
1267
+ /***
1268
+ * On chart context click for sum aggregation
1269
+ * @param MatCheckboxChange
1270
+ */
1271
+ sumAggregation(ob) {
1272
+ this.showSum = ob.checked;
1273
+ this._commonService.isReportBuilderDirty = true;
1274
+ this.toShowAggregation();
1275
+ }
1276
+ /***
1277
+ * On chart context click for avg aggregation
1278
+ * @param MatCheckboxChange
1279
+ */
1280
+ averageAggregation(ob) {
1281
+ this.showAvg = ob.checked;
1282
+ this._commonService.isReportBuilderDirty = true;
1283
+ this.toShowAggregation();
1284
+ }
1285
+ /***
1286
+ * On chart context click for max aggregation
1287
+ * @param MatCheckboxChange
1288
+ */
1289
+ maxAggregation(ob) {
1290
+ this.showMax = ob.checked;
1291
+ this._commonService.isReportBuilderDirty = true;
1292
+ this.toShowAggregation();
1293
+ }
1294
+ /***
1295
+ * On chart context click for min aggregation
1296
+ * @param MatCheckboxChange
1297
+ */
1298
+ minAggregation(ob) {
1299
+ this.showMin = ob.checked;
1300
+ this._commonService.isReportBuilderDirty = true;
1301
+ this.toShowAggregation();
1302
+ }
1303
+ /**
1304
+ * to set isDirty after changes in tabular report filter
1305
+ *
1306
+ */
1307
+ dirtyFlowCheckEvent() {
1308
+ this._commonService.isReportBuilderDirty = true;
1309
+ }
1310
+ /**
1311
+ * This will sort the data of tabular
1312
+ *
1313
+ * @param event
1314
+ * @param index
1315
+ */
1316
+ onClickSorting(event, index) {
1317
+ const attr = this.tabularReport.matrix.attributes[index];
1318
+ this.isColumnExist(attr);
1319
+ attr.isSortable = true;
1320
+ // to set group by according to last value //
1321
+ if (attr.groupBy === OrderByType.ascending) {
1322
+ attr.groupBy = OrderByType.descending;
1323
+ }
1324
+ else if (attr.groupBy === OrderByType.none) {
1325
+ attr.groupBy = OrderByType.ascending;
1326
+ }
1327
+ else {
1328
+ attr.groupBy = OrderByType.none;
1329
+ attr.isSortable = false;
1330
+ }
1331
+ // --------if condition for multiple sorting--------------
1332
+ if (event.ctrlKey || event.metaKey) {
1333
+ this.tabularReport.sorting.push(attr);
1334
+ }
1335
+ //---- for single column sorting -------
1336
+ else {
1337
+ this.singleColumnSorting(attr);
1338
+ }
1339
+ this.tabularReport.sorting.forEach((attribute, sortingIndex) => {
1340
+ if (!attribute.isSortable) {
1341
+ this.tabularReport.sorting.splice(sortingIndex, 1);
1342
+ }
1343
+ });
1344
+ this.tabularReport.matrix.attributes[index].orderSequence = this.tabularReport.sorting.indexOf(attr) + 1;
1345
+ this.tabularReport.matrix.attributes.forEach((attribute) => {
1346
+ if (attr.name !== attribute.name) {
1347
+ attribute.orderSequence = this.getSortIndex(attribute);
1348
+ if (!attribute.orderSequence) {
1349
+ attribute.orderSequence = 0;
1350
+ }
1351
+ }
1352
+ });
1353
+ this.headerLoaded = false;
1354
+ this.getTabularData();
1355
+ }
1356
+ singleColumnSorting(attr) {
1357
+ this.tabularReport.matrix.attributes.forEach((attribute) => {
1358
+ if (attribute.name !== attr.name) {
1359
+ attribute.groupBy = OrderByType.none;
1360
+ attribute.isSortable = false;
1361
+ }
1362
+ });
1363
+ this.tabularReport.sorting = [];
1364
+ this.tabularReport.sorting.push(attr);
1365
+ }
1366
+ // this function return true if attribute have show min/max/avg/sum aggregates to show last row
1367
+ toShowAggregation() {
1368
+ this.tabularReport.showBottomRow = false;
1369
+ let hiddenCount = 0;
1370
+ this.tabularReport.matrix.attributes.forEach((attribute) => {
1371
+ if (attribute.aggregate.showAvg || attribute.aggregate.showMax || attribute.aggregate.showMin || attribute.aggregate.showSum || attribute.aggregate.showUniqueCount) {
1372
+ this.tabularReport.showBottomRow = true;
1373
+ }
1374
+ if (attribute.isHidden) {
1375
+ hiddenCount++;
1376
+ }
1377
+ });
1378
+ if (hiddenCount == this.tabularReport.matrix.attributes.length) {
1379
+ this.isHidden = true;
1380
+ }
1381
+ }
1382
+ getSortIndex(attributeData) {
1383
+ let attributeIndex = 0;
1384
+ this.tabularReport.sorting.forEach((attribute, index) => {
1385
+ if (attribute.name === attributeData.name && attribute.isSortable) {
1386
+ attributeIndex = index;
1387
+ }
1388
+ });
1389
+ return attributeIndex + 1;
1390
+ }
1391
+ /**
1392
+ * to check dropped column is already exist in table or not
1393
+ *
1394
+ * @param AttributeData
1395
+ *
1396
+ */
1397
+ isColumnExist(attributeData) {
1398
+ this.tabularReport.sorting.forEach((attribute, index) => {
1399
+ if (attribute.name === attributeData.name) {
1400
+ this.tabularReport.sorting.splice(index, 1);
1401
+ }
1402
+ });
1403
+ }
1404
+ /**
1405
+ *to emit tabular property on table click
1406
+ *
1407
+ * @param event
1408
+ */
1409
+ tableSelect(event) {
1410
+ event.stopPropagation();
1411
+ this._tabularReportService.tableClickEvent(this.tabularReport);
1412
+ }
1413
+ /**
1414
+ * to redirect media url
1415
+ *
1416
+ * @param event
1417
+ * @param url
1418
+ */
1419
+ redirect(event, url) {
1420
+ if (event.ctrlKey || event.metaKey) {
1421
+ window.open(url, '_blank');
1422
+ }
1423
+ }
1424
+ /**
1425
+ * to redirect media url on single click
1426
+ */
1427
+ redirectOnSingleClick(event, url) {
1428
+ event.stopPropagation();
1429
+ window.open(url, '_blank');
1430
+ }
1431
+ /**
1432
+ * remove slash from url
1433
+ *
1434
+ * @param url
1435
+ * @returns
1436
+ */
1437
+ removeSlashFromURL(url) {
1438
+ if (url && url != '') {
1439
+ return url.slice(0, -1);
1440
+ }
1441
+ }
1442
+ /**
1443
+ * This will get called on row clicked. we are using this for cross filter .
1444
+ *
1445
+ * @param rowIndex
1446
+ */
1447
+ rowSelected(rowIndex) {
1448
+ // On builder we don't need cross filter tabular report have only one element on builder so there is no meaning of cross filter on builder.
1449
+ if (!this.isEditable) {
1450
+ //Row is already selected then remove selection.
1451
+ if (this.selectedRowIndexes.includes(rowIndex)) {
1452
+ const ind = this.selectedRowIndexes.indexOf(rowIndex);
1453
+ this.selectedRowIndexes.splice(ind, 1);
1454
+ }
1455
+ else {
1456
+ // Push selected row index in selectedRowIndexes array
1457
+ this.selectedRowIndexes.push(rowIndex);
1458
+ }
1459
+ // Created crossFilter DTO
1460
+ const crossFilterDto = {
1461
+ values: [],
1462
+ attributeData: this.tabularReport.matrix.attributes[0],
1463
+ chartType: this.tabularReport.type,
1464
+ elementGuid: this.tabularReport.guid,
1465
+ resetFilter: true,
1466
+ selectedIndexLength: 1
1467
+ };
1468
+ // If rows are selected then filter other elements data.
1469
+ if (this.selectedRowIndexes.length > 0) {
1470
+ crossFilterDto.resetFilter = false; // set Reset filter false bcz we have selected rows.
1471
+ //Added values of selected rows in cross filter dto
1472
+ this.selectedRowIndexes.forEach((ind) => {
1473
+ crossFilterDto.values.push(this.tabularReport.matrix.attributes[0].series[ind]);
1474
+ });
1475
+ }
1476
+ // trigged cross filter
1477
+ this._elementService.triggerCrossFilter(crossFilterDto);
1478
+ }
1479
+ }
1480
+ drillThroughContext(event, attribute, i) {
1481
+ this.parentRef.drillThroughContext(event, attribute, i);
1482
+ }
1483
+ removeFromDashboard() {
1484
+ this._dashboardBuilderService.deleteElement.emit(this.tabularReport);
1485
+ }
1486
+ /**
1487
+ * handle paginator event to change data as per page index and pagesize
1488
+ *
1489
+ * @param event
1490
+ */
1491
+ handlePageEvent(event) {
1492
+ this.tabularReport.pageIndex = event.pageIndex;
1493
+ this.tabularReport.pageSize = event.pageSize;
1494
+ this.isDataLoaded = false;
1495
+ this.tabularReport.isDataLoaded = false;
1496
+ this.getTabularData();
1497
+ }
1498
+ openConditionalFormatting(index) {
1499
+ const dialogRef = this.dialog.open(ConditionalFormattingComponent, {
1500
+ width: '40%',
1501
+ height: '50%',
1502
+ data: {
1503
+ conditionalFormatting: this.tabularReport.matrix.attributes[this.currentIndex].conditionalFormatting,
1504
+ // message: 'Deleting a report will also delete the related graphs from the dashboard as well. Are you sure want to delete this report?',
1505
+ confirmButtonText: 'Save',
1506
+ cancelButtonText: 'Cancel',
1507
+ confirmButtonType: 'submit'
1508
+ },
1509
+ panelClass: 'confirm-modal-container'
1510
+ });
1511
+ dialogRef.afterClosed().subscribe((result) => {
1512
+ if (result) {
1513
+ this.tabularReport.matrix.attributes[this.currentIndex].conditionalFormatting = result;
1514
+ }
1515
+ });
1516
+ }
1517
+ }
1518
+ DetailGroupViewComponent.ɵfac = function DetailGroupViewComponent_Factory(t) { return new (t || DetailGroupViewComponent)(i0.ɵɵdirectiveInject(i1.ReportBuilderMasterService), i0.ɵɵdirectiveInject(i2.FieldsListService), i0.ɵɵdirectiveInject(i3.CommonService), i0.ɵɵdirectiveInject(i4.ElementService), i0.ɵɵdirectiveInject(i5.TabularReportService), i0.ɵɵdirectiveInject(i6.DashboardBuilderService), i0.ɵɵdirectiveInject(i0.Injector)); };
1519
+ DetailGroupViewComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DetailGroupViewComponent, selectors: [["lib-detail-view"]], viewQuery: function DetailGroupViewComponent_Query(rf, ctx) { if (rf & 1) {
1520
+ i0.ɵɵviewQuery(MatMenuTrigger, 5);
1521
+ i0.ɵɵviewQuery(_c0, 5, MatMenuTrigger);
1522
+ } if (rf & 2) {
1523
+ let _t;
1524
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contextMenu = _t.first);
1525
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.drillThroughTrigger = _t.first);
1526
+ } }, hostBindings: function DetailGroupViewComponent_HostBindings(rf, ctx) { if (rf & 1) {
1527
+ i0.ɵɵlistener("mousedown", function DetailGroupViewComponent_mousedown_HostBindingHandler($event) { return ctx.click($event); }, false, i0.ɵɵresolveWindow);
1528
+ } }, inputs: { page: "page", tabularReport: "tabularReport", isEditable: "isEditable", x1ImageMediaUrl: "x1ImageMediaUrl", elementGuid: "elementGuid", screenType: "screenType", drillThroughParentType: "drillThroughParentType", drillThroughFilterInput: "drillThroughFilterInput", parentRef: "parentRef", x1MediaUrl: "x1MediaUrl", reportId: "reportId", appVersionId: "appVersionId" }, features: [i0.ɵɵNgOnChangesFeature], decls: 9, vars: 3, consts: [["class", "loader-spinner", 4, "ngIf"], ["class", "tableContainer customscroll", "id", "table", 3, "ngClass", 4, "ngIf"], ["contextMenu", "matMenu"], ["id", "table-menu"], ["matMenuContent", ""], ["Aggregate", "matMenu"], [4, "ngIf"], [1, "loader-spinner"], [3, "elementType"], ["id", "table", 1, "tableContainer", "customscroll", 3, "ngClass"], ["cdkDropListGroup", "", "class", "overflow-x-auto", 3, "border", "ngClass", "click", 4, "ngIf"], ["class", "flex justify-center items-center flex-col zero-records", 4, "ngIf"], ["cdkDropListGroup", "", 1, "overflow-x-auto", 3, "ngClass", "click"], [1, "thead"], ["cdkDropList", "", "cdkDropListOrientation", "horizontal", 3, "cdkDropListDropped"], ["class", " px-1.5 py-1.5 w-10 min-w-10", 3, "id", "color", "font-size", "font-family", "background", "border", 4, "ngIf"], ["cdkDragBoundary", ".page", 4, "ngFor", "ngForOf"], [3, "ngClass", 4, "ngIf"], [1, "px-1.5", "py-1.5", "w-10", "min-w-10", 3, "id"], [1, "sr-head", "max-w-fit"], ["cdkDragBoundary", ".page"], ["class", "deatail-group-tabale-header", "cdkDrag", "", 3, "id", "cdkDragDisabled", "font-size", "color", "font-family", "background", "border", "text-align", 4, "ngIf"], ["cdkDrag", "", 1, "deatail-group-tabale-header", 3, "id", "cdkDragDisabled"], [1, "deatil-group-table-head-child", "gap-1", 3, "contextmenu"], [1, "w-full", "flex", 3, "ngClass", "click"], ["class", "vertical-dot", "cdkDragHandle", "", 4, "ngIf"], [1, "w-full"], [1, "table-heading", 3, "ngClass", "ngModel", "readonly", "click", "ngModelChange"], [1, "sorting-arrow", "flex", "items-center", "gap-1"], ["class", "order-sequence axo-font", 4, "ngIf"], [1, "flex", "flex-col", "sorting-icon"], [1, "sort-arrow-up", "cursor-pointer", 3, "ngClass"], [1, "sort-arrow-down", "cursor-pointer", 3, "ngClass"], ["cdkDragHandle", "", 1, "vertical-dot"], [1, "order-sequence", "axo-font"], ["mat-icon-button", "", 1, "flex", "items-center", "pb-1", 3, "click"], ["svgIcon", "heroicons_outline:chevron-down", 1, "tab-down-arrow"], [1, "filterMatMenu", 3, "matMenuTriggerFor", "id"], ["matMenuTrigger", ""], [3, "ngClass"], [4, "ngFor", "ngForOf"], [3, "ngStyle", "click"], ["class", "px-1.5\tpy-1.5 max-w-fit", "class", "text-center ", 3, "border", "font-family", "font-size", "color", 4, "ngIf"], [1, "text-center"], ["class", "px-1.5\tpy-1.5\t", 3, "font-family", "font-size", "color", "text-align", "ngStyle", "contextmenu", 4, "ngIf"], [1, "px-1.5", "py-1.5", 3, "ngStyle", "contextmenu"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], [1, "url", 3, "title", "click"], [1, "url", "cursor-pointer", 3, "title", "click"], ["svgIcon", "axo_pdf1", 1, "doc-icon"], ["class", "px-1.5\tpy-1.5\t", 3, "background", "font-family", "font-size", "border", "color", 4, "ngIf"], [1, "px-1.5", "py-1.5"], [1, "flex", "justify-center", "items-center", "flex-col", "zero-records"], ["mat-menu-item", "", 3, "matMenuTriggerFor", 4, "ngIf"], ["mat-menu-item", "", 3, "click", 4, "ngIf"], ["mat-menu-item", "", 3, "matMenuTriggerFor"], ["mat-menu-item", "", 3, "click"], ["class", "detailed-group-aggregate-function", 4, "ngIf"], [1, "detailed-group-aggregate-function"], [1, "aggregate-fun", 3, "ngModel", "ngModelChange", "change", "click"]], template: function DetailGroupViewComponent_Template(rf, ctx) { if (rf & 1) {
1529
+ i0.ɵɵtemplate(0, DetailGroupViewComponent_div_0_Template, 2, 1, "div", 0);
1530
+ i0.ɵɵtemplate(1, DetailGroupViewComponent_div_1_Template, 3, 5, "div", 1);
1531
+ i0.ɵɵelementStart(2, "mat-menu", null, 2);
1532
+ i0.ɵɵelementStart(4, "div", 3);
1533
+ i0.ɵɵtemplate(5, DetailGroupViewComponent_ng_template_5_Template, 3, 3, "ng-template", 4);
1534
+ i0.ɵɵelementEnd();
1535
+ i0.ɵɵelementEnd();
1536
+ i0.ɵɵelementStart(6, "mat-menu", null, 5);
1537
+ i0.ɵɵtemplate(8, DetailGroupViewComponent_8_Template, 1, 0, undefined, 6);
1538
+ i0.ɵɵelementEnd();
1539
+ } if (rf & 2) {
1540
+ i0.ɵɵproperty("ngIf", !ctx.tabularReport.isDataLoaded && ctx.tabularReport.matrix.attributes.length !== 0);
1541
+ i0.ɵɵadvance(1);
1542
+ i0.ɵɵproperty("ngIf", ctx.tabularReport.matrix.attributes.length > 0 && (ctx.isDataLoaded || ctx.tabularReport.isDataLoaded));
1543
+ i0.ɵɵadvance(7);
1544
+ i0.ɵɵproperty("ngIf", ctx.tabularReport.matrix.attributes.length > 0);
1545
+ } }, directives: [i7.NgIf, i8.MatMenu, i8.MatMenuContent, i9.GhostLoaderComponent, i7.NgClass, i10.CdkDropListGroup, i10.CdkDropList, i7.NgForOf, i10.CdkDrag, i11.DefaultValueAccessor, i11.NgControlStatus, i11.NgModel, i10.CdkDragHandle, i12.MatIcon, i8.MatMenuTrigger, i7.NgStyle, i7.NgSwitch, i7.NgSwitchCase, i7.NgSwitchDefault, i8.MatMenuItem, i13.MatCheckbox], pipes: [i7.DatePipe, i7.CurrencyPipe, i14.AxoPercentagePipe], styles: ["lib-detail-view{display:block;height:calc(100% - 6.7rem);min-height:calc(100% - 6.7rem);max-height:calc(100% - 6.7rem)}lib-detail-view .tableContainer{max-width:100%;min-width:100%;min-height:100%;max-height:100%;height:100%;padding-top:0;padding-left:1px}lib-detail-view .tableContainer table{height:auto;border:none!important}lib-detail-view .tableContainer table .thead{position:sticky;top:1px}lib-detail-view .tableContainer table .thead tr{border-top:none!important}lib-detail-view .tableContainer table .thead th{position:relative;background-color:#f2f8ff;border-top:none!important;border-bottom:none!important}lib-detail-view .tableContainer table .thead th .resize-holder{cursor:col-resize!important;width:20px;height:100%;position:absolute;right:-10px;top:0;z-index:1}lib-detail-view .tableContainer table .thead th:last-child{border-right:none!important;width:auto!important}lib-detail-view .tableContainer table .thead th:first-child{border-left:none!important}lib-detail-view .tableContainer table .thead .sr-head{white-space:nowrap}lib-detail-view .tableContainer table tbody td{padding-left:4px;padding-right:4px}lib-detail-view .tableContainer table tbody:nth-of-type(1) tr:nth-of-type(1) td{border-top:none!important}lib-detail-view .tableContainer table tr:first-child td:first-child{border-top:none!important}lib-detail-view .mat-menu-item{background:transparent;color:#1e293b;font-size:12px}lib-detail-view .resizing{cursor:col-resize!important}lib-detail-view .srNo{padding-left:1px!important;width:auto!important;min-width:78px!important}lib-detail-view .zero-records{height:calc(100% - 2.4rem);max-width:100%;position:sticky;left:0;color:#a39f9f!important}.deatail-group-tabale-header{padding:6px 7px}.deatail-group-tabale-header .deatil-group-table-head-child{display:flex;justify-content:space-between;column-gap:7px;align-items:center}.deatail-group-tabale-header .deatil-group-table-head-child .table-heading{white-space:nowrap;width:100%;font-weight:900}.deatail-group-tabale-header .deatil-group-table-head-child .sort-heading{cursor:not-allowed;white-space:nowrap;width:100%}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow{white-space:nowrap}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .sorting-icon{padding:4px}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .sorting-icon:hover{background-color:#e2e8f0!important}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .sort-arrow-up,.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .sort-arrow-down{font-size:10px;line-height:8px;color:#000;opacity:.5}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .arrow-active{opacity:1!important}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .order-sequence{border-radius:100%;background-color:#7964ed14;padding:0 6px;color:#0000007a;font-size:10px}.deatail-group-tabale-header .deatil-group-table-head-child .vertical-dot:hover{background-color:#e2e8f0!important}.deatail-group-tabale-header .deatil-group-table-head-child .vertical-dot .mat-icon{font-size:15px;cursor:all-scroll}.deatail-group-tabale-header .deatil-group-table-head-child .tab-down-arrow{top:3px;position:relative}.aggregate-fun{padding:0 10px;font-size:12px}.url:hover{color:#00f}.local-body table{width:100%!important;height:auto;border:none!important}.detailed-group-aggregate-function p:last-child{margin-bottom:0!important}.mat-menu-panel{min-height:-moz-fit-content!important;min-height:fit-content!important}\n"], encapsulation: 2 });
1546
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DetailGroupViewComponent, [{
1547
+ type: Component,
1548
+ args: [{ selector: 'lib-detail-view', encapsulation: ViewEncapsulation.None, template: "\n<div *ngIf=\"!tabularReport.isDataLoaded && tabularReport.matrix.attributes.length!==0\" class=\"loader-spinner\">\n <app-ghost-loader [elementType]=\"GhostLoaderType.TabularChartLoader\" ></app-ghost-loader>\n</div>\n<!-- <div *ngIf=\"!tabularReport.isDataLoaded && tabularReport.matrix.attributes.length!==0\" class=\"loader-spinner\">\n <mat-spinner [diameter]=\"40\"></mat-spinner>\n</div> -->\n<div class=\"tableContainer customscroll\" id=table [ngClass]=\"{'local-body' : !isEditable && (screenType !== screenTypes.drillThrough) }\"\n*ngIf='tabularReport.matrix.attributes.length>0 && (isDataLoaded || tabularReport.isDataLoaded)'>\n\n <table\n (click)=\"tableSelect($event)\"\n [style.border]=\"tabularReport.tableStyle.border.width+'px'+ ' '+ tabularReport.tableStyle.border.borderStyle + ' ' + tabularReport.tableStyle.border.color\"\n *ngIf=tabularReport cdkDropListGroup class=\"overflow-x-auto\" [ngClass]=\"{'mt-1': tabularReport.matrix.attributes.length>0 && tabularReport.matrix.attributes[0].series.length===0}\">\n <caption></caption>\n <thead class=\"thead\" [style.outline]=\"tabularReport.tableStyle.border.width+'px'+ ' '+ tabularReport.tableStyle.border.borderStyle + ' ' + tabularReport.tableStyle.border.color\">\n <tr cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"drop($event)\" [style.border]=\"tabularReport.tableStyle.border.width+'px'+ ' '+ tabularReport.tableStyle.border.borderStyle + ' ' + tabularReport.tableStyle.border.color\">\n <!-- serial number header -->\n <th [id]=\"srNo\"\n class=\" px-1.5 py-1.5 w-10 min-w-10\"\n *ngIf=\"tabularReport.showSerialNo\"\n [style.color]=\"tabularReport.tableStyle.header.font.color\"\n [style.font-size.px]=\"tabularReport.tableStyle.header.font.size\"\n [style.font-family]=\"tabularReport.tableStyle.header.font.family\"\n [style.background]=\"tabularReport.tableStyle.header.backgroundColor\"\n [style.border]=\"tabularReport.tableStyle.border.width+'px'+ ' '+ tabularReport.tableStyle.border.borderStyle + ' ' + tabularReport.tableStyle.border.color\"\n\n\n ><div class=\"sr-head max-w-fit\">Sr No.</div></th>\n <!-- column headers -->\n <ng-container *ngFor=\"let attr of tabularReport.matrix.attributes; let i= index; let last = last\" cdkDragBoundary=\".page\" >\n <th [id]=\"th\"\n *ngIf=\"!attr.isHidden\"\n class=\"deatail-group-tabale-header\"\n [cdkDragDisabled]=\"!isEditable\"\n [style.font-size.px]=\"tabularReport.tableStyle.header.font.size\"\n [style.color]=\"tabularReport.tableStyle.header.font.color\"\n [style.font-family]=\"tabularReport.tableStyle.header.font.family\"\n [style.background]=\"tabularReport.tableStyle.header.backgroundColor\"\n [style.border]=\"tabularReport.tableStyle.border.width+'px'+ ' '+ tabularReport.tableStyle.border.borderStyle + ' ' + tabularReport.tableStyle.border.color\"\n\n cdkDrag\n\n [style.text-align]='attr.alignment'\n >\n <div class=\"deatil-group-table-head-child gap-1\" (contextmenu)=\"onContextMenu($event, i, attr)\">\n <div (click)=\"onClickSorting($event,i)\" class=\"w-full flex\" [ngClass]=\"{' gap-3 items-center justify-between':attr.groupBy===1 || attr.groupBy===2 || isEditable}\">\n <div class=\"vertical-dot\" *ngIf=\"isEditable\" cdkDragHandle>\n <mat-icon >drag_indicator</mat-icon>\n </div>\n <div class=\"w-full\">\n <input (click)=\"$event.stopPropagation()\" [style.width]=\"attr.label.length+1+'ch'\"\n class=\"table-heading\" [ngClass]=\"{'sort-heading' : !headerLoaded }\"\n [style.font-size.px]=\"tabularReport.tableStyle.header.font.size\"\n [style.color]=\"tabularReport.tableStyle.header.font.color\"\n [style.font-family]=\"tabularReport.tableStyle.header.font.family\"\n [(ngModel)]=\"attr.label\" [readonly] =\"!isEditable\"/>\n </div>\n\n <div class=\"sorting-arrow flex items-center gap-1\">\n <span *ngIf='attr.groupBy===1 || attr.groupBy===2' class=\"order-sequence axo-font\">{{attr.orderSequence}}</span>\n <div class=\"flex flex-col sorting-icon\">\n <div class=\"sort-arrow-up cursor-pointer\" [ngClass]=\"{'arrow-active': attr.groupBy===1}\">&#x25B2;</div>\n <div class=\"sort-arrow-down cursor-pointer\" [ngClass]=\"{'arrow-active': attr.groupBy===2}\">&#x25BC;</div>\n </div>\n </div>\n </div>\n <ng-container *ngIf=\"isEditable\">\n <button mat-icon-button (click)=\"onContextMenu($event, i, attr); $event.stopPropagation()\" class=\"flex items-center pb-1\">\n <mat-icon class=\"tab-down-arrow\" svgIcon=\"heroicons_outline:chevron-down\"></mat-icon>\n </button>\n <div #matMenuTrigger\n class=\"filterMatMenu\"\n [matMenuTriggerFor]=\"contextMenu\"\n [id]=\"attr.tableName+'-'+ attr.name\">\n </div>\n </ng-container>\n </div>\n </th>\n </ng-container>\n\n </tr>\n </thead>\n <tbody [ngClass]=\"{'shadow':tabularReport.tableStyle.border.shadow.enable}\"\n *ngIf=\"tabularReport.matrix.attributes.length>0\"\n >\n\n <ng-container *ngFor=\"let data of tabularReport.matrix.attributes[0].series;let i = index; even as isEven; let data1\">\n <tr\n [style.background]=\"selectedRowIndexes.includes(i)?tabularReport.tableStyle.body.backgroundColor+'60':tabularReport.tableStyle.body.backgroundColor\"\n [ngStyle]=\"{ background: isEven ? tabularReport.tableStyle.rowStyle.oddColor: tabularReport.tableStyle.rowStyle.evenColor}\"\n [style.border]=\"tabularReport.tableStyle.border.width + ' '+ tabularReport.tableStyle.border.borderStyle + ' ' + tabularReport.tableStyle.border.color\"\n (click)=\"rowSelected(i)\"\n >\n <!-- serial no of rows -->\n <td *ngIf=\"tabularReport.showSerialNo\"\n class=\"px-1.5\tpy-1.5 max-w-fit\"\n [style.border]=\"tabularReport.tableStyle.border.width+'px'+' '+ tabularReport.tableStyle.border.borderStyle + ' ' + tabularReport.tableStyle.border.color\" class=\"text-center \"\n [style.font-family]=\"tabularReport.tableStyle.body.font.family\"\n [style.font-size.px]=\"tabularReport.tableStyle.body.font.size\"\n [style.color]=\"tabularReport.tableStyle.body.font.color\"\n\n >\n {{(((tabularReport.pageIndex -1 )* tabularReport.pageSize) + tabularReport.pageSize)+ i+1}}\n </td>\n <!-- series data -->\n <ng-container *ngFor=\"let _attr of tabularReport.matrix.attributes; even as isEven;let m = index\">\n <td\n *ngIf=\"!_attr.isHidden\"\n class=\"px-1.5\tpy-1.5\t\"\n [style.font-family]=\"_attr.seriesFormatting[i]?.font?_attr.seriesFormatting[i].font.family:tabularReport.tableStyle.body.font.family\"\n [style.font-size.px]=\"_attr.seriesFormatting[i]?.font?_attr.seriesFormatting[i].font.size:tabularReport.tableStyle.body.font.size\"\n [style.color]=\"_attr.seriesFormatting[i]?.font?_attr.seriesFormatting[i].font.color:tabularReport.tableStyle.body.font.color\"\n [style.text-align]='_attr.alignment'\n (contextmenu)=\"drillThroughContext($event, _attr, i);$event.stopPropagation();\"\n [ngStyle]=\"{ background: _attr.seriesFormatting[i].backgroundColor,\n 'border': _attr.seriesFormatting[i]?.border ? _attr.seriesFormatting[i].border.width+'px'+ ' '+ _attr.seriesFormatting[i].border.borderStyle + ' ' + _attr.seriesFormatting[i].border.color:\n tabularReport.tableStyle.border.width+'px'+ ' '+ tabularReport.tableStyle.border.borderStyle + ' ' + tabularReport.tableStyle.border.color\n }\"\n >\n\n\n\n\n <ng-container *ngIf=\"_attr.series[i]\">\n <div [ngSwitch]=\"_attr.widgetType\">\n <!-- when data type is datetime -->\n <span *ngSwitchCase=\"'datepicker-widget'\">\n <ng-container *ngIf=\"_attr.widgetSubType==='datetime' || _attr.widgetSubType==='both'\">\n <span >{{moment(_attr.series[i]+'Z')|date:_attr.valueFormatting.date}}</span>\n </ng-container>\n <ng-container *ngIf=\"_attr.widgetSubType==='timestamp'\">\n <span>{{_attr.series[i]}}</span>\n </ng-container>\n <ng-container *ngIf=\"_attr.widgetSubType==='time'\">\n <span>{{moment(_attr.series[i],'hh:mm:ss')|date:_attr.valueFormatting.date}}</span>\n </ng-container>\n <ng-container *ngIf=\"_attr.widgetSubType==='date'\">\n <span *ngIf=\" _attr.widgetSubType==='date'\">{{_attr.series[i]|date:_attr.valueFormatting.date}}</span>\n </ng-container>\n <ng-container *ngIf=\"_attr.widgetSubType==='date_range'\">\n {{_attr.series[i]}}\n </ng-container>\n </span>\n <!-- when data type is text -->\n <span *ngSwitchCase=\"'textbox-widget'\">\n <span *ngIf=\"_attr.widgetSubType==='decimal'|| _attr.widgetSubType==='text' || _attr.widgetSubType==='string'\">\n {{_attr.series[i]}}\n </span>\n <span *ngIf=\"_attr.widgetSubType==='numeric'\">\n <span *ngIf=\"_attr.valueFormatting.currency \">{{ _attr.series[i] | currency:_attr.valueFormatting.currency :'symbol'}}</span>\n <span *ngIf=\" _attr.valueFormatting.percentage\">{{_attr.series[i]| axoPercentage:_attr.series: 'detail'}}</span>\n <span *ngIf=\"!_attr.valueFormatting.percentage && !_attr.valueFormatting.currency\">{{_attr.series[i]}}</span>\n </span>\n </span>\n <!-- When widget type is web link -->\n <span *ngSwitchCase=\"'hyperlink-widget'\">\n <span class=\"url\" [title]=\"x1ImageMediaUrl+_attr.series[i]\" (click)=\"redirect($event,_attr.series[i])\">{{_attr.series[i]}}</span>\n </span>\n\n <!-- When widget type is signature widget -->\n <span *ngSwitchCase=\"'wetsignaturecapture-widget'\">\n <span class=\"url\" [title]=\"x1ImageMediaUrl+_attr.series[i]\" (click)=\"redirect($event,x1ImageMediaUrl+_attr.series[i])\">{{_attr.series[i]}}</span>\n </span>\n\n <!-- When widget type is video widget -->\n <span *ngSwitchCase=\"'videocapture-widget'\">\n <span class=\"url\" [title]=\"x1ImageMediaUrl+_attr.series[i]\" (click)=\"redirect($event,x1ImageMediaUrl+_attr.series[i])\">{{_attr.series[i]}}</span>\n </span>\n\n <!-- When widget type is audio widget -->\n <span *ngSwitchCase=\"'audiocapture-widget'\">\n <span class=\"url\" [title]=\"x1ImageMediaUrl+_attr.series[i]\" (click)=\"redirect($event,x1ImageMediaUrl+_attr.series[i])\">{{_attr.series[i]}}</span>\n </span>\n <!-- When widget type is document widget -->\n <span *ngSwitchCase=\"'fileupload-widget'\">\n <span class=\"url\" [title]=\"x1ImageMediaUrl+_attr.series[i]\" (click)=\"redirect($event,x1ImageMediaUrl+_attr.series[i])\">{{_attr.series[i]}}</span>\n </span>\n\n <!-- When widget type is document widget -->\n <span *ngSwitchCase=\"'document'\">\n <span class=\"url cursor-pointer\" [title]=\"removeSlashFromURL(x1MediaUrl)+_attr.series[i]\" (click)=\"redirectOnSingleClick($event,removeSlashFromURL(x1MediaUrl)+_attr.series[i])\"><mat-icon class=\"doc-icon\" svgIcon=\"axo_pdf1\"></mat-icon></span>\n\n </span>\n\n <!-- When widget type is document widget -->\n <span *ngSwitchCase=\"'imagecapture-widget'\">\n <span class=\"url\" [title]=\"x1ImageMediaUrl+_attr.series[i]\" (click)=\"redirect($event,x1ImageMediaUrl+_attr.series[i])\">{{_attr.series[i]}}</span>\n </span>\n <!-- default case -->\n <span *ngSwitchDefault>{{_attr.series[i]}}</span>\n\n </div>\n </ng-container>\n <span *ngIf='!_attr.series[i]'>\n <span *ngIf=\"_attr.widgetSubType==='numeric'\">\n <span *ngIf=\"_attr.valueFormatting.currency \">{{ 0 | currency:_attr.valueFormatting.currency :'symbol'}}</span>\n <span *ngIf=\" _attr.valueFormatting.percentage\">{{0 | axoPercentage:_attr.series: 'detail'}}</span>\n <span *ngIf=\"!_attr.valueFormatting.percentage && !_attr.valueFormatting.currency\">-</span>\n </span>\n <!-- when series data is empty -->\n <span *ngIf=\"_attr.widgetSubType!=='numeric'\">-</span>\n\n </span>\n\n </td>\n </ng-container>\n </tr>\n </ng-container>\n <!-- subtotal row -->\n <ng-container >\n <tr *ngIf=tabularReport.showBottomRow>\n <td *ngIf='tabularReport.showSerialNo'\n class=\"px-1.5\tpy-1.5\t\"\n [style.background]=\"tabularReport.tableStyle.footer.backgroundColor\"\n [style.font-family]=\"tabularReport.tableStyle.footer.font.family\"\n [style.font-size.px]=\"tabularReport.tableStyle.footer.font.size\"\n [style.border]=\"tabularReport.tableStyle.border.width+'px'+' '+ tabularReport.tableStyle.border.borderStyle + ' ' + tabularReport.tableStyle.border.color\"\n [style.color]=\"tabularReport.tableStyle.footer.font.color\"\n >\n </td>\n <ng-container *ngFor=\"let attr of tabularReport.matrix.attributes; let i=index\">\n <td\n *ngIf=\"!attr.isHidden\"\n class=\"px-1.5\tpy-1.5\t\"\n [style.background]=\"tabularReport.tableStyle.footer.backgroundColor\"\n [style.font-family]=\"tabularReport.tableStyle.footer.font.family\"\n [style.font-size.px]=\"tabularReport.tableStyle.footer.font.size\"\n [style.border]=\"tabularReport.tableStyle.border.width+'px'+' '+ tabularReport.tableStyle.border.borderStyle + ' ' + tabularReport.tableStyle.border.color\"\n [style.color]=\"tabularReport.tableStyle.footer.font.color\"\n >\n <ng-container *ngIf=\"attr.widgetType==='textbox-widget' && attr.widgetSubType==='numeric'\">\n <span *ngIf=\"attr.aggregate.showSum\">\n <span *ngIf=\"attr.valueFormatting.currency \">Sum: {{ sum(attr.series) | currency:attr.valueFormatting.currency :'symbol'}}<br></span>\n <span *ngIf=\" attr.valueFormatting.percentage\"> Sum:\n <span *ngIf=\"sum(attr.series)>1\">100%</span>\n <span *ngIf=\"sum(attr.series)<1\">0%</span>\n <br></span>\n <span *ngIf=\"!attr.valueFormatting.percentage && !attr.valueFormatting.currency\">Sum: {{sum(attr.series)}}<br></span>\n </span>\n <span *ngIf=\"attr.aggregate.showAvg\">\n <span *ngIf=\"attr.valueFormatting.currency \">Avg: {{avg(attr.series) | currency:attr.valueFormatting.currency :'symbol'}}<br></span>\n <span *ngIf=\" attr.valueFormatting.percentage\">Avg: {{avg(attr.series)| axoPercentage:attr.series: 'detail'}}<br></span>\n <span *ngIf=\"!attr.valueFormatting.percentage && !attr.valueFormatting.currency\"> Avg: {{avg(attr.series)}}<br></span>\n </span>\n <span *ngIf=\"attr.aggregate.showMax\">\n <span *ngIf=\"attr.valueFormatting.currency \"> Max: {{max(attr.series)| currency:attr.valueFormatting.currency :'symbol'}}<br></span>\n <span *ngIf=\" attr.valueFormatting.percentage\"> Max: {{max(attr.series)| axoPercentage:attr.series: 'detail'}}<br></span>\n <span *ngIf=\"!attr.valueFormatting.percentage && !attr.valueFormatting.currency\"> Max: {{max(attr.series)}}<br></span>\n </span>\n <span *ngIf=\"attr.aggregate.showMin\">\n <span *ngIf=\"attr.valueFormatting.currency \">Min: {{min(attr.series) | currency:attr.valueFormatting.currency :'symbol'}}<br></span>\n <span *ngIf=\" attr.valueFormatting.percentage\">Min: {{min(attr.series)| axoPercentage:attr.series: 'detail'}}<br></span>\n <span *ngIf=\"!attr.valueFormatting.percentage && !attr.valueFormatting.currency\"> Min: {{min(attr.series)}}<br></span>\n </span>\n </ng-container>\n </td>\n </ng-container>\n </tr>\n </ng-container>\n\n </tbody>\n </table>\n <div class=\"flex justify-center items-center flex-col zero-records\" *ngIf=\"(tabularReport.matrix.attributes.length>0 && tabularReport.matrix.attributes[0].series.length===0)\">\n No records available\n </div>\n</div>\n<!-- <div class=\"flex align-items deatil-group-table-paginator customscroll\">\n <mat-paginator (page)=\"handlePageEvent($event)\" [length]=\"tabularReport.pageLength\" [pageSize]=\"tabularReport.pageSize\"\n [pageIndex]=\"tabularReport.pageIndex\" [pageSizeOptions]=\"[10, 25, 50, 100]\" aria-label=\"Select page\" class=\"mat-paginator flex justify-end w-full\">\n </mat-paginator>\n</div> -->\n\n\n<!-- Mat Menu trigger for table columns-->\n<mat-menu #contextMenu=\"matMenu\">\n <div id=\"table-menu\">\n <ng-template matMenuContent let-item=\"reportData\"> \n <button *ngIf=\"(tabularReport.matrix.attributes[currentIndex].type==='int' && (tabularReport.matrix.attributes[currentIndex].widgetType==='textbox-widget' || tabularReport.matrix.attributes[currentIndex].widgetType==='computedvalue-widget'))\"mat-menu-item [matMenuTriggerFor]=\"Aggregate\">Aggregate</button>\n <ng-container *ngIf=\"isEditable\">\n <button mat-menu-item (click)=\"moveColumnLeft($event)\">Move Left</button>\n <button mat-menu-item (click)=\"moveColumnRight($event)\">Move Right</button>\n <button mat-menu-item (click)=\"removeColumn($event)\">Remove Column</button>\n <button mat-menu-item (click)=\"openConditionalFormatting($event)\">Add Conditional Formatting</button>\n </ng-container>\n <button *ngIf=\"screenTypes.dashboardBuilder === screenType\" mat-menu-item (click)=\"removeFromDashboard()\">Remove From Dashboard</button>\n </ng-template>\n </div>\n</mat-menu>\n<!-- --------------------------------------------------------------------------- -->\n\n\n\n<!-- Mat menu trigger for Aggregation-->\n<mat-menu #Aggregate=\"matMenu\">\n <ng-template matMenuContent *ngIf='tabularReport.matrix.attributes.length>0'>\n <!-- <p>\n <mat-checkbox class=\"aggregate-fun\" [(ngModel)]='tabularReport.matrix.attributes[currentIndex].aggregate.showUniqueCount'\n (click)=\"$event.stopPropagation()\">Show Unique Count</mat-checkbox>\n </p> -->\n <section *ngIf=\"tabularReport.matrix.attributes[currentIndex].type==='int' || tabularReport.matrix.attributes[currentIndex].type==='float'\" class=\"detailed-group-aggregate-function\">\n <p>\n <mat-checkbox class=\"aggregate-fun\" [(ngModel)]='tabularReport.matrix.attributes[currentIndex].aggregate.showSum'\n (change)=\"sumAggregation($event)\" (click)=\"$event.stopPropagation()\">sum</mat-checkbox>\n </p>\n <p>\n <mat-checkbox class=\"aggregate-fun\" [(ngModel)]='tabularReport.matrix.attributes[currentIndex].aggregate.showAvg'\n (change)=\"averageAggregation($event)\" (click)=\"$event.stopPropagation()\">Average</mat-checkbox>\n </p>\n <p>\n <mat-checkbox class=\"aggregate-fun\"[(ngModel)]='tabularReport.matrix.attributes[currentIndex].aggregate.showMax'\n (change)=\"maxAggregation($event)\" (click)=\"$event.stopPropagation()\">Max</mat-checkbox>\n </p>\n <p>\n <mat-checkbox class=\"aggregate-fun\"[(ngModel)]='tabularReport.matrix.attributes[currentIndex].aggregate.showMin'\n (change)=\"minAggregation($event)\"(click)=\"$event.stopPropagation()\">Min</mat-checkbox>\n </p>\n </section>\n </ng-template>\n</mat-menu>\n\n\n\n\n\n\n", styles: ["lib-detail-view{display:block;height:calc(100% - 6.7rem);min-height:calc(100% - 6.7rem);max-height:calc(100% - 6.7rem)}lib-detail-view .tableContainer{max-width:100%;min-width:100%;min-height:100%;max-height:100%;height:100%;padding-top:0;padding-left:1px}lib-detail-view .tableContainer table{height:auto;border:none!important}lib-detail-view .tableContainer table .thead{position:sticky;top:1px}lib-detail-view .tableContainer table .thead tr{border-top:none!important}lib-detail-view .tableContainer table .thead th{position:relative;background-color:#f2f8ff;border-top:none!important;border-bottom:none!important}lib-detail-view .tableContainer table .thead th .resize-holder{cursor:col-resize!important;width:20px;height:100%;position:absolute;right:-10px;top:0;z-index:1}lib-detail-view .tableContainer table .thead th:last-child{border-right:none!important;width:auto!important}lib-detail-view .tableContainer table .thead th:first-child{border-left:none!important}lib-detail-view .tableContainer table .thead .sr-head{white-space:nowrap}lib-detail-view .tableContainer table tbody td{padding-left:4px;padding-right:4px}lib-detail-view .tableContainer table tbody:nth-of-type(1) tr:nth-of-type(1) td{border-top:none!important}lib-detail-view .tableContainer table tr:first-child td:first-child{border-top:none!important}lib-detail-view .mat-menu-item{background:transparent;color:#1e293b;font-size:12px}lib-detail-view .resizing{cursor:col-resize!important}lib-detail-view .srNo{padding-left:1px!important;width:auto!important;min-width:78px!important}lib-detail-view .zero-records{height:calc(100% - 2.4rem);max-width:100%;position:sticky;left:0;color:#a39f9f!important}.deatail-group-tabale-header{padding:6px 7px}.deatail-group-tabale-header .deatil-group-table-head-child{display:flex;justify-content:space-between;column-gap:7px;align-items:center}.deatail-group-tabale-header .deatil-group-table-head-child .table-heading{white-space:nowrap;width:100%;font-weight:900}.deatail-group-tabale-header .deatil-group-table-head-child .sort-heading{cursor:not-allowed;white-space:nowrap;width:100%}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow{white-space:nowrap}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .sorting-icon{padding:4px}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .sorting-icon:hover{background-color:#e2e8f0!important}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .sort-arrow-up,.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .sort-arrow-down{font-size:10px;line-height:8px;color:#000;opacity:.5}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .arrow-active{opacity:1!important}.deatail-group-tabale-header .deatil-group-table-head-child .sorting-arrow .order-sequence{border-radius:100%;background-color:#7964ed14;padding:0 6px;color:#0000007a;font-size:10px}.deatail-group-tabale-header .deatil-group-table-head-child .vertical-dot:hover{background-color:#e2e8f0!important}.deatail-group-tabale-header .deatil-group-table-head-child .vertical-dot .mat-icon{font-size:15px;cursor:all-scroll}.deatail-group-tabale-header .deatil-group-table-head-child .tab-down-arrow{top:3px;position:relative}.aggregate-fun{padding:0 10px;font-size:12px}.url:hover{color:#00f}.local-body table{width:100%!important;height:auto;border:none!important}.detailed-group-aggregate-function p:last-child{margin-bottom:0!important}.mat-menu-panel{min-height:-moz-fit-content!important;min-height:fit-content!important}\n"] }]
1549
+ }], function () { return [{ type: i1.ReportBuilderMasterService }, { type: i2.FieldsListService }, { type: i3.CommonService }, { type: i4.ElementService }, { type: i5.TabularReportService }, { type: i6.DashboardBuilderService }, { type: i0.Injector }]; }, { page: [{
1550
+ type: Input
1551
+ }], tabularReport: [{
1552
+ type: Input
1553
+ }], isEditable: [{
1554
+ type: Input
1555
+ }], x1ImageMediaUrl: [{
1556
+ type: Input
1557
+ }], elementGuid: [{
1558
+ type: Input
1559
+ }], screenType: [{
1560
+ type: Input
1561
+ }], drillThroughParentType: [{
1562
+ type: Input
1563
+ }], drillThroughFilterInput: [{
1564
+ type: Input
1565
+ }], parentRef: [{
1566
+ type: Input
1567
+ }], contextMenu: [{
1568
+ type: ViewChild,
1569
+ args: [MatMenuTrigger]
1570
+ }], drillThroughTrigger: [{
1571
+ type: ViewChild,
1572
+ args: ['drillThorughMenuTrigger', { read: MatMenuTrigger, static: false }]
1573
+ }], x1MediaUrl: [{
1574
+ type: Input
1575
+ }], reportId: [{
1576
+ type: Input
1577
+ }], appVersionId: [{
1578
+ type: Input
1579
+ }], click: [{
1580
+ type: HostListener,
1581
+ args: ['window:mousedown', ['$event']]
1582
+ }] }); })();
1583
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWdyb3VwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWFwcC1jb21tb24tbGliL3NyYy9saWIvZW5saWdodGVuLWxpYi9yZXBvcnQvdGFidWxhci1yZXBvcnQvdGFidWxhci9kZXRhaWwtZ3JvdXAtdmlldy9kZXRhaWwtZ3JvdXAtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXgtYXBwLWNvbW1vbi1saWIvc3JjL2xpYi9lbmxpZ2h0ZW4tbGliL3JlcG9ydC90YWJ1bGFyLXJlcG9ydC90YWJ1bGFyL2RldGFpbC1ncm91cC12aWV3L2RldGFpbC1ncm91cC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUErQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEosT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHckYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdEYsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxj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IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgQ3Jvc3NGaWx0ZXJEdG8sIEVsZW1lbnRzRHRvIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tbW9uLWR0by9lbGVtZW50cy1kdG8nO1xuaW1wb3J0IHsgUmVwb3J0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tbW9uLXV0aWxzL3JlcG9ydCc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVEYXRhIH0gZnJvbSAnLi4vLi4vLi4vLi4vZmllbGRzL2F0dHJpYnV0ZS1kYXRhJztcbmltcG9ydCB7IEZpZWxkc0xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZmllbGQtbGlzdC1saWIvZmllbGRzLWxpc3Quc2VydmljZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBSZXBvcnRCdWlsZGVyTWFzdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3JlcG9ydC1idWlsZGVyLW1hc3Rlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYnVsYXJSZXBvcnQgfSBmcm9tICcuLi8uLi90YWJ1bGFyLXJlcG9ydCc7XG5pbXBvcnQgeyBPcmRlckJ5VHlwZSB9IGZyb20gJy4uLy4uL29yZGVyYnktdHlwZSc7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NvcGVUeXBlLCBTY3JlZW5UeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZmlsdGVycy9jb25kaXRpb24tdHlwZSc7XG5pbXBvcnQgeyBUYWJ1bGFyUmVwb3J0U2VydmljZSB9IGZyb20gJy4uLy4uL3RhYnVsYXItcmVwb3J0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJy4uLy4uLy4uL2dyYXBoaWNhbC1yZXBvcnQvcGFnZS9wYWdlJztcbmltcG9ydCB7IERhc2hib2FyZEJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGFzaGJvYXJkLWxpYi9kYXNoYm9hcmQtYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYnVsYXJDb21wb25lbnQgfSBmcm9tICcuLi90YWJ1bGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBeEZpbHRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2ZpbHRlcnMvYXgtZmlsdGVyJztcblxuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IENvbmRpdGlvbmFsRm9ybWF0dGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC9jb25kaXRpb25hbC1mb3JtYXR0aW5nL2NvbmRpdGlvbmFsLWZvcm1hdHRpbmcvY29uZGl0aW9uYWwtZm9ybWF0dGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEdob3N0TG9hZGVyVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2dob3N0LWxvYWRlci9naG9zdC1sb2FkZXIuY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1kZXRhaWwtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXRhaWwtZ3JvdXAtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RldGFpbC1ncm91cC12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRGV0YWlsR3JvdXBWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHBhZ2U6IFBhZ2U7XG4gIEBJbnB1dCgpIHRhYnVsYXJSZXBvcnQ6IFRhYnVsYXJSZXBvcnQ7XG4gIEBJbnB1dCgpIGlzRWRpdGFibGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpeDFJbWFnZU1lZGlhVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVsZW1lbnRHdWlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNjcmVlblR5cGU6IFNjcmVlblR5cGU7XG4gIEBJbnB1dCgpIGRyaWxsVGhyb3VnaFBhcmVudFR5cGU6IFNjcmVlblR5cGU7XG4gIEBJbnB1dCgpIGRyaWxsVGhyb3VnaEZpbHRlcklucHV0OiBBeEZpbHRlcjtcbiAgQElucHV0KCkgcGFyZW50UmVmOiBUYWJ1bGFyQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKE1hdE1lbnVUcmlnZ2VyKSBjb250ZXh0TWVudTogSFRNTEVsZW1lbnQ7XG4gIEBWaWV3Q2hpbGQoJ2RyaWxsVGhvcnVnaE1lbnVUcmlnZ2VyJywgeyByZWFkOiBNYXRNZW51VHJpZ2dlciwgc3RhdGljOiBmYWxzZX0pIGRyaWxsVGhyb3VnaFRyaWdnZXI6IE1hdE1lbnVUcmlnZ2VyO1xuICBASW5wdXQoKXgxTWVkaWFVcmw6IHN0cmluZztcbiAgQElucHV0KCkgcmVwb3J0SWQ6IG51bWJlcjtcbiAgQElucHV0KCkgYXBwVmVyc2lvbklkOiBudW1iZXI7XG5cbiAgY29sdW1uRGF0YTogYW55O1xuICBjb250ZXh0TWVudVBvc2l0aW9uID0geyB4OiAnMHB4JywgeTogJzBweCcgfTtcbiAgY3VycmVudEluZGV4OiBudW1iZXI7XG4gIHNob3dTdW06IGJvb2xlYW49ZmFsc2U7XG4gIHNob3dNYXg6IGJvb2xlYW49ZmFsc2U7XG4gIHNob3dNaW46IGJvb2xlYW49ZmFsc2U7XG4gIHNob3dBdmc6IGJvb2xlYW49ZmFsc2U7XG4gIG1vbWVudDogYW55PW1vbWVudDtcbiAgaXNEaXJ0eTogYm9vbGVhbjtcbiAgcmVwb3J0OiBSZXBvcnQ7XG4gIF9pc0NvbHVtbkV4aXN0OiBib29sZWFuPWZhbHNlO1xuICBpc0RhdGFMb2FkZWQ9ZmFsc2U7XG4gIGhlYWRlckxvYWRlZD1mYWxzZTtcbiAgc2VsZWN0ZWRSb3dJbmRleGVzOiBBcnJheTxudW1iZXI+ID0gW107XG4gIGRyaWxsVGhyb3VnaEZpbHRlcjogYW55O1xuICBjdXJyZW50QXR0cmlidXRlOiBhbnk7XG4gIGlzSGlkZGVuOiBib29sZWFuPWZhbHNlO1xuICBkaWFsb2c6IE1hdERpYWxvZztcbiAgR2hvc3RMb2FkZXJUeXBlID0gR2hvc3RMb2FkZXJUeXBlO1xuICBwcml2YXRlIF91bnN1YnNjcmliZUFsbDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9yZXBvcnRCdWlsZGVyTWFzdGVyU2VydmljZTogUmVwb3J0QnVpbGRlck1hc3RlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZmllbGRzTGlzdFNlcnZpY2U6IEZpZWxkc0xpc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2NvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFNlcnZpY2U6IEVsZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3RhYnVsYXJSZXBvcnRTZXJ2aWNlOiBUYWJ1bGFyUmVwb3J0U2VydmljZSxcbiAgICBwcml2YXRlIF9kYXNoYm9hcmRCdWlsZGVyU2VydmljZTogRGFzaGJvYXJkQnVpbGRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHtcbiAgICB0aGlzLmRpYWxvZyA9IHRoaXMuX2luamVjdG9yLmdldChNYXREaWFsb2cpO1xuICB9XG5cbiAgZ2V0IHNjcmVlblR5cGVzKCk6IHR5cGVvZiBTY3JlZW5UeXBlIHtcbiAgICByZXR1cm4gU2NyZWVuVHlwZTtcbiAgfVxuICAvKipcbiAgICogaG9zdExpc3RlbmVyIHVzZSB0byBvcGVuIG1hdE1lbnUgc3BlY2lmaWMgbG9jYXRpb25cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIGNsaWNrKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuY29udGV4dE1lbnUgJiZcbiAgICAgICAgICAgIHRoaXMuY29udGV4dE1lbnUuYXJpYUV4cGFuZGVkID09PSAndHJ1ZScgJiZcbiAgICAgICAgICAgIGV2ZW50LndoaWNoID09PSAzXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0TWVudS5jbGljaygpO1xuICAgICAgICB9XG4gICAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmliZXJzKCk7XG4gICAgdGhpcy5yZXBvcnQ9dGhpcy5fcmVwb3J0QnVpbGRlck1hc3RlclNlcnZpY2UucmVwb3J0O1xuICAgIGlmKHRoaXMucmVwb3J0SWQpe1xuICAgICAgLy8gdGhpcy5nZXRUYWJ1bGFyRGF0YSgpOyAgLy8gYWxzbyBjYWxsaW5nIGZvcm0gbmdPbkNoYW5nZXMgYXMgcGVyIGRpc2N1c3MgIHdpdGggU3dhcG5pbFxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLm5leHQoKTtcbiAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5jb21wbGV0ZSgpO1xuICB9XG4gIC8qKlxuICAgKiBTdWJzY3JpYmVycyBzaG91bGQgYmUgYWRkZWQgaGVyZS5cbiAgICovXG4gIHN1YnNjcmliZXJzKCk6IHZvaWR7XG4gICAgLy8gQ3Jvc3NGaWx0ZXIgU3Vic2NyaWJlclxuICAgIHRoaXMuX2VsZW1lbnRTZXJ2aWNlLmNyb3NzRmlsdGVyRXZlbnQuc3Vic2NyaWJlKChjcm9zc0ZpbHRlcjogQ3Jvc3NGaWx0ZXJEdG8pID0+IHtcbiAgICAgICAgaWYoY3Jvc3NGaWx0ZXIucmVzZXRGaWx0ZXIpXG4gICAgICAgICAge3RoaXMuc2VsZWN0ZWRSb3dJbmRleGVzID0gW107fVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBUYWJ1bGFyIGRhdGFcbiAgICovXG4gIGdldFRhYnVsYXJEYXRhKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBuZXcgRWxlbWVudHNEdG8odGhpcy50YWJ1bGFyUmVwb3J0KTtcbiAgICAgICAgaWYodGhpcy5zY3JlZW5UeXBlID09PSBTY3JlZW5UeXBlLmRyaWxsVGhyb3VnaCl7XG4gICAgICAgICAgZGF0YS5maWx0ZXJzLmdsb2JhbEZpbHRlcnMuYmFzaWMucHVzaCh0aGlzLmRyaWxsVGhyb3VnaEZpbHRlcklucHV0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGEuZmlsdGVycy5nbG9iYWxGaWx0ZXJzLmJhc2ljID0gdGhpcy5fZWxlbWVudFNlcnZpY2UuZ2V0VmFsaWRGaWx0ZXIodGhpcy5fZWxlbWVudFNlcnZpY2UuZmlsdGVyc0R0by5iYXNpYywgU2NvcGVUeXBlLmdsb2JhbCk7XG4gICAgICAgIGRhdGEuZmlsdGVycy5nbG9iYWxGaWx0ZXJzLmNhdGVnb3J5ID0gdGhpcy5fZWxlbWVudFNlcnZpY2UuZ2V0VmFsaWRGaWx0ZXJDYXRlZ29yeSh0aGlzLl9lbGVtZW50U2VydmljZS5maWx0ZXJzRHRvLmNhdGVnb3J5LCBTY29wZVR5cGUuZ2xvYmFsKTtcbiAgICAgIH1cbiAgICAgIGRhdGEuZmlsdGVycy5sb2NhbEZpbHRlcnMuYmFzaWMgPSB0aGlzLl9lbGVtZW50U2VydmljZS5nZXRWYWxpZEZpbHRlcih0aGlzLnRhYnVsYXJSZXBvcnQuZmlsdGVycyk7XG4gICAgICBkYXRhLmZpbHRlcnMubG9jYWxGaWx0ZXJzLmNhdGVnb3J5ID0gdGhpcy5fZWxlbWVudFNlcnZpY2UuZ2V0VmFsaWRGaWx0ZXJDYXRlZ29yeSh0aGlzLnRhYnVsYXJSZXBvcnQuY2F0ZWdvcmllcyk7XG4gICAgICBkYXRhLnJlcG9ydElkID0gdGhpcy5yZXBvcnRJZDtcbiAgICAgIGRhdGEudHlwZT0ndGFidWxhci1yZXBvcnQnOyAvLyB1c2UgZW51bVxuICAgICAgZGF0YS5vcmRlckJ5PXRoaXMudGFidWxhclJlcG9ydC5zb3J0aW5nO1xuICAgICAgZGF0YS5wYWdlSW5kZXg9dGhpcy50YWJ1bGFyUmVwb3J0LnBhZ2VJbmRleDtcbiAgICAgIGRhdGEucGFnZVNpemU9dGhpcy50YWJ1bGFyUmVwb3J0LnBhZ2VTaXplO1xuICAgICAgZGF0YS5wYWdlTGVuZ3RoPXRoaXMudGFidWxhclJlcG9ydC5wYWdlTGVuZ3RoO1xuICAgICAgaWYodGhpcy5kcmlsbFRocm91Z2hQYXJlbnRUeXBlID09IFNjcmVlblR5cGUuZGFzaGJvYXJkQnVpbGRlciB8fCB0aGlzLmRyaWxsVGhyb3VnaFBhcmVudFR5cGUgPT0gU2NyZWVuVHlwZS5jb250YWluZXJEYXNoYm9hcmQpIHtcbiAgICAgICAgZGF0YS5hcGlUeXBlID0gJ2Rhc2hib2FyZCc7XG4gICAgICB9XG4gICAgICB0aGlzLl9maWVsZHNMaXN0U2VydmljZS5nZXRNYXRyaXhEYXRhKGRhdGEpLnRoZW4oKGVudGl0aWVzQXR0cmlidXRlKSA9PiB7XG4gICAgICAgIGlmIChlbnRpdGllc0F0dHJpYnV0ZSAhPSBudWxsKSB7XG4gICAgICAgICAgZW50aXRpZXNBdHRyaWJ1dGUubWF0cml4LmF0dHJpYnV0ZXMuc2hvd1N1bT10cnVlO1xuICAgICAgICAgIHRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlcyA9IGVudGl0aWVzQXR0cmlidXRlLm1hdHJpeC5hdHRyaWJ1dGVzO1xuICAgICAgICAgIHRoaXMudGFidWxhclJlcG9ydC5wYWdlTGVuZ3RoPWVudGl0aWVzQXR0cmlidXRlLnRvdGFsUmVjb3JkcztcbiAgICAgICAgICB0aGlzLnRhYnVsYXJSZXBvcnQucGFnZUluZGV4PWVudGl0aWVzQXR0cmlidXRlLnBhZ2VJbmRleDtcbiAgICAgICAgICB0aGlzLnRhYnVsYXJSZXBvcnQucGFnZVNpemU9ZW50aXRpZXNBdHRyaWJ1dGUucGFnZVNpemU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50YWJ1bGFyUmVwb3J0LmlzRGF0YUxvYWRlZD10cnVlO1xuICAgICAgICB0aGlzLmlzRGF0YUxvYWRlZD10cnVlO1xuICAgICAgICB0aGlzLmhlYWRlckxvYWRlZD10cnVlO1xuICAgICAgfSk7XG5cbiAgICB9XG4gICAgdGhpcy50b1Nob3dBZ2dyZWdhdGlvbigpO1xuXG5cbiAgfVxuICAvKipcbiAgICogdG8gc2V0IG1hdHJpeCBhdHRyaWJ1dGUgZGF0YSBhZnRlciBvbmNoYW5nZVxuICAgKlxuICAgKiBAcGFyYW0gY2hhbmdlc1xuICAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuaXNEYXRhTG9hZGVkPWZhbHNlO1xuICAgIHRoaXMucmVwb3J0PXRoaXMuX3JlcG9ydEJ1aWxkZXJNYXN0ZXJTZXJ2aWNlLnJlcG9ydDtcbiAgICAgLy9TZXQgUGFnaW5hdGlvblxuICAgICBpZighdGhpcy50YWJ1bGFyUmVwb3J0LnBhZ2VJbmRleCl7XG4gICAgICB0aGlzLnRhYnVsYXJSZXBvcnQucGFnZUluZGV4ID0gMDtcbiAgICAgIHRoaXMudGFidWxhclJlcG9ydC5wYWdlU2l6ZSA9IDEwO1xuICAgICAgdGhpcy50YWJ1bGFyUmVwb3J0LnBhZ2VMZW5ndGggPSAwO1xuICAgIH1cblxuICAgIHRoaXMuZ2V0VGFidWxhckRhdGEoKTtcblxuICB9XG4vKipcbiAqIHRvIGRyb3AgY29sdW1uIGZyb20gdGFidWxhciByZXBvcnRcbiAqXG4gKiBAcGFyYW0gQ2RrRHJhZ0Ryb3BcbiAqXG4gKi9cbiAgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KTogdm9pZHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy50YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMuX2NvbW1vblNlcnZpY2UuaXNSZXBvcnRCdWlsZGVyRGlydHk9dHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0byBtb3ZlIGNvbHVtbiBsZWZ0IG9uIHRhYnVsYXIgcmVwb3J0XG4gICAqXG4gICAqIEBwYXJhbSBDZGtEcmFnRHJvcFxuICAgKlxuICAgKi9cbiAgIG1vdmVDb2x1bW5MZWZ0KGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pOiB2b2lke1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLnRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMsdGhpcy5jdXJyZW50SW5kZXgsdGhpcy5jdXJyZW50SW5kZXgtMSk7XG4gICAgdGhpcy5fY29tbW9uU2VydmljZS5pc1JlcG9ydEJ1aWxkZXJEaXJ0eT10cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIHRvIG1vdmUgY29sdW1uIHJpZ2h0IG9uIHRhYnVsYXIgcmVwb3J0XG4gICAqXG4gICAqIEBwYXJhbSBDZGtEcmFnRHJvcFxuICAgKlxuICAgKi9cbiAgbW92ZUNvbHVtblJpZ2h0KGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pOiB2b2lke1xuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLnRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMsdGhpcy5jdXJyZW50SW5kZXgsdGhpcy5jdXJyZW50SW5kZXgrMSk7XG4gICAgdGhpcy5fY29tbW9uU2VydmljZS5pc1JlcG9ydEJ1aWxkZXJEaXJ0eT10cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIHRvIHJlbW92ZSBjb2x1bW4gZnJvbSB0YWJ1bGFyIHJlcG9ydFxuICAgKlxuICAgKiBAcGFyYW0gRXZlbnRcbiAgICpcbiAgICovXG4gIHJlbW92ZUNvbHVtbigkZXZlbnQ6IEV2ZW50KTogdm9pZHtcbiAgIHRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlcy5zcGxpY2UodGhpcy5jdXJyZW50SW5kZXgsMSk7XG4gICB0aGlzLiBnZXRUYWJ1bGFyRGF0YSgpO1xuICAgdGhpcy5fY29tbW9uU2VydmljZS5pc1JlcG9ydEJ1aWxkZXJEaXJ0eT10cnVlO1xuICB9XG5cblxuXG4gIC8qKmNvbnRleHQgbWVudSBmb3IgdGFibGUgY29sdW1uc1xuICAgKlxuICAgKiBAcGFyYW0gTW91c2VFdmVudFxuICAgKiBAcGFyYW0gbnVtYmVyXG4gICAqIEBwYXJhbSBBdHRyaWJ1dGVEYXRhXG4gICAqL1xuXG4gIG9uQ29udGV4dE1lbnUoZXZlbnQ6IE1vdXNlRXZlbnQsaW5kZXg6IG51bWJlcixhdHRyPzogQXR0cmlidXRlRGF0YSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0VkaXRhYmxlKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuY29udGV4dE1lbnUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChhdHRyLnRhYmxlTmFtZSsnLScrIGF0dHIubmFtZSk7XG4gICAgdGhpcy5jdXJyZW50SW5kZXg9aW5kZXg7XG4gICAgdGhpcy5jb250ZXh0TWVudS5jbGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRvIHJldHVybnMgc3VtIG9mIHJvd3NcbiAgICpcbiAgICogQHBhcmFtIHN0cmluZ1xuICAgKlxuICAgKi9cbiAgc3VtKHNlcmllczogQXJyYXk8c3RyaW5nPik6IG51bWJlcntcbiAgICBsZXQgdG90YWwgPSAwO1xuICAgIGZvcihjb25zdCBkYXRhIG9mIHNlcmllcyl7XG4gICAgICB0b3RhbCArPSBOdW1iZXIoZGF0YSk7XG4gICAgfVxuICAgIHJldHVybiB0b3RhbDtcbiAgfVxuICAvKipcbiAgICogdG8gcmV0dXJucyBhdmVyYWdlIG9mIHJvd3NcbiAgICpcbiAgICogQHBhcmFtIHN0cmluZ1xuICAgKlxuICAgKi9cbiAgYXZnKHNlcmllczogQXJyYXk8c3RyaW5nPik6IG51bWJlcntcbiAgICBsZXQgdG90YWwgPSAwO1xuICAgIGZvcihjb25zdCBkYXRhIG9mIHNlcmllcyl7XG4gICAgICB0b3RhbCArPSBOdW1iZXIoZGF0YSk7XG4gICAgfVxuICAgIGlmKHNlcmllcy5sZW5ndGg9PT0wKXtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gKHBhcnNlRmxvYXQoKHRvdGFsL3Nlcmllcy5sZW5ndGgpLnRvRml4ZWQoMikpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0byByZXR1cm5zIG1heGltdW0gdmFsdWUgb2Ygcm93c1xuICAgKlxuICAgKiBAcGFyYW0gc3RyaW5nXG4gICAqXG4gICAqL1xuICBtYXgoc2VyaWVzOiBBcnJheTxzdHJpbmc+KTogbnVtYmVye1xuICAgIGNvbnN0IGE9W107XG4gICAgZm9yKGNvbnN0IGRhdGEgb2Ygc2VyaWVzKXtcbiAgICAgIGEucHVzaChOdW1iZXIoZGF0YSkpO1xuICAgIH1cbiAgICBpZihhLmxlbmd0aD09PTApe1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiAgTWF0aC5tYXgoLi4uYSk7XG4gIH1cblxuICAvKipcbiAgICogdG8gcmV0dXJucyBtaW5pbXVtIHZhbHVlIG9mIHJvd3NcbiAgICpcbiAgICogQHBhcmFtIHN0cmluZ1xuICAgKlxuICAgKi9cbiAgbWluKHNlcmllczogQXJyYXk8c3RyaW5nPik6IG51bWJlcntcbiAgICBjb25zdCBhPVtdO1xuICAgIGZvcihjb25zdCBkYXRhIG9mIHNlcmllcyl7XG4gICAgICBhLnB1c2goTnVtYmVyKGRhdGEpKTtcbiAgICB9XG4gICAgaWYoYS5sZW5ndGg9PT0wKXtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICAgICAgcmV0dXJuICBNYXRoLm1pbiguLi5hKTtcbiAgfVxuICAvKipcbiAgICogdG8gcmV0dXJucyBjb3VudCBvZiB1bmlxdWUgdmFsdWUgb2Ygcm93c1xuICAgKlxuICAgKiBAcGFyYW0gc3RyaW5nXG4gICAqXG4gICAqL1xuICB1bmlxdWUoc2VyaWVzOiBBcnJheTxzdHJpbmc+KTogbnVtYmVye1xuICAgIHJldHVybiBbLi4ubmV3IFNldChzZXJpZXMpXS5sZW5ndGg7XG4gIH1cblxuXG4gIC8qKipcbiAgICogT24gY2hhcnQgY29udGV4dCAgY2xpY2sgZm9yIHN1bSBhZ2dyZWdhdGlvblxuICAgKiBAcGFyYW0gTWF0Q2hlY2tib3hDaGFuZ2VcbiAgICovXG4gIHN1bUFnZ3JlZ2F0aW9uKG9iOiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWR7XG4gICAgdGhpcy5zaG93U3VtPW9iLmNoZWNrZWQ7XG4gICAgdGhpcy5fY29tbW9uU2VydmljZS5pc1JlcG9ydEJ1aWxkZXJEaXJ0eT10cnVlO1xuICAgIHRoaXMudG9TaG93QWdncmVnYXRpb24oKTtcbiAgfVxuICAvKioqXG4gICAqIE9uIGNoYXJ0IGNvbnRleHQgIGNsaWNrIGZvciBhdmcgYWdncmVnYXRpb25cbiAgICogQHBhcmFtIE1hdENoZWNrYm94Q2hhbmdlXG4gICAqL1xuICBhdmVyYWdlQWdncmVnYXRpb24ob2I6IE1hdENoZWNrYm94Q2hhbmdlKTogdm9pZHtcbiAgICB0aGlzLnNob3dBdmc9b2IuY2hlY2tlZDtcbiAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmlzUmVwb3J0QnVpbGRlckRpcnR5PXRydWU7XG4gICAgdGhpcy50b1Nob3dBZ2dyZWdhdGlvbigpO1xuICB9XG4gIC8qKipcbiAgICogT24gY2hhcnQgY29udGV4dCAgY2xpY2sgZm9yIG1heCBhZ2dyZWdhdGlvblxuICAgKiBAcGFyYW0gTWF0Q2hlY2tib3hDaGFuZ2VcbiAgICovXG4gIG1heEFnZ3JlZ2F0aW9uKG9iOiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWR7XG4gICAgdGhpcy5zaG93TWF4PW9iLmNoZWNrZWQ7XG4gICAgdGhpcy5fY29tbW9uU2VydmljZS5pc1JlcG9ydEJ1aWxkZXJEaXJ0eT10cnVlO1xuICAgIHRoaXMudG9TaG93QWdncmVnYXRpb24oKTtcbiAgfVxuICAvKioqXG4gICAqIE9uIGNoYXJ0IGNvbnRleHQgIGNsaWNrIGZvciBtaW4gYWdncmVnYXRpb25cbiAgICogQHBhcmFtIE1hdENoZWNrYm94Q2hhbmdlXG4gICAqL1xuICBtaW5BZ2dyZWdhdGlvbihvYjogTWF0Q2hlY2tib3hDaGFuZ2UpOiB2b2lke1xuICAgIHRoaXMuc2hvd01pbj1vYi5jaGVja2VkO1xuICAgIHRoaXMuX2NvbW1vblNlcnZpY2UuaXNSZXBvcnRCdWlsZGVyRGlydHk9dHJ1ZTtcbiAgICB0aGlzLnRvU2hvd0FnZ3JlZ2F0aW9uKCk7XG4gIH1cblxuXG4vKipcbiAqIHRvIHNldCBpc0RpcnR5IGFmdGVyIGNoYW5nZXMgaW4gdGFidWxhciByZXBvcnQgZmlsdGVyXG4gKlxuICovXG4gIGRpcnR5Rmxvd0NoZWNrRXZlbnQoKTogdm9pZHtcbiAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmlzUmVwb3J0QnVpbGRlckRpcnR5PXRydWU7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyB3aWxsIHNvcnQgdGhlIGRhdGEgb2YgdGFidWxhclxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGluZGV4XG4gICAqL1xuICBvbkNsaWNrU29ydGluZyhldmVudDogS2V5Ym9hcmRFdmVudCxpbmRleDogbnVtYmVyKTogdm9pZHtcbiAgICAgIGNvbnN0IGF0dHI9dGhpcy50YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzW2luZGV4XTtcbiAgICAgIHRoaXMuaXNDb2x1bW5FeGlzdChhdHRyKTtcbiAgICAgIGF0dHIuaXNTb3J0YWJsZT10cnVlO1xuICAgICAgLy8gdG8gc2V0IGdyb3VwIGJ5IGFjY29yZGluZyB0byBsYXN0IHZhbHVlIC8vXG4gICAgICBpZihhdHRyLmdyb3VwQnk9PT1PcmRlckJ5VHlwZS5hc2NlbmRpbmcpe1xuICAgICAgICBhdHRyLmdyb3VwQnk9T3JkZXJCeVR5cGUuZGVzY2VuZGluZztcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYoYXR0ci5ncm91cEJ5PT09T3JkZXJCeVR5cGUubm9uZSl7XG4gICAgICAgIGF0dHIuZ3JvdXBCeT1PcmRlckJ5VHlwZS5hc2NlbmRpbmc7XG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgICBhdHRyLmdyb3VwQnk9T3JkZXJCeVR5cGUubm9uZTtcbiAgICAgICAgYXR0ci5pc1NvcnRhYmxlPWZhbHNlO1xuICAgICAgfVxuICAgIC8vIC0tLS0tLS0taWYgY29uZGl0aW9uIGZvciBtdWx0aXBsZSBzb3J0aW5nLS0tLS0tLS0tLS0tLS1cbiAgICAgIGlmKGV2ZW50LmN0cmxLZXl8fGV2ZW50Lm1ldGFLZXkpe1xuICAgICAgICAgIHRoaXMudGFidWxhclJlcG9ydC5zb3J0aW5nLnB1c2goYXR0cik7XG5cbiAgICAgIH1cbiAgICAgIC8vLS0tLSBmb3Igc2luZ2xlIGNvbHVtbiBzb3J0aW5nIC0tLS0tLS1cbiAgICAgIGVsc2V7XG4gICAgICAgIHRoaXMuc2luZ2xlQ29sdW1uU29ydGluZyhhdHRyKTtcbiAgICB9XG4gICAgdGhpcy50YWJ1bGFyUmVwb3J0LnNvcnRpbmcuZm9yRWFjaCgoYXR0cmlidXRlLHNvcnRpbmdJbmRleCkgPT4ge1xuICAgICAgaWYoIWF0dHJpYnV0ZS5pc1NvcnRhYmxlKXtcbiAgICAgICAgdGhpcy50YWJ1bGFyUmVwb3J0LnNvcnRpbmcuc3BsaWNlKHNvcnRpbmdJbmRleCwxKTtcbiAgICAgIH1cblxuICAgIH0pO1xuXG4gICAgdGhpcy50YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzW2luZGV4XS5vcmRlclNlcXVlbmNlPXRoaXMudGFidWxhclJlcG9ydC5zb3J0aW5nLmluZGV4T2YoYXR0cikrMTtcbiAgICAgIHRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlcy5mb3JFYWNoKChhdHRyaWJ1dGUpID0+IHtcbiAgICAgICAgaWYoYXR0ci5uYW1lIT09YXR0cmlidXRlLm5hbWUpe1xuICAgICAgICAgIGF0dHJpYnV0ZS5vcmRlclNlcXVlbmNlPXRoaXMuZ2V0U29ydEluZGV4KGF0dHJpYnV0ZSk7XG4gICAgICAgICAgaWYoIWF0dHJpYnV0ZS5vcmRlclNlcXVlbmNlKXtcbiAgICAgICAgICAgIGF0dHJpYnV0ZS5vcmRlclNlcXVlbmNlPTA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH0pO1xuICAgIHRoaXMuaGVhZGVyTG9hZGVkPWZhbHNlO1xuICAgIHRoaXMuZ2V0VGFidWxhckRhdGEoKTtcbn1cbnNpbmdsZUNvbHVtblNvcnRpbmcoYXR0cjogQXR0cmlidXRlRGF0YSk6IHZvaWR7XG4gIHRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlcy5mb3JFYWNoKChhdHRyaWJ1dGUpID0+IHtcbiAgICBpZihhdHRyaWJ1dGUubmFtZSE9PWF0dHIubmFtZSl7XG4gICAgICBhdHRyaWJ1dGUuZ3JvdXBCeT1PcmRlckJ5VHlwZS5ub25lO1xuICAgICAgYXR0cmlidXRlLmlzU29ydGFibGU9ZmFsc2U7XG4gICAgfVxuICB9KTtcbiAgdGhpcy50YWJ1bGFyUmVwb3J0LnNvcnRpbmc9W107XG4gIHRoaXMudGFidWxhclJlcG9ydC5zb3J0aW5nLnB1c2goYXR0cik7XG59XG4vLyB0aGlzIGZ1bmN0aW9uIHJldHVybiB0cnVlIGlmIGF0dHJpYnV0ZSBoYXZlIHNob3cgbWluL21heC9hdmcvc3VtIGFnZ3JlZ2F0ZXMgdG8gc2hvdyBsYXN0IHJvd1xuICB0b1Nob3dBZ2dyZWdhdGlvbigpOiB2b2lke1xuICAgIHRoaXMudGFidWxhclJlcG9ydC5zaG93Qm90dG9tUm93PWZhbHNlO1xuICAgIGxldCBoaWRkZW5Db3VudCA9IDA7XG4gICAgdGhpcy50YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzLmZvckVhY2goKGF0dHJpYnV0ZSkgPT4ge1xuICAgICAgaWYoYXR0cmlidXRlLmFnZ3JlZ2F0ZS5zaG93QXZnIHx8IGF0dHJpYnV0ZS5hZ2dyZWdhdGUuc2hvd01heHx8YXR0cmlidXRlLmFnZ3JlZ2F0ZS5zaG93TWluIHx8YXR0cmlidXRlLmFnZ3JlZ2F0ZS5zaG93U3VtIHx8IGF0dHJpYnV0ZS5hZ2dyZWdhdGUuc2hvd1VuaXF1ZUNvdW50KSB7XG4gICAgICAgIHRoaXMudGFidWxhclJlcG9ydC5zaG93Qm90dG9tUm93PSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYoYXR0cmlidXRlLmlzSGlkZGVuKXtcbiAgICAgICAgaGlkZGVuQ291bnQrKztcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZihoaWRkZW5Db3VudCA9PSAgdGhpcy50YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzLmxlbmd0aCl7XG4gICAgICB0aGlzLmlzSGlkZGVuID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuXG4gIGdldFNvcnRJbmRleChhdHRyaWJ1dGVEYXRhOiBBdHRyaWJ1dGVEYXRhKTogbnVtYmVye1xuICAgIGxldCBhdHRyaWJ1dGVJbmRleCA9IDA7XG4gICAgdGhpcy50YWJ1bGFyUmVwb3J0LnNvcnRpbmcuZm9yRWFjaCgoYXR0cmlidXRlLGluZGV4KSA9PiB7XG4gICAgICBpZihhdHRyaWJ1dGUubmFtZT09PWF0dHJpYnV0ZURhdGEubmFtZSAmJiBhdHRyaWJ1dGUuaXNTb3J0YWJsZSl7XG4gICAgICAgIGF0dHJpYnV0ZUluZGV4PWluZGV4O1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBhdHRyaWJ1dGVJbmRleCsxO1xuICB9XG5cbiAgLyoqXG4gICAqIHRvIGNoZWNrIGRyb3BwZWQgY29sdW1uIGlzIGFscmVhZHkgZXhpc3QgaW4gdGFibGUgb3Igbm90XG4gICAqXG4gICAqIEBwYXJhbSBBdHRyaWJ1dGVEYXRhXG4gICAqXG4gICAqL1xuICAgIGlzQ29sdW1uRXhpc3QoYXR0cmlidXRlRGF0YTogQXR0cmlidXRlRGF0YSk6IHZvaWR7XG4gICAgdGhpcy50YWJ1bGFyUmVwb3J0LnNvcnRpbmcuZm9yRWFjaCgoYXR0cmlidXRlLGluZGV4KSA9PiB7XG4gICAgICAgIGlmKGF0dHJpYnV0ZS5uYW1lPT09YXR0cmlidXRlRGF0YS5uYW1lKXtcbiAgICAgICAgICB0aGlzLnRhYnVsYXJSZXBvcnQuc29ydGluZy5zcGxpY2UoaW5kZXgsMSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKnRvIGVtaXQgdGFidWxhciBwcm9wZXJ0eSBvbiB0YWJsZSBjbGlja1xuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICovXG4gICAgdGFibGVTZWxlY3QoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuX3RhYnVsYXJSZXBvcnRTZXJ2aWNlLnRhYmxlQ2xpY2tFdmVudCh0aGlzLnRhYnVsYXJSZXBvcnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRvIHJlZGlyZWN0IG1lZGlhIHVybFxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICogQHBhcmFtIHVybFxuICAgICAqL1xuICAgIHJlZGlyZWN0KGV2ZW50OiBLZXlib2FyZEV2ZW50LHVybDogc3RyaW5nKTogdm9pZHtcbiAgICAgIGlmKGV2ZW50LmN0cmxLZXl8fGV2ZW50Lm1ldGFLZXkpe1xuICAgICAgd2luZG93Lm9wZW4odXJsICwgJ19ibGFuaycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRvIHJlZGlyZWN0IG1lZGlhIHVybCBvbiBzaW5nbGUgY2xpY2tcbiAgICAgKi9cbiAgICByZWRpcmVjdE9uU2luZ2xlQ2xpY2soZXZlbnQ6IEV2ZW50LHVybDogc3RyaW5nKTogdm9pZHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgd2luZG93Lm9wZW4odXJsICwgJ19ibGFuaycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJlbW92ZSBzbGFzaCBmcm9tIHVybFxuICAgICAqXG4gICAgICogQHBhcmFtIHVybFxuICAgICAqIEByZXR1cm5zXG4gICAgICovXG4gICAgcmVtb3ZlU2xhc2hGcm9tVVJMKHVybDogc3RyaW5nKTogYW55e1xuICAgICAgaWYodXJsICYmIHVybCAhPSAnJyl7XG4gICAgICAgIHJldHVybiB1cmwuc2xpY2UoMCwgLTEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgd2lsbCBnZXQgY2FsbGVkIG9uIHJvdyBjbGlja2VkLiB3ZSBhcmUgdXNpbmcgdGhpcyBmb3IgY3Jvc3MgZmlsdGVyIC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByb3dJbmRleFxuICAgICAqL1xuICAgIHJvd1NlbGVjdGVkKHJvd0luZGV4OiBudW1iZXIpOiB2b2lke1xuICAgICAgLy8gT24gYnVpbGRlciB3ZSBkb24ndCBuZWVkIGNyb3NzIGZpbHRlciB0YWJ1bGFyIHJlcG9ydCBoYXZlIG9ubHkgb25lIGVsZW1lbnQgb24gYnVpbGRlciBzbyB0aGVyZSBpcyBubyBtZWFuaW5nIG9mIGNyb3NzIGZpbHRlciBvbiBidWlsZGVyLlxuICAgICAgaWYoIXRoaXMuaXNFZGl0YWJsZSl7XG4gICAgICAgIC8vUm93IGlzIGFscmVhZHkgc2VsZWN0ZWQgdGhlbiByZW1vdmUgc2VsZWN0aW9uLlxuICAgICAgICBpZih0aGlzLnNlbGVjdGVkUm93SW5kZXhlcy5pbmNsdWRlcyhyb3dJbmRleCkpe1xuICAgICAgICAgIGNvbnN0IGluZCA9IHRoaXMuc2VsZWN0ZWRSb3dJbmRleGVzLmluZGV4T2Yocm93SW5kZXgpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dJbmRleGVzLnNwbGljZShpbmQsMSk7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgLy8gUHVzaCBzZWxlY3RlZCByb3cgaW5kZXggaW4gc2VsZWN0ZWRSb3dJbmRleGVzIGFycmF5XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUm93SW5kZXhlcy5wdXNoKHJvd0luZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENyZWF0ZWQgY3Jvc3NGaWx0ZXIgRFRPXG4gICAgICAgIGNvbnN0IGNyb3NzRmlsdGVyRHRvOiBDcm9zc0ZpbHRlckR0byA9IHtcbiAgICAgICAgICB2YWx1ZXM6IFtdLFxuICAgICAgICAgIGF0dHJpYnV0ZURhdGE6IHRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1swXSxcbiAgICAgICAgICBjaGFydFR5cGU6IHRoaXMudGFidWxhclJlcG9ydC50eXBlLFxuICAgICAgICAgIGVsZW1lbnRHdWlkOiB0aGlzLnRhYnVsYXJSZXBvcnQuZ3VpZCxcbiAgICAgICAgICByZXNldEZpbHRlcjp0cnVlLFxuICAgICAgICAgIHNlbGVjdGVkSW5kZXhMZW5ndGg6IDFcbiAgICAgICAgfTtcbiAgICAgICAgLy8gSWYgcm93cyBhcmUgc2VsZWN0ZWQgdGhlbiBmaWx0ZXIgb3RoZXIgZWxlbWVudHMgZGF0YS5cbiAgICAgICAgaWYodGhpcy5zZWxlY3RlZFJvd0luZGV4ZXMubGVuZ3RoID4gMClcbiAgICAgICAge1xuICAgICAgICAgIGNyb3NzRmlsdGVyRHRvLnJlc2V0RmlsdGVyID0gZmFsc2U7ICAvLyBzZXQgUmVzZXQgZmlsdGVyIGZhbHNlIGJjeiB3ZSBoYXZlIHNlbGVjdGVkIHJvd3MuXG5cbiAgICAgICAgICAvL0FkZGVkIHZhbHVlcyBvZiBzZWxlY3RlZCByb3dzIGluIGNyb3NzIGZpbHRlciBkdG9cbiAgICAgICAgICB0aGlzLnNlbGVjdGVkUm93SW5kZXhlcy5mb3JFYWNoKChpbmQpPT57XG4gICAgICAgICAgICBjcm9zc0ZpbHRlckR0by52YWx1ZXMucHVzaCh0aGlzLnRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXNbMF0uc2VyaWVzW2luZF0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdHJpZ2dlZCBjcm9zcyBmaWx0ZXJcbiAgICAgICAgdGhpcy5fZWxlbWVudFNlcnZpY2UudHJpZ2dlckNyb3NzRmlsdGVyKGNyb3NzRmlsdGVyRHRvKTtcblxuICAgICAgfVxuICAgIH1cblxuICAgIGRyaWxsVGhyb3VnaENvbnRleHQoZXZlbnQ6IE1vdXNlRXZlbnQsIGF0dHJpYnV0ZTogQXR0cmlidXRlRGF0YSwgaTogbnVtYmVyKTogdm9pZCB7XG4gICAgICB0aGlzLnBhcmVudFJlZi5kcmlsbFRocm91Z2hDb250ZXh0KGV2ZW50LCBhdHRyaWJ1dGUsaSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlRnJvbURhc2hib2FyZCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuX2Rhc2hib2FyZEJ1aWxkZXJTZXJ2aWNlLmRlbGV0ZUVsZW1lbnQuZW1pdCh0aGlzLnRhYnVsYXJSZXBvcnQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBoYW5kbGUgcGFnaW5hdG9yIGV2ZW50IHRvIGNoYW5nZSBkYXRhIGFzIHBlciBwYWdlIGluZGV4IGFuZCBwYWdlc2l6ZVxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICovXG4gICAgaGFuZGxlUGFnZUV2ZW50KGV2ZW50OiBQYWdlRXZlbnQpOiB2b2lke1xuICAgICAgdGhpcy50YWJ1bGFyUmVwb3J0LnBhZ2VJbmRleD1ldmVudC5wYWdlSW5kZXg7XG4gICAgICB0aGlzLnRhYnVsYXJSZXBvcnQucGFnZVNpemU9ZXZlbnQucGFnZVNpemU7XG4gICAgICB0aGlzLmlzRGF0YUxvYWRlZD1mYWxzZTtcbiAgICAgIHRoaXMudGFidWxhclJlcG9ydC5pc0RhdGFMb2FkZWQ9ZmFsc2U7XG4gICAgICB0aGlzLmdldFRhYnVsYXJEYXRhKCk7XG4gICAgfVxuXG4gICAgIG9wZW5Db25kaXRpb25hbEZvcm1hdHRpbmcoaW5kZXg6IEV2ZW50KTogdm9pZHtcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZGl0aW9uYWxGb3JtYXR0aW5nQ29tcG9uZW50LCB7XG4gICAgICAgIHdpZHRoOiAnNDAlJyxcbiAgICAgICAgaGVpZ2h0Oic1MCUnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nOiB0aGlzLnRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXNbdGhpcy5jdXJyZW50SW5kZXhdLmNvbmRpdGlvbmFsRm9ybWF0dGluZyxcbiAgICAgICAgICAvLyBtZXNzYWdlOiAnRGVsZXRpbmcgYSByZXBvcnQgd2lsbCBhbHNvIGRlbGV0ZSB0aGUgcmVsYXRlZCBncmFwaHMgZnJvbSB0aGUgZGFzaGJvYXJkIGFzIHdlbGwuIEFyZSB5b3Ugc3VyZSB3YW50IHRvIGRlbGV0ZSB0aGlzIHJlcG9ydD8nLFxuICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAnU2F2ZScsXG4gICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICAgICAgY29uZmlybUJ1dHRvblR5cGU6ICdzdWJtaXQnXG4gICAgICAgIH0sXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdjb25maXJtLW1vZGFsLWNvbnRhaW5lcidcbiAgICAgIH0pO1xuXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgdGhpcy50YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzW3RoaXMuY3VycmVudEluZGV4XS5jb25kaXRpb25hbEZvcm1hdHRpbmc9cmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIH1cblxufVxuIiwiXG48ZGl2ICpuZ0lmPVwiIXRhYnVsYXJSZXBvcnQuaXNEYXRhTG9hZGVkICYmIHRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMubGVuZ3RoIT09MFwiIGNsYXNzPVwibG9hZGVyLXNwaW5uZXJcIj5cbiAgPGFwcC1naG9zdC1sb2FkZXIgW2VsZW1lbnRUeXBlXT1cIkdob3N0TG9hZGVyVHlwZS5UYWJ1bGFyQ2hhcnRMb2FkZXJcIiA+PC9hcHAtZ2hvc3QtbG9hZGVyPlxuPC9kaXY+XG48IS0tIDxkaXYgKm5nSWY9XCIhdGFidWxhclJlcG9ydC5pc0RhdGFMb2FkZWQgJiYgdGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlcy5sZW5ndGghPT0wXCIgY2xhc3M9XCJsb2FkZXItc3Bpbm5lclwiPlxuICA8bWF0LXNwaW5uZXIgW2RpYW1ldGVyXT1cIjQwXCI+PC9tYXQtc3Bpbm5lcj5cbjwvZGl2PiAtLT5cbjxkaXYgY2xhc3M9XCJ0YWJsZUNvbnRhaW5lciBjdXN0b21zY3JvbGxcIiBpZD10YWJsZSAgW25nQ2xhc3NdPVwieydsb2NhbC1ib2R5JyA6ICFpc0VkaXRhYmxlICYmIChzY3JlZW5UeXBlICE9PSBzY3JlZW5UeXBlcy5kcmlsbFRocm91Z2gpIH1cIlxuKm5nSWY9J3RhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMubGVuZ3RoPjAgJiYgKGlzRGF0YUxvYWRlZCB8fCB0YWJ1bGFyUmVwb3J0LmlzRGF0YUxvYWRlZCknPlxuXG4gICAgPHRhYmxlXG4gICAgICAoY2xpY2spPVwidGFibGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgICBbc3R5bGUuYm9yZGVyXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIud2lkdGgrJ3B4JysgJyAnKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmJvcmRlclN0eWxlICsgJyAnICsgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5jb2xvclwiXG4gICAgICAqbmdJZj10YWJ1bGFyUmVwb3J0IGNka0Ryb3BMaXN0R3JvdXAgY2xhc3M9XCJvdmVyZmxvdy14LWF1dG9cIiBbbmdDbGFzc109XCJ7J210LTEnOiB0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzLmxlbmd0aD4wICYmIHRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXNbMF0uc2VyaWVzLmxlbmd0aD09PTB9XCI+XG4gICAgICA8Y2FwdGlvbj48L2NhcHRpb24+XG4gICAgICA8dGhlYWQgY2xhc3M9XCJ0aGVhZFwiIFtzdHlsZS5vdXRsaW5lXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIud2lkdGgrJ3B4JysgJyAnKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmJvcmRlclN0eWxlICsgJyAnICsgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5jb2xvclwiPlxuICAgICAgICA8dHIgY2RrRHJvcExpc3QgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIiAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiIFtzdHlsZS5ib3JkZXJdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci53aWR0aCsncHgnKyAnICcrIHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuYm9yZGVyU3R5bGUgKyAnICcgKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmNvbG9yXCI+XG4gICAgICAgICAgPCEtLSBzZXJpYWwgbnVtYmVyIGhlYWRlciAtLT5cbiAgICAgICAgICA8dGggW2lkXT1cInNyTm9cIlxuICAgICAgICAgIGNsYXNzPVwiIHB4LTEuNSBweS0xLjUgdy0xMCBtaW4tdy0xMFwiXG4gICAgICAgICAgKm5nSWY9XCJ0YWJ1bGFyUmVwb3J0LnNob3dTZXJpYWxOb1wiXG4gICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5oZWFkZXIuZm9udC5jb2xvclwiXG4gICAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZS5weF09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuaGVhZGVyLmZvbnQuc2l6ZVwiXG4gICAgICAgICAgW3N0eWxlLmZvbnQtZmFtaWx5XT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5oZWFkZXIuZm9udC5mYW1pbHlcIlxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5oZWFkZXIuYmFja2dyb3VuZENvbG9yXCJcbiAgICAgICAgICBbc3R5bGUuYm9yZGVyXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIud2lkdGgrJ3B4JysgJyAnKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmJvcmRlclN0eWxlICsgJyAnICsgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5jb2xvclwiXG5cblxuICAgICAgICA+PGRpdiBjbGFzcz1cInNyLWhlYWQgbWF4LXctZml0XCI+U3IgTm8uPC9kaXY+PC90aD5cbiAgICAgICAgPCEtLSBjb2x1bW4gaGVhZGVycyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXR0ciBvZiB0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzOyBsZXQgaT0gaW5kZXg7IGxldCBsYXN0ID0gbGFzdFwiIGNka0RyYWdCb3VuZGFyeT1cIi5wYWdlXCIgPlxuICAgICAgICAgIDx0aCBbaWRdPVwidGhcIlxuICAgICAgICAgICAgKm5nSWY9XCIhYXR0ci5pc0hpZGRlblwiXG4gICAgICAgICAgICBjbGFzcz1cImRlYXRhaWwtZ3JvdXAtdGFiYWxlLWhlYWRlclwiXG4gICAgICAgICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIiFpc0VkaXRhYmxlXCJcbiAgICAgICAgICAgIFtzdHlsZS5mb250LXNpemUucHhdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmhlYWRlci5mb250LnNpemVcIlxuICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5oZWFkZXIuZm9udC5jb2xvclwiXG4gICAgICAgICAgICBbc3R5bGUuZm9udC1mYW1pbHldPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmhlYWRlci5mb250LmZhbWlseVwiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuaGVhZGVyLmJhY2tncm91bmRDb2xvclwiXG4gICAgICAgICAgICBbc3R5bGUuYm9yZGVyXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIud2lkdGgrJ3B4JysgJyAnKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmJvcmRlclN0eWxlICsgJyAnICsgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5jb2xvclwiXG5cbiAgICAgICAgICAgIGNka0RyYWdcblxuICAgICAgICAgICAgW3N0eWxlLnRleHQtYWxpZ25dPSdhdHRyLmFsaWdubWVudCdcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlYXRpbC1ncm91cC10YWJsZS1oZWFkLWNoaWxkIGdhcC0xXCIgKGNvbnRleHRtZW51KT1cIm9uQ29udGV4dE1lbnUoJGV2ZW50LCBpLCBhdHRyKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cIm9uQ2xpY2tTb3J0aW5nKCRldmVudCxpKVwiIGNsYXNzPVwidy1mdWxsIGZsZXhcIiBbbmdDbGFzc109XCJ7JyBnYXAtMyBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuJzphdHRyLmdyb3VwQnk9PT0xIHx8IGF0dHIuZ3JvdXBCeT09PTIgfHwgaXNFZGl0YWJsZX1cIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2ZXJ0aWNhbC1kb3RcIiAqbmdJZj1cImlzRWRpdGFibGVcIiBjZGtEcmFnSGFuZGxlPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIFtzdHlsZS53aWR0aF09XCJhdHRyLmxhYmVsLmxlbmd0aCsxKydjaCdcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1oZWFkaW5nXCIgW25nQ2xhc3NdPVwieydzb3J0LWhlYWRpbmcnIDogIWhlYWRlckxvYWRlZCB9XCJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZS5mb250LXNpemUucHhdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmhlYWRlci5mb250LnNpemVcIlxuICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5oZWFkZXIuZm9udC5jb2xvclwiXG4gICAgICAgICAgICAgICAgICBbc3R5bGUuZm9udC1mYW1pbHldPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmhlYWRlci5mb250LmZhbWlseVwiXG4gICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJhdHRyLmxhYmVsXCIgW3JlYWRvbmx5XSA9XCIhaXNFZGl0YWJsZVwiLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydGluZy1hcnJvdyBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj0nYXR0ci5ncm91cEJ5PT09MSB8fCBhdHRyLmdyb3VwQnk9PT0yJyBjbGFzcz1cIm9yZGVyLXNlcXVlbmNlIGF4by1mb250XCI+e3thdHRyLm9yZGVyU2VxdWVuY2V9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgc29ydGluZy1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtYXJyb3ctdXAgY3Vyc29yLXBvaW50ZXJcIiBbbmdDbGFzc109XCJ7J2Fycm93LWFjdGl2ZSc6IGF0dHIuZ3JvdXBCeT09PTF9XCI+JiN4MjVCMjs8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic29ydC1hcnJvdy1kb3duIGN1cnNvci1wb2ludGVyXCIgW25nQ2xhc3NdPVwieydhcnJvdy1hY3RpdmUnOiBhdHRyLmdyb3VwQnk9PT0yfVwiPiYjeDI1QkM7PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRWRpdGFibGVcIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJvbkNvbnRleHRNZW51KCRldmVudCwgaSwgYXR0cik7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcGItMVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gIGNsYXNzPVwidGFiLWRvd24tYXJyb3dcIiBzdmdJY29uPVwiaGVyb2ljb25zX291dGxpbmU6Y2hldnJvbi1kb3duXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGRpdiAjbWF0TWVudVRyaWdnZXJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZpbHRlck1hdE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJjb250ZXh0TWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImF0dHIudGFibGVOYW1lKyctJysgYXR0ci5uYW1lXCI+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5ICAgW25nQ2xhc3NdPVwieydzaGFkb3cnOnRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuc2hhZG93LmVuYWJsZX1cIlxuICAgICAgICAqbmdJZj1cInRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMubGVuZ3RoPjBcIlxuICAgICAgICA+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZGF0YSBvZiB0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzWzBdLnNlcmllcztsZXQgaSA9IGluZGV4OyBldmVuIGFzIGlzRXZlbjsgbGV0IGRhdGExXCI+XG4gICAgICAgIDx0clxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cInNlbGVjdGVkUm93SW5kZXhlcy5pbmNsdWRlcyhpKT90YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9keS5iYWNrZ3JvdW5kQ29sb3IrJzYwJzp0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9keS5iYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsgYmFja2dyb3VuZDogaXNFdmVuID8gdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLnJvd1N0eWxlLm9kZENvbG9yOiB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUucm93U3R5bGUuZXZlbkNvbG9yfVwiXG4gICAgICAgICAgW3N0eWxlLmJvcmRlcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLndpZHRoICsgJyAnKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmJvcmRlclN0eWxlICsgJyAnICsgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5jb2xvclwiXG4gICAgICAgICAgKGNsaWNrKT1cInJvd1NlbGVjdGVkKGkpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPCEtLSBzZXJpYWwgbm8gb2Ygcm93cyAtLT5cbiAgICAgICAgICA8dGQgKm5nSWY9XCJ0YWJ1bGFyUmVwb3J0LnNob3dTZXJpYWxOb1wiXG4gICAgICAgICAgICBjbGFzcz1cInB4LTEuNVx0cHktMS41IG1heC13LWZpdFwiXG4gICAgICAgICAgICBbc3R5bGUuYm9yZGVyXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIud2lkdGgrJ3B4JysnICcrIHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuYm9yZGVyU3R5bGUgKyAnICcgKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmNvbG9yXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlciBcIlxuICAgICAgICAgICAgW3N0eWxlLmZvbnQtZmFtaWx5XT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib2R5LmZvbnQuZmFtaWx5XCJcbiAgICAgICAgICAgIFtzdHlsZS5mb250LXNpemUucHhdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvZHkuZm9udC5zaXplXCJcbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9keS5mb250LmNvbG9yXCJcblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAge3soKCh0YWJ1bGFyUmVwb3J0LnBhZ2VJbmRleCAtMSApKiB0YWJ1bGFyUmVwb3J0LnBhZ2VTaXplKSArIHRhYnVsYXJSZXBvcnQucGFnZVNpemUpKyBpKzF9fVxuICAgICA8L3RkPlxuICAgICAgICAgIDwhLS0gIHNlcmllcyBkYXRhICAtLT5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBfYXR0ciBvZiB0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzOyBldmVuIGFzIGlzRXZlbjtsZXQgbSA9IGluZGV4XCI+XG4gICAgICAgICAgPHRkXG4gICAgICAgICAgICAqbmdJZj1cIiFfYXR0ci5pc0hpZGRlblwiXG4gICAgICAgICAgICBjbGFzcz1cInB4LTEuNVx0cHktMS41XHRcIlxuICAgICAgICAgICAgW3N0eWxlLmZvbnQtZmFtaWx5XT1cIl9hdHRyLnNlcmllc0Zvcm1hdHRpbmdbaV0/LmZvbnQ/X2F0dHIuc2VyaWVzRm9ybWF0dGluZ1tpXS5mb250LmZhbWlseTp0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9keS5mb250LmZhbWlseVwiXG4gICAgICAgICAgICBbc3R5bGUuZm9udC1zaXplLnB4XT1cIl9hdHRyLnNlcmllc0Zvcm1hdHRpbmdbaV0/LmZvbnQ/X2F0dHIuc2VyaWVzRm9ybWF0dGluZ1tpXS5mb250LnNpemU6dGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvZHkuZm9udC5zaXplXCJcbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJfYXR0ci5zZXJpZXNGb3JtYXR0aW5nW2ldPy5mb250P19hdHRyLnNlcmllc0Zvcm1hdHRpbmdbaV0uZm9udC5jb2xvcjp0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9keS5mb250LmNvbG9yXCJcbiAgICAgICAgICAgIFtzdHlsZS50ZXh0LWFsaWduXT0nX2F0dHIuYWxpZ25tZW50J1xuICAgICAgICAgICAgKGNvbnRleHRtZW51KT1cImRyaWxsVGhyb3VnaENvbnRleHQoJGV2ZW50LCBfYXR0ciwgaSk7JGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmQ6IF9hdHRyLnNlcmllc0Zvcm1hdHRpbmdbaV0uYmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2JvcmRlcic6IF9hdHRyLnNlcmllc0Zvcm1hdHRpbmdbaV0/LmJvcmRlciA/IF9hdHRyLnNlcmllc0Zvcm1hdHRpbmdbaV0uYm9yZGVyLndpZHRoKydweCcrICcgJysgX2F0dHIuc2VyaWVzRm9ybWF0dGluZ1tpXS5ib3JkZXIuYm9yZGVyU3R5bGUgKyAnICcgKyBfYXR0ci5zZXJpZXNGb3JtYXR0aW5nW2ldLmJvcmRlci5jb2xvcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLndpZHRoKydweCcrICcgJysgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5ib3JkZXJTdHlsZSArICcgJyArIHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuY29sb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgPlxuXG5cblxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2F0dHIuc2VyaWVzW2ldXCI+XG4gICAgICAgICAgICA8ZGl2ICBbbmdTd2l0Y2hdPVwiX2F0dHIud2lkZ2V0VHlwZVwiPlxuICAgICAgICAgICAgICAgIDwhLS0gd2hlbiBkYXRhIHR5cGUgaXMgZGF0ZXRpbWUgLS0+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkYXRlcGlja2VyLXdpZGdldCdcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfYXR0ci53aWRnZXRTdWJUeXBlPT09J2RhdGV0aW1lJyB8fCBfYXR0ci53aWRnZXRTdWJUeXBlPT09J2JvdGgnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuID57e21vbWVudChfYXR0ci5zZXJpZXNbaV0rJ1onKXxkYXRlOl9hdHRyLnZhbHVlRm9ybWF0dGluZy5kYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfYXR0ci53aWRnZXRTdWJUeXBlPT09J3RpbWVzdGFtcCdcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e19hdHRyLnNlcmllc1tpXX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2F0dHIud2lkZ2V0U3ViVHlwZT09PSd0aW1lJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e21vbWVudChfYXR0ci5zZXJpZXNbaV0sJ2hoOm1tOnNzJyl8ZGF0ZTpfYXR0ci52YWx1ZUZvcm1hdHRpbmcuZGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2F0dHIud2lkZ2V0U3ViVHlwZT09PSdkYXRlJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiBfYXR0ci53aWRnZXRTdWJUeXBlPT09J2RhdGUnXCI+e3tfYXR0ci5zZXJpZXNbaV18ZGF0ZTpfYXR0ci52YWx1ZUZvcm1hdHRpbmcuZGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2F0dHIud2lkZ2V0U3ViVHlwZT09PSdkYXRlX3JhbmdlJ1wiPlxuICAgICAgICAgICAgICAgICAgICB7e19hdHRyLnNlcmllc1tpXX19XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPCEtLSB3aGVuIGRhdGEgdHlwZSBpcyB0ZXh0IC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndGV4dGJveC13aWRnZXQnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiX2F0dHIud2lkZ2V0U3ViVHlwZT09PSdkZWNpbWFsJ3x8IF9hdHRyLndpZGdldFN1YlR5cGU9PT0ndGV4dCcgfHwgX2F0dHIud2lkZ2V0U3ViVHlwZT09PSdzdHJpbmcnXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7X2F0dHIuc2VyaWVzW2ldfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIl9hdHRyLndpZGdldFN1YlR5cGU9PT0nbnVtZXJpYydcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIl9hdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeSBcIj57eyBfYXR0ci5zZXJpZXNbaV0gfCAgY3VycmVuY3k6X2F0dHIudmFsdWVGb3JtYXR0aW5nLmN1cnJlbmN5IDonc3ltYm9sJ319PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIF9hdHRyLnZhbHVlRm9ybWF0dGluZy5wZXJjZW50YWdlXCI+e3tfYXR0ci5zZXJpZXNbaV18ICBheG9QZXJjZW50YWdlOl9hdHRyLnNlcmllczogJ2RldGFpbCd9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFfYXR0ci52YWx1ZUZvcm1hdHRpbmcucGVyY2VudGFnZSAmJiAhX2F0dHIudmFsdWVGb3JtYXR0aW5nLmN1cnJlbmN5XCI+e3tfYXR0ci5zZXJpZXNbaV19fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8IS0tIFdoZW4gd2lkZ2V0IHR5cGUgaXMgd2ViIGxpbmsgIC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInaHlwZXJsaW5rLXdpZGdldCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1cmxcIiBbdGl0bGVdPVwieDFJbWFnZU1lZGlhVXJsK19hdHRyLnNlcmllc1tpXVwiIChjbGljayk9XCJyZWRpcmVjdCgkZXZlbnQsX2F0dHIuc2VyaWVzW2ldKVwiPnt7X2F0dHIuc2VyaWVzW2ldfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBXaGVuIHdpZGdldCB0eXBlIGlzIHNpZ25hdHVyZSB3aWRnZXQgLS0+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIid3ZXRzaWduYXR1cmVjYXB0dXJlLXdpZGdldCdcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXJsXCIgW3RpdGxlXT1cIngxSW1hZ2VNZWRpYVVybCtfYXR0ci5zZXJpZXNbaV1cIiAoY2xpY2spPVwicmVkaXJlY3QoJGV2ZW50LHgxSW1hZ2VNZWRpYVVybCtfYXR0ci5zZXJpZXNbaV0pXCI+e3tfYXR0ci5zZXJpZXNbaV19fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8IS0tIFdoZW4gd2lkZ2V0IHR5cGUgaXMgdmlkZW8gd2lkZ2V0IC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndmlkZW9jYXB0dXJlLXdpZGdldCdcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXJsXCIgW3RpdGxlXT1cIngxSW1hZ2VNZWRpYVVybCtfYXR0ci5zZXJpZXNbaV1cIiAoY2xpY2spPVwicmVkaXJlY3QoJGV2ZW50LHgxSW1hZ2VNZWRpYVVybCtfYXR0ci5zZXJpZXNbaV0pXCI+e3tfYXR0ci5zZXJpZXNbaV19fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8IS0tIFdoZW4gd2lkZ2V0IHR5cGUgaXMgYXVkaW8gd2lkZ2V0IC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInYXVkaW9jYXB0dXJlLXdpZGdldCdcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXJsXCIgW3RpdGxlXT1cIngxSW1hZ2VNZWRpYVVybCtfYXR0ci5zZXJpZXNbaV1cIiAoY2xpY2spPVwicmVkaXJlY3QoJGV2ZW50LHgxSW1hZ2VNZWRpYVVybCtfYXR0ci5zZXJpZXNbaV0pXCI+e3tfYXR0ci5zZXJpZXNbaV19fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPCEtLSBXaGVuIHdpZGdldCB0eXBlIGlzIGRvY3VtZW50IHdpZGdldCAtLT5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2ZpbGV1cGxvYWQtd2lkZ2V0J1wiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1cmxcIiBbdGl0bGVdPVwieDFJbWFnZU1lZGlhVXJsK19hdHRyLnNlcmllc1tpXVwiIChjbGljayk9XCJyZWRpcmVjdCgkZXZlbnQseDFJbWFnZU1lZGlhVXJsK19hdHRyLnNlcmllc1tpXSlcIj57e19hdHRyLnNlcmllc1tpXX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDwhLS0gV2hlbiB3aWRnZXQgdHlwZSBpcyBkb2N1bWVudCB3aWRnZXQgLS0+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkb2N1bWVudCdcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXJsIGN1cnNvci1wb2ludGVyXCIgW3RpdGxlXT1cInJlbW92ZVNsYXNoRnJvbVVSTCh4MU1lZGlhVXJsKStfYXR0ci5zZXJpZXNbaV1cIiAoY2xpY2spPVwicmVkaXJlY3RPblNpbmdsZUNsaWNrKCRldmVudCxyZW1vdmVTbGFzaEZyb21VUkwoeDFNZWRpYVVybCkrX2F0dHIuc2VyaWVzW2ldKVwiPjxtYXQtaWNvbiBjbGFzcz1cImRvYy1pY29uXCIgc3ZnSWNvbj1cImF4b19wZGYxXCI+PC9tYXQtaWNvbj48L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8IS0tIFdoZW4gd2lkZ2V0IHR5cGUgaXMgZG9jdW1lbnQgd2lkZ2V0IC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInaW1hZ2VjYXB0dXJlLXdpZGdldCdcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXJsXCIgW3RpdGxlXT1cIngxSW1hZ2VNZWRpYVVybCtfYXR0ci5zZXJpZXNbaV1cIiAoY2xpY2spPVwicmVkaXJlY3QoJGV2ZW50LHgxSW1hZ2VNZWRpYVVybCtfYXR0ci5zZXJpZXNbaV0pXCI+e3tfYXR0ci5zZXJpZXNbaV19fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8IS0tIGRlZmF1bHQgY2FzZSAtLT5cbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaERlZmF1bHQ+e3tfYXR0ci5zZXJpZXNbaV19fTwvc3Bhbj5cblxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9JyFfYXR0ci5zZXJpZXNbaV0nPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIl9hdHRyLndpZGdldFN1YlR5cGU9PT0nbnVtZXJpYydcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIl9hdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeSBcIj57eyAgMCB8ICBjdXJyZW5jeTpfYXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3kgOidzeW1ib2wnfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIgX2F0dHIudmFsdWVGb3JtYXR0aW5nLnBlcmNlbnRhZ2VcIj57ezAgfCAgYXhvUGVyY2VudGFnZTpfYXR0ci5zZXJpZXM6ICdkZXRhaWwnfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhX2F0dHIudmFsdWVGb3JtYXR0aW5nLnBlcmNlbnRhZ2UgJiYgIV9hdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeVwiPi08L3NwYW4+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPCEtLSB3aGVuIHNlcmllcyBkYXRhIGlzIGVtcHR5IC0tPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIl9hdHRyLndpZGdldFN1YlR5cGUhPT0nbnVtZXJpYydcIj4tPC9zcGFuPlxuXG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPCEtLSBzdWJ0b3RhbCByb3cgLS0+XG4gICAgICA8bmctY29udGFpbmVyID5cbiAgICAgIDx0ciAqbmdJZj10YWJ1bGFyUmVwb3J0LnNob3dCb3R0b21Sb3c+XG4gICAgICAgIDx0ZCAqbmdJZj0ndGFidWxhclJlcG9ydC5zaG93U2VyaWFsTm8nXG4gICAgICAgIGNsYXNzPVwicHgtMS41XHRweS0xLjVcdFwiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5mb290ZXIuYmFja2dyb3VuZENvbG9yXCJcbiAgICAgICAgW3N0eWxlLmZvbnQtZmFtaWx5XT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5mb290ZXIuZm9udC5mYW1pbHlcIlxuICAgICAgICBbc3R5bGUuZm9udC1zaXplLnB4XT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5mb290ZXIuZm9udC5zaXplXCJcbiAgICAgICAgW3N0eWxlLmJvcmRlcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLndpZHRoKydweCcrJyAnKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmJvcmRlclN0eWxlICsgJyAnICsgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5jb2xvclwiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuZm9vdGVyLmZvbnQuY29sb3JcIlxuICAgICAgICA+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhdHRyIG9mIHRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXM7IGxldCBpPWluZGV4XCI+XG4gICAgICAgIDx0ZFxuICAgICAgICAqbmdJZj1cIiFhdHRyLmlzSGlkZGVuXCJcbiAgICAgICAgY2xhc3M9XCJweC0xLjVcdHB5LTEuNVx0XCJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmZvb3Rlci5iYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgICBbc3R5bGUuZm9udC1mYW1pbHldPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmZvb3Rlci5mb250LmZhbWlseVwiXG4gICAgICAgIFtzdHlsZS5mb250LXNpemUucHhdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmZvb3Rlci5mb250LnNpemVcIlxuICAgICAgICBbc3R5bGUuYm9yZGVyXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIud2lkdGgrJ3B4JysnICcrIHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuYm9yZGVyU3R5bGUgKyAnICcgKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmNvbG9yXCJcbiAgICAgICAgW3N0eWxlLmNvbG9yXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5mb290ZXIuZm9udC5jb2xvclwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0ci53aWRnZXRUeXBlPT09J3RleHRib3gtd2lkZ2V0JyAmJiAgYXR0ci53aWRnZXRTdWJUeXBlPT09J251bWVyaWMnXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImF0dHIuYWdncmVnYXRlLnNob3dTdW1cIj5cbiAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImF0dHIudmFsdWVGb3JtYXR0aW5nLmN1cnJlbmN5IFwiPlN1bToge3sgc3VtKGF0dHIuc2VyaWVzKSB8ICBjdXJyZW5jeTphdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeSA6J3N5bWJvbCd9fTxicj48L3NwYW4+XG4gICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIgYXR0ci52YWx1ZUZvcm1hdHRpbmcucGVyY2VudGFnZVwiPiBTdW06XG4gICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInN1bShhdHRyLnNlcmllcyk+MVwiPjEwMCU8L3NwYW4+XG4gICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInN1bShhdHRyLnNlcmllcyk8MVwiPjAlPC9zcGFuPlxuICAgICAgICAgICAgIDxicj48L3NwYW4+XG4gICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhYXR0ci52YWx1ZUZvcm1hdHRpbmcucGVyY2VudGFnZSAmJiAhYXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3lcIj5TdW06IHt7c3VtKGF0dHIuc2VyaWVzKX19PGJyPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImF0dHIuYWdncmVnYXRlLnNob3dBdmdcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3kgXCI+QXZnOiB7e2F2ZyhhdHRyLnNlcmllcykgfCAgY3VycmVuY3k6YXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3kgOidzeW1ib2wnfX08YnI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIgYXR0ci52YWx1ZUZvcm1hdHRpbmcucGVyY2VudGFnZVwiPkF2Zzoge3thdmcoYXR0ci5zZXJpZXMpfCAgYXhvUGVyY2VudGFnZTphdHRyLnNlcmllczogJ2RldGFpbCd9fTxicj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFhdHRyLnZhbHVlRm9ybWF0dGluZy5wZXJjZW50YWdlICYmICFhdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeVwiPiBBdmc6IHt7YXZnKGF0dHIuc2VyaWVzKX19PGJyPjwvc3Bhbj5cbiAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYXR0ci5hZ2dyZWdhdGUuc2hvd01heFwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeSBcIj4gTWF4OiB7e21heChhdHRyLnNlcmllcyl8ICBjdXJyZW5jeTphdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeSA6J3N5bWJvbCd9fTxicj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiBhdHRyLnZhbHVlRm9ybWF0dGluZy5wZXJjZW50YWdlXCI+IE1heDoge3ttYXgoYXR0ci5zZXJpZXMpfCAgYXhvUGVyY2VudGFnZTphdHRyLnNlcmllczogJ2RldGFpbCd9fTxicj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFhdHRyLnZhbHVlRm9ybWF0dGluZy5wZXJjZW50YWdlICYmICFhdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeVwiPiBNYXg6IHt7bWF4KGF0dHIuc2VyaWVzKX19PGJyPjwvc3Bhbj5cbiAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYXR0ci5hZ2dyZWdhdGUuc2hvd01pblwiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeSBcIj5NaW46IHt7bWluKGF0dHIuc2VyaWVzKSB8ICBjdXJyZW5jeTphdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeSA6J3N5bWJvbCd9fTxicj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiBhdHRyLnZhbHVlRm9ybWF0dGluZy5wZXJjZW50YWdlXCI+TWluOiB7e21pbihhdHRyLnNlcmllcyl8IGF4b1BlcmNlbnRhZ2U6YXR0ci5zZXJpZXM6ICdkZXRhaWwnfX08YnI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhYXR0ci52YWx1ZUZvcm1hdHRpbmcucGVyY2VudGFnZSAmJiAhYXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3lcIj4gTWluOiB7e21pbihhdHRyLnNlcmllcyl9fTxicj48L3NwYW4+XG4gICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvdHI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgZmxleC1jb2wgemVyby1yZWNvcmRzXCIgKm5nSWY9XCIodGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlcy5sZW5ndGg+MCAmJiB0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzWzBdLnNlcmllcy5sZW5ndGg9PT0wKVwiPlxuICAgICAgTm8gcmVjb3JkcyBhdmFpbGFibGVcbiAgICA8L2Rpdj5cbjwvZGl2PlxuPCEtLSA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcyBkZWF0aWwtZ3JvdXAtdGFibGUtcGFnaW5hdG9yIGN1c3RvbXNjcm9sbFwiPlxuICA8bWF0LXBhZ2luYXRvciAocGFnZSk9XCJoYW5kbGVQYWdlRXZlbnQoJGV2ZW50KVwiIFtsZW5ndGhdPVwidGFidWxhclJlcG9ydC5wYWdlTGVuZ3RoXCIgW3BhZ2VTaXplXT1cInRhYnVsYXJSZXBvcnQucGFnZVNpemVcIlxuICBbcGFnZUluZGV4XT1cInRhYnVsYXJSZXBvcnQucGFnZUluZGV4XCIgW3BhZ2VTaXplT3B0aW9uc109XCJbMTAsIDI1LCA1MCwgMTAwXVwiIGFyaWEtbGFiZWw9XCJTZWxlY3QgcGFnZVwiIGNsYXNzPVwibWF0LXBhZ2luYXRvciBmbGV4IGp1c3RpZnktZW5kIHctZnVsbFwiPlxuICA8L21hdC1wYWdpbmF0b3I+XG48L2Rpdj4gLS0+XG5cblxuPCEtLSBNYXQgTWVudSB0cmlnZ2VyIGZvciB0YWJsZSBjb2x1bW5zLS0+XG48bWF0LW1lbnUgI2NvbnRleHRNZW51PVwibWF0TWVudVwiPlxuICA8ZGl2IGlkPVwidGFibGUtbWVudVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudCBsZXQtaXRlbT1cInJlcG9ydERhdGFcIj4gXG4gICAgICA8YnV0dG9uICpuZ0lmPVwiKHRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXNbY3VycmVudEluZGV4XS50eXBlPT09J2ludCcgJiYgKHRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXNbY3VycmVudEluZGV4XS53aWRnZXRUeXBlPT09J3RleHRib3gtd2lkZ2V0JyB8fCB0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzW2N1cnJlbnRJbmRleF0ud2lkZ2V0VHlwZT09PSdjb21wdXRlZHZhbHVlLXdpZGdldCcpKVwibWF0LW1lbnUtaXRlbSBbbWF0TWVudVRyaWdnZXJGb3JdPVwiQWdncmVnYXRlXCI+QWdncmVnYXRlPC9idXR0b24+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFZGl0YWJsZVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm1vdmVDb2x1bW5MZWZ0KCRldmVudClcIj5Nb3ZlIExlZnQ8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJtb3ZlQ29sdW1uUmlnaHQoJGV2ZW50KVwiPk1vdmUgUmlnaHQ8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJyZW1vdmVDb2x1bW4oJGV2ZW50KVwiPlJlbW92ZSBDb2x1bW48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvcGVuQ29uZGl0aW9uYWxGb3JtYXR0aW5nKCRldmVudClcIj5BZGQgQ29uZGl0aW9uYWwgRm9ybWF0dGluZzwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwic2NyZWVuVHlwZXMuZGFzaGJvYXJkQnVpbGRlciA9PT0gc2NyZWVuVHlwZVwiIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInJlbW92ZUZyb21EYXNoYm9hcmQoKVwiPlJlbW92ZSBGcm9tIERhc2hib2FyZDwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9tYXQtbWVudT5cbjwhLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuXG5cblxuPCEtLSBNYXQgbWVudSB0cmlnZ2VyIGZvciAgQWdncmVnYXRpb24tLT5cbjxtYXQtbWVudSAjQWdncmVnYXRlPVwibWF0TWVudVwiPlxuICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQgKm5nSWY9J3RhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMubGVuZ3RoPjAnPlxuICAgIDwhLS0gPHA+XG4gICAgICA8bWF0LWNoZWNrYm94ICBjbGFzcz1cImFnZ3JlZ2F0ZS1mdW5cIiBbKG5nTW9kZWwpXT0ndGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1tjdXJyZW50SW5kZXhdLmFnZ3JlZ2F0ZS5zaG93VW5pcXVlQ291bnQnXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5TaG93IFVuaXF1ZSBDb3VudDwvbWF0LWNoZWNrYm94PlxuICAgIDwvcD4gLS0+XG4gICAgPHNlY3Rpb24gKm5nSWY9XCJ0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzW2N1cnJlbnRJbmRleF0udHlwZT09PSdpbnQnICB8fCAgdGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1tjdXJyZW50SW5kZXhdLnR5cGU9PT0nZmxvYXQnXCIgY2xhc3M9XCJkZXRhaWxlZC1ncm91cC1hZ2dyZWdhdGUtZnVuY3Rpb25cIj5cbiAgICAgIDxwPlxuICAgICAgICA8bWF0LWNoZWNrYm94ICBjbGFzcz1cImFnZ3JlZ2F0ZS1mdW5cIiBbKG5nTW9kZWwpXT0ndGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1tjdXJyZW50SW5kZXhdLmFnZ3JlZ2F0ZS5zaG93U3VtJ1xuICAgICAgICAgIChjaGFuZ2UpPVwic3VtQWdncmVnYXRpb24oJGV2ZW50KVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5zdW08L21hdC1jaGVja2JveD5cbiAgICAgIDwvcD5cbiAgICAgIDxwPlxuICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwiYWdncmVnYXRlLWZ1blwiIFsobmdNb2RlbCldPSd0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzW2N1cnJlbnRJbmRleF0uYWdncmVnYXRlLnNob3dBdmcnXG4gICAgICAgICAgKGNoYW5nZSk9XCJhdmVyYWdlQWdncmVnYXRpb24oJGV2ZW50KVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5BdmVyYWdlPC9tYXQtY2hlY2tib3g+XG4gICAgICA8L3A+XG4gICAgICA8cD5cbiAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cImFnZ3JlZ2F0ZS1mdW5cIlsobmdNb2RlbCldPSd0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzW2N1cnJlbnRJbmRleF0uYWdncmVnYXRlLnNob3dNYXgnXG4gICAgICAgICAgKGNoYW5nZSk9XCJtYXhBZ2dyZWdhdGlvbigkZXZlbnQpXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPk1heDwvbWF0LWNoZWNrYm94PlxuICAgICAgPC9wPlxuICAgICAgPHA+XG4gICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJhZ2dyZWdhdGUtZnVuXCJbKG5nTW9kZWwpXT0ndGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1tjdXJyZW50SW5kZXhdLmFnZ3JlZ2F0ZS5zaG93TWluJ1xuICAgICAgICAgIChjaGFuZ2UpPVwibWluQWdncmVnYXRpb24oJGV2ZW50KVwiKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPk1pbjwvbWF0LWNoZWNrYm94PlxuICAgICAgPC9wPlxuICAgIDwvc2VjdGlvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbWF0LW1lbnU+XG5cblxuXG5cblxuXG4iXX0=