ax-common-ui-lib 1.0.0-beta.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-common-ui-lib.component.mjs +26 -0
  9. package/esm2020/lib/ax-common-ui-lib.module.mjs +147 -0
  10. package/esm2020/lib/ax-common-ui-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-common-ui-lib.component.d.ts +8 -0
  517. package/lib/ax-common-ui-lib.module.d.ts +24 -0
  518. package/lib/ax-common-ui-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWdyb3VwLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2F4LWNvbW1vbi11aS1saWIvc3JjL2xpYi9lbmxpZ2h0ZW4tbGliL3JlcG9ydC90YWJ1bGFyLXJlcG9ydC90YWJ1bGFyL2RldGFpbC1ncm91cC12aWV3L2RldGFpbC1ncm91cC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9heC1jb21tb24tdWktbGliL3NyYy9saWIvZW5saWdodGVuLWxpYi9yZXBvcnQvdGFidWxhci1yZXBvcnQvdGFidWxhci9kZXRhaWwtZ3JvdXAtdmlldy9kZXRhaWwtZ3JvdXAtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBK0MsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBKLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RGLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FB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IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0TWVudVRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IENyb3NzRmlsdGVyRHRvLCBFbGVtZW50c0R0byB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbW1vbi1kdG8vZWxlbWVudHMtZHRvJztcbmltcG9ydCB7IFJlcG9ydCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbW1vbi11dGlscy9yZXBvcnQnO1xuaW1wb3J0IHsgQXR0cmlidXRlRGF0YSB9IGZyb20gJy4uLy4uLy4uLy4uL2ZpZWxkcy9hdHRyaWJ1dGUtZGF0YSc7XG5pbXBvcnQgeyBGaWVsZHNMaXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2ZpZWxkLWxpc3QtbGliL2ZpZWxkcy1saXN0LnNlcnZpY2UnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgUmVwb3J0QnVpbGRlck1hc3RlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9yZXBvcnQtYnVpbGRlci1tYXN0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJ1bGFyUmVwb3J0IH0gZnJvbSAnLi4vLi4vdGFidWxhci1yZXBvcnQnO1xuaW1wb3J0IHsgT3JkZXJCeVR5cGUgfSBmcm9tICcuLi8uLi9vcmRlcmJ5LXR5cGUnO1xuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbW1vbi5zZXJ2aWNlJztcbmltcG9ydCB7IEVsZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWxlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFNjb3BlVHlwZSwgU2NyZWVuVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL2ZpbHRlcnMvY29uZGl0aW9uLXR5cGUnO1xuaW1wb3J0IHsgVGFidWxhclJlcG9ydFNlcnZpY2UgfSBmcm9tICcuLi8uLi90YWJ1bGFyLXJlcG9ydC5zZXJ2aWNlJztcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICcuLi8uLi8uLi9ncmFwaGljYWwtcmVwb3J0L3BhZ2UvcGFnZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Rhc2hib2FyZC1saWIvZGFzaGJvYXJkLWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJ1bGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vdGFidWxhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXhGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9maWx0ZXJzL2F4LWZpbHRlcic7XG5cbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBDb25kaXRpb25hbEZvcm1hdHRpbmdDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvY29uZGl0aW9uYWwtZm9ybWF0dGluZy9jb25kaXRpb25hbC1mb3JtYXR0aW5nL2NvbmRpdGlvbmFsLWZvcm1hdHRpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBHaG9zdExvYWRlclR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9naG9zdC1sb2FkZXIvZ2hvc3QtbG9hZGVyLmNvbXBvbmVudCc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItZGV0YWlsLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGV0YWlsLWdyb3VwLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kZXRhaWwtZ3JvdXAtdmlldy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIERldGFpbEdyb3VwVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwYWdlOiBQYWdlO1xuICBASW5wdXQoKSB0YWJ1bGFyUmVwb3J0OiBUYWJ1bGFyUmVwb3J0O1xuICBASW5wdXQoKSBpc0VkaXRhYmxlOiBib29sZWFuO1xuICBASW5wdXQoKXgxSW1hZ2VNZWRpYVVybDogc3RyaW5nO1xuICBASW5wdXQoKSBlbGVtZW50R3VpZDogc3RyaW5nO1xuICBASW5wdXQoKSBzY3JlZW5UeXBlOiBTY3JlZW5UeXBlO1xuICBASW5wdXQoKSBkcmlsbFRocm91Z2hQYXJlbnRUeXBlOiBTY3JlZW5UeXBlO1xuICBASW5wdXQoKSBkcmlsbFRocm91Z2hGaWx0ZXJJbnB1dDogQXhGaWx0ZXI7XG4gIEBJbnB1dCgpIHBhcmVudFJlZjogVGFidWxhckNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZChNYXRNZW51VHJpZ2dlcikgY29udGV4dE1lbnU6IEhUTUxFbGVtZW50O1xuICBAVmlld0NoaWxkKCdkcmlsbFRob3J1Z2hNZW51VHJpZ2dlcicsIHsgcmVhZDogTWF0TWVudVRyaWdnZXIsIHN0YXRpYzogZmFsc2V9KSBkcmlsbFRocm91Z2hUcmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcbiAgQElucHV0KCl4MU1lZGlhVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlcG9ydElkOiBudW1iZXI7XG4gIEBJbnB1dCgpIGFwcFZlcnNpb25JZDogbnVtYmVyO1xuXG4gIGNvbHVtbkRhdGE6IGFueTtcbiAgY29udGV4dE1lbnVQb3NpdGlvbiA9IHsgeDogJzBweCcsIHk6ICcwcHgnIH07XG4gIGN1cnJlbnRJbmRleDogbnVtYmVyO1xuICBzaG93U3VtOiBib29sZWFuPWZhbHNlO1xuICBzaG93TWF4OiBib29sZWFuPWZhbHNlO1xuICBzaG93TWluOiBib29sZWFuPWZhbHNlO1xuICBzaG93QXZnOiBib29sZWFuPWZhbHNlO1xuICBtb21lbnQ6IGFueT1tb21lbnQ7XG4gIGlzRGlydHk6IGJvb2xlYW47XG4gIHJlcG9ydDogUmVwb3J0O1xuICBfaXNDb2x1bW5FeGlzdDogYm9vbGVhbj1mYWxzZTtcbiAgaXNEYXRhTG9hZGVkPWZhbHNlO1xuICBoZWFkZXJMb2FkZWQ9ZmFsc2U7XG4gIHNlbGVjdGVkUm93SW5kZXhlczogQXJyYXk8bnVtYmVyPiA9IFtdO1xuICBkcmlsbFRocm91Z2hGaWx0ZXI6IGFueTtcbiAgY3VycmVudEF0dHJpYnV0ZTogYW55O1xuICBpc0hpZGRlbjogYm9vbGVhbj1mYWxzZTtcbiAgZGlhbG9nOiBNYXREaWFsb2c7XG4gIEdob3N0TG9hZGVyVHlwZSA9IEdob3N0TG9hZGVyVHlwZTtcbiAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcmVwb3J0QnVpbGRlck1hc3RlclNlcnZpY2U6IFJlcG9ydEJ1aWxkZXJNYXN0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2ZpZWxkc0xpc3RTZXJ2aWNlOiBGaWVsZHNMaXN0U2VydmljZSxcbiAgICBwcml2YXRlIF9jb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgX2VsZW1lbnRTZXJ2aWNlOiBFbGVtZW50U2VydmljZSxcbiAgICBwcml2YXRlIF90YWJ1bGFyUmVwb3J0U2VydmljZTogVGFidWxhclJlcG9ydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZGFzaGJvYXJkQnVpbGRlclNlcnZpY2U6IERhc2hib2FyZEJ1aWxkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgKSB7XG4gICAgdGhpcy5kaWFsb2cgPSB0aGlzLl9pbmplY3Rvci5nZXQoTWF0RGlhbG9nKTtcbiAgfVxuXG4gIGdldCBzY3JlZW5UeXBlcygpOiB0eXBlb2YgU2NyZWVuVHlwZSB7XG4gICAgcmV0dXJuIFNjcmVlblR5cGU7XG4gIH1cbiAgLyoqXG4gICAqIGhvc3RMaXN0ZW5lciB1c2UgdG8gb3BlbiBtYXRNZW51IHNwZWNpZmljIGxvY2F0aW9uXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICBjbGljayhldmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmNvbnRleHRNZW51ICYmXG4gICAgICAgICAgICB0aGlzLmNvbnRleHRNZW51LmFyaWFFeHBhbmRlZCA9PT0gJ3RydWUnICYmXG4gICAgICAgICAgICBldmVudC53aGljaCA9PT0gM1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dE1lbnUuY2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpYmVycygpO1xuICAgIHRoaXMucmVwb3J0PXRoaXMuX3JlcG9ydEJ1aWxkZXJNYXN0ZXJTZXJ2aWNlLnJlcG9ydDtcbiAgICBpZih0aGlzLnJlcG9ydElkKXtcbiAgICAgIC8vIHRoaXMuZ2V0VGFidWxhckRhdGEoKTsgIC8vIGFsc28gY2FsbGluZyBmb3JtIG5nT25DaGFuZ2VzIGFzIHBlciBkaXNjdXNzICB3aXRoIFN3YXBuaWxcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KCk7XG4gICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcbiAgfVxuICAvKipcbiAgICogU3Vic2NyaWJlcnMgc2hvdWxkIGJlIGFkZGVkIGhlcmUuXG4gICAqL1xuICBzdWJzY3JpYmVycygpOiB2b2lke1xuICAgIC8vIENyb3NzRmlsdGVyIFN1YnNjcmliZXJcbiAgICB0aGlzLl9lbGVtZW50U2VydmljZS5jcm9zc0ZpbHRlckV2ZW50LnN1YnNjcmliZSgoY3Jvc3NGaWx0ZXI6IENyb3NzRmlsdGVyRHRvKSA9PiB7XG4gICAgICAgIGlmKGNyb3NzRmlsdGVyLnJlc2V0RmlsdGVyKVxuICAgICAgICAgIHt0aGlzLnNlbGVjdGVkUm93SW5kZXhlcyA9IFtdO31cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgVGFidWxhciBkYXRhXG4gICAqL1xuICBnZXRUYWJ1bGFyRGF0YSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLnRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBkYXRhID0gbmV3IEVsZW1lbnRzRHRvKHRoaXMudGFidWxhclJlcG9ydCk7XG4gICAgICAgIGlmKHRoaXMuc2NyZWVuVHlwZSA9PT0gU2NyZWVuVHlwZS5kcmlsbFRocm91Z2gpe1xuICAgICAgICAgIGRhdGEuZmlsdGVycy5nbG9iYWxGaWx0ZXJzLmJhc2ljLnB1c2godGhpcy5kcmlsbFRocm91Z2hGaWx0ZXJJbnB1dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhLmZpbHRlcnMuZ2xvYmFsRmlsdGVycy5iYXNpYyA9IHRoaXMuX2VsZW1lbnRTZXJ2aWNlLmdldFZhbGlkRmlsdGVyKHRoaXMuX2VsZW1lbnRTZXJ2aWNlLmZpbHRlcnNEdG8uYmFzaWMsIFNjb3BlVHlwZS5nbG9iYWwpO1xuICAgICAgICBkYXRhLmZpbHRlcnMuZ2xvYmFsRmlsdGVycy5jYXRlZ29yeSA9IHRoaXMuX2VsZW1lbnRTZXJ2aWNlLmdldFZhbGlkRmlsdGVyQ2F0ZWdvcnkodGhpcy5fZWxlbWVudFNlcnZpY2UuZmlsdGVyc0R0by5jYXRlZ29yeSwgU2NvcGVUeXBlLmdsb2JhbCk7XG4gICAgICB9XG4gICAgICBkYXRhLmZpbHRlcnMubG9jYWxGaWx0ZXJzLmJhc2ljID0gdGhpcy5fZWxlbWVudFNlcnZpY2UuZ2V0VmFsaWRGaWx0ZXIodGhpcy50YWJ1bGFyUmVwb3J0LmZpbHRlcnMpO1xuICAgICAgZGF0YS5maWx0ZXJzLmxvY2FsRmlsdGVycy5jYXRlZ29yeSA9IHRoaXMuX2VsZW1lbnRTZXJ2aWNlLmdldFZhbGlkRmlsdGVyQ2F0ZWdvcnkodGhpcy50YWJ1bGFyUmVwb3J0LmNhdGVnb3JpZXMpO1xuICAgICAgZGF0YS5yZXBvcnRJZCA9IHRoaXMucmVwb3J0SWQ7XG4gICAgICBkYXRhLnR5cGU9J3RhYnVsYXItcmVwb3J0JzsgLy8gdXNlIGVudW1cbiAgICAgIGRhdGEub3JkZXJCeT10aGlzLnRhYnVsYXJSZXBvcnQuc29ydGluZztcbiAgICAgIGRhdGEucGFnZUluZGV4PXRoaXMudGFidWxhclJlcG9ydC5wYWdlSW5kZXg7XG4gICAgICBkYXRhLnBhZ2VTaXplPXRoaXMudGFidWxhclJlcG9ydC5wYWdlU2l6ZTtcbiAgICAgIGRhdGEucGFnZUxlbmd0aD10aGlzLnRhYnVsYXJSZXBvcnQucGFnZUxlbmd0aDtcbiAgICAgIGlmKHRoaXMuZHJpbGxUaHJvdWdoUGFyZW50VHlwZSA9PSBTY3JlZW5UeXBlLmRhc2hib2FyZEJ1aWxkZXIgfHwgdGhpcy5kcmlsbFRocm91Z2hQYXJlbnRUeXBlID09IFNjcmVlblR5cGUuY29udGFpbmVyRGFzaGJvYXJkKSB7XG4gICAgICAgIGRhdGEuYXBpVHlwZSA9ICdkYXNoYm9hcmQnO1xuICAgICAgfVxuICAgICAgdGhpcy5fZmllbGRzTGlzdFNlcnZpY2UuZ2V0TWF0cml4RGF0YShkYXRhKS50aGVuKChlbnRpdGllc0F0dHJpYnV0ZSkgPT4ge1xuICAgICAgICBpZiAoZW50aXRpZXNBdHRyaWJ1dGUgIT0gbnVsbCkge1xuICAgICAgICAgIGVudGl0aWVzQXR0cmlidXRlLm1hdHJpeC5hdHRyaWJ1dGVzLnNob3dTdW09dHJ1ZTtcbiAgICAgICAgICB0aGlzLnRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMgPSBlbnRpdGllc0F0dHJpYnV0ZS5tYXRyaXguYXR0cmlidXRlcztcbiAgICAgICAgICB0aGlzLnRhYnVsYXJSZXBvcnQucGFnZUxlbmd0aD1lbnRpdGllc0F0dHJpYnV0ZS50b3RhbFJlY29yZHM7XG4gICAgICAgICAgdGhpcy50YWJ1bGFyUmVwb3J0LnBhZ2VJbmRleD1lbnRpdGllc0F0dHJpYnV0ZS5wYWdlSW5kZXg7XG4gICAgICAgICAgdGhpcy50YWJ1bGFyUmVwb3J0LnBhZ2VTaXplPWVudGl0aWVzQXR0cmlidXRlLnBhZ2VTaXplO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFidWxhclJlcG9ydC5pc0RhdGFMb2FkZWQ9dHJ1ZTtcbiAgICAgICAgdGhpcy5pc0RhdGFMb2FkZWQ9dHJ1ZTtcbiAgICAgICAgdGhpcy5oZWFkZXJMb2FkZWQ9dHJ1ZTtcbiAgICAgIH0pO1xuXG4gICAgfVxuICAgIHRoaXMudG9TaG93QWdncmVnYXRpb24oKTtcblxuXG4gIH1cbiAgLyoqXG4gICAqIHRvIHNldCBtYXRyaXggYXR0cmlidXRlIGRhdGEgYWZ0ZXIgb25jaGFuZ2VcbiAgICpcbiAgICogQHBhcmFtIGNoYW5nZXNcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmlzRGF0YUxvYWRlZD1mYWxzZTtcbiAgICB0aGlzLnJlcG9ydD10aGlzLl9yZXBvcnRCdWlsZGVyTWFzdGVyU2VydmljZS5yZXBvcnQ7XG4gICAgIC8vU2V0IFBhZ2luYXRpb25cbiAgICAgaWYoIXRoaXMudGFidWxhclJlcG9ydC5wYWdlSW5kZXgpe1xuICAgICAgdGhpcy50YWJ1bGFyUmVwb3J0LnBhZ2VJbmRleCA9IDA7XG4gICAgICB0aGlzLnRhYnVsYXJSZXBvcnQucGFnZVNpemUgPSAxMDtcbiAgICAgIHRoaXMudGFidWxhclJlcG9ydC5wYWdlTGVuZ3RoID0gMDtcbiAgICB9XG5cbiAgICB0aGlzLmdldFRhYnVsYXJEYXRhKCk7XG5cbiAgfVxuLyoqXG4gKiB0byBkcm9wIGNvbHVtbiBmcm9tIHRhYnVsYXIgcmVwb3J0XG4gKlxuICogQHBhcmFtIENka0RyYWdEcm9wXG4gKlxuICovXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPik6IHZvaWR7XG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmlzUmVwb3J0QnVpbGRlckRpcnR5PXRydWU7XG4gIH1cblxuICAvKipcbiAgICogdG8gbW92ZSBjb2x1bW4gbGVmdCBvbiB0YWJ1bGFyIHJlcG9ydFxuICAgKlxuICAgKiBAcGFyYW0gQ2RrRHJhZ0Ryb3BcbiAgICpcbiAgICovXG4gICBtb3ZlQ29sdW1uTGVmdChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KTogdm9pZHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy50YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzLHRoaXMuY3VycmVudEluZGV4LHRoaXMuY3VycmVudEluZGV4LTEpO1xuICAgIHRoaXMuX2NvbW1vblNlcnZpY2UuaXNSZXBvcnRCdWlsZGVyRGlydHk9dHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0byBtb3ZlIGNvbHVtbiByaWdodCBvbiB0YWJ1bGFyIHJlcG9ydFxuICAgKlxuICAgKiBAcGFyYW0gQ2RrRHJhZ0Ryb3BcbiAgICpcbiAgICovXG4gIG1vdmVDb2x1bW5SaWdodChldmVudDogQ2RrRHJhZ0Ryb3A8c3RyaW5nW10+KTogdm9pZHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy50YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzLHRoaXMuY3VycmVudEluZGV4LHRoaXMuY3VycmVudEluZGV4KzEpO1xuICAgIHRoaXMuX2NvbW1vblNlcnZpY2UuaXNSZXBvcnRCdWlsZGVyRGlydHk9dHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0byByZW1vdmUgY29sdW1uIGZyb20gdGFidWxhciByZXBvcnRcbiAgICpcbiAgICogQHBhcmFtIEV2ZW50XG4gICAqXG4gICAqL1xuICByZW1vdmVDb2x1bW4oJGV2ZW50OiBFdmVudCk6IHZvaWR7XG4gICB0aGlzLnRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMuc3BsaWNlKHRoaXMuY3VycmVudEluZGV4LDEpO1xuICAgdGhpcy4gZ2V0VGFidWxhckRhdGEoKTtcbiAgIHRoaXMuX2NvbW1vblNlcnZpY2UuaXNSZXBvcnRCdWlsZGVyRGlydHk9dHJ1ZTtcbiAgfVxuXG5cblxuICAvKipjb250ZXh0IG1lbnUgZm9yIHRhYmxlIGNvbHVtbnNcbiAgICpcbiAgICogQHBhcmFtIE1vdXNlRXZlbnRcbiAgICogQHBhcmFtIG51bWJlclxuICAgKiBAcGFyYW0gQXR0cmlidXRlRGF0YVxuICAgKi9cblxuICBvbkNvbnRleHRNZW51KGV2ZW50OiBNb3VzZUV2ZW50LGluZGV4OiBudW1iZXIsYXR0cj86IEF0dHJpYnV0ZURhdGEpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNFZGl0YWJsZSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmNvbnRleHRNZW51ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYXR0ci50YWJsZU5hbWUrJy0nKyBhdHRyLm5hbWUpO1xuICAgIHRoaXMuY3VycmVudEluZGV4PWluZGV4O1xuICAgIHRoaXMuY29udGV4dE1lbnUuY2xpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0byByZXR1cm5zIHN1bSBvZiByb3dzXG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmdcbiAgICpcbiAgICovXG4gIHN1bShzZXJpZXM6IEFycmF5PHN0cmluZz4pOiBudW1iZXJ7XG4gICAgbGV0IHRvdGFsID0gMDtcbiAgICBmb3IoY29uc3QgZGF0YSBvZiBzZXJpZXMpe1xuICAgICAgdG90YWwgKz0gTnVtYmVyKGRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gdG90YWw7XG4gIH1cbiAgLyoqXG4gICAqIHRvIHJldHVybnMgYXZlcmFnZSBvZiByb3dzXG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmdcbiAgICpcbiAgICovXG4gIGF2ZyhzZXJpZXM6IEFycmF5PHN0cmluZz4pOiBudW1iZXJ7XG4gICAgbGV0IHRvdGFsID0gMDtcbiAgICBmb3IoY29uc3QgZGF0YSBvZiBzZXJpZXMpe1xuICAgICAgdG90YWwgKz0gTnVtYmVyKGRhdGEpO1xuICAgIH1cbiAgICBpZihzZXJpZXMubGVuZ3RoPT09MCl7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIChwYXJzZUZsb2F0KCh0b3RhbC9zZXJpZXMubGVuZ3RoKS50b0ZpeGVkKDIpKSk7XG4gIH1cblxuICAvKipcbiAgICogdG8gcmV0dXJucyBtYXhpbXVtIHZhbHVlIG9mIHJvd3NcbiAgICpcbiAgICogQHBhcmFtIHN0cmluZ1xuICAgKlxuICAgKi9cbiAgbWF4KHNlcmllczogQXJyYXk8c3RyaW5nPik6IG51bWJlcntcbiAgICBjb25zdCBhPVtdO1xuICAgIGZvcihjb25zdCBkYXRhIG9mIHNlcmllcyl7XG4gICAgICBhLnB1c2goTnVtYmVyKGRhdGEpKTtcbiAgICB9XG4gICAgaWYoYS5sZW5ndGg9PT0wKXtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gIE1hdGgubWF4KC4uLmEpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRvIHJldHVybnMgbWluaW11bSB2YWx1ZSBvZiByb3dzXG4gICAqXG4gICAqIEBwYXJhbSBzdHJpbmdcbiAgICpcbiAgICovXG4gIG1pbihzZXJpZXM6IEFycmF5PHN0cmluZz4pOiBudW1iZXJ7XG4gICAgY29uc3QgYT1bXTtcbiAgICBmb3IoY29uc3QgZGF0YSBvZiBzZXJpZXMpe1xuICAgICAgYS5wdXNoKE51bWJlcihkYXRhKSk7XG4gICAgfVxuICAgIGlmKGEubGVuZ3RoPT09MCl7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgICAgIHJldHVybiAgTWF0aC5taW4oLi4uYSk7XG4gIH1cbiAgLyoqXG4gICAqIHRvIHJldHVybnMgY291bnQgb2YgdW5pcXVlIHZhbHVlIG9mIHJvd3NcbiAgICpcbiAgICogQHBhcmFtIHN0cmluZ1xuICAgKlxuICAgKi9cbiAgdW5pcXVlKHNlcmllczogQXJyYXk8c3RyaW5nPik6IG51bWJlcntcbiAgICByZXR1cm4gWy4uLm5ldyBTZXQoc2VyaWVzKV0ubGVuZ3RoO1xuICB9XG5cblxuICAvKioqXG4gICAqIE9uIGNoYXJ0IGNvbnRleHQgIGNsaWNrIGZvciBzdW0gYWdncmVnYXRpb25cbiAgICogQHBhcmFtIE1hdENoZWNrYm94Q2hhbmdlXG4gICAqL1xuICBzdW1BZ2dyZWdhdGlvbihvYjogTWF0Q2hlY2tib3hDaGFuZ2UpOiB2b2lke1xuICAgIHRoaXMuc2hvd1N1bT1vYi5jaGVja2VkO1xuICAgIHRoaXMuX2NvbW1vblNlcnZpY2UuaXNSZXBvcnRCdWlsZGVyRGlydHk9dHJ1ZTtcbiAgICB0aGlzLnRvU2hvd0FnZ3JlZ2F0aW9uKCk7XG4gIH1cbiAgLyoqKlxuICAgKiBPbiBjaGFydCBjb250ZXh0ICBjbGljayBmb3IgYXZnIGFnZ3JlZ2F0aW9uXG4gICAqIEBwYXJhbSBNYXRDaGVja2JveENoYW5nZVxuICAgKi9cbiAgYXZlcmFnZUFnZ3JlZ2F0aW9uKG9iOiBNYXRDaGVja2JveENoYW5nZSk6IHZvaWR7XG4gICAgdGhpcy5zaG93QXZnPW9iLmNoZWNrZWQ7XG4gICAgdGhpcy5fY29tbW9uU2VydmljZS5pc1JlcG9ydEJ1aWxkZXJEaXJ0eT10cnVlO1xuICAgIHRoaXMudG9TaG93QWdncmVnYXRpb24oKTtcbiAgfVxuICAvKioqXG4gICAqIE9uIGNoYXJ0IGNvbnRleHQgIGNsaWNrIGZvciBtYXggYWdncmVnYXRpb25cbiAgICogQHBhcmFtIE1hdENoZWNrYm94Q2hhbmdlXG4gICAqL1xuICBtYXhBZ2dyZWdhdGlvbihvYjogTWF0Q2hlY2tib3hDaGFuZ2UpOiB2b2lke1xuICAgIHRoaXMuc2hvd01heD1vYi5jaGVja2VkO1xuICAgIHRoaXMuX2NvbW1vblNlcnZpY2UuaXNSZXBvcnRCdWlsZGVyRGlydHk9dHJ1ZTtcbiAgICB0aGlzLnRvU2hvd0FnZ3JlZ2F0aW9uKCk7XG4gIH1cbiAgLyoqKlxuICAgKiBPbiBjaGFydCBjb250ZXh0ICBjbGljayBmb3IgbWluIGFnZ3JlZ2F0aW9uXG4gICAqIEBwYXJhbSBNYXRDaGVja2JveENoYW5nZVxuICAgKi9cbiAgbWluQWdncmVnYXRpb24ob2I6IE1hdENoZWNrYm94Q2hhbmdlKTogdm9pZHtcbiAgICB0aGlzLnNob3dNaW49b2IuY2hlY2tlZDtcbiAgICB0aGlzLl9jb21tb25TZXJ2aWNlLmlzUmVwb3J0QnVpbGRlckRpcnR5PXRydWU7XG4gICAgdGhpcy50b1Nob3dBZ2dyZWdhdGlvbigpO1xuICB9XG5cblxuLyoqXG4gKiB0byBzZXQgaXNEaXJ0eSBhZnRlciBjaGFuZ2VzIGluIHRhYnVsYXIgcmVwb3J0IGZpbHRlclxuICpcbiAqL1xuICBkaXJ0eUZsb3dDaGVja0V2ZW50KCk6IHZvaWR7XG4gICAgdGhpcy5fY29tbW9uU2VydmljZS5pc1JlcG9ydEJ1aWxkZXJEaXJ0eT10cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBzb3J0IHRoZSBkYXRhIG9mIHRhYnVsYXJcbiAgICpcbiAgICogQHBhcmFtIGV2ZW50XG4gICAqIEBwYXJhbSBpbmRleFxuICAgKi9cbiAgb25DbGlja1NvcnRpbmcoZXZlbnQ6IEtleWJvYXJkRXZlbnQsaW5kZXg6IG51bWJlcik6IHZvaWR7XG4gICAgICBjb25zdCBhdHRyPXRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1tpbmRleF07XG4gICAgICB0aGlzLmlzQ29sdW1uRXhpc3QoYXR0cik7XG4gICAgICBhdHRyLmlzU29ydGFibGU9dHJ1ZTtcbiAgICAgIC8vIHRvIHNldCBncm91cCBieSBhY2NvcmRpbmcgdG8gbGFzdCB2YWx1ZSAvL1xuICAgICAgaWYoYXR0ci5ncm91cEJ5PT09T3JkZXJCeVR5cGUuYXNjZW5kaW5nKXtcbiAgICAgICAgYXR0ci5ncm91cEJ5PU9yZGVyQnlUeXBlLmRlc2NlbmRpbmc7XG4gICAgICB9XG4gICAgICBlbHNlIGlmKGF0dHIuZ3JvdXBCeT09PU9yZGVyQnlUeXBlLm5vbmUpe1xuICAgICAgICBhdHRyLmdyb3VwQnk9T3JkZXJCeVR5cGUuYXNjZW5kaW5nO1xuICAgICAgfVxuICAgICAgZWxzZXtcbiAgICAgICAgYXR0ci5ncm91cEJ5PU9yZGVyQnlUeXBlLm5vbmU7XG4gICAgICAgIGF0dHIuaXNTb3J0YWJsZT1mYWxzZTtcbiAgICAgIH1cbiAgICAvLyAtLS0tLS0tLWlmIGNvbmRpdGlvbiBmb3IgbXVsdGlwbGUgc29ydGluZy0tLS0tLS0tLS0tLS0tXG4gICAgICBpZihldmVudC5jdHJsS2V5fHxldmVudC5tZXRhS2V5KXtcbiAgICAgICAgICB0aGlzLnRhYnVsYXJSZXBvcnQuc29ydGluZy5wdXNoKGF0dHIpO1xuXG4gICAgICB9XG4gICAgICAvLy0tLS0gZm9yIHNpbmdsZSBjb2x1bW4gc29ydGluZyAtLS0tLS0tXG4gICAgICBlbHNle1xuICAgICAgICB0aGlzLnNpbmdsZUNvbHVtblNvcnRpbmcoYXR0cik7XG4gICAgfVxuICAgIHRoaXMudGFidWxhclJlcG9ydC5zb3J0aW5nLmZvckVhY2goKGF0dHJpYnV0ZSxzb3J0aW5nSW5kZXgpID0+IHtcbiAgICAgIGlmKCFhdHRyaWJ1dGUuaXNTb3J0YWJsZSl7XG4gICAgICAgIHRoaXMudGFidWxhclJlcG9ydC5zb3J0aW5nLnNwbGljZShzb3J0aW5nSW5kZXgsMSk7XG4gICAgICB9XG5cbiAgICB9KTtcblxuICAgIHRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1tpbmRleF0ub3JkZXJTZXF1ZW5jZT10aGlzLnRhYnVsYXJSZXBvcnQuc29ydGluZy5pbmRleE9mKGF0dHIpKzE7XG4gICAgICB0aGlzLnRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cmlidXRlKSA9PiB7XG4gICAgICAgIGlmKGF0dHIubmFtZSE9PWF0dHJpYnV0ZS5uYW1lKXtcbiAgICAgICAgICBhdHRyaWJ1dGUub3JkZXJTZXF1ZW5jZT10aGlzLmdldFNvcnRJbmRleChhdHRyaWJ1dGUpO1xuICAgICAgICAgIGlmKCFhdHRyaWJ1dGUub3JkZXJTZXF1ZW5jZSl7XG4gICAgICAgICAgICBhdHRyaWJ1dGUub3JkZXJTZXF1ZW5jZT0wO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9KTtcbiAgICB0aGlzLmhlYWRlckxvYWRlZD1mYWxzZTtcbiAgICB0aGlzLmdldFRhYnVsYXJEYXRhKCk7XG59XG5zaW5nbGVDb2x1bW5Tb3J0aW5nKGF0dHI6IEF0dHJpYnV0ZURhdGEpOiB2b2lke1xuICB0aGlzLnRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cmlidXRlKSA9PiB7XG4gICAgaWYoYXR0cmlidXRlLm5hbWUhPT1hdHRyLm5hbWUpe1xuICAgICAgYXR0cmlidXRlLmdyb3VwQnk9T3JkZXJCeVR5cGUubm9uZTtcbiAgICAgIGF0dHJpYnV0ZS5pc1NvcnRhYmxlPWZhbHNlO1xuICAgIH1cbiAgfSk7XG4gIHRoaXMudGFidWxhclJlcG9ydC5zb3J0aW5nPVtdO1xuICB0aGlzLnRhYnVsYXJSZXBvcnQuc29ydGluZy5wdXNoKGF0dHIpO1xufVxuLy8gdGhpcyBmdW5jdGlvbiByZXR1cm4gdHJ1ZSBpZiBhdHRyaWJ1dGUgaGF2ZSBzaG93IG1pbi9tYXgvYXZnL3N1bSBhZ2dyZWdhdGVzIHRvIHNob3cgbGFzdCByb3dcbiAgdG9TaG93QWdncmVnYXRpb24oKTogdm9pZHtcbiAgICB0aGlzLnRhYnVsYXJSZXBvcnQuc2hvd0JvdHRvbVJvdz1mYWxzZTtcbiAgICBsZXQgaGlkZGVuQ291bnQgPSAwO1xuICAgIHRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlcy5mb3JFYWNoKChhdHRyaWJ1dGUpID0+IHtcbiAgICAgIGlmKGF0dHJpYnV0ZS5hZ2dyZWdhdGUuc2hvd0F2ZyB8fCBhdHRyaWJ1dGUuYWdncmVnYXRlLnNob3dNYXh8fGF0dHJpYnV0ZS5hZ2dyZWdhdGUuc2hvd01pbiB8fGF0dHJpYnV0ZS5hZ2dyZWdhdGUuc2hvd1N1bSB8fCBhdHRyaWJ1dGUuYWdncmVnYXRlLnNob3dVbmlxdWVDb3VudCkge1xuICAgICAgICB0aGlzLnRhYnVsYXJSZXBvcnQuc2hvd0JvdHRvbVJvdz0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmKGF0dHJpYnV0ZS5pc0hpZGRlbil7XG4gICAgICAgIGhpZGRlbkNvdW50Kys7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYoaGlkZGVuQ291bnQgPT0gIHRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlcy5sZW5ndGgpe1xuICAgICAgdGhpcy5pc0hpZGRlbiA9IHRydWU7XG4gICAgfVxuICB9XG5cblxuICBnZXRTb3J0SW5kZXgoYXR0cmlidXRlRGF0YTogQXR0cmlidXRlRGF0YSk6IG51bWJlcntcbiAgICBsZXQgYXR0cmlidXRlSW5kZXggPSAwO1xuICAgIHRoaXMudGFidWxhclJlcG9ydC5zb3J0aW5nLmZvckVhY2goKGF0dHJpYnV0ZSxpbmRleCkgPT4ge1xuICAgICAgaWYoYXR0cmlidXRlLm5hbWU9PT1hdHRyaWJ1dGVEYXRhLm5hbWUgJiYgYXR0cmlidXRlLmlzU29ydGFibGUpe1xuICAgICAgICBhdHRyaWJ1dGVJbmRleD1pbmRleDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYXR0cmlidXRlSW5kZXgrMTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0byBjaGVjayBkcm9wcGVkIGNvbHVtbiBpcyBhbHJlYWR5IGV4aXN0IGluIHRhYmxlIG9yIG5vdFxuICAgKlxuICAgKiBAcGFyYW0gQXR0cmlidXRlRGF0YVxuICAgKlxuICAgKi9cbiAgICBpc0NvbHVtbkV4aXN0KGF0dHJpYnV0ZURhdGE6IEF0dHJpYnV0ZURhdGEpOiB2b2lke1xuICAgIHRoaXMudGFidWxhclJlcG9ydC5zb3J0aW5nLmZvckVhY2goKGF0dHJpYnV0ZSxpbmRleCkgPT4ge1xuICAgICAgICBpZihhdHRyaWJ1dGUubmFtZT09PWF0dHJpYnV0ZURhdGEubmFtZSl7XG4gICAgICAgICAgdGhpcy50YWJ1bGFyUmVwb3J0LnNvcnRpbmcuc3BsaWNlKGluZGV4LDEpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICp0byBlbWl0IHRhYnVsYXIgcHJvcGVydHkgb24gdGFibGUgY2xpY2tcbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqL1xuICAgIHRhYmxlU2VsZWN0KGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLl90YWJ1bGFyUmVwb3J0U2VydmljZS50YWJsZUNsaWNrRXZlbnQodGhpcy50YWJ1bGFyUmVwb3J0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB0byByZWRpcmVjdCBtZWRpYSB1cmxcbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqIEBwYXJhbSB1cmxcbiAgICAgKi9cbiAgICByZWRpcmVjdChldmVudDogS2V5Ym9hcmRFdmVudCx1cmw6IHN0cmluZyk6IHZvaWR7XG4gICAgICBpZihldmVudC5jdHJsS2V5fHxldmVudC5tZXRhS2V5KXtcbiAgICAgIHdpbmRvdy5vcGVuKHVybCAsICdfYmxhbmsnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB0byByZWRpcmVjdCBtZWRpYSB1cmwgb24gc2luZ2xlIGNsaWNrXG4gICAgICovXG4gICAgcmVkaXJlY3RPblNpbmdsZUNsaWNrKGV2ZW50OiBFdmVudCx1cmw6IHN0cmluZyk6IHZvaWR7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHdpbmRvdy5vcGVuKHVybCAsICdfYmxhbmsnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZW1vdmUgc2xhc2ggZnJvbSB1cmxcbiAgICAgKlxuICAgICAqIEBwYXJhbSB1cmxcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIHJlbW92ZVNsYXNoRnJvbVVSTCh1cmw6IHN0cmluZyk6IGFueXtcbiAgICAgIGlmKHVybCAmJiB1cmwgIT0gJycpe1xuICAgICAgICByZXR1cm4gdXJsLnNsaWNlKDAsIC0xKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIHdpbGwgZ2V0IGNhbGxlZCBvbiByb3cgY2xpY2tlZC4gd2UgYXJlIHVzaW5nIHRoaXMgZm9yIGNyb3NzIGZpbHRlciAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcm93SW5kZXhcbiAgICAgKi9cbiAgICByb3dTZWxlY3RlZChyb3dJbmRleDogbnVtYmVyKTogdm9pZHtcbiAgICAgIC8vIE9uIGJ1aWxkZXIgd2UgZG9uJ3QgbmVlZCBjcm9zcyBmaWx0ZXIgdGFidWxhciByZXBvcnQgaGF2ZSBvbmx5IG9uZSBlbGVtZW50IG9uIGJ1aWxkZXIgc28gdGhlcmUgaXMgbm8gbWVhbmluZyBvZiBjcm9zcyBmaWx0ZXIgb24gYnVpbGRlci5cbiAgICAgIGlmKCF0aGlzLmlzRWRpdGFibGUpe1xuICAgICAgICAvL1JvdyBpcyBhbHJlYWR5IHNlbGVjdGVkIHRoZW4gcmVtb3ZlIHNlbGVjdGlvbi5cbiAgICAgICAgaWYodGhpcy5zZWxlY3RlZFJvd0luZGV4ZXMuaW5jbHVkZXMocm93SW5kZXgpKXtcbiAgICAgICAgICBjb25zdCBpbmQgPSB0aGlzLnNlbGVjdGVkUm93SW5kZXhlcy5pbmRleE9mKHJvd0luZGV4KTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkUm93SW5kZXhlcy5zcGxpY2UoaW5kLDEpO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIC8vIFB1c2ggc2VsZWN0ZWQgcm93IGluZGV4IGluIHNlbGVjdGVkUm93SW5kZXhlcyBhcnJheVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJvd0luZGV4ZXMucHVzaChyb3dJbmRleCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDcmVhdGVkIGNyb3NzRmlsdGVyIERUT1xuICAgICAgICBjb25zdCBjcm9zc0ZpbHRlckR0bzogQ3Jvc3NGaWx0ZXJEdG8gPSB7XG4gICAgICAgICAgdmFsdWVzOiBbXSxcbiAgICAgICAgICBhdHRyaWJ1dGVEYXRhOiB0aGlzLnRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXNbMF0sXG4gICAgICAgICAgY2hhcnRUeXBlOiB0aGlzLnRhYnVsYXJSZXBvcnQudHlwZSxcbiAgICAgICAgICBlbGVtZW50R3VpZDogdGhpcy50YWJ1bGFyUmVwb3J0Lmd1aWQsXG4gICAgICAgICAgcmVzZXRGaWx0ZXI6dHJ1ZSxcbiAgICAgICAgICBzZWxlY3RlZEluZGV4TGVuZ3RoOiAxXG4gICAgICAgIH07XG4gICAgICAgIC8vIElmIHJvd3MgYXJlIHNlbGVjdGVkIHRoZW4gZmlsdGVyIG90aGVyIGVsZW1lbnRzIGRhdGEuXG4gICAgICAgIGlmKHRoaXMuc2VsZWN0ZWRSb3dJbmRleGVzLmxlbmd0aCA+IDApXG4gICAgICAgIHtcbiAgICAgICAgICBjcm9zc0ZpbHRlckR0by5yZXNldEZpbHRlciA9IGZhbHNlOyAgLy8gc2V0IFJlc2V0IGZpbHRlciBmYWxzZSBiY3ogd2UgaGF2ZSBzZWxlY3RlZCByb3dzLlxuXG4gICAgICAgICAgLy9BZGRlZCB2YWx1ZXMgb2Ygc2VsZWN0ZWQgcm93cyBpbiBjcm9zcyBmaWx0ZXIgZHRvXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZFJvd0luZGV4ZXMuZm9yRWFjaCgoaW5kKT0+e1xuICAgICAgICAgICAgY3Jvc3NGaWx0ZXJEdG8udmFsdWVzLnB1c2godGhpcy50YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzWzBdLnNlcmllc1tpbmRdKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRyaWdnZWQgY3Jvc3MgZmlsdGVyXG4gICAgICAgIHRoaXMuX2VsZW1lbnRTZXJ2aWNlLnRyaWdnZXJDcm9zc0ZpbHRlcihjcm9zc0ZpbHRlckR0byk7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBkcmlsbFRocm91Z2hDb250ZXh0KGV2ZW50OiBNb3VzZUV2ZW50LCBhdHRyaWJ1dGU6IEF0dHJpYnV0ZURhdGEsIGk6IG51bWJlcik6IHZvaWQge1xuICAgICAgdGhpcy5wYXJlbnRSZWYuZHJpbGxUaHJvdWdoQ29udGV4dChldmVudCwgYXR0cmlidXRlLGkpO1xuICAgIH1cblxuICAgIHJlbW92ZUZyb21EYXNoYm9hcmQoKTogdm9pZCB7XG4gICAgICB0aGlzLl9kYXNoYm9hcmRCdWlsZGVyU2VydmljZS5kZWxldGVFbGVtZW50LmVtaXQodGhpcy50YWJ1bGFyUmVwb3J0KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogaGFuZGxlIHBhZ2luYXRvciBldmVudCB0byBjaGFuZ2UgZGF0YSBhcyBwZXIgcGFnZSBpbmRleCBhbmQgcGFnZXNpemVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudFxuICAgICAqL1xuICAgIGhhbmRsZVBhZ2VFdmVudChldmVudDogUGFnZUV2ZW50KTogdm9pZHtcbiAgICAgIHRoaXMudGFidWxhclJlcG9ydC5wYWdlSW5kZXg9ZXZlbnQucGFnZUluZGV4O1xuICAgICAgdGhpcy50YWJ1bGFyUmVwb3J0LnBhZ2VTaXplPWV2ZW50LnBhZ2VTaXplO1xuICAgICAgdGhpcy5pc0RhdGFMb2FkZWQ9ZmFsc2U7XG4gICAgICB0aGlzLnRhYnVsYXJSZXBvcnQuaXNEYXRhTG9hZGVkPWZhbHNlO1xuICAgICAgdGhpcy5nZXRUYWJ1bGFyRGF0YSgpO1xuICAgIH1cblxuICAgICBvcGVuQ29uZGl0aW9uYWxGb3JtYXR0aW5nKGluZGV4OiBFdmVudCk6IHZvaWR7XG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKENvbmRpdGlvbmFsRm9ybWF0dGluZ0NvbXBvbmVudCwge1xuICAgICAgICB3aWR0aDogJzQwJScsXG4gICAgICAgIGhlaWdodDonNTAlJyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZzogdGhpcy50YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzW3RoaXMuY3VycmVudEluZGV4XS5jb25kaXRpb25hbEZvcm1hdHRpbmcsXG4gICAgICAgICAgLy8gbWVzc2FnZTogJ0RlbGV0aW5nIGEgcmVwb3J0IHdpbGwgYWxzbyBkZWxldGUgdGhlIHJlbGF0ZWQgZ3JhcGhzIGZyb20gdGhlIGRhc2hib2FyZCBhcyB3ZWxsLiBBcmUgeW91IHN1cmUgd2FudCB0byBkZWxldGUgdGhpcyByZXBvcnQ/JyxcbiAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ1NhdmUnLFxuICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICdDYW5jZWwnLFxuICAgICAgICAgIGNvbmZpcm1CdXR0b25UeXBlOiAnc3VibWl0J1xuICAgICAgICB9LFxuICAgICAgICBwYW5lbENsYXNzOiAnY29uZmlybS1tb2RhbC1jb250YWluZXInXG4gICAgICB9KTtcblxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHRoaXMudGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1t0aGlzLmN1cnJlbnRJbmRleF0uY29uZGl0aW9uYWxGb3JtYXR0aW5nPXJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB9XG5cbn1cbiIsIlxuPGRpdiAqbmdJZj1cIiF0YWJ1bGFyUmVwb3J0LmlzRGF0YUxvYWRlZCAmJiB0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzLmxlbmd0aCE9PTBcIiBjbGFzcz1cImxvYWRlci1zcGlubmVyXCI+XG4gIDxhcHAtZ2hvc3QtbG9hZGVyIFtlbGVtZW50VHlwZV09XCJHaG9zdExvYWRlclR5cGUuVGFidWxhckNoYXJ0TG9hZGVyXCIgPjwvYXBwLWdob3N0LWxvYWRlcj5cbjwvZGl2PlxuPCEtLSA8ZGl2ICpuZ0lmPVwiIXRhYnVsYXJSZXBvcnQuaXNEYXRhTG9hZGVkICYmIHRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMubGVuZ3RoIT09MFwiIGNsYXNzPVwibG9hZGVyLXNwaW5uZXJcIj5cbiAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCI0MFwiPjwvbWF0LXNwaW5uZXI+XG48L2Rpdj4gLS0+XG48ZGl2IGNsYXNzPVwidGFibGVDb250YWluZXIgY3VzdG9tc2Nyb2xsXCIgaWQ9dGFibGUgIFtuZ0NsYXNzXT1cInsnbG9jYWwtYm9keScgOiAhaXNFZGl0YWJsZSAmJiAoc2NyZWVuVHlwZSAhPT0gc2NyZWVuVHlwZXMuZHJpbGxUaHJvdWdoKSB9XCJcbipuZ0lmPSd0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzLmxlbmd0aD4wICYmIChpc0RhdGFMb2FkZWQgfHwgdGFidWxhclJlcG9ydC5pc0RhdGFMb2FkZWQpJz5cblxuICAgIDx0YWJsZVxuICAgICAgKGNsaWNrKT1cInRhYmxlU2VsZWN0KCRldmVudClcIlxuICAgICAgW3N0eWxlLmJvcmRlcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLndpZHRoKydweCcrICcgJysgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5ib3JkZXJTdHlsZSArICcgJyArIHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuY29sb3JcIlxuICAgICAgKm5nSWY9dGFidWxhclJlcG9ydCBjZGtEcm9wTGlzdEdyb3VwIGNsYXNzPVwib3ZlcmZsb3cteC1hdXRvXCIgW25nQ2xhc3NdPVwieydtdC0xJzogdGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlcy5sZW5ndGg+MCAmJiB0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzWzBdLnNlcmllcy5sZW5ndGg9PT0wfVwiPlxuICAgICAgPGNhcHRpb24+PC9jYXB0aW9uPlxuICAgICAgPHRoZWFkIGNsYXNzPVwidGhlYWRcIiBbc3R5bGUub3V0bGluZV09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLndpZHRoKydweCcrICcgJysgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5ib3JkZXJTdHlsZSArICcgJyArIHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuY29sb3JcIj5cbiAgICAgICAgPHRyIGNka0Ryb3BMaXN0IGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIiBbc3R5bGUuYm9yZGVyXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIud2lkdGgrJ3B4JysgJyAnKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmJvcmRlclN0eWxlICsgJyAnICsgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5jb2xvclwiPlxuICAgICAgICAgIDwhLS0gc2VyaWFsIG51bWJlciBoZWFkZXIgLS0+XG4gICAgICAgICAgPHRoIFtpZF09XCJzck5vXCJcbiAgICAgICAgICBjbGFzcz1cIiBweC0xLjUgcHktMS41IHctMTAgbWluLXctMTBcIlxuICAgICAgICAgICpuZ0lmPVwidGFidWxhclJlcG9ydC5zaG93U2VyaWFsTm9cIlxuICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuaGVhZGVyLmZvbnQuY29sb3JcIlxuICAgICAgICAgIFtzdHlsZS5mb250LXNpemUucHhdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmhlYWRlci5mb250LnNpemVcIlxuICAgICAgICAgIFtzdHlsZS5mb250LWZhbWlseV09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuaGVhZGVyLmZvbnQuZmFtaWx5XCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuaGVhZGVyLmJhY2tncm91bmRDb2xvclwiXG4gICAgICAgICAgW3N0eWxlLmJvcmRlcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLndpZHRoKydweCcrICcgJysgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5ib3JkZXJTdHlsZSArICcgJyArIHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuY29sb3JcIlxuXG5cbiAgICAgICAgPjxkaXYgY2xhc3M9XCJzci1oZWFkIG1heC13LWZpdFwiPlNyIE5vLjwvZGl2PjwvdGg+XG4gICAgICAgIDwhLS0gY29sdW1uIGhlYWRlcnMgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGF0dHIgb2YgdGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlczsgbGV0IGk9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3RcIiBjZGtEcmFnQm91bmRhcnk9XCIucGFnZVwiID5cbiAgICAgICAgICA8dGggW2lkXT1cInRoXCJcbiAgICAgICAgICAgICpuZ0lmPVwiIWF0dHIuaXNIaWRkZW5cIlxuICAgICAgICAgICAgY2xhc3M9XCJkZWF0YWlsLWdyb3VwLXRhYmFsZS1oZWFkZXJcIlxuICAgICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhaXNFZGl0YWJsZVwiXG4gICAgICAgICAgICBbc3R5bGUuZm9udC1zaXplLnB4XT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5oZWFkZXIuZm9udC5zaXplXCJcbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuaGVhZGVyLmZvbnQuY29sb3JcIlxuICAgICAgICAgICAgW3N0eWxlLmZvbnQtZmFtaWx5XT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5oZWFkZXIuZm9udC5mYW1pbHlcIlxuICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmhlYWRlci5iYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgICAgICAgW3N0eWxlLmJvcmRlcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLndpZHRoKydweCcrICcgJysgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5ib3JkZXJTdHlsZSArICcgJyArIHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuY29sb3JcIlxuXG4gICAgICAgICAgICBjZGtEcmFnXG5cbiAgICAgICAgICAgIFtzdHlsZS50ZXh0LWFsaWduXT0nYXR0ci5hbGlnbm1lbnQnXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWF0aWwtZ3JvdXAtdGFibGUtaGVhZC1jaGlsZCBnYXAtMVwiIChjb250ZXh0bWVudSk9XCJvbkNvbnRleHRNZW51KCRldmVudCwgaSwgYXR0cilcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJvbkNsaWNrU29ydGluZygkZXZlbnQsaSlcIiBjbGFzcz1cInctZnVsbCBmbGV4XCIgW25nQ2xhc3NdPVwieycgZ2FwLTMgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2Vlbic6YXR0ci5ncm91cEJ5PT09MSB8fCBhdHRyLmdyb3VwQnk9PT0yIHx8IGlzRWRpdGFibGV9XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmVydGljYWwtZG90XCIgKm5nSWY9XCJpc0VkaXRhYmxlXCIgY2RrRHJhZ0hhbmRsZT5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uID5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBbc3R5bGUud2lkdGhdPVwiYXR0ci5sYWJlbC5sZW5ndGgrMSsnY2gnXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtaGVhZGluZ1wiIFtuZ0NsYXNzXT1cInsnc29ydC1oZWFkaW5nJyA6ICFoZWFkZXJMb2FkZWQgfVwiXG4gICAgICAgICAgICAgICAgICBbc3R5bGUuZm9udC1zaXplLnB4XT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5oZWFkZXIuZm9udC5zaXplXCJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuaGVhZGVyLmZvbnQuY29sb3JcIlxuICAgICAgICAgICAgICAgICAgW3N0eWxlLmZvbnQtZmFtaWx5XT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5oZWFkZXIuZm9udC5mYW1pbHlcIlxuICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiYXR0ci5sYWJlbFwiIFtyZWFkb25seV0gPVwiIWlzRWRpdGFibGVcIi8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnRpbmctYXJyb3cgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9J2F0dHIuZ3JvdXBCeT09PTEgfHwgYXR0ci5ncm91cEJ5PT09MicgY2xhc3M9XCJvcmRlci1zZXF1ZW5jZSBheG8tZm9udFwiPnt7YXR0ci5vcmRlclNlcXVlbmNlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIHNvcnRpbmctaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3J0LWFycm93LXVwIGN1cnNvci1wb2ludGVyXCIgW25nQ2xhc3NdPVwieydhcnJvdy1hY3RpdmUnOiBhdHRyLmdyb3VwQnk9PT0xfVwiPiYjeDI1QjI7PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNvcnQtYXJyb3ctZG93biBjdXJzb3ItcG9pbnRlclwiIFtuZ0NsYXNzXT1cInsnYXJyb3ctYWN0aXZlJzogYXR0ci5ncm91cEJ5PT09Mn1cIj4mI3gyNUJDOzwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VkaXRhYmxlXCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib25Db250ZXh0TWVudSgkZXZlbnQsIGksIGF0dHIpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHBiLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uICBjbGFzcz1cInRhYi1kb3duLWFycm93XCIgc3ZnSWNvbj1cImhlcm9pY29uc19vdXRsaW5lOmNoZXZyb24tZG93blwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgI21hdE1lbnVUcmlnZ2VyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmaWx0ZXJNYXRNZW51XCJcbiAgICAgICAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiY29udGV4dE1lbnVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJhdHRyLnRhYmxlTmFtZSsnLScrIGF0dHIubmFtZVwiPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keSAgIFtuZ0NsYXNzXT1cInsnc2hhZG93Jzp0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLnNoYWRvdy5lbmFibGV9XCJcbiAgICAgICAgKm5nSWY9XCJ0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzLmxlbmd0aD4wXCJcbiAgICAgICAgPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRhdGEgb2YgdGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1swXS5zZXJpZXM7bGV0IGkgPSBpbmRleDsgZXZlbiBhcyBpc0V2ZW47IGxldCBkYXRhMVwiPlxuICAgICAgICA8dHJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJzZWxlY3RlZFJvd0luZGV4ZXMuaW5jbHVkZXMoaSk/dGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvZHkuYmFja2dyb3VuZENvbG9yKyc2MCc6dGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvZHkuYmFja2dyb3VuZENvbG9yXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmQ6IGlzRXZlbiA/IHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5yb3dTdHlsZS5vZGRDb2xvcjogdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLnJvd1N0eWxlLmV2ZW5Db2xvcn1cIlxuICAgICAgICAgIFtzdHlsZS5ib3JkZXJdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci53aWR0aCArICcgJysgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5ib3JkZXJTdHlsZSArICcgJyArIHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuY29sb3JcIlxuICAgICAgICAgIChjbGljayk9XCJyb3dTZWxlY3RlZChpKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwhLS0gc2VyaWFsIG5vIG9mIHJvd3MgLS0+XG4gICAgICAgICAgPHRkICpuZ0lmPVwidGFidWxhclJlcG9ydC5zaG93U2VyaWFsTm9cIlxuICAgICAgICAgICAgY2xhc3M9XCJweC0xLjVcdHB5LTEuNSBtYXgtdy1maXRcIlxuICAgICAgICAgICAgW3N0eWxlLmJvcmRlcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLndpZHRoKydweCcrJyAnKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmJvcmRlclN0eWxlICsgJyAnICsgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5jb2xvclwiIGNsYXNzPVwidGV4dC1jZW50ZXIgXCJcbiAgICAgICAgICAgIFtzdHlsZS5mb250LWZhbWlseV09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9keS5mb250LmZhbWlseVwiXG4gICAgICAgICAgICBbc3R5bGUuZm9udC1zaXplLnB4XT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib2R5LmZvbnQuc2l6ZVwiXG4gICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvZHkuZm9udC5jb2xvclwiXG5cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIHt7KCgodGFidWxhclJlcG9ydC5wYWdlSW5kZXggLTEgKSogdGFidWxhclJlcG9ydC5wYWdlU2l6ZSkgKyB0YWJ1bGFyUmVwb3J0LnBhZ2VTaXplKSsgaSsxfX1cbiAgICAgPC90ZD5cbiAgICAgICAgICA8IS0tICBzZXJpZXMgZGF0YSAgLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgX2F0dHIgb2YgdGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlczsgZXZlbiBhcyBpc0V2ZW47bGV0IG0gPSBpbmRleFwiPlxuICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgKm5nSWY9XCIhX2F0dHIuaXNIaWRkZW5cIlxuICAgICAgICAgICAgY2xhc3M9XCJweC0xLjVcdHB5LTEuNVx0XCJcbiAgICAgICAgICAgIFtzdHlsZS5mb250LWZhbWlseV09XCJfYXR0ci5zZXJpZXNGb3JtYXR0aW5nW2ldPy5mb250P19hdHRyLnNlcmllc0Zvcm1hdHRpbmdbaV0uZm9udC5mYW1pbHk6dGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvZHkuZm9udC5mYW1pbHlcIlxuICAgICAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZS5weF09XCJfYXR0ci5zZXJpZXNGb3JtYXR0aW5nW2ldPy5mb250P19hdHRyLnNlcmllc0Zvcm1hdHRpbmdbaV0uZm9udC5zaXplOnRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib2R5LmZvbnQuc2l6ZVwiXG4gICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiX2F0dHIuc2VyaWVzRm9ybWF0dGluZ1tpXT8uZm9udD9fYXR0ci5zZXJpZXNGb3JtYXR0aW5nW2ldLmZvbnQuY29sb3I6dGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvZHkuZm9udC5jb2xvclwiXG4gICAgICAgICAgICBbc3R5bGUudGV4dC1hbGlnbl09J19hdHRyLmFsaWdubWVudCdcbiAgICAgICAgICAgIChjb250ZXh0bWVudSk9XCJkcmlsbFRocm91Z2hDb250ZXh0KCRldmVudCwgX2F0dHIsIGkpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBfYXR0ci5zZXJpZXNGb3JtYXR0aW5nW2ldLmJhY2tncm91bmRDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICdib3JkZXInOiBfYXR0ci5zZXJpZXNGb3JtYXR0aW5nW2ldPy5ib3JkZXIgPyBfYXR0ci5zZXJpZXNGb3JtYXR0aW5nW2ldLmJvcmRlci53aWR0aCsncHgnKyAnICcrIF9hdHRyLnNlcmllc0Zvcm1hdHRpbmdbaV0uYm9yZGVyLmJvcmRlclN0eWxlICsgJyAnICsgX2F0dHIuc2VyaWVzRm9ybWF0dGluZ1tpXS5ib3JkZXIuY29sb3I6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci53aWR0aCsncHgnKyAnICcrIHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuYm9yZGVyU3R5bGUgKyAnICcgKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmNvbG9yXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgID5cblxuXG5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9hdHRyLnNlcmllc1tpXVwiPlxuICAgICAgICAgICAgPGRpdiAgW25nU3dpdGNoXT1cIl9hdHRyLndpZGdldFR5cGVcIj5cbiAgICAgICAgICAgICAgICA8IS0tIHdoZW4gZGF0YSB0eXBlIGlzIGRhdGV0aW1lIC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGF0ZXBpY2tlci13aWRnZXQnXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2F0dHIud2lkZ2V0U3ViVHlwZT09PSdkYXRldGltZScgfHwgX2F0dHIud2lkZ2V0U3ViVHlwZT09PSdib3RoJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiA+e3ttb21lbnQoX2F0dHIuc2VyaWVzW2ldKydaJyl8ZGF0ZTpfYXR0ci52YWx1ZUZvcm1hdHRpbmcuZGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2F0dHIud2lkZ2V0U3ViVHlwZT09PSd0aW1lc3RhbXAnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tfYXR0ci5zZXJpZXNbaV19fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9hdHRyLndpZGdldFN1YlR5cGU9PT0ndGltZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3ttb21lbnQoX2F0dHIuc2VyaWVzW2ldLCdoaDptbTpzcycpfGRhdGU6X2F0dHIudmFsdWVGb3JtYXR0aW5nLmRhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9hdHRyLndpZGdldFN1YlR5cGU9PT0nZGF0ZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIgX2F0dHIud2lkZ2V0U3ViVHlwZT09PSdkYXRlJ1wiPnt7X2F0dHIuc2VyaWVzW2ldfGRhdGU6X2F0dHIudmFsdWVGb3JtYXR0aW5nLmRhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9hdHRyLndpZGdldFN1YlR5cGU9PT0nZGF0ZV9yYW5nZSdcIj5cbiAgICAgICAgICAgICAgICAgICAge3tfYXR0ci5zZXJpZXNbaV19fVxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwhLS0gd2hlbiBkYXRhIHR5cGUgaXMgdGV4dCAtLT5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3RleHRib3gtd2lkZ2V0J1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIl9hdHRyLndpZGdldFN1YlR5cGU9PT0nZGVjaW1hbCd8fCBfYXR0ci53aWRnZXRTdWJUeXBlPT09J3RleHQnIHx8IF9hdHRyLndpZGdldFN1YlR5cGU9PT0nc3RyaW5nJ1wiPlxuICAgICAgICAgICAgICAgICAgICB7e19hdHRyLnNlcmllc1tpXX19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJfYXR0ci53aWRnZXRTdWJUeXBlPT09J251bWVyaWMnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJfYXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3kgXCI+e3sgX2F0dHIuc2VyaWVzW2ldIHwgIGN1cnJlbmN5Ol9hdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeSA6J3N5bWJvbCd9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiBfYXR0ci52YWx1ZUZvcm1hdHRpbmcucGVyY2VudGFnZVwiPnt7X2F0dHIuc2VyaWVzW2ldfCAgYXhvUGVyY2VudGFnZTpfYXR0ci5zZXJpZXM6ICdkZXRhaWwnfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhX2F0dHIudmFsdWVGb3JtYXR0aW5nLnBlcmNlbnRhZ2UgJiYgIV9hdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeVwiPnt7X2F0dHIuc2VyaWVzW2ldfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPCEtLSBXaGVuIHdpZGdldCB0eXBlIGlzIHdlYiBsaW5rICAtLT5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2h5cGVybGluay13aWRnZXQnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXJsXCIgW3RpdGxlXT1cIngxSW1hZ2VNZWRpYVVybCtfYXR0ci5zZXJpZXNbaV1cIiAoY2xpY2spPVwicmVkaXJlY3QoJGV2ZW50LF9hdHRyLnNlcmllc1tpXSlcIj57e19hdHRyLnNlcmllc1tpXX19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgIDwhLS0gV2hlbiB3aWRnZXQgdHlwZSBpcyBzaWduYXR1cmUgd2lkZ2V0IC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInd2V0c2lnbmF0dXJlY2FwdHVyZS13aWRnZXQnXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVybFwiIFt0aXRsZV09XCJ4MUltYWdlTWVkaWFVcmwrX2F0dHIuc2VyaWVzW2ldXCIgKGNsaWNrKT1cInJlZGlyZWN0KCRldmVudCx4MUltYWdlTWVkaWFVcmwrX2F0dHIuc2VyaWVzW2ldKVwiPnt7X2F0dHIuc2VyaWVzW2ldfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBXaGVuIHdpZGdldCB0eXBlIGlzIHZpZGVvIHdpZGdldCAtLT5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3ZpZGVvY2FwdHVyZS13aWRnZXQnXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVybFwiIFt0aXRsZV09XCJ4MUltYWdlTWVkaWFVcmwrX2F0dHIuc2VyaWVzW2ldXCIgKGNsaWNrKT1cInJlZGlyZWN0KCRldmVudCx4MUltYWdlTWVkaWFVcmwrX2F0dHIuc2VyaWVzW2ldKVwiPnt7X2F0dHIuc2VyaWVzW2ldfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBXaGVuIHdpZGdldCB0eXBlIGlzIGF1ZGlvIHdpZGdldCAtLT5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2F1ZGlvY2FwdHVyZS13aWRnZXQnXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVybFwiIFt0aXRsZV09XCJ4MUltYWdlTWVkaWFVcmwrX2F0dHIuc2VyaWVzW2ldXCIgKGNsaWNrKT1cInJlZGlyZWN0KCRldmVudCx4MUltYWdlTWVkaWFVcmwrX2F0dHIuc2VyaWVzW2ldKVwiPnt7X2F0dHIuc2VyaWVzW2ldfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwhLS0gV2hlbiB3aWRnZXQgdHlwZSBpcyBkb2N1bWVudCB3aWRnZXQgLS0+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidmaWxldXBsb2FkLXdpZGdldCdcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidXJsXCIgW3RpdGxlXT1cIngxSW1hZ2VNZWRpYVVybCtfYXR0ci5zZXJpZXNbaV1cIiAoY2xpY2spPVwicmVkaXJlY3QoJGV2ZW50LHgxSW1hZ2VNZWRpYVVybCtfYXR0ci5zZXJpZXNbaV0pXCI+e3tfYXR0ci5zZXJpZXNbaV19fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICA8IS0tIFdoZW4gd2lkZ2V0IHR5cGUgaXMgZG9jdW1lbnQgd2lkZ2V0IC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZG9jdW1lbnQnXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVybCBjdXJzb3ItcG9pbnRlclwiIFt0aXRsZV09XCJyZW1vdmVTbGFzaEZyb21VUkwoeDFNZWRpYVVybCkrX2F0dHIuc2VyaWVzW2ldXCIgKGNsaWNrKT1cInJlZGlyZWN0T25TaW5nbGVDbGljaygkZXZlbnQscmVtb3ZlU2xhc2hGcm9tVVJMKHgxTWVkaWFVcmwpK19hdHRyLnNlcmllc1tpXSlcIj48bWF0LWljb24gY2xhc3M9XCJkb2MtaWNvblwiIHN2Z0ljb249XCJheG9fcGRmMVwiPjwvbWF0LWljb24+PC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBXaGVuIHdpZGdldCB0eXBlIGlzIGRvY3VtZW50IHdpZGdldCAtLT5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlY2FwdHVyZS13aWRnZXQnXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVybFwiIFt0aXRsZV09XCJ4MUltYWdlTWVkaWFVcmwrX2F0dHIuc2VyaWVzW2ldXCIgKGNsaWNrKT1cInJlZGlyZWN0KCRldmVudCx4MUltYWdlTWVkaWFVcmwrX2F0dHIuc2VyaWVzW2ldKVwiPnt7X2F0dHIuc2VyaWVzW2ldfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPCEtLSBkZWZhdWx0IGNhc2UgLS0+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0Pnt7X2F0dHIuc2VyaWVzW2ldfX08L3NwYW4+XG5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPSchX2F0dHIuc2VyaWVzW2ldJz5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJfYXR0ci53aWRnZXRTdWJUeXBlPT09J251bWVyaWMnXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJfYXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3kgXCI+e3sgIDAgfCAgY3VycmVuY3k6X2F0dHIudmFsdWVGb3JtYXR0aW5nLmN1cnJlbmN5IDonc3ltYm9sJ319PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIF9hdHRyLnZhbHVlRm9ybWF0dGluZy5wZXJjZW50YWdlXCI+e3swIHwgIGF4b1BlcmNlbnRhZ2U6X2F0dHIuc2VyaWVzOiAnZGV0YWlsJ319PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIV9hdHRyLnZhbHVlRm9ybWF0dGluZy5wZXJjZW50YWdlICYmICFfYXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3lcIj4tPC9zcGFuPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwhLS0gd2hlbiBzZXJpZXMgZGF0YSBpcyBlbXB0eSAtLT5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJfYXR0ci53aWRnZXRTdWJUeXBlIT09J251bWVyaWMnXCI+LTwvc3Bhbj5cblxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwhLS0gc3VidG90YWwgcm93IC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciA+XG4gICAgICA8dHIgKm5nSWY9dGFidWxhclJlcG9ydC5zaG93Qm90dG9tUm93PlxuICAgICAgICA8dGQgKm5nSWY9J3RhYnVsYXJSZXBvcnQuc2hvd1NlcmlhbE5vJ1xuICAgICAgICBjbGFzcz1cInB4LTEuNVx0cHktMS41XHRcIlxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuZm9vdGVyLmJhY2tncm91bmRDb2xvclwiXG4gICAgICAgIFtzdHlsZS5mb250LWZhbWlseV09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuZm9vdGVyLmZvbnQuZmFtaWx5XCJcbiAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZS5weF09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuZm9vdGVyLmZvbnQuc2l6ZVwiXG4gICAgICAgIFtzdHlsZS5ib3JkZXJdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci53aWR0aCsncHgnKycgJysgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5ib3JkZXJTdHlsZSArICcgJyArIHRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5ib3JkZXIuY29sb3JcIlxuICAgICAgICBbc3R5bGUuY29sb3JdPVwidGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmZvb3Rlci5mb250LmNvbG9yXCJcbiAgICAgICAgPlxuICAgICAgICA8L3RkPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXR0ciBvZiB0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzOyBsZXQgaT1pbmRleFwiPlxuICAgICAgICA8dGRcbiAgICAgICAgKm5nSWY9XCIhYXR0ci5pc0hpZGRlblwiXG4gICAgICAgIGNsYXNzPVwicHgtMS41XHRweS0xLjVcdFwiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5mb290ZXIuYmFja2dyb3VuZENvbG9yXCJcbiAgICAgICAgW3N0eWxlLmZvbnQtZmFtaWx5XT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5mb290ZXIuZm9udC5mYW1pbHlcIlxuICAgICAgICBbc3R5bGUuZm9udC1zaXplLnB4XT1cInRhYnVsYXJSZXBvcnQudGFibGVTdHlsZS5mb290ZXIuZm9udC5zaXplXCJcbiAgICAgICAgW3N0eWxlLmJvcmRlcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLndpZHRoKydweCcrJyAnKyB0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuYm9yZGVyLmJvcmRlclN0eWxlICsgJyAnICsgdGFidWxhclJlcG9ydC50YWJsZVN0eWxlLmJvcmRlci5jb2xvclwiXG4gICAgICAgIFtzdHlsZS5jb2xvcl09XCJ0YWJ1bGFyUmVwb3J0LnRhYmxlU3R5bGUuZm9vdGVyLmZvbnQuY29sb3JcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHIud2lkZ2V0VHlwZT09PSd0ZXh0Ym94LXdpZGdldCcgJiYgIGF0dHIud2lkZ2V0U3ViVHlwZT09PSdudW1lcmljJ1wiPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhdHRyLmFnZ3JlZ2F0ZS5zaG93U3VtXCI+XG4gICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhdHRyLnZhbHVlRm9ybWF0dGluZy5jdXJyZW5jeSBcIj5TdW06IHt7IHN1bShhdHRyLnNlcmllcykgfCAgY3VycmVuY3k6YXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3kgOidzeW1ib2wnfX08YnI+PC9zcGFuPlxuICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIGF0dHIudmFsdWVGb3JtYXR0aW5nLnBlcmNlbnRhZ2VcIj4gU3VtOlxuICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdW0oYXR0ci5zZXJpZXMpPjFcIj4xMDAlPC9zcGFuPlxuICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdW0oYXR0ci5zZXJpZXMpPDFcIj4wJTwvc3Bhbj5cbiAgICAgICAgICAgICA8YnI+PC9zcGFuPlxuICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWF0dHIudmFsdWVGb3JtYXR0aW5nLnBlcmNlbnRhZ2UgJiYgIWF0dHIudmFsdWVGb3JtYXR0aW5nLmN1cnJlbmN5XCI+U3VtOiB7e3N1bShhdHRyLnNlcmllcyl9fTxicj48L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJhdHRyLmFnZ3JlZ2F0ZS5zaG93QXZnXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImF0dHIudmFsdWVGb3JtYXR0aW5nLmN1cnJlbmN5IFwiPkF2Zzoge3thdmcoYXR0ci5zZXJpZXMpIHwgIGN1cnJlbmN5OmF0dHIudmFsdWVGb3JtYXR0aW5nLmN1cnJlbmN5IDonc3ltYm9sJ319PGJyPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIGF0dHIudmFsdWVGb3JtYXR0aW5nLnBlcmNlbnRhZ2VcIj5Bdmc6IHt7YXZnKGF0dHIuc2VyaWVzKXwgIGF4b1BlcmNlbnRhZ2U6YXR0ci5zZXJpZXM6ICdkZXRhaWwnfX08YnI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhYXR0ci52YWx1ZUZvcm1hdHRpbmcucGVyY2VudGFnZSAmJiAhYXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3lcIj4gQXZnOiB7e2F2ZyhhdHRyLnNlcmllcyl9fTxicj48L3NwYW4+XG4gICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImF0dHIuYWdncmVnYXRlLnNob3dNYXhcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3kgXCI+IE1heDoge3ttYXgoYXR0ci5zZXJpZXMpfCAgY3VycmVuY3k6YXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3kgOidzeW1ib2wnfX08YnI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIgYXR0ci52YWx1ZUZvcm1hdHRpbmcucGVyY2VudGFnZVwiPiBNYXg6IHt7bWF4KGF0dHIuc2VyaWVzKXwgIGF4b1BlcmNlbnRhZ2U6YXR0ci5zZXJpZXM6ICdkZXRhaWwnfX08YnI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhYXR0ci52YWx1ZUZvcm1hdHRpbmcucGVyY2VudGFnZSAmJiAhYXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3lcIj4gTWF4OiB7e21heChhdHRyLnNlcmllcyl9fTxicj48L3NwYW4+XG4gICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImF0dHIuYWdncmVnYXRlLnNob3dNaW5cIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3kgXCI+TWluOiB7e21pbihhdHRyLnNlcmllcykgfCAgY3VycmVuY3k6YXR0ci52YWx1ZUZvcm1hdHRpbmcuY3VycmVuY3kgOidzeW1ib2wnfX08YnI+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIgYXR0ci52YWx1ZUZvcm1hdHRpbmcucGVyY2VudGFnZVwiPk1pbjoge3ttaW4oYXR0ci5zZXJpZXMpfCBheG9QZXJjZW50YWdlOmF0dHIuc2VyaWVzOiAnZGV0YWlsJ319PGJyPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWF0dHIudmFsdWVGb3JtYXR0aW5nLnBlcmNlbnRhZ2UgJiYgIWF0dHIudmFsdWVGb3JtYXR0aW5nLmN1cnJlbmN5XCI+IE1pbjoge3ttaW4oYXR0ci5zZXJpZXMpfX08YnI+PC9zcGFuPlxuICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L3RyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGZsZXgtY29sIHplcm8tcmVjb3Jkc1wiICpuZ0lmPVwiKHRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXMubGVuZ3RoPjAgJiYgdGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1swXS5zZXJpZXMubGVuZ3RoPT09MClcIj5cbiAgICAgIE5vIHJlY29yZHMgYXZhaWxhYmxlXG4gICAgPC9kaXY+XG48L2Rpdj5cbjwhLS0gPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMgZGVhdGlsLWdyb3VwLXRhYmxlLXBhZ2luYXRvciBjdXN0b21zY3JvbGxcIj5cbiAgPG1hdC1wYWdpbmF0b3IgKHBhZ2UpPVwiaGFuZGxlUGFnZUV2ZW50KCRldmVudClcIiBbbGVuZ3RoXT1cInRhYnVsYXJSZXBvcnQucGFnZUxlbmd0aFwiIFtwYWdlU2l6ZV09XCJ0YWJ1bGFyUmVwb3J0LnBhZ2VTaXplXCJcbiAgW3BhZ2VJbmRleF09XCJ0YWJ1bGFyUmVwb3J0LnBhZ2VJbmRleFwiIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzEwLCAyNSwgNTAsIDEwMF1cIiBhcmlhLWxhYmVsPVwiU2VsZWN0IHBhZ2VcIiBjbGFzcz1cIm1hdC1wYWdpbmF0b3IgZmxleCBqdXN0aWZ5LWVuZCB3LWZ1bGxcIj5cbiAgPC9tYXQtcGFnaW5hdG9yPlxuPC9kaXY+IC0tPlxuXG5cbjwhLS0gTWF0IE1lbnUgdHJpZ2dlciBmb3IgdGFibGUgY29sdW1ucy0tPlxuPG1hdC1tZW51ICNjb250ZXh0TWVudT1cIm1hdE1lbnVcIj5cbiAgPGRpdiBpZD1cInRhYmxlLW1lbnVcIj5cbiAgICA8bmctdGVtcGxhdGUgbWF0TWVudUNvbnRlbnQgbGV0LWl0ZW09XCJyZXBvcnREYXRhXCI+IFxuICAgICAgPGJ1dHRvbiAqbmdJZj1cIih0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzW2N1cnJlbnRJbmRleF0udHlwZT09PSdpbnQnICYmICh0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzW2N1cnJlbnRJbmRleF0ud2lkZ2V0VHlwZT09PSd0ZXh0Ym94LXdpZGdldCcgfHwgdGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1tjdXJyZW50SW5kZXhdLndpZGdldFR5cGU9PT0nY29tcHV0ZWR2YWx1ZS13aWRnZXQnKSlcIm1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIkFnZ3JlZ2F0ZVwiPkFnZ3JlZ2F0ZTwvYnV0dG9uPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRWRpdGFibGVcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJtb3ZlQ29sdW1uTGVmdCgkZXZlbnQpXCI+TW92ZSBMZWZ0PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwibW92ZUNvbHVtblJpZ2h0KCRldmVudClcIj5Nb3ZlIFJpZ2h0PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicmVtb3ZlQ29sdW1uKCRldmVudClcIj5SZW1vdmUgQ29sdW1uPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwib3BlbkNvbmRpdGlvbmFsRm9ybWF0dGluZygkZXZlbnQpXCI+QWRkIENvbmRpdGlvbmFsIEZvcm1hdHRpbmc8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cInNjcmVlblR5cGVzLmRhc2hib2FyZEJ1aWxkZXIgPT09IHNjcmVlblR5cGVcIiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJyZW1vdmVGcm9tRGFzaGJvYXJkKClcIj5SZW1vdmUgRnJvbSBEYXNoYm9hcmQ8L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvbWF0LW1lbnU+XG48IS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cblxuXG5cbjwhLS0gTWF0IG1lbnUgdHJpZ2dlciBmb3IgIEFnZ3JlZ2F0aW9uLS0+XG48bWF0LW1lbnUgI0FnZ3JlZ2F0ZT1cIm1hdE1lbnVcIj5cbiAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50ICpuZ0lmPSd0YWJ1bGFyUmVwb3J0Lm1hdHJpeC5hdHRyaWJ1dGVzLmxlbmd0aD4wJz5cbiAgICA8IS0tIDxwPlxuICAgICAgPG1hdC1jaGVja2JveCAgY2xhc3M9XCJhZ2dyZWdhdGUtZnVuXCIgWyhuZ01vZGVsKV09J3RhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXNbY3VycmVudEluZGV4XS5hZ2dyZWdhdGUuc2hvd1VuaXF1ZUNvdW50J1xuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+U2hvdyBVbmlxdWUgQ291bnQ8L21hdC1jaGVja2JveD5cbiAgICA8L3A+IC0tPlxuICAgIDxzZWN0aW9uICpuZ0lmPVwidGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1tjdXJyZW50SW5kZXhdLnR5cGU9PT0naW50JyAgfHwgIHRhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXNbY3VycmVudEluZGV4XS50eXBlPT09J2Zsb2F0J1wiIGNsYXNzPVwiZGV0YWlsZWQtZ3JvdXAtYWdncmVnYXRlLWZ1bmN0aW9uXCI+XG4gICAgICA8cD5cbiAgICAgICAgPG1hdC1jaGVja2JveCAgY2xhc3M9XCJhZ2dyZWdhdGUtZnVuXCIgWyhuZ01vZGVsKV09J3RhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXNbY3VycmVudEluZGV4XS5hZ2dyZWdhdGUuc2hvd1N1bSdcbiAgICAgICAgICAoY2hhbmdlKT1cInN1bUFnZ3JlZ2F0aW9uKCRldmVudClcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+c3VtPC9tYXQtY2hlY2tib3g+XG4gICAgICA8L3A+XG4gICAgICA8cD5cbiAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cImFnZ3JlZ2F0ZS1mdW5cIiBbKG5nTW9kZWwpXT0ndGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1tjdXJyZW50SW5kZXhdLmFnZ3JlZ2F0ZS5zaG93QXZnJ1xuICAgICAgICAgIChjaGFuZ2UpPVwiYXZlcmFnZUFnZ3JlZ2F0aW9uKCRldmVudClcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+QXZlcmFnZTwvbWF0LWNoZWNrYm94PlxuICAgICAgPC9wPlxuICAgICAgPHA+XG4gICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJhZ2dyZWdhdGUtZnVuXCJbKG5nTW9kZWwpXT0ndGFidWxhclJlcG9ydC5tYXRyaXguYXR0cmlidXRlc1tjdXJyZW50SW5kZXhdLmFnZ3JlZ2F0ZS5zaG93TWF4J1xuICAgICAgICAgIChjaGFuZ2UpPVwibWF4QWdncmVnYXRpb24oJGV2ZW50KVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5NYXg8L21hdC1jaGVja2JveD5cbiAgICAgIDwvcD5cbiAgICAgIDxwPlxuICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwiYWdncmVnYXRlLWZ1blwiWyhuZ01vZGVsKV09J3RhYnVsYXJSZXBvcnQubWF0cml4LmF0dHJpYnV0ZXNbY3VycmVudEluZGV4XS5hZ2dyZWdhdGUuc2hvd01pbidcbiAgICAgICAgICAoY2hhbmdlKT1cIm1pbkFnZ3JlZ2F0aW9uKCRldmVudClcIihjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5NaW48L21hdC1jaGVja2JveD5cbiAgICAgIDwvcD5cbiAgICA8L3NlY3Rpb24+XG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC1tZW51PlxuXG5cblxuXG5cblxuIl19