mapa-library-ui 0.90.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1038) hide show
  1. package/fesm2022/mapa-library-ui-src-lib-components-benchmarking.mjs +59 -0
  2. package/fesm2022/mapa-library-ui-src-lib-components-benchmarking.mjs.map +1 -0
  3. package/fesm2022/mapa-library-ui-src-lib-components-breadcrumb.mjs +32 -0
  4. package/fesm2022/mapa-library-ui-src-lib-components-breadcrumb.mjs.map +1 -0
  5. package/fesm2022/mapa-library-ui-src-lib-components-button-icon.mjs +53 -0
  6. package/fesm2022/mapa-library-ui-src-lib-components-button-icon.mjs.map +1 -0
  7. package/fesm2022/mapa-library-ui-src-lib-components-button.mjs +38 -0
  8. package/fesm2022/mapa-library-ui-src-lib-components-button.mjs.map +1 -0
  9. package/fesm2022/mapa-library-ui-src-lib-components-capability.mjs +1312 -0
  10. package/fesm2022/mapa-library-ui-src-lib-components-capability.mjs.map +1 -0
  11. package/fesm2022/mapa-library-ui-src-lib-components-chart.mjs +628 -0
  12. package/fesm2022/mapa-library-ui-src-lib-components-chart.mjs.map +1 -0
  13. package/fesm2022/mapa-library-ui-src-lib-components-checkbox.mjs +34 -0
  14. package/fesm2022/mapa-library-ui-src-lib-components-checkbox.mjs.map +1 -0
  15. package/fesm2022/mapa-library-ui-src-lib-components-datepicker.mjs +333 -0
  16. package/fesm2022/mapa-library-ui-src-lib-components-datepicker.mjs.map +1 -0
  17. package/fesm2022/mapa-library-ui-src-lib-components-dialog.mjs +172 -0
  18. package/fesm2022/mapa-library-ui-src-lib-components-dialog.mjs.map +1 -0
  19. package/fesm2022/mapa-library-ui-src-lib-components-dropdown-tree.mjs +645 -0
  20. package/fesm2022/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +1 -0
  21. package/fesm2022/mapa-library-ui-src-lib-components-dropdown.mjs +561 -0
  22. package/fesm2022/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -0
  23. package/fesm2022/mapa-library-ui-src-lib-components-empty.mjs +71 -0
  24. package/fesm2022/mapa-library-ui-src-lib-components-empty.mjs.map +1 -0
  25. package/fesm2022/mapa-library-ui-src-lib-components-filters.mjs +744 -0
  26. package/fesm2022/mapa-library-ui-src-lib-components-filters.mjs.map +1 -0
  27. package/fesm2022/mapa-library-ui-src-lib-components-form.mjs +877 -0
  28. package/fesm2022/mapa-library-ui-src-lib-components-form.mjs.map +1 -0
  29. package/fesm2022/mapa-library-ui-src-lib-components-group-report.mjs +166 -0
  30. package/fesm2022/mapa-library-ui-src-lib-components-group-report.mjs.map +1 -0
  31. package/fesm2022/mapa-library-ui-src-lib-components-icon.mjs +43 -0
  32. package/fesm2022/mapa-library-ui-src-lib-components-icon.mjs.map +1 -0
  33. package/fesm2022/mapa-library-ui-src-lib-components-input.mjs +410 -0
  34. package/fesm2022/mapa-library-ui-src-lib-components-input.mjs.map +1 -0
  35. package/fesm2022/mapa-library-ui-src-lib-components-menu.mjs +51 -0
  36. package/fesm2022/mapa-library-ui-src-lib-components-menu.mjs.map +1 -0
  37. package/fesm2022/mapa-library-ui-src-lib-components-nav-list.mjs +41 -0
  38. package/fesm2022/mapa-library-ui-src-lib-components-nav-list.mjs.map +1 -0
  39. package/fesm2022/mapa-library-ui-src-lib-components-radio-button.mjs +54 -0
  40. package/fesm2022/mapa-library-ui-src-lib-components-radio-button.mjs.map +1 -0
  41. package/fesm2022/mapa-library-ui-src-lib-components-report-item.mjs +85 -0
  42. package/fesm2022/mapa-library-ui-src-lib-components-report-item.mjs.map +1 -0
  43. package/fesm2022/mapa-library-ui-src-lib-components-scale-parameterization.mjs +1169 -0
  44. package/fesm2022/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +1 -0
  45. package/fesm2022/mapa-library-ui-src-lib-components-scale.mjs +1055 -0
  46. package/fesm2022/mapa-library-ui-src-lib-components-scale.mjs.map +1 -0
  47. package/fesm2022/mapa-library-ui-src-lib-components-slide-toggle.mjs +54 -0
  48. package/fesm2022/mapa-library-ui-src-lib-components-slide-toggle.mjs.map +1 -0
  49. package/fesm2022/mapa-library-ui-src-lib-components-svg-icon.mjs +109 -0
  50. package/fesm2022/mapa-library-ui-src-lib-components-svg-icon.mjs.map +1 -0
  51. package/fesm2022/mapa-library-ui-src-lib-components-table.mjs +1052 -0
  52. package/fesm2022/mapa-library-ui-src-lib-components-table.mjs.map +1 -0
  53. package/fesm2022/mapa-library-ui-src-lib-components-tag.mjs +30 -0
  54. package/fesm2022/mapa-library-ui-src-lib-components-tag.mjs.map +1 -0
  55. package/fesm2022/mapa-library-ui-src-lib-components-textarea.mjs +271 -0
  56. package/fesm2022/mapa-library-ui-src-lib-components-textarea.mjs.map +1 -0
  57. package/fesm2022/mapa-library-ui-src-lib-components-tooltip.mjs +186 -0
  58. package/fesm2022/mapa-library-ui-src-lib-components-tooltip.mjs.map +1 -0
  59. package/fesm2022/mapa-library-ui-src-lib-components-warning.mjs +59 -0
  60. package/fesm2022/mapa-library-ui-src-lib-components-warning.mjs.map +1 -0
  61. package/{fesm2020 → fesm2022}/mapa-library-ui-src-lib-core-guards-authorize-guard.mjs +4 -4
  62. package/fesm2022/mapa-library-ui-src-lib-core-guards-authorize-guard.mjs.map +1 -0
  63. package/fesm2022/mapa-library-ui-src-lib-core-services.mjs +57 -0
  64. package/fesm2022/mapa-library-ui-src-lib-core-services.mjs.map +1 -0
  65. package/fesm2022/mapa-library-ui.mjs +7239 -0
  66. package/fesm2022/mapa-library-ui.mjs.map +1 -0
  67. package/index.d.ts +1878 -3
  68. package/mapa-library-ui-1.0.0.tgz +0 -0
  69. package/package.json +186 -195
  70. package/src/lib/components/benchmarking/index.d.ts +58 -5
  71. package/src/lib/components/breadcrumb/index.d.ts +14 -5
  72. package/src/lib/components/button/index.d.ts +13 -5
  73. package/src/lib/components/button-icon/index.d.ts +26 -5
  74. package/src/lib/components/capability/index.d.ts +574 -5
  75. package/src/lib/components/chart/index.d.ts +151 -5
  76. package/src/lib/components/checkbox/index.d.ts +11 -5
  77. package/src/lib/components/datepicker/index.d.ts +123 -5
  78. package/src/lib/components/dialog/index.d.ts +60 -5
  79. package/src/lib/components/dropdown/index.d.ts +235 -5
  80. package/src/lib/components/dropdown-tree/index.d.ts +148 -5
  81. package/src/lib/components/empty/index.d.ts +10 -5
  82. package/src/lib/components/filters/index.d.ts +225 -5
  83. package/src/lib/components/form/index.d.ts +191 -5
  84. package/src/lib/components/group-report/index.d.ts +101 -5
  85. package/src/lib/components/icon/index.d.ts +16 -5
  86. package/src/lib/components/input/index.d.ts +133 -5
  87. package/src/lib/components/menu/index.d.ts +34 -5
  88. package/src/lib/components/nav-list/index.d.ts +21 -5
  89. package/src/lib/components/radio-button/index.d.ts +130 -5
  90. package/src/lib/components/report-item/index.d.ts +45 -5
  91. package/src/lib/components/scale/index.d.ts +193 -5
  92. package/src/lib/components/scale-parameterization/index.d.ts +206 -5
  93. package/src/lib/components/slide-toggle/index.d.ts +130 -5
  94. package/src/lib/components/svg-icon/index.d.ts +19 -5
  95. package/src/lib/components/table/index.d.ts +276 -5
  96. package/src/lib/components/tag/index.d.ts +16 -5
  97. package/src/lib/components/textarea/index.d.ts +128 -5
  98. package/src/lib/components/tooltip/index.d.ts +58 -5
  99. package/src/lib/components/warning/index.d.ts +24 -5
  100. package/src/lib/core/guards/authorize-guard/index.d.ts +68 -5
  101. package/src/lib/core/services/index.d.ts +17 -5
  102. package/esm2020/lib/core/components/form-errors/form-errors.component.mjs +0 -25
  103. package/esm2020/lib/core/directives/custom-paginator-legacy.directive.mjs +0 -204
  104. package/esm2020/lib/core/directives/mat-input-autosize.directive.mjs +0 -99
  105. package/esm2020/lib/core/elements/action-button.mjs +0 -2
  106. package/esm2020/lib/core/elements/dropdown-tree.mjs +0 -8
  107. package/esm2020/lib/core/elements/dropdown.mjs +0 -8
  108. package/esm2020/lib/core/elements/element-base.mjs +0 -37
  109. package/esm2020/lib/core/elements/element-search.mjs +0 -2
  110. package/esm2020/lib/core/elements/errors.mjs +0 -2
  111. package/esm2020/lib/core/elements/input-text.mjs +0 -8
  112. package/esm2020/lib/core/elements/radio-button.mjs +0 -8
  113. package/esm2020/lib/core/elements/slide-toggle.mjs +0 -8
  114. package/esm2020/lib/core/elements/textarea.mjs +0 -8
  115. package/esm2020/lib/core/i18n/mapa-ui-texts.mjs +0 -100
  116. package/esm2020/lib/core/interfaces/button-icon.interface.mjs +0 -2
  117. package/esm2020/lib/core/interfaces/chart-options.interface.mjs +0 -2
  118. package/esm2020/lib/core/interfaces/classification.interface.mjs +0 -2
  119. package/esm2020/lib/core/interfaces/dialog-data.interface.mjs +0 -2
  120. package/esm2020/lib/core/interfaces/element-group.interface.mjs +0 -2
  121. package/esm2020/lib/core/interfaces/element-option.interface.mjs +0 -2
  122. package/esm2020/lib/core/interfaces/table-column.interface.mjs +0 -2
  123. package/esm2020/lib/core/js-brasil/index.mjs +0 -16
  124. package/esm2020/lib/core/js-brasil/src/create.mjs +0 -455
  125. package/esm2020/lib/core/js-brasil/src/createNumberMask.mjs +0 -115
  126. package/esm2020/lib/core/js-brasil/src/estados.mjs +0 -34
  127. package/esm2020/lib/core/js-brasil/src/index.mjs +0 -34
  128. package/esm2020/lib/core/js-brasil/src/inscricaoestadual.mjs +0 -702
  129. package/esm2020/lib/core/js-brasil/src/interfaces.mjs +0 -2
  130. package/esm2020/lib/core/js-brasil/src/iptu.mjs +0 -25
  131. package/esm2020/lib/core/js-brasil/src/iptu_create.mjs +0 -60
  132. package/esm2020/lib/core/js-brasil/src/iptu_mask.mjs +0 -38
  133. package/esm2020/lib/core/js-brasil/src/iptu_validate.mjs +0 -67
  134. package/esm2020/lib/core/js-brasil/src/mask.mjs +0 -579
  135. package/esm2020/lib/core/js-brasil/src/name.mjs +0 -371
  136. package/esm2020/lib/core/js-brasil/src/placa.mjs +0 -162
  137. package/esm2020/lib/core/js-brasil/src/rg.mjs +0 -63
  138. package/esm2020/lib/core/js-brasil/src/saude.mjs +0 -62
  139. package/esm2020/lib/core/js-brasil/src/utils.mjs +0 -304
  140. package/esm2020/lib/core/js-brasil/src/validate.mjs +0 -627
  141. package/esm2020/lib/core/pipes/cpf.mjs +0 -17
  142. package/esm2020/lib/core/pipes/safe-html.pipe.mjs +0 -21
  143. package/esm2020/lib/core/services/html-sanitizer.service.mjs +0 -23
  144. package/esm2020/lib/core/services/mapa-i18n.service.mjs +0 -36
  145. package/esm2020/lib/core/services/validation-message-resolver.service.mjs +0 -72
  146. package/esm2020/mapa-library-ui.mjs +0 -5
  147. package/esm2020/public-api.mjs +0 -29
  148. package/esm2020/src/lib/components/benchmarking/benchmarking.mjs +0 -5
  149. package/esm2020/src/lib/components/benchmarking/lib/components/benchmarking/public-api.mjs +0 -9
  150. package/esm2020/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmark-chart.component.mjs +0 -33
  151. package/esm2020/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmark-chart.module.mjs +0 -19
  152. package/esm2020/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmark-indicator/benchmark-indicator.component.mjs +0 -14
  153. package/esm2020/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmark-indicator/benchmark-indicator.module.mjs +0 -18
  154. package/esm2020/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmarking.interface.mjs +0 -2
  155. package/esm2020/src/lib/components/benchmarking/mapa-library-ui-src-lib-components-benchmarking.mjs +0 -5
  156. package/esm2020/src/lib/components/breadcrumb/breadcrumb.mjs +0 -5
  157. package/esm2020/src/lib/components/breadcrumb/lib/components/breadcrumb/public-api.mjs +0 -6
  158. package/esm2020/src/lib/components/breadcrumb/lib/components/breadcrumb/src/breadcrumb.component.mjs +0 -15
  159. package/esm2020/src/lib/components/breadcrumb/lib/components/breadcrumb/src/breadcrumb.module.mjs +0 -19
  160. package/esm2020/src/lib/components/breadcrumb/lib/core/interfaces/bread-piece.interface.mjs +0 -2
  161. package/esm2020/src/lib/components/breadcrumb/mapa-library-ui-src-lib-components-breadcrumb.mjs +0 -5
  162. package/esm2020/src/lib/components/button/button.mjs +0 -5
  163. package/esm2020/src/lib/components/button/lib/components/button/public-api.mjs +0 -6
  164. package/esm2020/src/lib/components/button/lib/components/button/src/button.component.mjs +0 -23
  165. package/esm2020/src/lib/components/button/lib/components/button/src/button.module.mjs +0 -19
  166. package/esm2020/src/lib/components/button/mapa-library-ui-src-lib-components-button.mjs +0 -5
  167. package/esm2020/src/lib/components/button-icon/button-icon.mjs +0 -5
  168. package/esm2020/src/lib/components/button-icon/lib/components/button-icon/public-api.mjs +0 -6
  169. package/esm2020/src/lib/components/button-icon/lib/components/button-icon/src/button-icon.component.mjs +0 -37
  170. package/esm2020/src/lib/components/button-icon/lib/components/button-icon/src/button-icon.module.mjs +0 -28
  171. package/esm2020/src/lib/components/button-icon/mapa-library-ui-src-lib-components-button-icon.mjs +0 -5
  172. package/esm2020/src/lib/components/capability/capability.mjs +0 -9
  173. package/esm2020/src/lib/components/capability/filters.mjs +0 -7
  174. package/esm2020/src/lib/components/capability/lib/components/button/public-api.mjs +0 -6
  175. package/esm2020/src/lib/components/capability/lib/components/button/src/button.component.mjs +0 -23
  176. package/esm2020/src/lib/components/capability/lib/components/button/src/button.module.mjs +0 -19
  177. package/esm2020/src/lib/components/capability/lib/components/capability/public-api.mjs +0 -28
  178. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative/capability-comparative.component.mjs +0 -17
  179. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative/capability-comparative.module.mjs +0 -32
  180. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.component.mjs +0 -24
  181. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.module.mjs +0 -19
  182. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative-header/capability-comparative-header.component.mjs +0 -41
  183. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative-header/capability-comparative-header.module.mjs +0 -19
  184. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.component.mjs +0 -19
  185. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.module.mjs +0 -19
  186. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.component.mjs +0 -87
  187. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.module.mjs +0 -64
  188. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-dot/capability-dot.component.mjs +0 -31
  189. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-dot/capability-dot.module.mjs +0 -20
  190. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.component.mjs +0 -53
  191. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.module.mjs +0 -23
  192. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator/capability-indicator.component.mjs +0 -14
  193. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator/capability-indicator.module.mjs +0 -18
  194. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.component.mjs +0 -33
  195. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.module.mjs +0 -21
  196. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.mjs +0 -63
  197. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-indicator-list/capability-indicator-list.module.mjs +0 -21
  198. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.component.mjs +0 -81
  199. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.module.mjs +0 -18
  200. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +0 -28
  201. package/esm2020/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.module.mjs +0 -20
  202. package/esm2020/src/lib/components/capability/lib/components/capability/src/essentials/consts/capability-classification.const.mjs +0 -57
  203. package/esm2020/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/capability-classification.interface.mjs +0 -2
  204. package/esm2020/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/capability-comparative.interface.mjs +0 -2
  205. package/esm2020/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/capability-item.interface.mjs +0 -2
  206. package/esm2020/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/capability.interface.mjs +0 -2
  207. package/esm2020/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/index.mjs +0 -4
  208. package/esm2020/src/lib/components/capability/lib/components/capability/src/essentials/services/capability-classification.service.mjs +0 -14
  209. package/esm2020/src/lib/components/capability/lib/components/capability/src/essentials/services/reusable-interval-bar.service.mjs +0 -40
  210. package/esm2020/src/lib/components/capability/lib/components/dropdown/public-api.mjs +0 -6
  211. package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.mjs +0 -167
  212. package/esm2020/src/lib/components/capability/lib/components/dropdown/src/dropdown.module.mjs +0 -82
  213. package/esm2020/src/lib/components/capability/lib/components/filters/public-api.mjs +0 -6
  214. package/esm2020/src/lib/components/capability/lib/components/filters/src/filters.component.mjs +0 -53
  215. package/esm2020/src/lib/components/capability/lib/components/filters/src/filters.module.mjs +0 -38
  216. package/esm2020/src/lib/components/capability/lib/components/icon/public-api.mjs +0 -6
  217. package/esm2020/src/lib/components/capability/lib/components/icon/src/icon.component.mjs +0 -26
  218. package/esm2020/src/lib/components/capability/lib/components/icon/src/icon.module.mjs +0 -19
  219. package/esm2020/src/lib/components/capability/lib/components/tag/src/tag.component.mjs +0 -14
  220. package/esm2020/src/lib/components/capability/lib/components/tag/src/tag.module.mjs +0 -24
  221. package/esm2020/src/lib/components/capability/lib/components/tooltip/public-api.mjs +0 -7
  222. package/esm2020/src/lib/components/capability/lib/components/tooltip/src/tooltip.component.mjs +0 -21
  223. package/esm2020/src/lib/components/capability/lib/components/tooltip/src/tooltip.directive.mjs +0 -140
  224. package/esm2020/src/lib/components/capability/lib/components/tooltip/src/tooltip.enums.mjs +0 -16
  225. package/esm2020/src/lib/components/capability/lib/components/tooltip/src/tooltip.module.mjs +0 -19
  226. package/esm2020/src/lib/components/capability/lib/core/components/form-errors/form-errors.component.mjs +0 -25
  227. package/esm2020/src/lib/components/capability/lib/core/elements/action-button.mjs +0 -2
  228. package/esm2020/src/lib/components/capability/lib/core/elements/dropdown.mjs +0 -8
  229. package/esm2020/src/lib/components/capability/lib/core/elements/element-base.mjs +0 -37
  230. package/esm2020/src/lib/components/capability/lib/core/elements/element-search.mjs +0 -2
  231. package/esm2020/src/lib/components/capability/lib/core/elements/errors.mjs +0 -2
  232. package/esm2020/src/lib/components/capability/lib/core/i18n/mapa-ui-texts.mjs +0 -100
  233. package/esm2020/src/lib/components/capability/lib/core/interfaces/element-group.interface.mjs +0 -2
  234. package/esm2020/src/lib/components/capability/lib/core/interfaces/element-option.interface.mjs +0 -2
  235. package/esm2020/src/lib/components/capability/lib/core/pipes/safe-html.pipe.mjs +0 -21
  236. package/esm2020/src/lib/components/capability/lib/core/services/html-sanitizer.service.mjs +0 -23
  237. package/esm2020/src/lib/components/capability/lib/core/services/mapa-i18n.service.mjs +0 -36
  238. package/esm2020/src/lib/components/capability/lib/core/services/validation-message-resolver.service.mjs +0 -72
  239. package/esm2020/src/lib/components/capability/mapa-library-ui-src-lib-components-capability.mjs +0 -5
  240. package/esm2020/src/lib/components/chart/chart.mjs +0 -5
  241. package/esm2020/src/lib/components/chart/lib/components/chart/public-api.mjs +0 -6
  242. package/esm2020/src/lib/components/chart/lib/components/chart/src/chart.component.mjs +0 -110
  243. package/esm2020/src/lib/components/chart/lib/components/chart/src/chart.module.mjs +0 -32
  244. package/esm2020/src/lib/components/chart/mapa-library-ui-src-lib-components-chart.mjs +0 -5
  245. package/esm2020/src/lib/components/checkbox/checkbox.mjs +0 -5
  246. package/esm2020/src/lib/components/checkbox/lib/components/checkbox/public-api.mjs +0 -6
  247. package/esm2020/src/lib/components/checkbox/lib/components/checkbox/src/checkbox.component.mjs +0 -17
  248. package/esm2020/src/lib/components/checkbox/lib/components/checkbox/src/checkbox.module.mjs +0 -35
  249. package/esm2020/src/lib/components/checkbox/mapa-library-ui-src-lib-components-checkbox.mjs +0 -5
  250. package/esm2020/src/lib/components/datepicker/datepicker.mjs +0 -5
  251. package/esm2020/src/lib/components/datepicker/lib/components/datepicker/public-api.mjs +0 -6
  252. package/esm2020/src/lib/components/datepicker/lib/components/datepicker/src/datepicker.component.mjs +0 -65
  253. package/esm2020/src/lib/components/datepicker/lib/components/datepicker/src/datepicker.module.mjs +0 -70
  254. package/esm2020/src/lib/components/datepicker/lib/core/i18n/mapa-ui-texts.mjs +0 -100
  255. package/esm2020/src/lib/components/datepicker/lib/core/services/mapa-i18n.service.mjs +0 -36
  256. package/esm2020/src/lib/components/datepicker/mapa-library-ui-src-lib-components-datepicker.mjs +0 -5
  257. package/esm2020/src/lib/components/dialog/dialog.mjs +0 -7
  258. package/esm2020/src/lib/components/dialog/lib/components/button/public-api.mjs +0 -6
  259. package/esm2020/src/lib/components/dialog/lib/components/button/src/button.component.mjs +0 -23
  260. package/esm2020/src/lib/components/dialog/lib/components/button/src/button.module.mjs +0 -19
  261. package/esm2020/src/lib/components/dialog/lib/components/dialog/public-api.mjs +0 -6
  262. package/esm2020/src/lib/components/dialog/lib/components/dialog/src/dialog.component.mjs +0 -63
  263. package/esm2020/src/lib/components/dialog/lib/components/dialog/src/dialog.module.mjs +0 -39
  264. package/esm2020/src/lib/components/dialog/lib/components/icon/public-api.mjs +0 -6
  265. package/esm2020/src/lib/components/dialog/lib/components/icon/src/icon.component.mjs +0 -26
  266. package/esm2020/src/lib/components/dialog/lib/components/icon/src/icon.module.mjs +0 -19
  267. package/esm2020/src/lib/components/dialog/lib/core/pipes/safe-html.pipe.mjs +0 -21
  268. package/esm2020/src/lib/components/dialog/lib/core/services/html-sanitizer.service.mjs +0 -23
  269. package/esm2020/src/lib/components/dialog/mapa-library-ui-src-lib-components-dialog.mjs +0 -5
  270. package/esm2020/src/lib/components/dropdown/dropdown.mjs +0 -8
  271. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/public-api.mjs +0 -6
  272. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs +0 -167
  273. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.module.mjs +0 -82
  274. package/esm2020/src/lib/components/dropdown/lib/core/components/form-errors/form-errors.component.mjs +0 -25
  275. package/esm2020/src/lib/components/dropdown/lib/core/elements/action-button.mjs +0 -2
  276. package/esm2020/src/lib/components/dropdown/lib/core/elements/dropdown.mjs +0 -8
  277. package/esm2020/src/lib/components/dropdown/lib/core/elements/element-base.mjs +0 -37
  278. package/esm2020/src/lib/components/dropdown/lib/core/elements/element-search.mjs +0 -2
  279. package/esm2020/src/lib/components/dropdown/lib/core/elements/errors.mjs +0 -2
  280. package/esm2020/src/lib/components/dropdown/lib/core/i18n/mapa-ui-texts.mjs +0 -100
  281. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/element-group.interface.mjs +0 -2
  282. package/esm2020/src/lib/components/dropdown/lib/core/interfaces/element-option.interface.mjs +0 -2
  283. package/esm2020/src/lib/components/dropdown/lib/core/pipes/safe-html.pipe.mjs +0 -21
  284. package/esm2020/src/lib/components/dropdown/lib/core/services/html-sanitizer.service.mjs +0 -23
  285. package/esm2020/src/lib/components/dropdown/lib/core/services/mapa-i18n.service.mjs +0 -36
  286. package/esm2020/src/lib/components/dropdown/lib/core/services/validation-message-resolver.service.mjs +0 -72
  287. package/esm2020/src/lib/components/dropdown/mapa-library-ui-src-lib-components-dropdown.mjs +0 -5
  288. package/esm2020/src/lib/components/dropdown-tree/dropdown-tree.mjs +0 -9
  289. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/public-api.mjs +0 -6
  290. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.component.mjs +0 -94
  291. package/esm2020/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.module.mjs +0 -20
  292. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/action-button.mjs +0 -2
  293. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/dropdown-tree.mjs +0 -8
  294. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/dropdown.mjs +0 -8
  295. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/element-base.mjs +0 -37
  296. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/element-search.mjs +0 -2
  297. package/esm2020/src/lib/components/dropdown-tree/lib/core/elements/errors.mjs +0 -2
  298. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/element-group.interface.mjs +0 -2
  299. package/esm2020/src/lib/components/dropdown-tree/lib/core/interfaces/element-option.interface.mjs +0 -2
  300. package/esm2020/src/lib/components/dropdown-tree/mapa-library-ui-src-lib-components-dropdown-tree.mjs +0 -5
  301. package/esm2020/src/lib/components/empty/empty.mjs +0 -5
  302. package/esm2020/src/lib/components/empty/lib/components/empty/public-api.mjs +0 -6
  303. package/esm2020/src/lib/components/empty/lib/components/empty/src/empty.component.mjs +0 -17
  304. package/esm2020/src/lib/components/empty/lib/components/empty/src/empty.module.mjs +0 -27
  305. package/esm2020/src/lib/components/empty/lib/core/pipes/safe-html.pipe.mjs +0 -21
  306. package/esm2020/src/lib/components/empty/lib/core/services/html-sanitizer.service.mjs +0 -23
  307. package/esm2020/src/lib/components/empty/mapa-library-ui-src-lib-components-empty.mjs +0 -5
  308. package/esm2020/src/lib/components/filters/filters.mjs +0 -7
  309. package/esm2020/src/lib/components/filters/lib/components/button/public-api.mjs +0 -6
  310. package/esm2020/src/lib/components/filters/lib/components/button/src/button.component.mjs +0 -23
  311. package/esm2020/src/lib/components/filters/lib/components/button/src/button.module.mjs +0 -19
  312. package/esm2020/src/lib/components/filters/lib/components/filters/public-api.mjs +0 -6
  313. package/esm2020/src/lib/components/filters/lib/components/filters/src/filters.component.mjs +0 -53
  314. package/esm2020/src/lib/components/filters/lib/components/filters/src/filters.module.mjs +0 -38
  315. package/esm2020/src/lib/components/filters/lib/components/icon/public-api.mjs +0 -6
  316. package/esm2020/src/lib/components/filters/lib/components/icon/src/icon.component.mjs +0 -26
  317. package/esm2020/src/lib/components/filters/lib/components/icon/src/icon.module.mjs +0 -19
  318. package/esm2020/src/lib/components/filters/lib/core/i18n/mapa-ui-texts.mjs +0 -100
  319. package/esm2020/src/lib/components/filters/lib/core/services/mapa-i18n.service.mjs +0 -36
  320. package/esm2020/src/lib/components/filters/mapa-library-ui-src-lib-components-filters.mjs +0 -5
  321. package/esm2020/src/lib/components/form/form.mjs +0 -10
  322. package/esm2020/src/lib/components/form/lib/components/button/public-api.mjs +0 -6
  323. package/esm2020/src/lib/components/form/lib/components/button/src/button.component.mjs +0 -23
  324. package/esm2020/src/lib/components/form/lib/components/button/src/button.module.mjs +0 -19
  325. package/esm2020/src/lib/components/form/lib/components/form/public-api.mjs +0 -6
  326. package/esm2020/src/lib/components/form/lib/components/form/src/form.component.mjs +0 -42
  327. package/esm2020/src/lib/components/form/lib/components/form/src/form.module.mjs +0 -37
  328. package/esm2020/src/lib/components/form/lib/components/input/public-api.mjs +0 -6
  329. package/esm2020/src/lib/components/form/lib/components/input/src/input.component.mjs +0 -40
  330. package/esm2020/src/lib/components/form/lib/components/input/src/input.module.mjs +0 -60
  331. package/esm2020/src/lib/components/form/lib/components/radio-button/public-api.mjs +0 -6
  332. package/esm2020/src/lib/components/form/lib/components/radio-button/src/radio-button.component.mjs +0 -36
  333. package/esm2020/src/lib/components/form/lib/components/radio-button/src/radio-button.module.mjs +0 -35
  334. package/esm2020/src/lib/components/form/lib/components/slide-toggle/public-api.mjs +0 -6
  335. package/esm2020/src/lib/components/form/lib/components/slide-toggle/src/slide-toggle.component.mjs +0 -36
  336. package/esm2020/src/lib/components/form/lib/components/slide-toggle/src/slide-toggle.module.mjs +0 -35
  337. package/esm2020/src/lib/components/form/lib/components/textarea/public-api.mjs +0 -6
  338. package/esm2020/src/lib/components/form/lib/components/textarea/src/textarea.component.mjs +0 -21
  339. package/esm2020/src/lib/components/form/lib/components/textarea/src/textarea.module.mjs +0 -47
  340. package/esm2020/src/lib/components/form/lib/core/components/form-errors/form-errors.component.mjs +0 -25
  341. package/esm2020/src/lib/components/form/lib/core/directives/mat-input-autosize.directive.mjs +0 -99
  342. package/esm2020/src/lib/components/form/lib/core/elements/action-button.mjs +0 -2
  343. package/esm2020/src/lib/components/form/lib/core/elements/element-base.mjs +0 -37
  344. package/esm2020/src/lib/components/form/lib/core/elements/element-search.mjs +0 -2
  345. package/esm2020/src/lib/components/form/lib/core/elements/errors.mjs +0 -2
  346. package/esm2020/src/lib/components/form/lib/core/elements/input-text.mjs +0 -8
  347. package/esm2020/src/lib/components/form/lib/core/i18n/mapa-ui-texts.mjs +0 -100
  348. package/esm2020/src/lib/components/form/lib/core/interfaces/element-group.interface.mjs +0 -2
  349. package/esm2020/src/lib/components/form/lib/core/interfaces/element-option.interface.mjs +0 -2
  350. package/esm2020/src/lib/components/form/lib/core/services/mapa-i18n.service.mjs +0 -36
  351. package/esm2020/src/lib/components/form/lib/core/services/validation-message-resolver.service.mjs +0 -72
  352. package/esm2020/src/lib/components/form/mapa-library-ui-src-lib-components-form.mjs +0 -5
  353. package/esm2020/src/lib/components/group-report/group-report.mjs +0 -5
  354. package/esm2020/src/lib/components/group-report/lib/components/group-report/public-api.mjs +0 -6
  355. package/esm2020/src/lib/components/group-report/lib/components/group-report/src/group-report-interface.mjs +0 -2
  356. package/esm2020/src/lib/components/group-report/lib/components/group-report/src/group-report.component.mjs +0 -201
  357. package/esm2020/src/lib/components/group-report/lib/components/group-report/src/group-report.module.mjs +0 -36
  358. package/esm2020/src/lib/components/group-report/mapa-library-ui-src-lib-components-group-report.mjs +0 -5
  359. package/esm2020/src/lib/components/icon/icon.mjs +0 -5
  360. package/esm2020/src/lib/components/icon/lib/components/icon/public-api.mjs +0 -6
  361. package/esm2020/src/lib/components/icon/lib/components/icon/src/icon.component.mjs +0 -26
  362. package/esm2020/src/lib/components/icon/lib/components/icon/src/icon.module.mjs +0 -19
  363. package/esm2020/src/lib/components/icon/mapa-library-ui-src-lib-components-icon.mjs +0 -5
  364. package/esm2020/src/lib/components/input/input.mjs +0 -5
  365. package/esm2020/src/lib/components/input/lib/components/input/public-api.mjs +0 -6
  366. package/esm2020/src/lib/components/input/lib/components/input/src/input.component.mjs +0 -40
  367. package/esm2020/src/lib/components/input/lib/components/input/src/input.module.mjs +0 -60
  368. package/esm2020/src/lib/components/input/lib/core/components/form-errors/form-errors.component.mjs +0 -25
  369. package/esm2020/src/lib/components/input/lib/core/directives/mat-input-autosize.directive.mjs +0 -99
  370. package/esm2020/src/lib/components/input/lib/core/elements/action-button.mjs +0 -2
  371. package/esm2020/src/lib/components/input/lib/core/elements/element-base.mjs +0 -37
  372. package/esm2020/src/lib/components/input/lib/core/elements/element-search.mjs +0 -2
  373. package/esm2020/src/lib/components/input/lib/core/elements/errors.mjs +0 -2
  374. package/esm2020/src/lib/components/input/lib/core/elements/input-text.mjs +0 -8
  375. package/esm2020/src/lib/components/input/lib/core/i18n/mapa-ui-texts.mjs +0 -100
  376. package/esm2020/src/lib/components/input/lib/core/interfaces/element-group.interface.mjs +0 -2
  377. package/esm2020/src/lib/components/input/lib/core/interfaces/element-option.interface.mjs +0 -2
  378. package/esm2020/src/lib/components/input/lib/core/services/mapa-i18n.service.mjs +0 -36
  379. package/esm2020/src/lib/components/input/lib/core/services/validation-message-resolver.service.mjs +0 -72
  380. package/esm2020/src/lib/components/input/mapa-library-ui-src-lib-components-input.mjs +0 -5
  381. package/esm2020/src/lib/components/menu/lib/components/menu/public-api.mjs +0 -6
  382. package/esm2020/src/lib/components/menu/lib/components/menu/src/menu.component.mjs +0 -34
  383. package/esm2020/src/lib/components/menu/lib/components/menu/src/menu.module.mjs +0 -36
  384. package/esm2020/src/lib/components/menu/mapa-library-ui-src-lib-components-menu.mjs +0 -5
  385. package/esm2020/src/lib/components/menu/menu.mjs +0 -5
  386. package/esm2020/src/lib/components/nav-list/lib/components/nav-list/public-api.mjs +0 -6
  387. package/esm2020/src/lib/components/nav-list/lib/components/nav-list/src/nav-list.component.mjs +0 -25
  388. package/esm2020/src/lib/components/nav-list/lib/components/nav-list/src/nav-list.module.mjs +0 -18
  389. package/esm2020/src/lib/components/nav-list/mapa-library-ui-src-lib-components-nav-list.mjs +0 -5
  390. package/esm2020/src/lib/components/nav-list/nav-list.mjs +0 -5
  391. package/esm2020/src/lib/components/radio-button/lib/components/radio-button/public-api.mjs +0 -6
  392. package/esm2020/src/lib/components/radio-button/lib/components/radio-button/src/radio-button.component.mjs +0 -36
  393. package/esm2020/src/lib/components/radio-button/lib/components/radio-button/src/radio-button.module.mjs +0 -35
  394. package/esm2020/src/lib/components/radio-button/mapa-library-ui-src-lib-components-radio-button.mjs +0 -5
  395. package/esm2020/src/lib/components/radio-button/radio-button.mjs +0 -5
  396. package/esm2020/src/lib/components/report-item/lib/components/report-item/public-api.mjs +0 -6
  397. package/esm2020/src/lib/components/report-item/lib/components/report-item/src/report-item.component.mjs +0 -63
  398. package/esm2020/src/lib/components/report-item/lib/components/report-item/src/report-item.module.mjs +0 -32
  399. package/esm2020/src/lib/components/report-item/mapa-library-ui-src-lib-components-report-item.mjs +0 -5
  400. package/esm2020/src/lib/components/report-item/report-item.mjs +0 -5
  401. package/esm2020/src/lib/components/scale/filters.mjs +0 -7
  402. package/esm2020/src/lib/components/scale/lib/components/button/public-api.mjs +0 -6
  403. package/esm2020/src/lib/components/scale/lib/components/button/src/button.component.mjs +0 -23
  404. package/esm2020/src/lib/components/scale/lib/components/button/src/button.module.mjs +0 -19
  405. package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-interval/capability-interval.component.mjs +0 -81
  406. package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-interval/capability-interval.module.mjs +0 -18
  407. package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.mjs +0 -28
  408. package/esm2020/src/lib/components/scale/lib/components/capability/src/capability-interval-bar/capability-interval-bar.module.mjs +0 -20
  409. package/esm2020/src/lib/components/scale/lib/components/capability/src/essentials/interfaces/capability-item.interface.mjs +0 -2
  410. package/esm2020/src/lib/components/scale/lib/components/capability/src/essentials/interfaces/capability.interface.mjs +0 -2
  411. package/esm2020/src/lib/components/scale/lib/components/filters/public-api.mjs +0 -6
  412. package/esm2020/src/lib/components/scale/lib/components/filters/src/filters.component.mjs +0 -53
  413. package/esm2020/src/lib/components/scale/lib/components/filters/src/filters.module.mjs +0 -38
  414. package/esm2020/src/lib/components/scale/lib/components/group-report/src/group-report-interface.mjs +0 -2
  415. package/esm2020/src/lib/components/scale/lib/components/icon/public-api.mjs +0 -6
  416. package/esm2020/src/lib/components/scale/lib/components/icon/src/icon.component.mjs +0 -26
  417. package/esm2020/src/lib/components/scale/lib/components/icon/src/icon.module.mjs +0 -19
  418. package/esm2020/src/lib/components/scale/lib/components/scale/public-api.mjs +0 -8
  419. package/esm2020/src/lib/components/scale/lib/components/scale/src/details/details.component.mjs +0 -11
  420. package/esm2020/src/lib/components/scale/lib/components/scale/src/progressbar/progressbar.component.mjs +0 -19
  421. package/esm2020/src/lib/components/scale/lib/components/scale/src/scale.component.mjs +0 -75
  422. package/esm2020/src/lib/components/scale/lib/components/scale/src/scale.interface.mjs +0 -2
  423. package/esm2020/src/lib/components/scale/lib/components/scale/src/scale.module.mjs +0 -27
  424. package/esm2020/src/lib/components/scale/lib/core/i18n/mapa-ui-texts.mjs +0 -100
  425. package/esm2020/src/lib/components/scale/lib/core/services/mapa-i18n.service.mjs +0 -36
  426. package/esm2020/src/lib/components/scale/mapa-library-ui-src-lib-components-scale.mjs +0 -5
  427. package/esm2020/src/lib/components/scale/scale.mjs +0 -5
  428. package/esm2020/src/lib/components/scale-parameterization/lib/components/group-report/src/group-report-interface.mjs +0 -2
  429. package/esm2020/src/lib/components/scale-parameterization/lib/components/scale-parameterization/public-api.mjs +0 -8
  430. package/esm2020/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/details/details.component.mjs +0 -11
  431. package/esm2020/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/progressbar/progressbar.component.mjs +0 -19
  432. package/esm2020/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.component.mjs +0 -119
  433. package/esm2020/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.interface.mjs +0 -2
  434. package/esm2020/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.module.mjs +0 -46
  435. package/esm2020/src/lib/components/scale-parameterization/lib/core/i18n/mapa-ui-texts.mjs +0 -100
  436. package/esm2020/src/lib/components/scale-parameterization/lib/core/services/mapa-i18n.service.mjs +0 -36
  437. package/esm2020/src/lib/components/scale-parameterization/mapa-library-ui-src-lib-components-scale-parameterization.mjs +0 -5
  438. package/esm2020/src/lib/components/scale-parameterization/scale-parameterization.mjs +0 -5
  439. package/esm2020/src/lib/components/slide-toggle/lib/components/slide-toggle/public-api.mjs +0 -6
  440. package/esm2020/src/lib/components/slide-toggle/lib/components/slide-toggle/src/slide-toggle.component.mjs +0 -36
  441. package/esm2020/src/lib/components/slide-toggle/lib/components/slide-toggle/src/slide-toggle.module.mjs +0 -35
  442. package/esm2020/src/lib/components/slide-toggle/mapa-library-ui-src-lib-components-slide-toggle.mjs +0 -5
  443. package/esm2020/src/lib/components/slide-toggle/slide-toggle.mjs +0 -5
  444. package/esm2020/src/lib/components/svg-icon/lib/components/svg-icon/public-api.mjs +0 -6
  445. package/esm2020/src/lib/components/svg-icon/lib/components/svg-icon/src/svg-icon.component.mjs +0 -60
  446. package/esm2020/src/lib/components/svg-icon/lib/components/svg-icon/src/svg-icon.module.mjs +0 -19
  447. package/esm2020/src/lib/components/svg-icon/lib/core/pipes/safe-html.pipe.mjs +0 -21
  448. package/esm2020/src/lib/components/svg-icon/lib/core/services/html-sanitizer.service.mjs +0 -23
  449. package/esm2020/src/lib/components/svg-icon/mapa-library-ui-src-lib-components-svg-icon.mjs +0 -5
  450. package/esm2020/src/lib/components/svg-icon/svg-icon.mjs +0 -5
  451. package/esm2020/src/lib/components/table/lib/components/table/public-api.mjs +0 -7
  452. package/esm2020/src/lib/components/table/lib/components/table/src/paginator_customization.mjs +0 -16
  453. package/esm2020/src/lib/components/table/lib/components/table/src/table.component.mjs +0 -374
  454. package/esm2020/src/lib/components/table/lib/components/table/src/table.module.mjs +0 -83
  455. package/esm2020/src/lib/components/table/lib/core/directives/custom-paginator-legacy.directive.mjs +0 -204
  456. package/esm2020/src/lib/components/table/lib/core/i18n/mapa-ui-texts.mjs +0 -100
  457. package/esm2020/src/lib/components/table/lib/core/interfaces/classification.interface.mjs +0 -2
  458. package/esm2020/src/lib/components/table/lib/core/interfaces/table-column.interface.mjs +0 -2
  459. package/esm2020/src/lib/components/table/lib/core/interfaces/table-row-click-event.interface.mjs +0 -2
  460. package/esm2020/src/lib/components/table/lib/core/js-brasil/index.mjs +0 -16
  461. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/create.mjs +0 -455
  462. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/createNumberMask.mjs +0 -115
  463. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/estados.mjs +0 -34
  464. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/index.mjs +0 -34
  465. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/inscricaoestadual.mjs +0 -702
  466. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/interfaces.mjs +0 -2
  467. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/iptu.mjs +0 -25
  468. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/iptu_create.mjs +0 -60
  469. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/iptu_mask.mjs +0 -38
  470. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/iptu_validate.mjs +0 -67
  471. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/mask.mjs +0 -579
  472. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/name.mjs +0 -371
  473. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/placa.mjs +0 -162
  474. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/rg.mjs +0 -63
  475. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/saude.mjs +0 -62
  476. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/utils.mjs +0 -304
  477. package/esm2020/src/lib/components/table/lib/core/js-brasil/src/validate.mjs +0 -627
  478. package/esm2020/src/lib/components/table/lib/core/pipes/cpf.mjs +0 -17
  479. package/esm2020/src/lib/components/table/lib/core/pipes/safe-html.pipe.mjs +0 -21
  480. package/esm2020/src/lib/components/table/lib/core/services/html-sanitizer.service.mjs +0 -23
  481. package/esm2020/src/lib/components/table/lib/core/services/mapa-i18n.service.mjs +0 -36
  482. package/esm2020/src/lib/components/table/mapa-library-ui-src-lib-components-table.mjs +0 -5
  483. package/esm2020/src/lib/components/table/table.mjs +0 -6
  484. package/esm2020/src/lib/components/tag/lib/components/tag/public-api.mjs +0 -6
  485. package/esm2020/src/lib/components/tag/lib/components/tag/src/tag.component.mjs +0 -14
  486. package/esm2020/src/lib/components/tag/lib/components/tag/src/tag.module.mjs +0 -24
  487. package/esm2020/src/lib/components/tag/mapa-library-ui-src-lib-components-tag.mjs +0 -5
  488. package/esm2020/src/lib/components/tag/tag.mjs +0 -5
  489. package/esm2020/src/lib/components/textarea/lib/components/textarea/public-api.mjs +0 -6
  490. package/esm2020/src/lib/components/textarea/lib/components/textarea/src/textarea.component.mjs +0 -21
  491. package/esm2020/src/lib/components/textarea/lib/components/textarea/src/textarea.module.mjs +0 -47
  492. package/esm2020/src/lib/components/textarea/lib/core/components/form-errors/form-errors.component.mjs +0 -25
  493. package/esm2020/src/lib/components/textarea/lib/core/elements/errors.mjs +0 -2
  494. package/esm2020/src/lib/components/textarea/lib/core/i18n/mapa-ui-texts.mjs +0 -100
  495. package/esm2020/src/lib/components/textarea/lib/core/services/mapa-i18n.service.mjs +0 -36
  496. package/esm2020/src/lib/components/textarea/lib/core/services/validation-message-resolver.service.mjs +0 -72
  497. package/esm2020/src/lib/components/textarea/mapa-library-ui-src-lib-components-textarea.mjs +0 -5
  498. package/esm2020/src/lib/components/textarea/textarea.mjs +0 -5
  499. package/esm2020/src/lib/components/tooltip/lib/components/tooltip/public-api.mjs +0 -7
  500. package/esm2020/src/lib/components/tooltip/lib/components/tooltip/src/tooltip.component.mjs +0 -21
  501. package/esm2020/src/lib/components/tooltip/lib/components/tooltip/src/tooltip.directive.mjs +0 -140
  502. package/esm2020/src/lib/components/tooltip/lib/components/tooltip/src/tooltip.enums.mjs +0 -16
  503. package/esm2020/src/lib/components/tooltip/lib/components/tooltip/src/tooltip.module.mjs +0 -19
  504. package/esm2020/src/lib/components/tooltip/mapa-library-ui-src-lib-components-tooltip.mjs +0 -5
  505. package/esm2020/src/lib/components/tooltip/tooltip.mjs +0 -6
  506. package/esm2020/src/lib/components/warning/lib/components/warning/public-api.mjs +0 -6
  507. package/esm2020/src/lib/components/warning/lib/components/warning/src/warning.component.mjs +0 -43
  508. package/esm2020/src/lib/components/warning/lib/components/warning/src/warning.module.mjs +0 -26
  509. package/esm2020/src/lib/components/warning/mapa-library-ui-src-lib-components-warning.mjs +0 -5
  510. package/esm2020/src/lib/components/warning/warning.mjs +0 -5
  511. package/esm2020/src/lib/core/guards/authorize-guard/authorize.mjs +0 -5
  512. package/esm2020/src/lib/core/guards/authorize-guard/lib/core/enums/permissions.enum.mjs +0 -51
  513. package/esm2020/src/lib/core/guards/authorize-guard/lib/core/guards/authorize-guard/authorize.guard.mjs +0 -29
  514. package/esm2020/src/lib/core/guards/authorize-guard/lib/core/guards/authorize-guard/public-api.mjs +0 -7
  515. package/esm2020/src/lib/core/guards/authorize-guard/lib/core/utils/permissions.util.mjs +0 -15
  516. package/esm2020/src/lib/core/guards/authorize-guard/mapa-library-ui-src-lib-core-guards-authorize-guard.mjs +0 -5
  517. package/esm2020/src/lib/core/services/lib/core/services/loader/loader.service.mjs +0 -26
  518. package/esm2020/src/lib/core/services/lib/core/services/public-api.mjs +0 -5
  519. package/esm2020/src/lib/core/services/mapa-library-ui-src-lib-core-services.mjs +0 -5
  520. package/esm2020/src/lib/core/services/services.mjs +0 -5
  521. package/fesm2015/mapa-library-ui-src-lib-components-benchmarking.mjs +0 -82
  522. package/fesm2015/mapa-library-ui-src-lib-components-benchmarking.mjs.map +0 -1
  523. package/fesm2015/mapa-library-ui-src-lib-components-breadcrumb.mjs +0 -46
  524. package/fesm2015/mapa-library-ui-src-lib-components-breadcrumb.mjs.map +0 -1
  525. package/fesm2015/mapa-library-ui-src-lib-components-button-icon.mjs +0 -77
  526. package/fesm2015/mapa-library-ui-src-lib-components-button-icon.mjs.map +0 -1
  527. package/fesm2015/mapa-library-ui-src-lib-components-button.mjs +0 -54
  528. package/fesm2015/mapa-library-ui-src-lib-components-button.mjs.map +0 -1
  529. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +0 -1648
  530. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +0 -1
  531. package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs +0 -155
  532. package/fesm2015/mapa-library-ui-src-lib-components-chart.mjs.map +0 -1
  533. package/fesm2015/mapa-library-ui-src-lib-components-checkbox.mjs +0 -64
  534. package/fesm2015/mapa-library-ui-src-lib-components-checkbox.mjs.map +0 -1
  535. package/fesm2015/mapa-library-ui-src-lib-components-datepicker.mjs +0 -261
  536. package/fesm2015/mapa-library-ui-src-lib-components-datepicker.mjs.map +0 -1
  537. package/fesm2015/mapa-library-ui-src-lib-components-dialog.mjs +0 -231
  538. package/fesm2015/mapa-library-ui-src-lib-components-dialog.mjs.map +0 -1
  539. package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs +0 -174
  540. package/fesm2015/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +0 -1
  541. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +0 -549
  542. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +0 -1
  543. package/fesm2015/mapa-library-ui-src-lib-components-empty.mjs +0 -94
  544. package/fesm2015/mapa-library-ui-src-lib-components-empty.mjs.map +0 -1
  545. package/fesm2015/mapa-library-ui-src-lib-components-filters.mjs +0 -300
  546. package/fesm2015/mapa-library-ui-src-lib-components-filters.mjs.map +0 -1
  547. package/fesm2015/mapa-library-ui-src-lib-components-form.mjs +0 -715
  548. package/fesm2015/mapa-library-ui-src-lib-components-form.mjs.map +0 -1
  549. package/fesm2015/mapa-library-ui-src-lib-components-group-report.mjs +0 -252
  550. package/fesm2015/mapa-library-ui-src-lib-components-group-report.mjs.map +0 -1
  551. package/fesm2015/mapa-library-ui-src-lib-components-icon.mjs +0 -57
  552. package/fesm2015/mapa-library-ui-src-lib-components-icon.mjs.map +0 -1
  553. package/fesm2015/mapa-library-ui-src-lib-components-input.mjs +0 -411
  554. package/fesm2015/mapa-library-ui-src-lib-components-input.mjs.map +0 -1
  555. package/fesm2015/mapa-library-ui-src-lib-components-menu.mjs +0 -81
  556. package/fesm2015/mapa-library-ui-src-lib-components-menu.mjs.map +0 -1
  557. package/fesm2015/mapa-library-ui-src-lib-components-nav-list.mjs +0 -55
  558. package/fesm2015/mapa-library-ui-src-lib-components-nav-list.mjs.map +0 -1
  559. package/fesm2015/mapa-library-ui-src-lib-components-radio-button.mjs +0 -84
  560. package/fesm2015/mapa-library-ui-src-lib-components-radio-button.mjs.map +0 -1
  561. package/fesm2015/mapa-library-ui-src-lib-components-report-item.mjs +0 -108
  562. package/fesm2015/mapa-library-ui-src-lib-components-report-item.mjs.map +0 -1
  563. package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs +0 -317
  564. package/fesm2015/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +0 -1
  565. package/fesm2015/mapa-library-ui-src-lib-components-scale.mjs +0 -552
  566. package/fesm2015/mapa-library-ui-src-lib-components-scale.mjs.map +0 -1
  567. package/fesm2015/mapa-library-ui-src-lib-components-slide-toggle.mjs +0 -84
  568. package/fesm2015/mapa-library-ui-src-lib-components-slide-toggle.mjs.map +0 -1
  569. package/fesm2015/mapa-library-ui-src-lib-components-svg-icon.mjs +0 -129
  570. package/fesm2015/mapa-library-ui-src-lib-components-svg-icon.mjs.map +0 -1
  571. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs +0 -4511
  572. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs.map +0 -1
  573. package/fesm2015/mapa-library-ui-src-lib-components-tag.mjs +0 -50
  574. package/fesm2015/mapa-library-ui-src-lib-components-tag.mjs.map +0 -1
  575. package/fesm2015/mapa-library-ui-src-lib-components-textarea.mjs +0 -284
  576. package/fesm2015/mapa-library-ui-src-lib-components-textarea.mjs.map +0 -1
  577. package/fesm2015/mapa-library-ui-src-lib-components-tooltip.mjs +0 -202
  578. package/fesm2015/mapa-library-ui-src-lib-components-tooltip.mjs.map +0 -1
  579. package/fesm2015/mapa-library-ui-src-lib-components-warning.mjs +0 -81
  580. package/fesm2015/mapa-library-ui-src-lib-components-warning.mjs.map +0 -1
  581. package/fesm2015/mapa-library-ui-src-lib-core-guards-authorize-guard.mjs +0 -109
  582. package/fesm2015/mapa-library-ui-src-lib-core-guards-authorize-guard.mjs.map +0 -1
  583. package/fesm2015/mapa-library-ui-src-lib-core-services.mjs +0 -41
  584. package/fesm2015/mapa-library-ui-src-lib-core-services.mjs.map +0 -1
  585. package/fesm2015/mapa-library-ui.mjs +0 -4316
  586. package/fesm2015/mapa-library-ui.mjs.map +0 -1
  587. package/fesm2020/mapa-library-ui-src-lib-components-benchmarking.mjs +0 -87
  588. package/fesm2020/mapa-library-ui-src-lib-components-benchmarking.mjs.map +0 -1
  589. package/fesm2020/mapa-library-ui-src-lib-components-breadcrumb.mjs +0 -46
  590. package/fesm2020/mapa-library-ui-src-lib-components-breadcrumb.mjs.map +0 -1
  591. package/fesm2020/mapa-library-ui-src-lib-components-button-icon.mjs +0 -77
  592. package/fesm2020/mapa-library-ui-src-lib-components-button-icon.mjs.map +0 -1
  593. package/fesm2020/mapa-library-ui-src-lib-components-button.mjs +0 -54
  594. package/fesm2020/mapa-library-ui-src-lib-components-button.mjs.map +0 -1
  595. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +0 -1656
  596. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +0 -1
  597. package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs +0 -154
  598. package/fesm2020/mapa-library-ui-src-lib-components-chart.mjs.map +0 -1
  599. package/fesm2020/mapa-library-ui-src-lib-components-checkbox.mjs +0 -64
  600. package/fesm2020/mapa-library-ui-src-lib-components-checkbox.mjs.map +0 -1
  601. package/fesm2020/mapa-library-ui-src-lib-components-datepicker.mjs +0 -276
  602. package/fesm2020/mapa-library-ui-src-lib-components-datepicker.mjs.map +0 -1
  603. package/fesm2020/mapa-library-ui-src-lib-components-dialog.mjs +0 -228
  604. package/fesm2020/mapa-library-ui-src-lib-components-dialog.mjs.map +0 -1
  605. package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs +0 -177
  606. package/fesm2020/mapa-library-ui-src-lib-components-dropdown-tree.mjs.map +0 -1
  607. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +0 -558
  608. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +0 -1
  609. package/fesm2020/mapa-library-ui-src-lib-components-empty.mjs +0 -93
  610. package/fesm2020/mapa-library-ui-src-lib-components-empty.mjs.map +0 -1
  611. package/fesm2020/mapa-library-ui-src-lib-components-filters.mjs +0 -315
  612. package/fesm2020/mapa-library-ui-src-lib-components-filters.mjs.map +0 -1
  613. package/fesm2020/mapa-library-ui-src-lib-components-form.mjs +0 -723
  614. package/fesm2020/mapa-library-ui-src-lib-components-form.mjs.map +0 -1
  615. package/fesm2020/mapa-library-ui-src-lib-components-group-report.mjs +0 -247
  616. package/fesm2020/mapa-library-ui-src-lib-components-group-report.mjs.map +0 -1
  617. package/fesm2020/mapa-library-ui-src-lib-components-icon.mjs +0 -57
  618. package/fesm2020/mapa-library-ui-src-lib-components-icon.mjs.map +0 -1
  619. package/fesm2020/mapa-library-ui-src-lib-components-input.mjs +0 -422
  620. package/fesm2020/mapa-library-ui-src-lib-components-input.mjs.map +0 -1
  621. package/fesm2020/mapa-library-ui-src-lib-components-menu.mjs +0 -81
  622. package/fesm2020/mapa-library-ui-src-lib-components-menu.mjs.map +0 -1
  623. package/fesm2020/mapa-library-ui-src-lib-components-nav-list.mjs +0 -55
  624. package/fesm2020/mapa-library-ui-src-lib-components-nav-list.mjs.map +0 -1
  625. package/fesm2020/mapa-library-ui-src-lib-components-radio-button.mjs +0 -83
  626. package/fesm2020/mapa-library-ui-src-lib-components-radio-button.mjs.map +0 -1
  627. package/fesm2020/mapa-library-ui-src-lib-components-report-item.mjs +0 -107
  628. package/fesm2020/mapa-library-ui-src-lib-components-report-item.mjs.map +0 -1
  629. package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs +0 -328
  630. package/fesm2020/mapa-library-ui-src-lib-components-scale-parameterization.mjs.map +0 -1
  631. package/fesm2020/mapa-library-ui-src-lib-components-scale.mjs +0 -566
  632. package/fesm2020/mapa-library-ui-src-lib-components-scale.mjs.map +0 -1
  633. package/fesm2020/mapa-library-ui-src-lib-components-slide-toggle.mjs +0 -83
  634. package/fesm2020/mapa-library-ui-src-lib-components-slide-toggle.mjs.map +0 -1
  635. package/fesm2020/mapa-library-ui-src-lib-components-svg-icon.mjs +0 -128
  636. package/fesm2020/mapa-library-ui-src-lib-components-svg-icon.mjs.map +0 -1
  637. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs +0 -4520
  638. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs.map +0 -1
  639. package/fesm2020/mapa-library-ui-src-lib-components-tag.mjs +0 -50
  640. package/fesm2020/mapa-library-ui-src-lib-components-tag.mjs.map +0 -1
  641. package/fesm2020/mapa-library-ui-src-lib-components-textarea.mjs +0 -298
  642. package/fesm2020/mapa-library-ui-src-lib-components-textarea.mjs.map +0 -1
  643. package/fesm2020/mapa-library-ui-src-lib-components-tooltip.mjs +0 -202
  644. package/fesm2020/mapa-library-ui-src-lib-components-tooltip.mjs.map +0 -1
  645. package/fesm2020/mapa-library-ui-src-lib-components-warning.mjs +0 -81
  646. package/fesm2020/mapa-library-ui-src-lib-components-warning.mjs.map +0 -1
  647. package/fesm2020/mapa-library-ui-src-lib-core-guards-authorize-guard.mjs.map +0 -1
  648. package/fesm2020/mapa-library-ui-src-lib-core-services.mjs +0 -41
  649. package/fesm2020/mapa-library-ui-src-lib-core-services.mjs.map +0 -1
  650. package/fesm2020/mapa-library-ui.mjs +0 -4329
  651. package/fesm2020/mapa-library-ui.mjs.map +0 -1
  652. package/lib/core/components/form-errors/form-errors.component.d.ts +0 -13
  653. package/lib/core/directives/custom-paginator-legacy.directive.d.ts +0 -28
  654. package/lib/core/directives/mat-input-autosize.directive.d.ts +0 -25
  655. package/lib/core/elements/action-button.d.ts +0 -5
  656. package/lib/core/elements/dropdown-tree.d.ts +0 -4
  657. package/lib/core/elements/dropdown.d.ts +0 -4
  658. package/lib/core/elements/element-base.d.ts +0 -75
  659. package/lib/core/elements/element-search.d.ts +0 -7
  660. package/lib/core/elements/errors.d.ts +0 -11
  661. package/lib/core/elements/input-text.d.ts +0 -4
  662. package/lib/core/elements/radio-button.d.ts +0 -4
  663. package/lib/core/elements/slide-toggle.d.ts +0 -4
  664. package/lib/core/elements/textarea.d.ts +0 -4
  665. package/lib/core/i18n/mapa-ui-texts.d.ts +0 -102
  666. package/lib/core/interfaces/button-icon.interface.d.ts +0 -6
  667. package/lib/core/interfaces/chart-options.interface.d.ts +0 -19
  668. package/lib/core/interfaces/classification.interface.d.ts +0 -6
  669. package/lib/core/interfaces/dialog-data.interface.d.ts +0 -11
  670. package/lib/core/interfaces/element-group.interface.d.ts +0 -5
  671. package/lib/core/interfaces/element-option.interface.d.ts +0 -6
  672. package/lib/core/interfaces/table-column.interface.d.ts +0 -19
  673. package/lib/core/js-brasil/index.d.ts +0 -15
  674. package/lib/core/js-brasil/src/create.d.ts +0 -37
  675. package/lib/core/js-brasil/src/createNumberMask.d.ts +0 -13
  676. package/lib/core/js-brasil/src/estados.d.ts +0 -7
  677. package/lib/core/js-brasil/src/index.d.ts +0 -34
  678. package/lib/core/js-brasil/src/inscricaoestadual.d.ts +0 -7
  679. package/lib/core/js-brasil/src/interfaces.d.ts +0 -51
  680. package/lib/core/js-brasil/src/iptu.d.ts +0 -3
  681. package/lib/core/js-brasil/src/iptu_create.d.ts +0 -5
  682. package/lib/core/js-brasil/src/iptu_mask.d.ts +0 -2
  683. package/lib/core/js-brasil/src/iptu_validate.d.ts +0 -10
  684. package/lib/core/js-brasil/src/mask.d.ts +0 -53
  685. package/lib/core/js-brasil/src/name.d.ts +0 -9
  686. package/lib/core/js-brasil/src/placa.d.ts +0 -6
  687. package/lib/core/js-brasil/src/rg.d.ts +0 -5
  688. package/lib/core/js-brasil/src/saude.d.ts +0 -84
  689. package/lib/core/js-brasil/src/utils.d.ts +0 -71
  690. package/lib/core/js-brasil/src/validate.d.ts +0 -90
  691. package/lib/core/pipes/cpf.d.ts +0 -7
  692. package/lib/core/pipes/safe-html.pipe.d.ts +0 -10
  693. package/lib/core/services/html-sanitizer.service.d.ts +0 -10
  694. package/lib/core/services/mapa-i18n.service.d.ts +0 -13
  695. package/lib/core/services/validation-message-resolver.service.d.ts +0 -14
  696. package/mapa-library-ui-0.90.2.tgz +0 -0
  697. package/public-api.d.ts +0 -25
  698. package/src/lib/components/benchmarking/benchmarking.d.ts +0 -1
  699. package/src/lib/components/benchmarking/lib/components/benchmarking/public-api.d.ts +0 -5
  700. package/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmark-chart.component.d.ts +0 -11
  701. package/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmark-chart.module.d.ts +0 -9
  702. package/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmark-indicator/benchmark-indicator.component.d.ts +0 -7
  703. package/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmark-indicator/benchmark-indicator.module.d.ts +0 -8
  704. package/src/lib/components/benchmarking/lib/components/benchmarking/src/benchmarking.interface.d.ts +0 -37
  705. package/src/lib/components/breadcrumb/breadcrumb.d.ts +0 -1
  706. package/src/lib/components/breadcrumb/lib/components/breadcrumb/public-api.d.ts +0 -2
  707. package/src/lib/components/breadcrumb/lib/components/breadcrumb/src/breadcrumb.component.d.ts +0 -7
  708. package/src/lib/components/breadcrumb/lib/components/breadcrumb/src/breadcrumb.module.d.ts +0 -9
  709. package/src/lib/components/breadcrumb/lib/core/interfaces/bread-piece.interface.d.ts +0 -4
  710. package/src/lib/components/button/button.d.ts +0 -1
  711. package/src/lib/components/button/lib/components/button/public-api.d.ts +0 -2
  712. package/src/lib/components/button/lib/components/button/src/button.component.d.ts +0 -10
  713. package/src/lib/components/button/lib/components/button/src/button.module.d.ts +0 -9
  714. package/src/lib/components/button-icon/button-icon.d.ts +0 -1
  715. package/src/lib/components/button-icon/lib/components/button-icon/public-api.d.ts +0 -2
  716. package/src/lib/components/button-icon/lib/components/button-icon/src/button-icon.component.d.ts +0 -17
  717. package/src/lib/components/button-icon/lib/components/button-icon/src/button-icon.module.d.ts +0 -9
  718. package/src/lib/components/capability/capability.d.ts +0 -5
  719. package/src/lib/components/capability/filters.d.ts +0 -3
  720. package/src/lib/components/capability/lib/components/button/public-api.d.ts +0 -2
  721. package/src/lib/components/capability/lib/components/button/src/button.component.d.ts +0 -10
  722. package/src/lib/components/capability/lib/components/button/src/button.module.d.ts +0 -9
  723. package/src/lib/components/capability/lib/components/capability/public-api.d.ts +0 -24
  724. package/src/lib/components/capability/lib/components/capability/src/capability-comparative/capability-comparative.component.d.ts +0 -10
  725. package/src/lib/components/capability/lib/components/capability/src/capability-comparative/capability-comparative.module.d.ts +0 -11
  726. package/src/lib/components/capability/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.component.d.ts +0 -9
  727. package/src/lib/components/capability/lib/components/capability/src/capability-comparative-chart/capability-comparative-chart.module.d.ts +0 -9
  728. package/src/lib/components/capability/lib/components/capability/src/capability-comparative-header/capability-comparative-header.component.d.ts +0 -18
  729. package/src/lib/components/capability/lib/components/capability/src/capability-comparative-header/capability-comparative-header.module.d.ts +0 -9
  730. package/src/lib/components/capability/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.component.d.ts +0 -9
  731. package/src/lib/components/capability/lib/components/capability/src/capability-comparative-indicator/capability-comparative-indicator.module.d.ts +0 -9
  732. package/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.component.d.ts +0 -32
  733. package/src/lib/components/capability/lib/components/capability/src/capability-detail/capability-detail.module.d.ts +0 -17
  734. package/src/lib/components/capability/lib/components/capability/src/capability-dot/capability-dot.component.d.ts +0 -17
  735. package/src/lib/components/capability/lib/components/capability/src/capability-dot/capability-dot.module.d.ts +0 -10
  736. package/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.component.d.ts +0 -26
  737. package/src/lib/components/capability/lib/components/capability/src/capability-expand/capability-expand.module.d.ts +0 -11
  738. package/src/lib/components/capability/lib/components/capability/src/capability-indicator/capability-indicator.component.d.ts +0 -7
  739. package/src/lib/components/capability/lib/components/capability/src/capability-indicator/capability-indicator.module.d.ts +0 -8
  740. package/src/lib/components/capability/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.component.d.ts +0 -12
  741. package/src/lib/components/capability/lib/components/capability/src/capability-indicator-chart/capability-indicator-chart.module.d.ts +0 -9
  742. package/src/lib/components/capability/lib/components/capability/src/capability-indicator-list/capability-indicator-list.component.d.ts +0 -26
  743. package/src/lib/components/capability/lib/components/capability/src/capability-indicator-list/capability-indicator-list.module.d.ts +0 -9
  744. package/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.component.d.ts +0 -29
  745. package/src/lib/components/capability/lib/components/capability/src/capability-interval/capability-interval.module.d.ts +0 -8
  746. package/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.d.ts +0 -14
  747. package/src/lib/components/capability/lib/components/capability/src/capability-interval-bar/capability-interval-bar.module.d.ts +0 -10
  748. package/src/lib/components/capability/lib/components/capability/src/essentials/consts/capability-classification.const.d.ts +0 -2
  749. package/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/capability-classification.interface.d.ts +0 -6
  750. package/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/capability-comparative.interface.d.ts +0 -10
  751. package/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/capability-item.interface.d.ts +0 -20
  752. package/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/capability.interface.d.ts +0 -8
  753. package/src/lib/components/capability/lib/components/capability/src/essentials/interfaces/index.d.ts +0 -3
  754. package/src/lib/components/capability/lib/components/capability/src/essentials/services/capability-classification.service.d.ts +0 -8
  755. package/src/lib/components/capability/lib/components/capability/src/essentials/services/reusable-interval-bar.service.d.ts +0 -16
  756. package/src/lib/components/capability/lib/components/dropdown/public-api.d.ts +0 -2
  757. package/src/lib/components/capability/lib/components/dropdown/src/dropdown.component.d.ts +0 -47
  758. package/src/lib/components/capability/lib/components/dropdown/src/dropdown.module.d.ts +0 -18
  759. package/src/lib/components/capability/lib/components/filters/public-api.d.ts +0 -2
  760. package/src/lib/components/capability/lib/components/filters/src/filters.component.d.ts +0 -22
  761. package/src/lib/components/capability/lib/components/filters/src/filters.module.d.ts +0 -12
  762. package/src/lib/components/capability/lib/components/icon/public-api.d.ts +0 -2
  763. package/src/lib/components/capability/lib/components/icon/src/icon.component.d.ts +0 -13
  764. package/src/lib/components/capability/lib/components/icon/src/icon.module.d.ts +0 -9
  765. package/src/lib/components/capability/lib/components/tag/src/tag.component.d.ts +0 -12
  766. package/src/lib/components/capability/lib/components/tag/src/tag.module.d.ts +0 -8
  767. package/src/lib/components/capability/lib/components/tooltip/public-api.d.ts +0 -3
  768. package/src/lib/components/capability/lib/components/tooltip/src/tooltip.component.d.ts +0 -15
  769. package/src/lib/components/capability/lib/components/tooltip/src/tooltip.directive.d.ts +0 -32
  770. package/src/lib/components/capability/lib/components/tooltip/src/tooltip.enums.d.ts +0 -13
  771. package/src/lib/components/capability/lib/components/tooltip/src/tooltip.module.d.ts +0 -9
  772. package/src/lib/components/capability/lib/core/components/form-errors/form-errors.component.d.ts +0 -13
  773. package/src/lib/components/capability/lib/core/elements/action-button.d.ts +0 -5
  774. package/src/lib/components/capability/lib/core/elements/dropdown.d.ts +0 -4
  775. package/src/lib/components/capability/lib/core/elements/element-base.d.ts +0 -75
  776. package/src/lib/components/capability/lib/core/elements/element-search.d.ts +0 -7
  777. package/src/lib/components/capability/lib/core/elements/errors.d.ts +0 -11
  778. package/src/lib/components/capability/lib/core/i18n/mapa-ui-texts.d.ts +0 -102
  779. package/src/lib/components/capability/lib/core/interfaces/element-group.interface.d.ts +0 -5
  780. package/src/lib/components/capability/lib/core/interfaces/element-option.interface.d.ts +0 -6
  781. package/src/lib/components/capability/lib/core/pipes/safe-html.pipe.d.ts +0 -10
  782. package/src/lib/components/capability/lib/core/services/html-sanitizer.service.d.ts +0 -10
  783. package/src/lib/components/capability/lib/core/services/mapa-i18n.service.d.ts +0 -13
  784. package/src/lib/components/capability/lib/core/services/validation-message-resolver.service.d.ts +0 -14
  785. package/src/lib/components/chart/chart.d.ts +0 -1
  786. package/src/lib/components/chart/lib/components/chart/public-api.d.ts +0 -2
  787. package/src/lib/components/chart/lib/components/chart/src/chart.component.d.ts +0 -14
  788. package/src/lib/components/chart/lib/components/chart/src/chart.module.d.ts +0 -10
  789. package/src/lib/components/checkbox/checkbox.d.ts +0 -1
  790. package/src/lib/components/checkbox/lib/components/checkbox/public-api.d.ts +0 -2
  791. package/src/lib/components/checkbox/lib/components/checkbox/src/checkbox.component.d.ts +0 -8
  792. package/src/lib/components/checkbox/lib/components/checkbox/src/checkbox.module.d.ts +0 -10
  793. package/src/lib/components/datepicker/datepicker.d.ts +0 -1
  794. package/src/lib/components/datepicker/lib/components/datepicker/public-api.d.ts +0 -2
  795. package/src/lib/components/datepicker/lib/components/datepicker/src/datepicker.component.d.ts +0 -21
  796. package/src/lib/components/datepicker/lib/components/datepicker/src/datepicker.module.d.ts +0 -27
  797. package/src/lib/components/datepicker/lib/core/i18n/mapa-ui-texts.d.ts +0 -102
  798. package/src/lib/components/datepicker/lib/core/services/mapa-i18n.service.d.ts +0 -13
  799. package/src/lib/components/dialog/dialog.d.ts +0 -3
  800. package/src/lib/components/dialog/lib/components/button/public-api.d.ts +0 -2
  801. package/src/lib/components/dialog/lib/components/button/src/button.component.d.ts +0 -10
  802. package/src/lib/components/dialog/lib/components/button/src/button.module.d.ts +0 -9
  803. package/src/lib/components/dialog/lib/components/dialog/public-api.d.ts +0 -2
  804. package/src/lib/components/dialog/lib/components/dialog/src/dialog.component.d.ts +0 -24
  805. package/src/lib/components/dialog/lib/components/dialog/src/dialog.module.d.ts +0 -12
  806. package/src/lib/components/dialog/lib/components/icon/public-api.d.ts +0 -2
  807. package/src/lib/components/dialog/lib/components/icon/src/icon.component.d.ts +0 -13
  808. package/src/lib/components/dialog/lib/components/icon/src/icon.module.d.ts +0 -9
  809. package/src/lib/components/dialog/lib/core/pipes/safe-html.pipe.d.ts +0 -10
  810. package/src/lib/components/dialog/lib/core/services/html-sanitizer.service.d.ts +0 -10
  811. package/src/lib/components/dropdown/dropdown.d.ts +0 -4
  812. package/src/lib/components/dropdown/lib/components/dropdown/public-api.d.ts +0 -2
  813. package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.d.ts +0 -47
  814. package/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.module.d.ts +0 -18
  815. package/src/lib/components/dropdown/lib/core/components/form-errors/form-errors.component.d.ts +0 -13
  816. package/src/lib/components/dropdown/lib/core/elements/action-button.d.ts +0 -5
  817. package/src/lib/components/dropdown/lib/core/elements/dropdown.d.ts +0 -4
  818. package/src/lib/components/dropdown/lib/core/elements/element-base.d.ts +0 -75
  819. package/src/lib/components/dropdown/lib/core/elements/element-search.d.ts +0 -7
  820. package/src/lib/components/dropdown/lib/core/elements/errors.d.ts +0 -11
  821. package/src/lib/components/dropdown/lib/core/i18n/mapa-ui-texts.d.ts +0 -102
  822. package/src/lib/components/dropdown/lib/core/interfaces/element-group.interface.d.ts +0 -5
  823. package/src/lib/components/dropdown/lib/core/interfaces/element-option.interface.d.ts +0 -6
  824. package/src/lib/components/dropdown/lib/core/pipes/safe-html.pipe.d.ts +0 -10
  825. package/src/lib/components/dropdown/lib/core/services/html-sanitizer.service.d.ts +0 -10
  826. package/src/lib/components/dropdown/lib/core/services/mapa-i18n.service.d.ts +0 -13
  827. package/src/lib/components/dropdown/lib/core/services/validation-message-resolver.service.d.ts +0 -14
  828. package/src/lib/components/dropdown-tree/dropdown-tree.d.ts +0 -5
  829. package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/public-api.d.ts +0 -2
  830. package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.component.d.ts +0 -37
  831. package/src/lib/components/dropdown-tree/lib/components/dropdown-tree/src/dropdown.module.d.ts +0 -10
  832. package/src/lib/components/dropdown-tree/lib/core/elements/action-button.d.ts +0 -5
  833. package/src/lib/components/dropdown-tree/lib/core/elements/dropdown-tree.d.ts +0 -4
  834. package/src/lib/components/dropdown-tree/lib/core/elements/dropdown.d.ts +0 -4
  835. package/src/lib/components/dropdown-tree/lib/core/elements/element-base.d.ts +0 -75
  836. package/src/lib/components/dropdown-tree/lib/core/elements/element-search.d.ts +0 -7
  837. package/src/lib/components/dropdown-tree/lib/core/elements/errors.d.ts +0 -11
  838. package/src/lib/components/dropdown-tree/lib/core/interfaces/element-group.interface.d.ts +0 -5
  839. package/src/lib/components/dropdown-tree/lib/core/interfaces/element-option.interface.d.ts +0 -6
  840. package/src/lib/components/empty/empty.d.ts +0 -1
  841. package/src/lib/components/empty/lib/components/empty/public-api.d.ts +0 -2
  842. package/src/lib/components/empty/lib/components/empty/src/empty.component.d.ts +0 -7
  843. package/src/lib/components/empty/lib/components/empty/src/empty.module.d.ts +0 -9
  844. package/src/lib/components/empty/lib/core/pipes/safe-html.pipe.d.ts +0 -10
  845. package/src/lib/components/empty/lib/core/services/html-sanitizer.service.d.ts +0 -10
  846. package/src/lib/components/filters/filters.d.ts +0 -3
  847. package/src/lib/components/filters/lib/components/button/public-api.d.ts +0 -2
  848. package/src/lib/components/filters/lib/components/button/src/button.component.d.ts +0 -10
  849. package/src/lib/components/filters/lib/components/button/src/button.module.d.ts +0 -9
  850. package/src/lib/components/filters/lib/components/filters/public-api.d.ts +0 -2
  851. package/src/lib/components/filters/lib/components/filters/src/filters.component.d.ts +0 -22
  852. package/src/lib/components/filters/lib/components/filters/src/filters.module.d.ts +0 -12
  853. package/src/lib/components/filters/lib/components/icon/public-api.d.ts +0 -2
  854. package/src/lib/components/filters/lib/components/icon/src/icon.component.d.ts +0 -13
  855. package/src/lib/components/filters/lib/components/icon/src/icon.module.d.ts +0 -9
  856. package/src/lib/components/filters/lib/core/i18n/mapa-ui-texts.d.ts +0 -102
  857. package/src/lib/components/filters/lib/core/services/mapa-i18n.service.d.ts +0 -13
  858. package/src/lib/components/form/form.d.ts +0 -6
  859. package/src/lib/components/form/lib/components/button/public-api.d.ts +0 -2
  860. package/src/lib/components/form/lib/components/button/src/button.component.d.ts +0 -10
  861. package/src/lib/components/form/lib/components/button/src/button.module.d.ts +0 -9
  862. package/src/lib/components/form/lib/components/form/public-api.d.ts +0 -2
  863. package/src/lib/components/form/lib/components/form/src/form.component.d.ts +0 -15
  864. package/src/lib/components/form/lib/components/form/src/form.module.d.ts +0 -14
  865. package/src/lib/components/form/lib/components/input/public-api.d.ts +0 -2
  866. package/src/lib/components/form/lib/components/input/src/input.component.d.ts +0 -15
  867. package/src/lib/components/form/lib/components/input/src/input.module.d.ts +0 -17
  868. package/src/lib/components/form/lib/components/radio-button/public-api.d.ts +0 -2
  869. package/src/lib/components/form/lib/components/radio-button/src/radio-button.component.d.ts +0 -17
  870. package/src/lib/components/form/lib/components/radio-button/src/radio-button.module.d.ts +0 -11
  871. package/src/lib/components/form/lib/components/slide-toggle/public-api.d.ts +0 -2
  872. package/src/lib/components/form/lib/components/slide-toggle/src/slide-toggle.component.d.ts +0 -17
  873. package/src/lib/components/form/lib/components/slide-toggle/src/slide-toggle.module.d.ts +0 -11
  874. package/src/lib/components/form/lib/components/textarea/public-api.d.ts +0 -2
  875. package/src/lib/components/form/lib/components/textarea/src/textarea.component.d.ts +0 -9
  876. package/src/lib/components/form/lib/components/textarea/src/textarea.module.d.ts +0 -13
  877. package/src/lib/components/form/lib/core/components/form-errors/form-errors.component.d.ts +0 -13
  878. package/src/lib/components/form/lib/core/directives/mat-input-autosize.directive.d.ts +0 -25
  879. package/src/lib/components/form/lib/core/elements/action-button.d.ts +0 -5
  880. package/src/lib/components/form/lib/core/elements/element-base.d.ts +0 -75
  881. package/src/lib/components/form/lib/core/elements/element-search.d.ts +0 -7
  882. package/src/lib/components/form/lib/core/elements/errors.d.ts +0 -11
  883. package/src/lib/components/form/lib/core/elements/input-text.d.ts +0 -4
  884. package/src/lib/components/form/lib/core/i18n/mapa-ui-texts.d.ts +0 -102
  885. package/src/lib/components/form/lib/core/interfaces/element-group.interface.d.ts +0 -5
  886. package/src/lib/components/form/lib/core/interfaces/element-option.interface.d.ts +0 -6
  887. package/src/lib/components/form/lib/core/services/mapa-i18n.service.d.ts +0 -13
  888. package/src/lib/components/form/lib/core/services/validation-message-resolver.service.d.ts +0 -14
  889. package/src/lib/components/group-report/group-report.d.ts +0 -1
  890. package/src/lib/components/group-report/lib/components/group-report/public-api.d.ts +0 -2
  891. package/src/lib/components/group-report/lib/components/group-report/src/group-report-interface.d.ts +0 -23
  892. package/src/lib/components/group-report/lib/components/group-report/src/group-report.component.d.ts +0 -46
  893. package/src/lib/components/group-report/lib/components/group-report/src/group-report.module.d.ts +0 -12
  894. package/src/lib/components/icon/icon.d.ts +0 -1
  895. package/src/lib/components/icon/lib/components/icon/public-api.d.ts +0 -2
  896. package/src/lib/components/icon/lib/components/icon/src/icon.component.d.ts +0 -13
  897. package/src/lib/components/icon/lib/components/icon/src/icon.module.d.ts +0 -9
  898. package/src/lib/components/input/input.d.ts +0 -1
  899. package/src/lib/components/input/lib/components/input/public-api.d.ts +0 -2
  900. package/src/lib/components/input/lib/components/input/src/input.component.d.ts +0 -15
  901. package/src/lib/components/input/lib/components/input/src/input.module.d.ts +0 -17
  902. package/src/lib/components/input/lib/core/components/form-errors/form-errors.component.d.ts +0 -13
  903. package/src/lib/components/input/lib/core/directives/mat-input-autosize.directive.d.ts +0 -25
  904. package/src/lib/components/input/lib/core/elements/action-button.d.ts +0 -5
  905. package/src/lib/components/input/lib/core/elements/element-base.d.ts +0 -75
  906. package/src/lib/components/input/lib/core/elements/element-search.d.ts +0 -7
  907. package/src/lib/components/input/lib/core/elements/errors.d.ts +0 -11
  908. package/src/lib/components/input/lib/core/elements/input-text.d.ts +0 -4
  909. package/src/lib/components/input/lib/core/i18n/mapa-ui-texts.d.ts +0 -102
  910. package/src/lib/components/input/lib/core/interfaces/element-group.interface.d.ts +0 -5
  911. package/src/lib/components/input/lib/core/interfaces/element-option.interface.d.ts +0 -6
  912. package/src/lib/components/input/lib/core/services/mapa-i18n.service.d.ts +0 -13
  913. package/src/lib/components/input/lib/core/services/validation-message-resolver.service.d.ts +0 -14
  914. package/src/lib/components/menu/lib/components/menu/public-api.d.ts +0 -2
  915. package/src/lib/components/menu/lib/components/menu/src/menu.component.d.ts +0 -23
  916. package/src/lib/components/menu/lib/components/menu/src/menu.module.d.ts +0 -11
  917. package/src/lib/components/menu/menu.d.ts +0 -1
  918. package/src/lib/components/nav-list/lib/components/nav-list/public-api.d.ts +0 -2
  919. package/src/lib/components/nav-list/lib/components/nav-list/src/nav-list.component.d.ts +0 -12
  920. package/src/lib/components/nav-list/lib/components/nav-list/src/nav-list.module.d.ts +0 -8
  921. package/src/lib/components/nav-list/nav-list.d.ts +0 -1
  922. package/src/lib/components/radio-button/lib/components/radio-button/public-api.d.ts +0 -2
  923. package/src/lib/components/radio-button/lib/components/radio-button/src/radio-button.component.d.ts +0 -17
  924. package/src/lib/components/radio-button/lib/components/radio-button/src/radio-button.module.d.ts +0 -11
  925. package/src/lib/components/radio-button/radio-button.d.ts +0 -1
  926. package/src/lib/components/report-item/lib/components/report-item/public-api.d.ts +0 -2
  927. package/src/lib/components/report-item/lib/components/report-item/src/report-item.component.d.ts +0 -33
  928. package/src/lib/components/report-item/lib/components/report-item/src/report-item.module.d.ts +0 -10
  929. package/src/lib/components/report-item/report-item.d.ts +0 -1
  930. package/src/lib/components/scale/filters.d.ts +0 -3
  931. package/src/lib/components/scale/lib/components/button/public-api.d.ts +0 -2
  932. package/src/lib/components/scale/lib/components/button/src/button.component.d.ts +0 -10
  933. package/src/lib/components/scale/lib/components/button/src/button.module.d.ts +0 -9
  934. package/src/lib/components/scale/lib/components/capability/src/capability-interval/capability-interval.component.d.ts +0 -29
  935. package/src/lib/components/scale/lib/components/capability/src/capability-interval/capability-interval.module.d.ts +0 -8
  936. package/src/lib/components/scale/lib/components/capability/src/capability-interval-bar/capability-interval-bar.component.d.ts +0 -14
  937. package/src/lib/components/scale/lib/components/capability/src/capability-interval-bar/capability-interval-bar.module.d.ts +0 -10
  938. package/src/lib/components/scale/lib/components/capability/src/essentials/interfaces/capability-item.interface.d.ts +0 -20
  939. package/src/lib/components/scale/lib/components/capability/src/essentials/interfaces/capability.interface.d.ts +0 -8
  940. package/src/lib/components/scale/lib/components/filters/public-api.d.ts +0 -2
  941. package/src/lib/components/scale/lib/components/filters/src/filters.component.d.ts +0 -22
  942. package/src/lib/components/scale/lib/components/filters/src/filters.module.d.ts +0 -12
  943. package/src/lib/components/scale/lib/components/group-report/src/group-report-interface.d.ts +0 -23
  944. package/src/lib/components/scale/lib/components/icon/public-api.d.ts +0 -2
  945. package/src/lib/components/scale/lib/components/icon/src/icon.component.d.ts +0 -13
  946. package/src/lib/components/scale/lib/components/icon/src/icon.module.d.ts +0 -9
  947. package/src/lib/components/scale/lib/components/scale/public-api.d.ts +0 -4
  948. package/src/lib/components/scale/lib/components/scale/src/details/details.component.d.ts +0 -5
  949. package/src/lib/components/scale/lib/components/scale/src/progressbar/progressbar.component.d.ts +0 -8
  950. package/src/lib/components/scale/lib/components/scale/src/scale.component.d.ts +0 -23
  951. package/src/lib/components/scale/lib/components/scale/src/scale.interface.d.ts +0 -31
  952. package/src/lib/components/scale/lib/components/scale/src/scale.module.d.ts +0 -11
  953. package/src/lib/components/scale/lib/core/i18n/mapa-ui-texts.d.ts +0 -102
  954. package/src/lib/components/scale/lib/core/services/mapa-i18n.service.d.ts +0 -13
  955. package/src/lib/components/scale/scale.d.ts +0 -1
  956. package/src/lib/components/scale-parameterization/lib/components/group-report/src/group-report-interface.d.ts +0 -23
  957. package/src/lib/components/scale-parameterization/lib/components/scale-parameterization/public-api.d.ts +0 -4
  958. package/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/details/details.component.d.ts +0 -5
  959. package/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/progressbar/progressbar.component.d.ts +0 -8
  960. package/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.component.d.ts +0 -31
  961. package/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.interface.d.ts +0 -31
  962. package/src/lib/components/scale-parameterization/lib/components/scale-parameterization/src/scale-parameterization.module.d.ts +0 -12
  963. package/src/lib/components/scale-parameterization/lib/core/i18n/mapa-ui-texts.d.ts +0 -102
  964. package/src/lib/components/scale-parameterization/lib/core/services/mapa-i18n.service.d.ts +0 -13
  965. package/src/lib/components/scale-parameterization/scale-parameterization.d.ts +0 -1
  966. package/src/lib/components/slide-toggle/lib/components/slide-toggle/public-api.d.ts +0 -2
  967. package/src/lib/components/slide-toggle/lib/components/slide-toggle/src/slide-toggle.component.d.ts +0 -17
  968. package/src/lib/components/slide-toggle/lib/components/slide-toggle/src/slide-toggle.module.d.ts +0 -11
  969. package/src/lib/components/slide-toggle/slide-toggle.d.ts +0 -1
  970. package/src/lib/components/svg-icon/lib/components/svg-icon/public-api.d.ts +0 -2
  971. package/src/lib/components/svg-icon/lib/components/svg-icon/src/svg-icon.component.d.ts +0 -17
  972. package/src/lib/components/svg-icon/lib/components/svg-icon/src/svg-icon.module.d.ts +0 -9
  973. package/src/lib/components/svg-icon/lib/core/pipes/safe-html.pipe.d.ts +0 -10
  974. package/src/lib/components/svg-icon/lib/core/services/html-sanitizer.service.d.ts +0 -10
  975. package/src/lib/components/svg-icon/svg-icon.d.ts +0 -1
  976. package/src/lib/components/table/lib/components/table/public-api.d.ts +0 -3
  977. package/src/lib/components/table/lib/components/table/src/paginator_customization.d.ts +0 -3
  978. package/src/lib/components/table/lib/components/table/src/table.component.d.ts +0 -90
  979. package/src/lib/components/table/lib/components/table/src/table.module.d.ts +0 -21
  980. package/src/lib/components/table/lib/core/directives/custom-paginator-legacy.directive.d.ts +0 -28
  981. package/src/lib/components/table/lib/core/i18n/mapa-ui-texts.d.ts +0 -102
  982. package/src/lib/components/table/lib/core/interfaces/classification.interface.d.ts +0 -6
  983. package/src/lib/components/table/lib/core/interfaces/table-column.interface.d.ts +0 -19
  984. package/src/lib/components/table/lib/core/interfaces/table-row-click-event.interface.d.ts +0 -4
  985. package/src/lib/components/table/lib/core/js-brasil/index.d.ts +0 -15
  986. package/src/lib/components/table/lib/core/js-brasil/src/create.d.ts +0 -37
  987. package/src/lib/components/table/lib/core/js-brasil/src/createNumberMask.d.ts +0 -13
  988. package/src/lib/components/table/lib/core/js-brasil/src/estados.d.ts +0 -7
  989. package/src/lib/components/table/lib/core/js-brasil/src/index.d.ts +0 -34
  990. package/src/lib/components/table/lib/core/js-brasil/src/inscricaoestadual.d.ts +0 -7
  991. package/src/lib/components/table/lib/core/js-brasil/src/interfaces.d.ts +0 -51
  992. package/src/lib/components/table/lib/core/js-brasil/src/iptu.d.ts +0 -3
  993. package/src/lib/components/table/lib/core/js-brasil/src/iptu_create.d.ts +0 -5
  994. package/src/lib/components/table/lib/core/js-brasil/src/iptu_mask.d.ts +0 -2
  995. package/src/lib/components/table/lib/core/js-brasil/src/iptu_validate.d.ts +0 -10
  996. package/src/lib/components/table/lib/core/js-brasil/src/mask.d.ts +0 -53
  997. package/src/lib/components/table/lib/core/js-brasil/src/name.d.ts +0 -9
  998. package/src/lib/components/table/lib/core/js-brasil/src/placa.d.ts +0 -6
  999. package/src/lib/components/table/lib/core/js-brasil/src/rg.d.ts +0 -5
  1000. package/src/lib/components/table/lib/core/js-brasil/src/saude.d.ts +0 -84
  1001. package/src/lib/components/table/lib/core/js-brasil/src/utils.d.ts +0 -71
  1002. package/src/lib/components/table/lib/core/js-brasil/src/validate.d.ts +0 -90
  1003. package/src/lib/components/table/lib/core/pipes/cpf.d.ts +0 -7
  1004. package/src/lib/components/table/lib/core/pipes/safe-html.pipe.d.ts +0 -10
  1005. package/src/lib/components/table/lib/core/services/html-sanitizer.service.d.ts +0 -10
  1006. package/src/lib/components/table/lib/core/services/mapa-i18n.service.d.ts +0 -13
  1007. package/src/lib/components/table/table.d.ts +0 -2
  1008. package/src/lib/components/tag/lib/components/tag/public-api.d.ts +0 -2
  1009. package/src/lib/components/tag/lib/components/tag/src/tag.component.d.ts +0 -12
  1010. package/src/lib/components/tag/lib/components/tag/src/tag.module.d.ts +0 -8
  1011. package/src/lib/components/tag/tag.d.ts +0 -1
  1012. package/src/lib/components/textarea/lib/components/textarea/public-api.d.ts +0 -2
  1013. package/src/lib/components/textarea/lib/components/textarea/src/textarea.component.d.ts +0 -9
  1014. package/src/lib/components/textarea/lib/components/textarea/src/textarea.module.d.ts +0 -13
  1015. package/src/lib/components/textarea/lib/core/components/form-errors/form-errors.component.d.ts +0 -13
  1016. package/src/lib/components/textarea/lib/core/elements/errors.d.ts +0 -11
  1017. package/src/lib/components/textarea/lib/core/i18n/mapa-ui-texts.d.ts +0 -102
  1018. package/src/lib/components/textarea/lib/core/services/mapa-i18n.service.d.ts +0 -13
  1019. package/src/lib/components/textarea/lib/core/services/validation-message-resolver.service.d.ts +0 -14
  1020. package/src/lib/components/textarea/textarea.d.ts +0 -1
  1021. package/src/lib/components/tooltip/lib/components/tooltip/public-api.d.ts +0 -3
  1022. package/src/lib/components/tooltip/lib/components/tooltip/src/tooltip.component.d.ts +0 -15
  1023. package/src/lib/components/tooltip/lib/components/tooltip/src/tooltip.directive.d.ts +0 -32
  1024. package/src/lib/components/tooltip/lib/components/tooltip/src/tooltip.enums.d.ts +0 -13
  1025. package/src/lib/components/tooltip/lib/components/tooltip/src/tooltip.module.d.ts +0 -9
  1026. package/src/lib/components/tooltip/tooltip.d.ts +0 -2
  1027. package/src/lib/components/warning/lib/components/warning/public-api.d.ts +0 -2
  1028. package/src/lib/components/warning/lib/components/warning/src/warning.component.d.ts +0 -15
  1029. package/src/lib/components/warning/lib/components/warning/src/warning.module.d.ts +0 -9
  1030. package/src/lib/components/warning/warning.d.ts +0 -1
  1031. package/src/lib/core/guards/authorize-guard/authorize.d.ts +0 -1
  1032. package/src/lib/core/guards/authorize-guard/lib/core/enums/permissions.enum.d.ts +0 -49
  1033. package/src/lib/core/guards/authorize-guard/lib/core/guards/authorize-guard/authorize.guard.d.ts +0 -10
  1034. package/src/lib/core/guards/authorize-guard/lib/core/guards/authorize-guard/public-api.d.ts +0 -3
  1035. package/src/lib/core/guards/authorize-guard/lib/core/utils/permissions.util.d.ts +0 -5
  1036. package/src/lib/core/services/lib/core/services/loader/loader.service.d.ts +0 -11
  1037. package/src/lib/core/services/lib/core/services/public-api.d.ts +0 -1
  1038. package/src/lib/core/services/services.d.ts +0 -1
@@ -1,579 +0,0 @@
1
- import { isArray, processCaretTraps } from './utils';
2
- export { MASKSIE } from './inscricaoestadual';
3
- import createNumberMask from './createNumberMask';
4
- import { mask_iptu } from './iptu';
5
- import { MASKSIE } from './inscricaoestadual';
6
- const maskNumber = {
7
- decimalLimit: 2,
8
- thousandsSeparatorSymbol: '.',
9
- decimalSymbol: ',',
10
- allowDecimal: true,
11
- integerLimit: 17,
12
- prefix: '',
13
- suffix: ''
14
- };
15
- export const MASKS = {
16
- aih: {
17
- text: '000000000000-0',
18
- textMask: [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '-', /\d/]
19
- },
20
- cartaocredito: {
21
- text: '0000 0000 0000 0000 00/00 000',
22
- textMask: [/\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, '0', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, '/', /\d/, /\d/, ' ', /\d/, /\d/, /\d/]
23
- },
24
- celular: {
25
- text: '(00) 00000-0000',
26
- textMask: ['(', /[1-9]/, /\d/, ')', ' ', /[5-9]/, /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/],
27
- },
28
- cep: {
29
- text: '00.000-000',
30
- textMask: [/\d/, /\d/, '.', /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/]
31
- },
32
- // certidao Certidões de Nascimento, Casamento ou Óbito
33
- certidao: {
34
- text: '000000.00.00.0000.0.00000.000.0000000-00',
35
- textMask: [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, '.', /\d/, /\d/, '.',
36
- /\d/, /\d/, /\d/, /\d/, '.', /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, '.',
37
- /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/]
38
- },
39
- chassi: {
40
- text: 'AAA AAAAAA AA AA0000',
41
- textMask: [/[1-9]/, /\w/, /\w/, ' ', /\w/, /\w/, /\w/, /\w/, /\w/, /\w/, ' ', /\w/, /\w/, ' ', /\w/, /\w/, /\d/, /\d/, /\d/, /\d/]
42
- },
43
- cid: {
44
- textMask: false
45
- },
46
- cnae: {
47
- text: '0000-0/00',
48
- textMask: [/\d/, /\d/, /\d/, /\d/, '-', /\d/, '/', /\d/, /\d/]
49
- },
50
- cnh: {
51
- text: '000000000-00',
52
- textMask: [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/]
53
- },
54
- renachseguranca: {
55
- text: '00000000000',
56
- textMask: [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/]
57
- },
58
- renachestadual: {
59
- text: 'AA000000000',
60
- textMask: [/[A-S]/, /[A-Z]/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/]
61
- },
62
- cnhespelho: {
63
- text: '0000000000',
64
- textMask: [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/]
65
- },
66
- cnpj: {
67
- text: '00.000.000/0000-00',
68
- textMask: [/\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/]
69
- },
70
- cns: {
71
- text: '000 0000 0000 00-00',
72
- textMask: [/[1|2|7|8|9]/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, '-', /\d/, /\d/]
73
- },
74
- contabanco: {
75
- text: '000 00000-0 00000-0',
76
- textMask: [/\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, /\d/, '-',
77
- /\d/, ' ', /\d/, /\d/, /\d/, /\d/, /\d/, '-', /\d/]
78
- },
79
- cpf: {
80
- text: '000.000.000-00',
81
- textMask: [/\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '-', /\d/, /\d/]
82
- },
83
- cpfcnpj: {
84
- text: '00.000.000/0000-00',
85
- textMask: [/\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/],
86
- textMaskFunction: function mask(userInput) {
87
- const numbers = userInput.match(/\d/g);
88
- let numberLength = 0;
89
- if (numbers) {
90
- numberLength = numbers.join('').length;
91
- }
92
- if (!userInput || numberLength > 12) {
93
- return [/\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/];
94
- }
95
- else {
96
- return [/\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '-', /\d/, /\d/];
97
- }
98
- }
99
- },
100
- currency: {
101
- text: '0.000,00',
102
- textMask: createNumberMask({
103
- ...maskNumber,
104
- prefix: 'R$ ',
105
- allowNegative: true
106
- })
107
- },
108
- data: {
109
- text: '00/00/0000',
110
- textMask: [/[0-3]/, /[0-9]/, '/', /[0-1]/, /[0-9]/, '/', /[0-2]/, /[0-9]/, /\d/, /\d/]
111
- },
112
- date: {
113
- text: '00/00/0000',
114
- textMask: [/[0-1]/, /[0-9]/, '/', /[0-3]/, /[0-9]/, '/', /[0-2]/, /[0-9]/, /\d/, /\d/]
115
- },
116
- datetime: {
117
- text: '00/00/0000 00:00',
118
- textMask: [/[0-1]/, /[0-9]/, '/', /[0-3]/, /[0-9]/, '/', /[0-2]/, /[0-9]/, /\d/, /\d/, ' ', /\d/, /\d/, ':', /[0-5]/, /\d/]
119
- },
120
- datahora: {
121
- text: '00/00/0000 00:00',
122
- textMask: [/[0-3]/, /[0-9]/, '/', /[0-1]/, /[0-9]/, '/', /[0-2]/, /[0-9]/, /\d/, /\d/, ' ', /\d/, /\d/, ':', /[0-5]/, /\d/]
123
- },
124
- ect: {
125
- text: '00000000-0',
126
- textMask: [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '-', /\d/]
127
- },
128
- endereco: {
129
- text: '0000.0000.0000',
130
- textMask: [/\d/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, '.', /[0-2]/, /[0-9]/, /\d/, /\d/]
131
- },
132
- iptu: {
133
- text: '0000.0000.0000',
134
- textMask: [/\d/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, '.', /[0-2]/, /[0-9]/, /\d/, /\d/]
135
- },
136
- number: {
137
- text: '0.000,00',
138
- textMask: createNumberMask(maskNumber)
139
- },
140
- porcentagem: {
141
- text: '00,00%',
142
- textMask: createNumberMask({
143
- ...maskNumber,
144
- suffix: '%'
145
- })
146
- },
147
- pispasep: {
148
- text: '000.00000.00-0',
149
- textMask: [/\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, '-', /\d/]
150
- },
151
- placa: {
152
- text: 'AAA-0000',
153
- textMask: [/[A-S]/, /[A-Z]/, /[A-Z]/, '-', /\d/, /\d/, /\d/, /\d/]
154
- },
155
- processo: {
156
- text: '0000000-00.0000.AAA.0000',
157
- textMask: [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, '.', /[A-Za-z]/, /[A-Za-z]/, /[A-Za-z]/, '.', /\d/, /\d/, /\d/, /\d/]
158
- },
159
- renavam: {
160
- text: '0000000000-00',
161
- textMask: [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '-', /\d/],
162
- textMaskFunction: function mask(userInput) {
163
- const numbers = userInput.match(/\d/g);
164
- let numberLength = 0;
165
- if (numbers) {
166
- numberLength = numbers.join('').length;
167
- }
168
- if (!userInput || numberLength < 9) {
169
- return [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '-', /\d/];
170
- }
171
- else {
172
- return [/\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '-', /\d/];
173
- }
174
- }
175
- },
176
- rg: {
177
- text: 'AA-00.000.000',
178
- textMask: [/[A-Za-z]/, /[A-Za-z]/, '-', /\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/]
179
- },
180
- sped: {
181
- text: '0000.0000.0000',
182
- textMask: [/\d/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, '.', /[0-2]/, /[0-9]/, /\d/, /\d/]
183
- },
184
- telefone: {
185
- text: '(00) 00000-0000',
186
- textMask: ['(', /[1-9]/, /\d/, ')', ' ', /[1-9]/, /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/],
187
- textMaskFunction: function mask(userInput) {
188
- const numbers = userInput.match(/\d/g);
189
- let numberLength = 0;
190
- if (numbers) {
191
- numberLength = numbers.join('').length;
192
- }
193
- if (!userInput || numberLength > 10) {
194
- return ['(', /[1-9]/, /\d/, ')', ' ', /[1-9]/, /\d/, /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/];
195
- }
196
- else {
197
- return ['(', /[1-9]/, /\d/, ')', ' ', /[1-9]/, /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/];
198
- }
199
- }
200
- },
201
- time: {
202
- text: '00:00',
203
- textMask: [/\d/, /\d/, ':', /[0-5]/, /\d/]
204
- },
205
- titulo: {
206
- text: '0000.0000.0000',
207
- textMask: [/\d/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, '.', /[0-2]/, /[0-9]/, /\d/, /\d/]
208
- },
209
- utils: {
210
- numberToString: (n) => {
211
- if (!n || typeof n === 'string') {
212
- return n;
213
- }
214
- return (n.toString()).replace('.', ',');
215
- },
216
- textMask: false
217
- }
218
- };
219
- const makeGeneric = (key) => {
220
- return (value) => {
221
- if (!value) {
222
- return '';
223
- }
224
- let mask = MASKS[key].textMask;
225
- let textMaskFunction = MASKS[key].textMaskFunction;
226
- if (typeof textMaskFunction === 'function') {
227
- mask = textMaskFunction(value);
228
- }
229
- return conformToMask(value, mask, { guide: false }).conformedValue;
230
- };
231
- };
232
- export const maskBr = {
233
- aih: makeGeneric('aih'),
234
- celular: makeGeneric('celular'),
235
- cep: makeGeneric('cep'),
236
- certidao: makeGeneric('certidao'),
237
- chassi: makeGeneric('chassi'),
238
- cnae: makeGeneric('cnae'),
239
- cnh: makeGeneric('cnh'),
240
- renachseguranca: makeGeneric('renachseguranca'),
241
- renachestadual: makeGeneric('renachestadual'),
242
- cnhespelho: makeGeneric('cnhespelho'),
243
- cnpj: makeGeneric('cnpj'),
244
- cns: makeGeneric('cns'),
245
- contabanco: makeGeneric('contabanco'),
246
- cpf: makeGeneric('cpf'),
247
- cpfcnpj: makeGeneric('cpfcnpj'),
248
- cartaocredito: makeGeneric('cartaocredito'),
249
- currency: (currencyValueInput, decimalsFormat = 2) => {
250
- return formatNumber(MASKS['currency'], currencyValueInput, decimalsFormat);
251
- },
252
- data: makeGeneric('data'),
253
- date: makeGeneric('date'),
254
- datetime: makeGeneric('datetime'),
255
- datahora: makeGeneric('datahora'),
256
- ect: makeGeneric('ect'),
257
- endereco: makeGeneric('endereco'),
258
- inscricaoestadual: (inscricaoestadualValue, estado) => {
259
- const ie = MASKSIE;
260
- const ieState = ie[estado];
261
- if (!inscricaoestadualValue || !estado || !ieState ||
262
- !ieState.textMask) {
263
- return '';
264
- }
265
- let mask = ieState.textMask;
266
- let textMaskFunction = ieState.textMaskFunction;
267
- if (typeof textMaskFunction === 'function') {
268
- mask = textMaskFunction(inscricaoestadualValue);
269
- }
270
- return conformToMask(inscricaoestadualValue, mask, { guide: false }).conformedValue;
271
- },
272
- iptu: (iptuValue, estado, cidade) => {
273
- const mask = mask_iptu(iptuValue, estado, cidade);
274
- if (!mask || typeof mask === 'string') {
275
- return '';
276
- }
277
- return conformToMask(iptuValue, mask.textMask, { guide: false }).conformedValue;
278
- },
279
- number: (numberValue, decimalsFormat = 2) => {
280
- return formatNumber(MASKS['number'], numberValue, decimalsFormat);
281
- },
282
- porcentagem: (porcentagemValue, decimalsFormat = 2) => {
283
- return formatNumber(MASKS['porcentagem'], porcentagemValue, decimalsFormat);
284
- },
285
- pispasep: makeGeneric('pispasep'),
286
- placa: makeGeneric('placa'),
287
- processo: makeGeneric('processo'),
288
- renavam: makeGeneric('renavam'),
289
- rg: makeGeneric('rg'),
290
- sped: makeGeneric('sped'),
291
- telefone: makeGeneric('telefone'),
292
- time: (value) => {
293
- if (value instanceof Date) {
294
- value = value.toTimeString().split(' ')[0];
295
- }
296
- return makeGeneric('time')(value);
297
- },
298
- titulo: makeGeneric('titulo')
299
- };
300
- /**
301
- * FROM TEXT-MASK
302
- */
303
- export const placeholderChar = '_';
304
- export const strFunction = 'function';
305
- const defaultPlaceholderChar = placeholderChar;
306
- const emptyArray = [];
307
- const emptyString = '';
308
- export function conformToMask(inputValue = emptyString, mask = emptyArray, config = {}) {
309
- let rawValue = inputValue.toString();
310
- if (typeof inputValue === 'number') {
311
- rawValue = inputValue.toString();
312
- }
313
- if (inputValue instanceof Date) {
314
- rawValue = inputValue.toLocaleString("pt-br");
315
- }
316
- if (!isArray(mask)) {
317
- // If someone passes a function as the mask property, we should call the
318
- // function to get the mask array - Normally this is handled by the
319
- // `createTextMaskInputElement:update` function - this allows mask functions
320
- // to be used directly with `conformToMask`
321
- if (typeof mask === strFunction) {
322
- // call the mask function to get the mask array
323
- mask = mask(inputValue, config);
324
- // mask functions can setup caret traps to have some control over how the caret moves. We need to process
325
- // the mask for any caret traps. `processCaretTraps` will remove the caret traps from the mask
326
- mask = processCaretTraps(mask).maskWithoutCaretTraps;
327
- }
328
- else {
329
- throw new Error('Text-mask:conformToMask; The mask property must be an array.');
330
- }
331
- }
332
- // These configurations tell us how to conform the mask
333
- const guide = config.guide || true;
334
- const previousConformedValue = config.previousConformedValue || emptyString;
335
- const placeholder = convertMaskToPlaceholder(mask, placeholderChar);
336
- const currentCaretPosition = config.currentCaretPosition;
337
- const keepCharPositions = config.keepCharPositions;
338
- // The configs below indicate that the user wants the algorithm to work in *no guide* mode
339
- const suppressGuide = guide === false && previousConformedValue !== undefined;
340
- // Calculate lengths once for performance
341
- const rawValueLength = rawValue.length;
342
- const previousConformedValueLength = previousConformedValue.length;
343
- const placeholderLength = placeholder.length;
344
- const maskLength = mask.length;
345
- // This tells us the number of edited characters and the direction in which they were edited (+/-)
346
- const editDistance = rawValueLength - previousConformedValueLength;
347
- // In *no guide* mode, we need to know if the user is trying to add a character or not
348
- const isAddition = editDistance > 0;
349
- // Tells us the index of the first change. For (438) 394-4938 to (38) 394-4938, that would be 1
350
- const indexOfFirstChange = currentCaretPosition + (isAddition ? -editDistance : 0);
351
- // We're also gonna need the index of last change, which we can derive as follows...
352
- const indexOfLastChange = indexOfFirstChange + Math.abs(editDistance);
353
- // If `conformToMask` is configured to keep character positions, that is, for mask 111, previous value
354
- // _2_ and raw value 3_2_, the new conformed value should be 32_, not 3_2 (default behavior). That's in the case of
355
- // addition. And in the case of deletion, previous value _23, raw value _3, the new conformed string should be
356
- // __3, not _3_ (default behavior)
357
- //
358
- // The next block of logic handles keeping character positions for the case of deletion. (Keeping
359
- // character positions for the case of addition is further down since it is handled differently.)
360
- // To do this, we want to compensate for all characters that were deleted
361
- if (keepCharPositions === true && !isAddition) {
362
- // We will be storing the new placeholder characters in this variable.
363
- let compensatingPlaceholderChars = emptyString;
364
- // For every character that was deleted from a placeholder position, we add a placeholder char
365
- for (let i = indexOfFirstChange; i < indexOfLastChange; i++) {
366
- if (placeholder[i] === placeholderChar) {
367
- compensatingPlaceholderChars += placeholderChar;
368
- }
369
- }
370
- // Now we trick our algorithm by modifying the raw value to make it contain additional placeholder characters
371
- // That way when the we start laying the characters again on the mask, it will keep the non-deleted characters
372
- // in their positions.
373
- rawValue = (rawValue.slice(0, indexOfFirstChange) +
374
- compensatingPlaceholderChars +
375
- rawValue.slice(indexOfFirstChange, rawValueLength));
376
- }
377
- // Convert `rawValue` string to an array, and mark characters based on whether they are newly added or have
378
- // existed in the previous conformed value. Identifying new and old characters is needed for `conformToMask`
379
- // to work if it is configured to keep character positions.
380
- const rawValueArr = rawValue
381
- .split(emptyString)
382
- .map((char, i) => ({ char, isNew: i >= indexOfFirstChange && i < indexOfLastChange }));
383
- // The loop below removes masking characters from user input. For example, for mask
384
- // `00 (111)`, the placeholder would be `00 (___)`. If user input is `00 (234)`, the loop below
385
- // would remove all characters but `234` from the `rawValueArr`. The rest of the algorithm
386
- // then would lay `234` on top of the available placeholder positions in the mask.
387
- for (let i = rawValueLength - 1; i >= 0; i--) {
388
- const { char } = rawValueArr[i];
389
- if (char !== placeholderChar) {
390
- const shouldOffset = i >= indexOfFirstChange && previousConformedValueLength === maskLength;
391
- if (char === placeholder[(shouldOffset) ? i - editDistance : i]) {
392
- rawValueArr.splice(i, 1);
393
- }
394
- }
395
- }
396
- // This is the variable that we will be filling with characters as we figure them out
397
- // in the algorithm below
398
- let conformedValue = emptyString;
399
- let someCharsRejected = false;
400
- // Ok, so first we loop through the placeholder looking for placeholder characters to fill up.
401
- placeholderLoop: for (let i = 0; i < placeholderLength; i++) {
402
- const charInPlaceholder = placeholder[i];
403
- // We see one. Let's find out what we can put in it.
404
- if (charInPlaceholder === placeholderChar) {
405
- // But before that, do we actually have any user characters that need a place?
406
- if (rawValueArr.length > 0) {
407
- // We will keep chipping away at user input until either we run out of characters
408
- // or we find at least one character that we can map.
409
- while (rawValueArr.length > 0) {
410
- // Let's retrieve the first user character in the queue of characters we have left
411
- const shift = rawValueArr.shift();
412
- let rawValueChar = '', isNew = false;
413
- if (shift) {
414
- rawValueChar = shift.char;
415
- isNew = shift.isNew;
416
- }
417
- // If the character we got from the user input is a placeholder character (which happens
418
- // regularly because user input could be something like (540) 90_-____, which includes
419
- // a bunch of `_` which are placeholder characters) and we are not in *no guide* mode,
420
- // then we map this placeholder character to the current spot in the placeholder
421
- if (rawValueChar === placeholderChar && suppressGuide !== true) {
422
- conformedValue += placeholderChar;
423
- // And we go to find the next placeholder character that needs filling
424
- continue placeholderLoop;
425
- // Else if, the character we got from the user input is not a placeholder, let's see
426
- // if the current position in the mask can accept it.
427
- }
428
- else if (mask[i].test(rawValueChar)) {
429
- // we map the character differently based on whether we are keeping character positions or not.
430
- // If any of the conditions below are met, we simply map the raw value character to the
431
- // placeholder position.
432
- if (keepCharPositions !== true ||
433
- isNew === false ||
434
- previousConformedValue === emptyString ||
435
- guide === false ||
436
- !isAddition) {
437
- conformedValue += rawValueChar;
438
- }
439
- else {
440
- // We enter this block of code if we are trying to keep character positions and none of the conditions
441
- // above is met. In this case, we need to see if there's an available spot for the raw value character
442
- // to be mapped to. If we couldn't find a spot, we will discard the character.
443
- //
444
- // For example, for mask `1111`, previous conformed value `_2__`, raw value `942_2__`. We can map the
445
- // `9`, to the first available placeholder position, but then, there are no more spots available for the
446
- // `4` and `2`. So, we discard them and end up with a conformed value of `92__`.
447
- const rawValueArrLength = rawValueArr.length;
448
- let indexOfNextAvailablePlaceholderChar = null;
449
- // Let's loop through the remaining raw value characters. We are looking for either a suitable spot, ie,
450
- // a placeholder character or a non-suitable spot, ie, a non-placeholder character that is not new.
451
- // If we see a suitable spot first, we store its position and exit the loop. If we see a non-suitable
452
- // spot first, we exit the loop and our `indexOfNextAvailablePlaceholderChar` will stay as `null`.
453
- for (let i = 0; i < rawValueArrLength; i++) {
454
- const charData = rawValueArr[i];
455
- if (charData.char !== placeholderChar && charData.isNew === false) {
456
- break;
457
- }
458
- if (charData.char === placeholderChar) {
459
- indexOfNextAvailablePlaceholderChar = i;
460
- break;
461
- }
462
- }
463
- // If `indexOfNextAvailablePlaceholderChar` is not `null`, that means the character is not blocked.
464
- // We can map it. And to keep the character positions, we remove the placeholder character
465
- // from the remaining characters
466
- if (indexOfNextAvailablePlaceholderChar !== null) {
467
- conformedValue += rawValueChar;
468
- rawValueArr.splice(indexOfNextAvailablePlaceholderChar, 1);
469
- // If `indexOfNextAvailablePlaceholderChar` is `null`, that means the character is blocked. We have to
470
- // discard it.
471
- }
472
- else {
473
- i--;
474
- }
475
- }
476
- // Since we've mapped this placeholder position. We move on to the next one.
477
- continue placeholderLoop;
478
- }
479
- else {
480
- someCharsRejected = true;
481
- }
482
- }
483
- }
484
- // We reach this point when we've mapped all the user input characters to placeholder
485
- // positions in the mask. In *guide* mode, we append the left over characters in the
486
- // placeholder to the `conformedString`, but in *no guide* mode, we don't wanna do that.
487
- //
488
- // That is, for mask `(111)` and user input `2`, we want to return `(2`, not `(2__)`.
489
- if (suppressGuide === false) {
490
- conformedValue += placeholder.substr(i, placeholderLength);
491
- }
492
- // And we break
493
- break;
494
- // Else, the charInPlaceholder is not a placeholderChar. That is, we cannot fill it
495
- // with user input. So we just map it to the final output
496
- }
497
- else {
498
- conformedValue += charInPlaceholder;
499
- }
500
- }
501
- // The following logic is needed to deal with the case of deletion in *no guide* mode.
502
- //
503
- // Consider the silly mask `(111) /// 1`. What if user tries to delete the last placeholder
504
- // position? Something like `(589) /// `. We want to conform that to `(589`. Not `(589) /// `.
505
- // That's why the logic below finds the last filled placeholder character, and removes everything
506
- // from that point on.
507
- if (suppressGuide && isAddition === false) {
508
- let indexOfLastFilledPlaceholderChar = null;
509
- // Find the last filled placeholder position and substring from there
510
- for (let i = 0; i < conformedValue.length; i++) {
511
- if (placeholder[i] === placeholderChar) {
512
- indexOfLastFilledPlaceholderChar = i;
513
- }
514
- }
515
- if (indexOfLastFilledPlaceholderChar !== null) {
516
- // We substring from the beginning until the position after the last filled placeholder char.
517
- conformedValue = conformedValue.substr(0, indexOfLastFilledPlaceholderChar + 1);
518
- }
519
- else {
520
- // If we couldn't find `indexOfLastFilledPlaceholderChar` that means the user deleted
521
- // the first character in the mask. So we return an empty string.
522
- conformedValue = emptyString;
523
- }
524
- }
525
- return { conformedValue, meta: { someCharsRejected } };
526
- }
527
- export function convertMaskToPlaceholder(mask = emptyArray, placeholderChar = defaultPlaceholderChar) {
528
- if (!isArray(mask)) {
529
- throw new Error('Text-mask:convertMaskToPlaceholder; The mask property must be an array.');
530
- }
531
- if (mask.indexOf(placeholderChar) !== -1) {
532
- throw new Error('Placeholder character must not be used as part of the mask. Please specify a character ' +
533
- 'that is not present in your mask as your placeholder character.\n\n' +
534
- `The placeholder character that was received is: ${JSON.stringify(placeholderChar)}\n\n` +
535
- `The mask that was received is: ${JSON.stringify(mask)}`);
536
- }
537
- return mask.map((char) => {
538
- return (char instanceof RegExp) ? placeholderChar : char;
539
- }).join('');
540
- }
541
- /**
542
- * Due to a bug on textmask, the requireDecimal its not working, so this function solves this problem
543
- * @param maskType
544
- * @param numberValue
545
- * @param decimalsFormat
546
- * @returns
547
- */
548
- function formatNumber(maskType, numberValue, decimalsFormat = 2) {
549
- if (!numberValue && numberValue !== 0) {
550
- return '';
551
- }
552
- if (!numberValue.split) {
553
- numberValue += '';
554
- numberValue = numberValue.replace('.', ',');
555
- }
556
- const vals = numberValue.split(',');
557
- if (!maskType.textMask || typeof maskType.textMask !== 'function') {
558
- return '';
559
- }
560
- const mask = maskType.textMask(vals[0]);
561
- let decimals = '';
562
- if (decimalsFormat == undefined) {
563
- decimals = vals.length > 1 ? ',' + vals[1] : '';
564
- }
565
- else {
566
- decimals = vals.length > 1 ? (vals[1] < 10 ? vals[1].toString() + '0' : vals[1].toString()) : '00';
567
- if (decimals.length > decimalsFormat) {
568
- decimals = decimals.substring(0, decimalsFormat);
569
- }
570
- }
571
- let conformedValue = conformToMask(numberValue, mask, { guide: false }).conformedValue;
572
- let suffix = '';
573
- if (conformedValue.indexOf('%') >= 0) {
574
- conformedValue = conformedValue.replace('%', '');
575
- suffix = '%';
576
- }
577
- return conformedValue + (decimalsFormat > 0 ? ',' + decimals : '') + suffix;
578
- }
579
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcGEtbGlicmFyeS11aS9zcmMvbGliL2NvcmUvanMtYnJhc2lsL3NyYy9tYXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sZ0JBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsTUFBTSxVQUFVLEdBQVE7SUFDdEIsWUFBWSxFQUFFLENBQUM7SUFDZix3QkFBd0IsRUFBRSxHQUFHO0lBQzdCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFlBQVksRUFBRSxFQUFFO0lBQ2hCLE1BQU0sRUFBRSxFQUFFO0lBQ1YsTUFBTSxFQUFFLEVBQUU7Q0FDWCxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUF3QjtJQUN4QyxHQUFHLEVBQUU7UUFDSCxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUM7S0FDOUY7SUFDRCxhQUFhLEVBQUU7UUFDYixJQUFJLEVBQUUsK0JBQStCO1FBQ3JDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFB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LENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNuRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsY0FBYyxFQUFFO1lBQ3BDLFFBQVEsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztTQUNsRDtLQUNGO0lBRUQsSUFBSSxjQUFjLEdBQUcsYUFBYSxDQUNoQyxXQUFXLEVBQ1gsSUFBSSxFQUNKLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUNqQixDQUFDLGNBQWMsQ0FBQTtJQUdoQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUE7SUFDZixJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BDLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNoRCxNQUFNLEdBQUcsR0FBRyxDQUFBO0tBQ2I7SUFDRCxPQUFPLGNBQWMsR0FBRyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztBQUM5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBcnJheSwgcHJvY2Vzc0NhcmV0VHJhcHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IEJpZ09iamVjdCwgTWFza1R5cGUgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuZXhwb3J0IHsgTUFTS1NJRSB9IGZyb20gJy4vaW5zY3JpY2FvZXN0YWR1YWwnO1xuaW1wb3J0IGNyZWF0ZU51bWJlck1hc2sgZnJvbSAnLi9jcmVhdGVOdW1iZXJNYXNrJztcbmltcG9ydCB7IG1hc2tfaXB0dSB9IGZyb20gJy4vaXB0dSc7XG5pbXBvcnQgeyBNQVNLU0lFIH0gZnJvbSAnLi9pbnNjcmljYW9lc3RhZHVhbCc7XG5cbmNvbnN0IG1hc2tOdW1iZXI6IGFueSA9IHtcbiAgZGVjaW1hbExpbWl0OiAyLFxuICB0aG91c2FuZHNTZXBhcmF0b3JTeW1ib2w6ICcuJyxcbiAgZGVjaW1hbFN5bWJvbDogJywnLFxuICBhbGxvd0RlY2ltYWw6IHRydWUsXG4gIGludGVnZXJMaW1pdDogMTcsXG4gIHByZWZpeDogJycsXG4gIHN1ZmZpeDogJydcbn1cblxuZXhwb3J0IGNvbnN0IE1BU0tTOiBCaWdPYmplY3Q8TWFza1R5cGU+ID0ge1xuICBhaWg6IHtcbiAgICB0ZXh0OiAnMDAwMDAwMDAwMDAwLTAnLCAvLyAzNTE5MjM0MTQzMTItOFxuICAgIHRleHRNYXNrOiBbL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy0nLCAvXFxkL11cbiAgfSxcbiAgY2FydGFvY3JlZGl0bzoge1xuICAgIHRleHQ6ICcwMDAwIDAwMDAgMDAwMCAwMDAwIDAwLzAwIDAwMCcsXG4gICAgdGV4dE1hc2s6IFsvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJyAnLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJyAnLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJzAnLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJyAnLCAvXFxkLywgL1xcZC8sICcvJywgL1xcZC8sIC9cXGQvLCAnICcsIC9cXGQvLCAvXFxkLywgL1xcZC9dXG4gIH0sXG4gIGNlbHVsYXI6IHtcbiAgICB0ZXh0OiAnKDAwKSAwMDAwMC0wMDAwJyxcbiAgICB0ZXh0TWFzazogWycoJywgL1sxLTldLywgL1xcZC8sICcpJywgJyAnLCAvWzUtOV0vLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy0nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkL10sXG4gIH0sXG4gIGNlcDoge1xuICAgIHRleHQ6ICcwMC4wMDAtMDAwJyxcbiAgICB0ZXh0TWFzazogWy9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLScsIC9cXGQvLCAvXFxkLywgL1xcZC9dXG4gIH0sXG4gIC8vIGNlcnRpZGFvIENlcnRpZMO1ZXMgZGUgTmFzY2ltZW50bywgQ2FzYW1lbnRvIG91IMOTYml0byBcbiAgY2VydGlkYW86IHtcbiAgICB0ZXh0OiAnMDAwMDAwLjAwLjAwLjAwMDAuMC4wMDAwMC4wMDAuMDAwMDAwMC0wMCcsIC8vIDEwNDUzOS4wMS41NS4yMDEzLjEuMDAwMTIuMDIxLjAwMDAxMjMtMjFcbiAgICB0ZXh0TWFzazogWy9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAnLicsIC9cXGQvLCAvXFxkLywgJy4nLFxuICAgICAgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLicsXG4gICAgICAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLicsIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLScsIC9cXGQvLCAvXFxkL11cbiAgfSxcbiAgY2hhc3NpOiB7XG4gICAgdGV4dDogJ0FBQSBBQUFBQUEgQUEgQUEwMDAwJywgLy8gOUJXIFpaWjM3NyBWVCAwMDQyNTFcbiAgICB0ZXh0TWFzazogWy9bMS05XS8sIC9cXHcvLCAvXFx3LywgJyAnLCAvXFx3LywgL1xcdy8sIC9cXHcvLCAvXFx3LywgL1xcdy8sIC9cXHcvLCAnICcsIC9cXHcvLCAvXFx3LywgJyAnLCAvXFx3LywgL1xcdy8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvXVxuICB9LFxuICBjaWQ6IHtcbiAgICB0ZXh0TWFzazogZmFsc2VcbiAgfSxcbiAgY25hZToge1xuICAgIHRleHQ6ICcwMDAwLTAvMDAnLCAvLyA2ODIxLTgvMDFcbiAgICB0ZXh0TWFzazogWy9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLScsIC9cXGQvLCAnLycsIC9cXGQvLCAvXFxkL11cbiAgfSxcbiAgY25oOiB7XG4gICAgdGV4dDogJzAwMDAwMDAwMC0wMCcsIC8vIDEyMzQ1Njc4OS0xXG4gICAgdGV4dE1hc2s6IFsvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLScsIC9cXGQvLCAvXFxkL11cbiAgfSxcbiAgcmVuYWNoc2VndXJhbmNhOiB7XG4gICAgdGV4dDogJzAwMDAwMDAwMDAwJywgLy8gNTE0NzQ1NDY4NTRcbiAgICB0ZXh0TWFzazogWy9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkL11cbiAgfSxcbiAgcmVuYWNoZXN0YWR1YWw6IHtcbiAgICB0ZXh0OiAnQUEwMDAwMDAwMDAnLCAvLyBNRzU5NzgxMjU2MFxuICAgIHRleHRNYXNrOiBbL1tBLVNdLywgL1tBLVpdLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkL11cbiAgfSxcbiAgY25oZXNwZWxobzoge1xuICAgIHRleHQ6ICcwMDAwMDAwMDAwJywgLy8gMTIzNDU2Nzg5LTFcbiAgICB0ZXh0TWFzazogWy9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvXVxuICB9LFxuICBjbnBqOiB7XG4gICAgdGV4dDogJzAwLjAwMC4wMDAvMDAwMC0wMCcsXG4gICAgdGV4dE1hc2s6IFsvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLycsIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLScsIC9cXGQvLCAvXFxkL11cbiAgfSxcbiAgY25zOiB7XG4gICAgdGV4dDogJzAwMCAwMDAwIDAwMDAgMDAtMDAnLFxuICAgIHRleHRNYXNrOiBbL1sxfDJ8N3w4fDldLywgL1xcZC8sIC9cXGQvLCAnICcsIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnICcsIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnICcsIC9cXGQvLCAvXFxkLywgJy0nLCAvXFxkLywgL1xcZC9dXG4gIH0sXG4gIGNvbnRhYmFuY286IHtcbiAgICB0ZXh0OiAnMDAwIDAwMDAwLTAgMDAwMDAtMCcsXG4gICAgdGV4dE1hc2s6IFsvXFxkLywgL1xcZC8sIC9cXGQvLCAnICcsIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy0nLFxuICAgICAgL1xcZC8sICcgJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLScsIC9cXGQvXVxuICB9LFxuICBjcGY6IHtcbiAgICB0ZXh0OiAnMDAwLjAwMC4wMDAtMDAnLFxuICAgIHRleHRNYXNrOiBbL1xcZC8sIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLicsIC9cXGQvLCAvXFxkLywgL1xcZC8sICctJywgL1xcZC8sIC9cXGQvXVxuICB9LFxuICBjcGZjbnBqOiB7XG4gICAgdGV4dDogJzAwLjAwMC4wMDAvMDAwMC0wMCcsXG4gICAgdGV4dE1hc2s6IFsvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLycsIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLScsIC9cXGQvLCAvXFxkL10sXG4gICAgdGV4dE1hc2tGdW5jdGlvbjogZnVuY3Rpb24gbWFzayh1c2VySW5wdXQ6IGFueSkge1xuICAgICAgY29uc3QgbnVtYmVycyA9IHVzZXJJbnB1dC5tYXRjaCgvXFxkL2cpO1xuICAgICAgbGV0IG51bWJlckxlbmd0aCA9IDA7XG4gICAgICBpZiAobnVtYmVycykge1xuICAgICAgICBudW1iZXJMZW5ndGggPSBudW1iZXJzLmpvaW4oJycpLmxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGlmICghdXNlcklucHV0IHx8IG51bWJlckxlbmd0aCA+IDEyKSB7XG4gICAgICAgIHJldHVybiBbL1xcZC8sIC9cXGQvLCAnLicsIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy8nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy0nLCAvXFxkLywgL1xcZC9dO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFsvXFxkLywgL1xcZC8sIC9cXGQvLCAnLicsIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy0nLCAvXFxkLywgL1xcZC9dO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgY3VycmVuY3k6IHtcbiAgICB0ZXh0OiAnMC4wMDAsMDAnLFxuICAgIHRleHRNYXNrOiBjcmVhdGVOdW1iZXJNYXNrKHtcbiAgICAgIC4uLm1hc2tOdW1iZXIsXG4gICAgICBwcmVmaXg6ICdSJCAnLFxuICAgICAgYWxsb3dOZWdhdGl2ZTogdHJ1ZVxuICAgIH0pXG4gIH0sXG4gIGRhdGE6IHtcbiAgICB0ZXh0OiAnMDAvMDAvMDAwMCcsXG4gICAgdGV4dE1hc2s6IFsvWzAtM10vLCAvWzAtOV0vLCAnLycsIC9bMC0xXS8sIC9bMC05XS8sICcvJywgL1swLTJdLywgL1swLTldLywgL1xcZC8sIC9cXGQvXVxuICB9LFxuICBkYXRlOiB7XG4gICAgdGV4dDogJzAwLzAwLzAwMDAnLFxuICAgIHRleHRNYXNrOiBbL1swLTFdLywgL1swLTldLywgJy8nLCAvWzAtM10vLCAvWzAtOV0vLCAnLycsIC9bMC0yXS8sIC9bMC05XS8sIC9cXGQvLCAvXFxkL11cbiAgfSxcbiAgZGF0ZXRpbWU6IHtcbiAgICB0ZXh0OiAnMDAvMDAvMDAwMCAwMDowMCcsXG4gICAgdGV4dE1hc2s6IFsvWzAtMV0vLCAvWzAtOV0vLCAnLycsIC9bMC0zXS8sIC9bMC05XS8sICcvJywgL1swLTJdLywgL1swLTldLywgL1xcZC8sIC9cXGQvLCAnICcsIC9cXGQvLCAvXFxkLywgJzonLCAvWzAtNV0vLCAvXFxkL11cbiAgfSxcbiAgZGF0YWhvcmE6IHtcbiAgICB0ZXh0OiAnMDAvMDAvMDAwMCAwMDowMCcsXG4gICAgdGV4dE1hc2s6IFsvWzAtM10vLCAvWzAtOV0vLCAnLycsIC9bMC0xXS8sIC9bMC05XS8sICcvJywgL1swLTJdLywgL1swLTldLywgL1xcZC8sIC9cXGQvLCAnICcsIC9cXGQvLCAvXFxkLywgJzonLCAvWzAtNV0vLCAvXFxkL11cbiAgfSxcbiAgZWN0OiB7XG4gICAgdGV4dDogJzAwMDAwMDAwLTAnLFxuICAgIHRleHRNYXNrOiBbL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLScsIC9cXGQvXVxuICB9LFxuICBlbmRlcmVjbzoge1xuICAgIHRleHQ6ICcwMDAwLjAwMDAuMDAwMCcsXG4gICAgdGV4dE1hc2s6IFsvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy4nLCAvWzAtMl0vLCAvWzAtOV0vLCAvXFxkLywgL1xcZC9dXG4gIH0sXG4gIGlwdHU6IHtcbiAgICB0ZXh0OiAnMDAwMC4wMDAwLjAwMDAnLFxuICAgIHRleHRNYXNrOiBbL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1swLTJdLywgL1swLTldLywgL1xcZC8sIC9cXGQvXVxuICB9LFxuICBudW1iZXI6IHtcbiAgICB0ZXh0OiAnMC4wMDAsMDAnLFxuICAgIHRleHRNYXNrOiBjcmVhdGVOdW1iZXJNYXNrKG1hc2tOdW1iZXIpXG4gIH0sXG4gIHBvcmNlbnRhZ2VtOiB7XG4gICAgdGV4dDogJzAwLDAwJScsXG4gICAgdGV4dE1hc2s6IGNyZWF0ZU51bWJlck1hc2soe1xuICAgICAgLi4ubWFza051bWJlcixcbiAgICAgIHN1ZmZpeDogJyUnXG4gICAgfSlcbiAgfSxcbiAgcGlzcGFzZXA6IHtcbiAgICB0ZXh0OiAnMDAwLjAwMDAwLjAwLTAnLFxuICAgIHRleHRNYXNrOiBbL1xcZC8sIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAnLScsIC9cXGQvXVxuICB9LFxuICBwbGFjYToge1xuICAgIHRleHQ6ICdBQUEtMDAwMCcsXG4gICAgdGV4dE1hc2s6IFsvW0EtU10vLCAvW0EtWl0vLCAvW0EtWl0vLCAnLScsIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvXVxuICB9LFxuICBwcm9jZXNzbzoge1xuICAgIHRleHQ6ICcwMDAwMDAwLTAwLjAwMDAuQUFBLjAwMDAnLFxuICAgIHRleHRNYXNrOiBbL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICctJywgL1xcZC8sIC9cXGQvLCAnLicsIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLicsIC9bQS1aYS16XS8sIC9bQS1aYS16XS8sIC9bQS1aYS16XS8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC9dXG4gIH0sXG4gIHJlbmF2YW06IHtcbiAgICB0ZXh0OiAnMDAwMDAwMDAwMC0wMCcsXG4gICAgdGV4dE1hc2s6IFsvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy0nLCAvXFxkL10sXG4gICAgdGV4dE1hc2tGdW5jdGlvbjogZnVuY3Rpb24gbWFzayh1c2VySW5wdXQ6IGFueSkge1xuICAgICAgY29uc3QgbnVtYmVycyA9IHVzZXJJbnB1dC5tYXRjaCgvXFxkL2cpO1xuICAgICAgbGV0IG51bWJlckxlbmd0aCA9IDA7XG4gICAgICBpZiAobnVtYmVycykge1xuICAgICAgICBudW1iZXJMZW5ndGggPSBudW1iZXJzLmpvaW4oJycpLmxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGlmICghdXNlcklucHV0IHx8IG51bWJlckxlbmd0aCA8IDkpIHtcbiAgICAgICAgcmV0dXJuIFsvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICctJywgL1xcZC9dO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFsvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy0nLCAvXFxkL107XG4gICAgICB9XG4gICAgfVxuICB9LFxuICByZzoge1xuICAgIHRleHQ6ICdBQS0wMC4wMDAuMDAwJyxcbiAgICB0ZXh0TWFzazogWy9bQS1aYS16XS8sIC9bQS1aYS16XS8sICctJywgL1xcZC8sIC9cXGQvLCAnLicsIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkL11cbiAgfSxcbiAgc3BlZDoge1xuICAgIHRleHQ6ICcwMDAwLjAwMDAuMDAwMCcsXG4gICAgdGV4dE1hc2s6IFsvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy4nLCAvWzAtMl0vLCAvWzAtOV0vLCAvXFxkLywgL1xcZC9dXG4gIH0sXG4gIHRlbGVmb25lOiB7XG4gICAgdGV4dDogJygwMCkgMDAwMDAtMDAwMCcsXG4gICAgdGV4dE1hc2s6IFsnKCcsIC9bMS05XS8sIC9cXGQvLCAnKScsICcgJywgL1sxLTldLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICctJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC9dLFxuICAgIHRleHRNYXNrRnVuY3Rpb246IGZ1bmN0aW9uIG1hc2sodXNlcklucHV0OiBhbnkpIHtcbiAgICAgIGNvbnN0IG51bWJlcnMgPSB1c2VySW5wdXQubWF0Y2goL1xcZC9nKTtcbiAgICAgIGxldCBudW1iZXJMZW5ndGggPSAwO1xuICAgICAgaWYgKG51bWJlcnMpIHtcbiAgICAgICAgbnVtYmVyTGVuZ3RoID0gbnVtYmVycy5qb2luKCcnKS5sZW5ndGg7XG4gICAgICB9XG4gICAgICBpZiAoIXVzZXJJbnB1dCB8fCBudW1iZXJMZW5ndGggPiAxMCkge1xuICAgICAgICByZXR1cm4gWycoJywgL1sxLTldLywgL1xcZC8sICcpJywgJyAnLCAvWzEtOV0vLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJy0nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkL107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gWycoJywgL1sxLTldLywgL1xcZC8sICcpJywgJyAnLCAvWzEtOV0vLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnLScsIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvXTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIHRpbWU6IHtcbiAgICB0ZXh0OiAnMDA6MDAnLFxuICAgIHRleHRNYXNrOiBbL1xcZC8sIC9cXGQvLCAnOicsIC9bMC01XS8sIC9cXGQvXVxuICB9LFxuICB0aXR1bG86IHtcbiAgICB0ZXh0OiAnMDAwMC4wMDAwLjAwMDAnLFxuICAgIHRleHRNYXNrOiBbL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1swLTJdLywgL1swLTldLywgL1xcZC8sIC9cXGQvXVxuICB9LFxuICB1dGlsczoge1xuICAgIG51bWJlclRvU3RyaW5nOiAobjogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoIW4gfHwgdHlwZW9mIG4gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBuO1xuICAgICAgfVxuICAgICAgcmV0dXJuIChuLnRvU3RyaW5nKCkpLnJlcGxhY2UoJy4nLCAnLCcpO1xuICAgIH0sXG4gICAgdGV4dE1hc2s6IGZhbHNlXG4gIH1cbn1cblxuXG5jb25zdCBtYWtlR2VuZXJpYyA9IChrZXk6IHN0cmluZykgPT4ge1xuICByZXR1cm4gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGxldCBtYXNrID0gTUFTS1Nba2V5XS50ZXh0TWFza1xuICAgIGxldCB0ZXh0TWFza0Z1bmN0aW9uID0gTUFTS1Nba2V5XS50ZXh0TWFza0Z1bmN0aW9uXG4gICAgaWYgKHR5cGVvZiB0ZXh0TWFza0Z1bmN0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBtYXNrID0gdGV4dE1hc2tGdW5jdGlvbih2YWx1ZSk7XG4gICAgfVxuXG5cbiAgICByZXR1cm4gY29uZm9ybVRvTWFzayhcbiAgICAgIHZhbHVlLFxuICAgICAgbWFzayxcbiAgICAgIHsgZ3VpZGU6IGZhbHNlIH1cbiAgICApLmNvbmZvcm1lZFZhbHVlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBtYXNrQnIgPSB7XG4gIGFpaDogbWFrZUdlbmVyaWMoJ2FpaCcpLFxuICBjZWx1bGFyOiBtYWtlR2VuZXJpYygnY2VsdWxhcicpLFxuICBjZXA6IG1ha2VHZW5lcmljKCdjZXAnKSxcbiAgY2VydGlkYW86IG1ha2VHZW5lcmljKCdjZXJ0aWRhbycpLFxuICBjaGFzc2k6IG1ha2VHZW5lcmljKCdjaGFzc2knKSxcbiAgY25hZTogbWFrZUdlbmVyaWMoJ2NuYWUnKSxcbiAgY25oOiBtYWtlR2VuZXJpYygnY25oJyksXG4gIHJlbmFjaHNlZ3VyYW5jYTogbWFrZUdlbmVyaWMoJ3JlbmFjaHNlZ3VyYW5jYScpLFxuICByZW5hY2hlc3RhZHVhbDogbWFrZUdlbmVyaWMoJ3JlbmFjaGVzdGFkdWFsJyksXG4gIGNuaGVzcGVsaG86IG1ha2VHZW5lcmljKCdjbmhlc3BlbGhvJyksXG4gIGNucGo6IG1ha2VHZW5lcmljKCdjbnBqJyksXG4gIGNuczogbWFrZUdlbmVyaWMoJ2NucycpLFxuICBjb250YWJhbmNvOiBtYWtlR2VuZXJpYygnY29udGFiYW5jbycpLFxuICBjcGY6IG1ha2VHZW5lcmljKCdjcGYnKSxcbiAgY3BmY25wajogbWFrZUdlbmVyaWMoJ2NwZmNucGonKSxcbiAgY2FydGFvY3JlZGl0bzogbWFrZUdlbmVyaWMoJ2NhcnRhb2NyZWRpdG8nKSxcbiAgY3VycmVuY3k6IChjdXJyZW5jeVZhbHVlSW5wdXQ6IHN0cmluZyB8IG51bWJlciwgZGVjaW1hbHNGb3JtYXQ6IG51bWJlciA9IDIpID0+IHtcbiAgICByZXR1cm4gZm9ybWF0TnVtYmVyKE1BU0tTWydjdXJyZW5jeSddLCBjdXJyZW5jeVZhbHVlSW5wdXQsIGRlY2ltYWxzRm9ybWF0KTtcbiAgfSxcbiAgZGF0YTogbWFrZUdlbmVyaWMoJ2RhdGEnKSxcbiAgZGF0ZTogbWFrZUdlbmVyaWMoJ2RhdGUnKSxcbiAgZGF0ZXRpbWU6IG1ha2VHZW5lcmljKCdkYXRldGltZScpLFxuICBkYXRhaG9yYTogbWFrZUdlbmVyaWMoJ2RhdGFob3JhJyksXG4gIGVjdDogbWFrZUdlbmVyaWMoJ2VjdCcpLFxuICBlbmRlcmVjbzogbWFrZUdlbmVyaWMoJ2VuZGVyZWNvJyksXG4gIGluc2NyaWNhb2VzdGFkdWFsOiAoaW5zY3JpY2FvZXN0YWR1YWxWYWx1ZTogc3RyaW5nLCBlc3RhZG86IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGllID0gTUFTS1NJRTtcbiAgICBjb25zdCBpZVN0YXRlID0gaWVbZXN0YWRvXVxuXG4gICAgaWYgKCFpbnNjcmljYW9lc3RhZHVhbFZhbHVlIHx8ICFlc3RhZG8gfHwgIWllU3RhdGUgfHxcbiAgICAgICFpZVN0YXRlLnRleHRNYXNrKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgbGV0IG1hc2sgPSBpZVN0YXRlLnRleHRNYXNrO1xuICAgIGxldCB0ZXh0TWFza0Z1bmN0aW9uID0gaWVTdGF0ZS50ZXh0TWFza0Z1bmN0aW9uXG4gICAgaWYgKHR5cGVvZiB0ZXh0TWFza0Z1bmN0aW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBtYXNrID0gdGV4dE1hc2tGdW5jdGlvbihpbnNjcmljYW9lc3RhZHVhbFZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZm9ybVRvTWFzayhcbiAgICAgIGluc2NyaWNhb2VzdGFkdWFsVmFsdWUsXG4gICAgICBtYXNrLFxuICAgICAgeyBndWlkZTogZmFsc2UgfVxuICAgICkuY29uZm9ybWVkVmFsdWU7XG4gIH0sXG4gIGlwdHU6IChpcHR1VmFsdWU6IHN0cmluZywgZXN0YWRvOiBzdHJpbmcsIGNpZGFkZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgbWFzayA9IG1hc2tfaXB0dShpcHR1VmFsdWUsIGVzdGFkbywgY2lkYWRlKTtcbiAgICBpZiAoIW1hc2sgfHwgdHlwZW9mIG1hc2sgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiBjb25mb3JtVG9NYXNrKFxuICAgICAgaXB0dVZhbHVlLFxuICAgICAgbWFzay50ZXh0TWFzayxcbiAgICAgIHsgZ3VpZGU6IGZhbHNlIH1cbiAgICApLmNvbmZvcm1lZFZhbHVlO1xuICB9LFxuICBudW1iZXI6IChudW1iZXJWYWx1ZTogYW55LCBkZWNpbWFsc0Zvcm1hdDogbnVtYmVyID0gMikgPT4ge1xuICAgIHJldHVybiBmb3JtYXROdW1iZXIoTUFTS1NbJ251bWJlciddLCBudW1iZXJWYWx1ZSwgZGVjaW1hbHNGb3JtYXQpO1xuICB9LFxuICBwb3JjZW50YWdlbTogKHBvcmNlbnRhZ2VtVmFsdWU6IHN0cmluZywgZGVjaW1hbHNGb3JtYXQ6IG51bWJlciA9IDIpID0+IHtcbiAgICByZXR1cm4gZm9ybWF0TnVtYmVyKE1BU0tTWydwb3JjZW50YWdlbSddLCBwb3JjZW50YWdlbVZhbHVlLCBkZWNpbWFsc0Zvcm1hdCk7XG4gIH0sXG4gIHBpc3Bhc2VwOiBtYWtlR2VuZXJpYygncGlzcGFzZXAnKSxcbiAgcGxhY2E6IG1ha2VHZW5lcmljKCdwbGFjYScpLFxuICBwcm9jZXNzbzogbWFrZUdlbmVyaWMoJ3Byb2Nlc3NvJyksXG4gIHJlbmF2YW06IG1ha2VHZW5lcmljKCdyZW5hdmFtJyksXG4gIHJnOiBtYWtlR2VuZXJpYygncmcnKSxcbiAgc3BlZDogbWFrZUdlbmVyaWMoJ3NwZWQnKSxcbiAgdGVsZWZvbmU6IG1ha2VHZW5lcmljKCd0ZWxlZm9uZScpLFxuICB0aW1lOiAodmFsdWU6IHN0cmluZyB8IERhdGUpID0+IHtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnRvVGltZVN0cmluZygpLnNwbGl0KCcgJylbMF1cbiAgICB9XG4gICAgcmV0dXJuIG1ha2VHZW5lcmljKCd0aW1lJykodmFsdWUpXG4gIH0sXG4gIHRpdHVsbzogbWFrZUdlbmVyaWMoJ3RpdHVsbycpXG59O1xuXG5cblxuLyoqXG4gKiBGUk9NIFRFWFQtTUFTS1xuICovXG5leHBvcnQgY29uc3QgcGxhY2Vob2xkZXJDaGFyID0gJ18nXG5leHBvcnQgY29uc3Qgc3RyRnVuY3Rpb24gPSAnZnVuY3Rpb24nXG5cbmNvbnN0IGRlZmF1bHRQbGFjZWhvbGRlckNoYXIgPSBwbGFjZWhvbGRlckNoYXI7XG5jb25zdCBlbXB0eUFycmF5OiBhbnkgPSBbXVxuY29uc3QgZW1wdHlTdHJpbmcgPSAnJ1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZm9ybVRvTWFzayhpbnB1dFZhbHVlOiBTdHJpbmcgfCBEYXRlID0gZW1wdHlTdHJpbmcsIG1hc2sgPSBlbXB0eUFycmF5LCBjb25maWc6IGFueSA9IHt9KSB7XG4gIGxldCByYXdWYWx1ZSA9IGlucHV0VmFsdWUudG9TdHJpbmcoKTtcbiAgaWYgKHR5cGVvZiBpbnB1dFZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJhd1ZhbHVlID0gKDxudW1iZXI+aW5wdXRWYWx1ZSkudG9TdHJpbmcoKTtcbiAgfVxuICBpZiAoaW5wdXRWYWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICByYXdWYWx1ZSA9ICg8RGF0ZT5pbnB1dFZhbHVlKS50b0xvY2FsZVN0cmluZyhcInB0LWJyXCIpXG4gIH1cblxuICBpZiAoIWlzQXJyYXkobWFzaykpIHtcbiAgICAvLyBJZiBzb21lb25lIHBhc3NlcyBhIGZ1bmN0aW9uIGFzIHRoZSBtYXNrIHByb3BlcnR5LCB3ZSBzaG91bGQgY2FsbCB0aGVcbiAgICAvLyBmdW5jdGlvbiB0byBnZXQgdGhlIG1hc2sgYXJyYXkgLSBOb3JtYWxseSB0aGlzIGlzIGhhbmRsZWQgYnkgdGhlXG4gICAgLy8gYGNyZWF0ZVRleHRNYXNrSW5wdXRFbGVtZW50OnVwZGF0ZWAgZnVuY3Rpb24gLSB0aGlzIGFsbG93cyBtYXNrIGZ1bmN0aW9uc1xuICAgIC8vIHRvIGJlIHVzZWQgZGlyZWN0bHkgd2l0aCBgY29uZm9ybVRvTWFza2BcblxuICAgIGlmICh0eXBlb2YgbWFzayA9PT0gc3RyRnVuY3Rpb24pIHtcbiAgICAgIC8vIGNhbGwgdGhlIG1hc2sgZnVuY3Rpb24gdG8gZ2V0IHRoZSBtYXNrIGFycmF5XG4gICAgICBtYXNrID0gbWFzayhpbnB1dFZhbHVlLCBjb25maWcpXG5cbiAgICAgIC8vIG1hc2sgZnVuY3Rpb25zIGNhbiBzZXR1cCBjYXJldCB0cmFwcyB0byBoYXZlIHNvbWUgY29udHJvbCBvdmVyIGhvdyB0aGUgY2FyZXQgbW92ZXMuIFdlIG5lZWQgdG8gcHJvY2Vzc1xuICAgICAgLy8gdGhlIG1hc2sgZm9yIGFueSBjYXJldCB0cmFwcy4gYHByb2Nlc3NDYXJldFRyYXBzYCB3aWxsIHJlbW92ZSB0aGUgY2FyZXQgdHJhcHMgZnJvbSB0aGUgbWFza1xuICAgICAgbWFzayA9IHByb2Nlc3NDYXJldFRyYXBzKG1hc2spLm1hc2tXaXRob3V0Q2FyZXRUcmFwc1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdUZXh0LW1hc2s6Y29uZm9ybVRvTWFzazsgVGhlIG1hc2sgcHJvcGVydHkgbXVzdCBiZSBhbiBhcnJheS4nXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2UgY29uZmlndXJhdGlvbnMgdGVsbCB1cyBob3cgdG8gY29uZm9ybSB0aGUgbWFza1xuXG4gIGNvbnN0IGd1aWRlID0gY29uZmlnLmd1aWRlIHx8IHRydWU7XG4gIGNvbnN0IHByZXZpb3VzQ29uZm9ybWVkVmFsdWUgPSBjb25maWcucHJldmlvdXNDb25mb3JtZWRWYWx1ZSB8fCBlbXB0eVN0cmluZztcbiAgY29uc3QgcGxhY2Vob2xkZXIgPSBjb252ZXJ0TWFza1RvUGxhY2Vob2xkZXIobWFzaywgcGxhY2Vob2xkZXJDaGFyKTtcbiAgY29uc3QgY3VycmVudENhcmV0UG9zaXRpb24gPSBjb25maWcuY3VycmVudENhcmV0UG9zaXRpb247XG4gIGNvbnN0IGtlZXBDaGFyUG9zaXRpb25zID0gY29uZmlnLmtlZXBDaGFyUG9zaXRpb25zO1xuXG4gIC8vIFRoZSBjb25maWdzIGJlbG93IGluZGljYXRlIHRoYXQgdGhlIHVzZXIgd2FudHMgdGhlIGFsZ29yaXRobSB0byB3b3JrIGluICpubyBndWlkZSogbW9kZVxuICBjb25zdCBzdXBwcmVzc0d1aWRlID0gZ3VpZGUgPT09IGZhbHNlICYmIHByZXZpb3VzQ29uZm9ybWVkVmFsdWUgIT09IHVuZGVmaW5lZFxuXG4gIC8vIENhbGN1bGF0ZSBsZW5ndGhzIG9uY2UgZm9yIHBlcmZvcm1hbmNlXG4gIGNvbnN0IHJhd1ZhbHVlTGVuZ3RoID0gcmF3VmFsdWUubGVuZ3RoXG4gIGNvbnN0IHByZXZpb3VzQ29uZm9ybWVkVmFsdWVMZW5ndGggPSBwcmV2aW91c0NvbmZvcm1lZFZhbHVlLmxlbmd0aFxuICBjb25zdCBwbGFjZWhvbGRlckxlbmd0aCA9IHBsYWNlaG9sZGVyLmxlbmd0aFxuICBjb25zdCBtYXNrTGVuZ3RoID0gbWFzay5sZW5ndGhcblxuICAvLyBUaGlzIHRlbGxzIHVzIHRoZSBudW1iZXIgb2YgZWRpdGVkIGNoYXJhY3RlcnMgYW5kIHRoZSBkaXJlY3Rpb24gaW4gd2hpY2ggdGhleSB3ZXJlIGVkaXRlZCAoKy8tKVxuICBjb25zdCBlZGl0RGlzdGFuY2UgPSByYXdWYWx1ZUxlbmd0aCAtIHByZXZpb3VzQ29uZm9ybWVkVmFsdWVMZW5ndGhcblxuICAvLyBJbiAqbm8gZ3VpZGUqIG1vZGUsIHdlIG5lZWQgdG8ga25vdyBpZiB0aGUgdXNlciBpcyB0cnlpbmcgdG8gYWRkIGEgY2hhcmFjdGVyIG9yIG5vdFxuICBjb25zdCBpc0FkZGl0aW9uID0gZWRpdERpc3RhbmNlID4gMFxuXG4gIC8vIFRlbGxzIHVzIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgY2hhbmdlLiBGb3IgKDQzOCkgMzk0LTQ5MzggdG8gKDM4KSAzOTQtNDkzOCwgdGhhdCB3b3VsZCBiZSAxXG4gIGNvbnN0IGluZGV4T2ZGaXJzdENoYW5nZSA9IGN1cnJlbnRDYXJldFBvc2l0aW9uICsgKGlzQWRkaXRpb24gPyAtZWRpdERpc3RhbmNlIDogMClcblxuICAvLyBXZSdyZSBhbHNvIGdvbm5hIG5lZWQgdGhlIGluZGV4IG9mIGxhc3QgY2hhbmdlLCB3aGljaCB3ZSBjYW4gZGVyaXZlIGFzIGZvbGxvd3MuLi5cbiAgY29uc3QgaW5kZXhPZkxhc3RDaGFuZ2UgPSBpbmRleE9mRmlyc3RDaGFuZ2UgKyBNYXRoLmFicyhlZGl0RGlzdGFuY2UpXG5cbiAgLy8gSWYgYGNvbmZvcm1Ub01hc2tgIGlzIGNvbmZpZ3VyZWQgdG8ga2VlcCBjaGFyYWN0ZXIgcG9zaXRpb25zLCB0aGF0IGlzLCBmb3IgbWFzayAxMTEsIHByZXZpb3VzIHZhbHVlXG4gIC8vIF8yXyBhbmQgcmF3IHZhbHVlIDNfMl8sIHRoZSBuZXcgY29uZm9ybWVkIHZhbHVlIHNob3VsZCBiZSAzMl8sIG5vdCAzXzIgKGRlZmF1bHQgYmVoYXZpb3IpLiBUaGF0J3MgaW4gdGhlIGNhc2Ugb2ZcbiAgLy8gYWRkaXRpb24uIEFuZCBpbiB0aGUgY2FzZSBvZiBkZWxldGlvbiwgcHJldmlvdXMgdmFsdWUgXzIzLCByYXcgdmFsdWUgXzMsIHRoZSBuZXcgY29uZm9ybWVkIHN0cmluZyBzaG91bGQgYmVcbiAgLy8gX18zLCBub3QgXzNfIChkZWZhdWx0IGJlaGF2aW9yKVxuICAvL1xuICAvLyBUaGUgbmV4dCBibG9jayBvZiBsb2dpYyBoYW5kbGVzIGtlZXBpbmcgY2hhcmFjdGVyIHBvc2l0aW9ucyBmb3IgdGhlIGNhc2Ugb2YgZGVsZXRpb24uIChLZWVwaW5nXG4gIC8vIGNoYXJhY3RlciBwb3NpdGlvbnMgZm9yIHRoZSBjYXNlIG9mIGFkZGl0aW9uIGlzIGZ1cnRoZXIgZG93biBzaW5jZSBpdCBpcyBoYW5kbGVkIGRpZmZlcmVudGx5LilcbiAgLy8gVG8gZG8gdGhpcywgd2Ugd2FudCB0byBjb21wZW5zYXRlIGZvciBhbGwgY2hhcmFjdGVycyB0aGF0IHdlcmUgZGVsZXRlZFxuICBpZiAoa2VlcENoYXJQb3NpdGlvbnMgPT09IHRydWUgJiYgIWlzQWRkaXRpb24pIHtcbiAgICAvLyBXZSB3aWxsIGJlIHN0b3JpbmcgdGhlIG5ldyBwbGFjZWhvbGRlciBjaGFyYWN0ZXJzIGluIHRoaXMgdmFyaWFibGUuXG4gICAgbGV0IGNvbXBlbnNhdGluZ1BsYWNlaG9sZGVyQ2hhcnMgPSBlbXB0eVN0cmluZ1xuXG4gICAgLy8gRm9yIGV2ZXJ5IGNoYXJhY3RlciB0aGF0IHdhcyBkZWxldGVkIGZyb20gYSBwbGFjZWhvbGRlciBwb3NpdGlvbiwgd2UgYWRkIGEgcGxhY2Vob2xkZXIgY2hhclxuICAgIGZvciAobGV0IGkgPSBpbmRleE9mRmlyc3RDaGFuZ2U7IGkgPCBpbmRleE9mTGFzdENoYW5nZTsgaSsrKSB7XG4gICAgICBpZiAocGxhY2Vob2xkZXJbaV0gPT09IHBsYWNlaG9sZGVyQ2hhcikge1xuICAgICAgICBjb21wZW5zYXRpbmdQbGFjZWhvbGRlckNoYXJzICs9IHBsYWNlaG9sZGVyQ2hhclxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5vdyB3ZSB0cmljayBvdXIgYWxnb3JpdGhtIGJ5IG1vZGlmeWluZyB0aGUgcmF3IHZhbHVlIHRvIG1ha2UgaXQgY29udGFpbiBhZGRpdGlvbmFsIHBsYWNlaG9sZGVyIGNoYXJhY3RlcnNcbiAgICAvLyBUaGF0IHdheSB3aGVuIHRoZSB3ZSBzdGFydCBsYXlpbmcgdGhlIGNoYXJhY3RlcnMgYWdhaW4gb24gdGhlIG1hc2ssIGl0IHdpbGwga2VlcCB0aGUgbm9uLWRlbGV0ZWQgY2hhcmFjdGVyc1xuICAgIC8vIGluIHRoZWlyIHBvc2l0aW9ucy5cbiAgICByYXdWYWx1ZSA9IChcbiAgICAgIHJhd1ZhbHVlLnNsaWNlKDAsIGluZGV4T2ZGaXJzdENoYW5nZSkgK1xuICAgICAgY29tcGVuc2F0aW5nUGxhY2Vob2xkZXJDaGFycyArXG4gICAgICByYXdWYWx1ZS5zbGljZShpbmRleE9mRmlyc3RDaGFuZ2UsIHJhd1ZhbHVlTGVuZ3RoKVxuICAgIClcbiAgfVxuXG4gIC8vIENvbnZlcnQgYHJhd1ZhbHVlYCBzdHJpbmcgdG8gYW4gYXJyYXksIGFuZCBtYXJrIGNoYXJhY3RlcnMgYmFzZWQgb24gd2hldGhlciB0aGV5IGFyZSBuZXdseSBhZGRlZCBvciBoYXZlXG4gIC8vIGV4aXN0ZWQgaW4gdGhlIHByZXZpb3VzIGNvbmZvcm1lZCB2YWx1ZS4gSWRlbnRpZnlpbmcgbmV3IGFuZCBvbGQgY2hhcmFjdGVycyBpcyBuZWVkZWQgZm9yIGBjb25mb3JtVG9NYXNrYFxuICAvLyB0byB3b3JrIGlmIGl0IGlzIGNvbmZpZ3VyZWQgdG8ga2VlcCBjaGFyYWN0ZXIgcG9zaXRpb25zLlxuICBjb25zdCByYXdWYWx1ZUFyciA9IHJhd1ZhbHVlXG4gICAgLnNwbGl0KGVtcHR5U3RyaW5nKVxuICAgIC5tYXAoKGNoYXIsIGkpID0+ICh7IGNoYXIsIGlzTmV3OiBpID49IGluZGV4T2ZGaXJzdENoYW5nZSAmJiBpIDwgaW5kZXhPZkxhc3RDaGFuZ2UgfSkpXG5cbiAgLy8gVGhlIGxvb3AgYmVsb3cgcmVtb3ZlcyBtYXNraW5nIGNoYXJhY3RlcnMgZnJvbSB1c2VyIGlucHV0LiBGb3IgZXhhbXBsZSwgZm9yIG1hc2tcbiAgLy8gYDAwICgxMTEpYCwgdGhlIHBsYWNlaG9sZGVyIHdvdWxkIGJlIGAwMCAoX19fKWAuIElmIHVzZXIgaW5wdXQgaXMgYDAwICgyMzQpYCwgdGhlIGxvb3AgYmVsb3dcbiAgLy8gd291bGQgcmVtb3ZlIGFsbCBjaGFyYWN0ZXJzIGJ1dCBgMjM0YCBmcm9tIHRoZSBgcmF3VmFsdWVBcnJgLiBUaGUgcmVzdCBvZiB0aGUgYWxnb3JpdGhtXG4gIC8vIHRoZW4gd291bGQgbGF5IGAyMzRgIG9uIHRvcCBvZiB0aGUgYXZhaWxhYmxlIHBsYWNlaG9sZGVyIHBvc2l0aW9ucyBpbiB0aGUgbWFzay5cbiAgZm9yIChsZXQgaSA9IHJhd1ZhbHVlTGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICBjb25zdCB7IGNoYXIgfSA9IHJhd1ZhbHVlQXJyW2ldXG5cbiAgICBpZiAoY2hhciAhPT0gcGxhY2Vob2xkZXJDaGFyKSB7XG4gICAgICBjb25zdCBzaG91bGRPZmZzZXQgPSBpID49IGluZGV4T2ZGaXJzdENoYW5nZSAmJiBwcmV2aW91c0NvbmZvcm1lZFZhbHVlTGVuZ3RoID09PSBtYXNrTGVuZ3RoXG5cbiAgICAgIGlmIChjaGFyID09PSBwbGFjZWhvbGRlclsoc2hvdWxkT2Zmc2V0KSA/IGkgLSBlZGl0RGlzdGFuY2UgOiBpXSkge1xuICAgICAgICByYXdWYWx1ZUFyci5zcGxpY2UoaSwgMSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGlzIHRoZSB2YXJpYWJsZSB0aGF0IHdlIHdpbGwgYmUgZmlsbGluZyB3aXRoIGNoYXJhY3RlcnMgYXMgd2UgZmlndXJlIHRoZW0gb3V0XG4gIC8vIGluIHRoZSBhbGdvcml0aG0gYmVsb3dcbiAgbGV0IGNvbmZvcm1lZFZhbHVlID0gZW1wdHlTdHJpbmdcbiAgbGV0IHNvbWVDaGFyc1JlamVjdGVkID0gZmFsc2VcblxuICAvLyBPaywgc28gZmlyc3Qgd2UgbG9vcCB0aHJvdWdoIHRoZSBwbGFjZWhvbGRlciBsb29raW5nIGZvciBwbGFjZWhvbGRlciBjaGFyYWN0ZXJzIHRvIGZpbGwgdXAuXG4gIHBsYWNlaG9sZGVyTG9vcDogZm9yIChsZXQgaSA9IDA7IGkgPCBwbGFjZWhvbGRlckxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY2hhckluUGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcltpXVxuXG4gICAgLy8gV2Ugc2VlIG9uZS4gTGV0J3MgZmluZCBvdXQgd2hhdCB3ZSBjYW4gcHV0IGluIGl0LlxuICAgIGlmIChjaGFySW5QbGFjZWhvbGRlciA9PT0gcGxhY2Vob2xkZXJDaGFyKSB7XG4gICAgICAvLyBCdXQgYmVmb3JlIHRoYXQsIGRvIHdlIGFjdHVhbGx5IGhhdmUgYW55IHVzZXIgY2hhcmFjdGVycyB0aGF0IG5lZWQgYSBwbGFjZT9cbiAgICAgIGlmIChyYXdWYWx1ZUFyci5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIFdlIHdpbGwga2VlcCBjaGlwcGluZyBhd2F5IGF0IHVzZXIgaW5wdXQgdW50aWwgZWl0aGVyIHdlIHJ1biBvdXQgb2YgY2hhcmFjdGVyc1xuICAgICAgICAvLyBvciB3ZSBmaW5kIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIgdGhhdCB3ZSBjYW4gbWFwLlxuICAgICAgICB3aGlsZSAocmF3VmFsdWVBcnIubGVuZ3RoID4gMCkge1xuICAgICAgICAgIC8vIExldCdzIHJldHJpZXZlIHRoZSBmaXJzdCB1c2VyIGNoYXJhY3RlciBpbiB0aGUgcXVldWUgb2YgY2hhcmFjdGVycyB3ZSBoYXZlIGxlZnRcbiAgICAgICAgICBjb25zdCBzaGlmdCA9IHJhd1ZhbHVlQXJyLnNoaWZ0KCk7XG4gICAgICAgICAgbGV0IHJhd1ZhbHVlQ2hhcjogc3RyaW5nID0gJycsIGlzTmV3OiBib29sZWFuID0gZmFsc2U7XG4gICAgICAgICAgaWYgKHNoaWZ0KSB7XG4gICAgICAgICAgICByYXdWYWx1ZUNoYXIgPSBzaGlmdC5jaGFyO1xuICAgICAgICAgICAgaXNOZXcgPSBzaGlmdC5pc05ldztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBJZiB0aGUgY2hhcmFjdGVyIHdlIGdvdCBmcm9tIHRoZSB1c2VyIGlucHV0IGlzIGEgcGxhY2Vob2xkZXIgY2hhcmFjdGVyICh3aGljaCBoYXBwZW5zXG4gICAgICAgICAgLy8gcmVndWxhcmx5IGJlY2F1c2UgdXNlciBpbnB1dCBjb3VsZCBiZSBzb21ldGhpbmcgbGlrZSAoNTQwKSA5MF8tX19fXywgd2hpY2ggaW5jbHVkZXNcbiAgICAgICAgICAvLyBhIGJ1bmNoIG9mIGBfYCB3aGljaCBhcmUgcGxhY2Vob2xkZXIgY2hhcmFjdGVycykgYW5kIHdlIGFyZSBub3QgaW4gKm5vIGd1aWRlKiBtb2RlLFxuICAgICAgICAgIC8vIHRoZW4gd2UgbWFwIHRoaXMgcGxhY2Vob2xkZXIgY2hhcmFjdGVyIHRvIHRoZSBjdXJyZW50IHNwb3QgaW4gdGhlIHBsYWNlaG9sZGVyXG4gICAgICAgICAgaWYgKHJhd1ZhbHVlQ2hhciA9PT0gcGxhY2Vob2xkZXJDaGFyICYmIHN1cHByZXNzR3VpZGUgIT09IHRydWUpIHtcbiAgICAgICAgICAgIGNvbmZvcm1lZFZhbHVlICs9IHBsYWNlaG9sZGVyQ2hhclxuXG4gICAgICAgICAgICAvLyBBbmQgd2UgZ28gdG8gZmluZCB0aGUgbmV4dCBwbGFjZWhvbGRlciBjaGFyYWN0ZXIgdGhhdCBuZWVkcyBmaWxsaW5nXG4gICAgICAgICAgICBjb250aW51ZSBwbGFjZWhvbGRlckxvb3BcblxuICAgICAgICAgICAgLy8gRWxzZSBpZiwgdGhlIGNoYXJhY3RlciB3ZSBnb3QgZnJvbSB0aGUgdXNlciBpbnB1dCBpcyBub3QgYSBwbGFjZWhvbGRlciwgbGV0J3Mgc2VlXG4gICAgICAgICAgICAvLyBpZiB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgbWFzayBjYW4gYWNjZXB0IGl0LlxuICAgICAgICAgIH0gZWxzZSBpZiAobWFza1tpXS50ZXN0KHJhd1ZhbHVlQ2hhcikpIHtcbiAgICAgICAgICAgIC8vIHdlIG1hcCB0aGUgY2hhcmFjdGVyIGRpZmZlcmVudGx5IGJhc2VkIG9uIHdoZXRoZXIgd2UgYXJlIGtlZXBpbmcgY2hhcmFjdGVyIHBvc2l0aW9ucyBvciBub3QuXG4gICAgICAgICAgICAvLyBJZiBhbnkgb2YgdGhlIGNvbmRpdGlvbnMgYmVsb3cgYXJlIG1ldCwgd2Ugc2ltcGx5IG1hcCB0aGUgcmF3IHZhbHVlIGNoYXJhY3RlciB0byB0aGVcbiAgICAgICAgICAgIC8vIHBsYWNlaG9sZGVyIHBvc2l0aW9uLlxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBrZWVwQ2hhclBvc2l0aW9ucyAhPT0gdHJ1ZSB8fFxuICAgICAgICAgICAgICBpc05ldyA9PT0gZmFsc2UgfHxcbiAgICAgICAgICAgICAgcHJldmlvdXNDb25mb3JtZWRWYWx1ZSA9PT0gZW1wdHlTdHJpbmcgfHxcbiAgICAgICAgICAgICAgZ3VpZGUgPT09IGZhbHNlIHx8XG4gICAgICAgICAgICAgICFpc0FkZGl0aW9uXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29uZm9ybWVkVmFsdWUgKz0gcmF3VmFsdWVDaGFyXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBXZSBlbnRlciB0aGlzIGJsb2NrIG9mIGNvZGUgaWYgd2UgYXJlIHRyeWluZyB0byBrZWVwIGNoYXJhY3RlciBwb3NpdGlvbnMgYW5kIG5vbmUgb2YgdGhlIGNvbmRpdGlvbnNcbiAgICAgICAgICAgICAgLy8gYWJvdmUgaXMgbWV0LiBJbiB0aGlzIGNhc2UsIHdlIG5lZWQgdG8gc2VlIGlmIHRoZXJlJ3MgYW4gYXZhaWxhYmxlIHNwb3QgZm9yIHRoZSByYXcgdmFsdWUgY2hhcmFjdGVyXG4gICAgICAgICAgICAgIC8vIHRvIGJlIG1hcHBlZCB0by4gSWYgd2UgY291bGRuJ3QgZmluZCBhIHNwb3QsIHdlIHdpbGwgZGlzY2FyZCB0aGUgY2hhcmFjdGVyLlxuICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAvLyBGb3IgZXhhbXBsZSwgZm9yIG1hc2sgYDExMTFgLCBwcmV2aW91cyBjb25mb3JtZWQgdmFsdWUgYF8yX19gLCByYXcgdmFsdWUgYDk0Ml8yX19gLiBXZSBjYW4gbWFwIHRoZVxuICAgICAgICAgICAgICAvLyBgOWAsIHRvIHRoZSBmaXJzdCBhdmFpbGFibGUgcGxhY2Vob2xkZXIgcG9zaXRpb24sIGJ1dCB0aGVuLCB0aGVyZSBhcmUgbm8gbW9yZSBzcG90cyBhdmFpbGFibGUgZm9yIHRoZVxuICAgICAgICAgICAgICAvLyBgNGAgYW5kIGAyYC4gU28sIHdlIGRpc2NhcmQgdGhlbSBhbmQgZW5kIHVwIHdpdGggYSBjb25mb3JtZWQgdmFsdWUgb2YgYDkyX19gLlxuICAgICAgICAgICAgICBjb25zdCByYXdWYWx1ZUFyckxlbmd0aCA9IHJhd1ZhbHVlQXJyLmxlbmd0aFxuICAgICAgICAgICAgICBsZXQgaW5kZXhPZk5leHRBdmFpbGFibGVQbGFjZWhvbGRlckNoYXIgPSBudWxsXG5cbiAgICAgICAgICAgICAgLy8gTGV0J3MgbG9vcCB0aHJvdWdoIHRoZSByZW1haW5pbmcgcmF3IHZhbHVlIGNoYXJhY3RlcnMuIFdlIGFyZSBsb29raW5nIGZvciBlaXRoZXIgYSBzdWl0YWJsZSBzcG90LCBpZSxcbiAgICAgICAgICAgICAgLy8gYSBwbGFjZWhvbGRlciBjaGFyYWN0ZXIgb3IgYSBub24tc3VpdGFibGUgc3BvdCwgaWUsIGEgbm9uLXBsYWNlaG9sZGVyIGNoYXJhY3RlciB0aGF0IGlzIG5vdCBuZXcuXG4gICAgICAgICAgICAgIC8vIElmIHdlIHNlZSBhIHN1aXRhYmxlIHNwb3QgZmlyc3QsIHdlIHN0b3JlIGl0cyBwb3NpdGlvbiBhbmQgZXhpdCB0aGUgbG9vcC4gSWYgd2Ugc2VlIGEgbm9uLXN1aXRhYmxlXG4gICAgICAgICAgICAgIC8vIHNwb3QgZmlyc3QsIHdlIGV4aXQgdGhlIGxvb3AgYW5kIG91ciBgaW5kZXhPZk5leHRBdmFpbGFibGVQbGFjZWhvbGRlckNoYXJgIHdpbGwgc3RheSBhcyBgbnVsbGAuXG4gICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmF3VmFsdWVBcnJMZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoYXJEYXRhID0gcmF3VmFsdWVBcnJbaV1cblxuICAgICAgICAgICAgICAgIGlmIChjaGFyRGF0YS5jaGFyICE9PSBwbGFjZWhvbGRlckNoYXIgJiYgY2hhckRhdGEuaXNOZXcgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChjaGFyRGF0YS5jaGFyID09PSBwbGFjZWhvbGRlckNoYXIpIHtcbiAgICAgICAgICAgICAgICAgIGluZGV4T2ZOZXh0QXZhaWxhYmxlUGxhY2Vob2xkZXJDaGFyID0gaVxuICAgICAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvLyBJZiBgaW5kZXhPZk5leHRBdmFpbGFibGVQbGFjZWhvbGRlckNoYXJgIGlzIG5vdCBgbnVsbGAsIHRoYXQgbWVhbnMgdGhlIGNoYXJhY3RlciBpcyBub3QgYmxvY2tlZC5cbiAgICAgICAgICAgICAgLy8gV2UgY2FuIG1hcCBpdC4gQW5kIHRvIGtlZXAgdGhlIGNoYXJhY3RlciBwb3NpdGlvbnMsIHdlIHJlbW92ZSB0aGUgcGxhY2Vob2xkZXIgY2hhcmFjdGVyXG4gICAgICAgICAgICAgIC8vIGZyb20gdGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzXG4gICAgICAgICAgICAgIGlmIChpbmRleE9mTmV4dEF2YWlsYWJsZVBsYWNlaG9sZGVyQ2hhciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbmZvcm1lZFZhbHVlICs9IHJhd1ZhbHVlQ2hhclxuICAgICAgICAgICAgICAgIHJhd1ZhbHVlQXJyLnNwbGljZShpbmRleE9mTmV4dEF2YWlsYWJsZVBsYWNlaG9sZGVyQ2hhciwgMSlcblxuICAgICAgICAgICAgICAgIC8vIElmIGBpbmRleE9mTmV4dEF2YWlsYWJsZVBsYWNlaG9sZGVyQ2hhcmAgaXMgYG51bGxgLCB0aGF0IG1lYW5zIHRoZSBjaGFyYWN0ZXIgaXMgYmxvY2tlZC4gV2UgaGF2ZSB0b1xuICAgICAgICAgICAgICAgIC8vIGRpc2NhcmQgaXQuXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaS0tXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2luY2Ugd2UndmUgbWFwcGVkIHRoaXMgcGxhY2Vob2xkZXIgcG9zaXRpb24uIFdlIG1vdmUgb24gdG8gdGhlIG5leHQgb25lLlxuICAgICAgICAgICAgY29udGludWUgcGxhY2Vob2xkZXJMb29wXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNvbWVDaGFyc1JlamVjdGVkID0gdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBXZSByZWFjaCB0aGlzIHBvaW50IHdoZW4gd2UndmUgbWFwcGVkIGFsbCB0aGUgdXNlciBpbnB1dCBjaGFyYWN0ZXJzIHRvIHBsYWNlaG9sZGVyXG4gICAgICAvLyBwb3NpdGlvbnMgaW4gdGhlIG1hc2suIEluICpndWlkZSogbW9kZSwgd2UgYXBwZW5kIHRoZSBsZWZ0IG92ZXIgY2hhcmFjdGVycyBpbiB0aGVcbiAgICAgIC8vIHBsYWNlaG9sZGVyIHRvIHRoZSBgY29uZm9ybWVkU3RyaW5nYCwgYnV0IGluICpubyBndWlkZSogbW9kZSwgd2UgZG9uJ3Qgd2FubmEgZG8gdGhhdC5cbiAgICAgIC8vXG4gICAgICAvLyBUaGF0IGlzLCBmb3IgbWFzayBgKDExMSlgIGFuZCB1c2VyIGlucHV0IGAyYCwgd2Ugd2FudCB0byByZXR1cm4gYCgyYCwgbm90IGAoMl9fKWAuXG4gICAgICBpZiAoc3VwcHJlc3NHdWlkZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgY29uZm9ybWVkVmFsdWUgKz0gcGxhY2Vob2xkZXIuc3Vic3RyKGksIHBsYWNlaG9sZGVyTGVuZ3RoKVxuICAgICAgfVxuXG4gICAgICAvLyBBbmQgd2UgYnJlYWtcbiAgICAgIGJyZWFrXG5cbiAgICAgIC8vIEVsc2UsIHRoZSBjaGFySW5QbGFjZWhvbGRlciBpcyBub3QgYSBwbGFjZWhvbGRlckNoYXIuIFRoYXQgaXMsIHdlIGNhbm5vdCBmaWxsIGl0XG4gICAgICAvLyB3aXRoIHVzZXIgaW5wdXQuIFNvIHdlIGp1c3QgbWFwIGl0IHRvIHRoZSBmaW5hbCBvdXRwdXRcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZm9ybWVkVmFsdWUgKz0gY2hhckluUGxhY2Vob2xkZXJcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgZm9sbG93aW5nIGxvZ2ljIGlzIG5lZWRlZCB0byBkZWFsIHdpdGggdGhlIGNhc2Ugb2YgZGVsZXRpb24gaW4gKm5vIGd1aWRlKiBtb2RlLlxuICAvL1xuICAvLyBDb25zaWRlciB0aGUgc2lsbHkgbWFzayBgKDExMSkgLy8vIDFgLiBXaGF0IGlmIHVzZXIgdHJpZXMgdG8gZGVsZXRlIHRoZSBsYXN0IHBsYWNlaG9sZGVyXG4gIC8vIHBvc2l0aW9uPyBTb21ldGhpbmcgbGlrZSBgKDU4OSkgLy8vIGAuIFdlIHdhbnQgdG8gY29uZm9ybSB0aGF0IHRvIGAoNTg5YC4gTm90IGAoNTg5KSAvLy8gYC5cbiAgLy8gVGhhdCdzIHdoeSB0aGUgbG9naWMgYmVsb3cgZmluZHMgdGhlIGxhc3QgZmlsbGVkIHBsYWNlaG9sZGVyIGNoYXJhY3RlciwgYW5kIHJlbW92ZXMgZXZlcnl0aGluZ1xuICAvLyBmcm9tIHRoYXQgcG9pbnQgb24uXG4gIGlmIChzdXBwcmVzc0d1aWRlICYmIGlzQWRkaXRpb24gPT09IGZhbHNlKSB7XG4gICAgbGV0IGluZGV4T2ZMYXN0RmlsbGVkUGxhY2Vob2xkZXJDaGFyID0gbnVsbFxuXG4gICAgLy8gRmluZCB0aGUgbGFzdCBmaWxsZWQgcGxhY2Vob2xkZXIgcG9zaXRpb24gYW5kIHN1YnN0cmluZyBmcm9tIHRoZXJlXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb25mb3JtZWRWYWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHBsYWNlaG9sZGVyW2ldID09PSBwbGFjZWhvbGRlckNoYXIpIHtcbiAgICAgICAgaW5kZXhPZkxhc3RGaWxsZWRQbGFjZWhvbGRlckNoYXIgPSBpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGluZGV4T2ZMYXN0RmlsbGVkUGxhY2Vob2xkZXJDaGFyICE9PSBudWxsKSB7XG4gICAgICAvLyBXZSBzdWJzdHJpbmcgZnJvbSB0aGUgYmVnaW5uaW5nIHVudGlsIHRoZSBwb3NpdGlvbiBhZnRlciB0aGUgbGFzdCBmaWxsZWQgcGxhY2Vob2xkZXIgY2hhci5cbiAgICAgIGNvbmZvcm1lZFZhbHVlID0gY29uZm9ybWVkVmFsdWUuc3Vic3RyKDAsIGluZGV4T2ZMYXN0RmlsbGVkUGxhY2Vob2xkZXJDaGFyICsgMSlcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgd2UgY291bGRuJ3QgZmluZCBgaW5kZXhPZkxhc3RGaWxsZWRQbGFjZWhvbGRlckNoYXJgIHRoYXQgbWVhbnMgdGhlIHVzZXIgZGVsZXRlZFxuICAgICAgLy8gdGhlIGZpcnN0IGNoYXJhY3RlciBpbiB0aGUgbWFzay4gU28gd2UgcmV0dXJuIGFuIGVtcHR5IHN0cmluZy5cbiAgICAgIGNvbmZvcm1lZFZhbHVlID0gZW1wdHlTdHJpbmdcbiAgICB9XG4gIH1cblxuICByZXR1cm4geyBjb25mb3JtZWRWYWx1ZSwgbWV0YTogeyBzb21lQ2hhcnNSZWplY3RlZCB9IH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydE1hc2tUb1BsYWNlaG9sZGVyKG1hc2sgPSBlbXB0eUFycmF5LCBwbGFjZWhvbGRlckNoYXIgPSBkZWZhdWx0UGxhY2Vob2xkZXJDaGFyKSB7XG4gIGlmICghaXNBcnJheShtYXNrKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdUZXh0LW1hc2s6Y29udmVydE1hc2tUb1BsYWNlaG9sZGVyOyBUaGUgbWFzayBwcm9wZXJ0eSBtdXN0IGJlIGFuIGFycmF5LidcbiAgICApXG4gIH1cblxuICBpZiAobWFzay5pbmRleE9mKHBsYWNlaG9sZGVyQ2hhcikgIT09IC0xKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ1BsYWNlaG9sZGVyIGNoYXJhY3RlciBtdXN0IG5vdCBiZSB1c2VkIGFzIHBhcnQgb2YgdGhlIG1hc2suIFBsZWFzZSBzcGVjaWZ5IGEgY2hhcmFjdGVyICcgK1xuICAgICAgJ3RoYXQgaXMgbm90IHByZXNlbnQgaW4geW91ciBtYXNrIGFzIHlvdXIgcGxhY2Vob2xkZXIgY2hhcmFjdGVyLlxcblxcbicgK1xuICAgICAgYFRoZSBwbGFjZWhvbGRlciBjaGFyYWN0ZXIgdGhhdCB3YXMgcmVjZWl2ZWQgaXM6ICR7SlNPTi5zdHJpbmdpZnkocGxhY2Vob2xkZXJDaGFyKX1cXG5cXG5gICtcbiAgICAgIGBUaGUgbWFzayB0aGF0IHdhcyByZWNlaXZlZCBpczogJHtKU09OLnN0cmluZ2lmeShtYXNrKX1gXG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG1hc2subWFwKChjaGFyOiBhbnkpID0+IHtcbiAgICByZXR1cm4gKGNoYXIgaW5zdGFuY2VvZiBSZWdFeHApID8gcGxhY2Vob2xkZXJDaGFyIDogY2hhclxuICB9KS5qb2luKCcnKVxufVxuXG4vKipcbiAqIER1ZSB0byBhIGJ1ZyBvbiB0ZXh0bWFzaywgdGhlIHJlcXVpcmVEZWNpbWFsIGl0cyBub3Qgd29ya2luZywgc28gdGhpcyBmdW5jdGlvbiBzb2x2ZXMgdGhpcyBwcm9ibGVtXG4gKiBAcGFyYW0gbWFza1R5cGUgXG4gKiBAcGFyYW0gbnVtYmVyVmFsdWUgXG4gKiBAcGFyYW0gZGVjaW1hbHNGb3JtYXQgXG4gKiBAcmV0dXJucyBcbiAqL1xuZnVuY3Rpb24gZm9ybWF0TnVtYmVyKG1hc2tUeXBlOiBhbnksIG51bWJlclZhbHVlOiBhbnksIGRlY2ltYWxzRm9ybWF0OiBudW1iZXIgPSAyKSB7XG4gIGlmICghbnVtYmVyVmFsdWUgJiYgbnVtYmVyVmFsdWUgIT09IDApIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAoIW51bWJlclZhbHVlLnNwbGl0KSB7XG4gICAgbnVtYmVyVmFsdWUgKz0gJyc7XG4gICAgbnVtYmVyVmFsdWUgPSBudW1iZXJWYWx1ZS5yZXBsYWNlKCcuJywgJywnKTtcbiAgfVxuXG4gIGNvbnN0IHZhbHMgPSBudW1iZXJWYWx1ZS5zcGxpdCgnLCcpO1xuXG4gIGlmICghbWFza1R5cGUudGV4dE1hc2sgfHwgdHlwZW9mIG1hc2tUeXBlLnRleHRNYXNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3QgbWFzayA9IG1hc2tUeXBlLnRleHRNYXNrKHZhbHNbMF0pO1xuXG4gIGxldCBkZWNpbWFscyA9ICcnXG4gIGlmIChkZWNpbWFsc0Zvcm1hdCA9PSB1bmRlZmluZWQpIHtcbiAgICBkZWNpbWFscyA9IHZhbHMubGVuZ3RoID4gMSA/ICcsJyArIHZhbHNbMV0gOiAnJztcbiAgfSBlbHNlIHtcbiAgICBkZWNpbWFscyA9IHZhbHMubGVuZ3RoID4gMSA/ICh2YWxzWzFdIDwgMTAgPyB2YWxzWzFdLnRvU3RyaW5nKCkgKyAnMCcgOiB2YWxzWzFdLnRvU3RyaW5nKCkpIDogJzAwJztcbiAgICBpZiAoZGVjaW1hbHMubGVuZ3RoID4gZGVjaW1hbHNGb3JtYXQpIHtcbiAgICAgIGRlY2ltYWxzID0gZGVjaW1hbHMuc3Vic3RyaW5nKDAsIGRlY2ltYWxzRm9ybWF0KTtcbiAgICB9XG4gIH1cblxuICBsZXQgY29uZm9ybWVkVmFsdWUgPSBjb25mb3JtVG9NYXNrKFxuICAgIG51bWJlclZhbHVlLFxuICAgIG1hc2ssXG4gICAgeyBndWlkZTogZmFsc2UgfVxuICApLmNvbmZvcm1lZFZhbHVlXG5cblxuICBsZXQgc3VmZml4ID0gJydcbiAgaWYgKGNvbmZvcm1lZFZhbHVlLmluZGV4T2YoJyUnKSA+PSAwKSB7XG4gICAgY29uZm9ybWVkVmFsdWUgPSBjb25mb3JtZWRWYWx1ZS5yZXBsYWNlKCclJywgJycpXG4gICAgc3VmZml4ID0gJyUnXG4gIH1cbiAgcmV0dXJuIGNvbmZvcm1lZFZhbHVlICsgKGRlY2ltYWxzRm9ybWF0ID4gMCA/ICcsJyArIGRlY2ltYWxzIDogJycpICsgc3VmZml4O1xufSJdfQ==