monkey-front-core 0.0.33 → 0.0.37

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 (250) hide show
  1. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -0
  2. package/{esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.module.js → esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs} +5 -5
  3. package/{esm2015/lib/components/closed-to-maintenance/index.js → esm2020/lib/components/closed-to-maintenance/index.mjs} +0 -0
  4. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  5. package/{esm2015/lib/components/progress-bar/index.js → esm2020/lib/components/progress-bar/index.mjs} +0 -0
  6. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -0
  7. package/{esm2015/lib/components/progress-bar/progress-bar.module.js → esm2020/lib/components/progress-bar/progress-bar.module.mjs} +5 -5
  8. package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -0
  9. package/{esm2015/lib/components/version-changed/index.js → esm2020/lib/components/version-changed/index.mjs} +0 -0
  10. package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -0
  11. package/{esm2015/lib/components/version-changed/version-changed.module.js → esm2020/lib/components/version-changed/version-changed.module.mjs} +5 -5
  12. package/esm2020/lib/core/decorators/index.mjs +5 -0
  13. package/esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs +40 -0
  14. package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +111 -0
  15. package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +26 -0
  16. package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +26 -0
  17. package/{esm2015/lib/core/directives/index.js → esm2020/lib/core/directives/index.mjs} +2 -1
  18. package/esm2020/lib/core/directives/monkeyecx-directives-module.mjs +55 -0
  19. package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -0
  20. package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -0
  21. package/{esm2015/lib/core/directives/monkeyecx-format-currency.js → esm2020/lib/core/directives/monkeyecx-format-currency.mjs} +4 -4
  22. package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -0
  23. package/{esm2015/lib/core/directives/monkeyecx-only-alpha-numeric-directive.js → esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs} +4 -4
  24. package/{esm2015/lib/core/directives/monkeyecx-only-number-directive.js → esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs} +4 -4
  25. package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +69 -0
  26. package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -0
  27. package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +0 -0
  28. package/{esm2015/lib/core/interceptors/index.js → esm2020/lib/core/interceptors/index.mjs} +0 -0
  29. package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +39 -0
  30. package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +32 -0
  31. package/{esm2015/lib/core/interceptors/monkeyecx-http-config-interceptor.module.js → esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs} +5 -5
  32. package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -0
  33. package/{esm2015/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.js → esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs} +6 -6
  34. package/{esm2015/lib/core/interfaces/index.js → esm2020/lib/core/interfaces/index.mjs} +0 -0
  35. package/{esm2015/lib/core/interfaces/monkeyecx-auth-credentials.js → esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs} +0 -0
  36. package/{esm2015/lib/core/interfaces/monkeyecx-company.js → esm2020/lib/core/interfaces/monkeyecx-company.mjs} +0 -0
  37. package/{esm2015/lib/core/interfaces/monkeyecx-config-boostrap.js → esm2020/lib/core/interfaces/monkeyecx-config-boostrap.mjs} +0 -0
  38. package/{esm2015/lib/core/interfaces/monkeyecx-config.js → esm2020/lib/core/interfaces/monkeyecx-config.mjs} +0 -0
  39. package/{esm2015/lib/core/interfaces/monkeyecx-error-response.js → esm2020/lib/core/interfaces/monkeyecx-error-response.mjs} +0 -0
  40. package/{esm2015/lib/core/interfaces/monkeyecx-handled-error-response.js → esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs} +0 -0
  41. package/{esm2015/lib/core/interfaces/monkeyecx-header-credentials.js → esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs} +0 -0
  42. package/{esm2015/lib/core/interfaces/monkeyecx-intercom-options.js → esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs} +0 -0
  43. package/{esm2015/lib/core/interfaces/monkeyecx-me-credentials.js → esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs} +0 -0
  44. package/{esm2015/lib/core/interfaces/monkeyecx-navigation.js → esm2020/lib/core/interfaces/monkeyecx-navigation.mjs} +0 -0
  45. package/{esm2015/lib/core/interfaces/monkeyecx-program.js → esm2020/lib/core/interfaces/monkeyecx-program.mjs} +0 -0
  46. package/{esm2015/lib/core/interfaces/monkeyecx-releases.js → esm2020/lib/core/interfaces/monkeyecx-releases.mjs} +0 -0
  47. package/{esm2015/lib/core/interfaces/monkeyecx-request-in-progress.js → esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs} +0 -0
  48. package/{esm2015/lib/core/interfaces/monkeyecx-request-paged.js → esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs} +0 -0
  49. package/{esm2015/lib/core/interfaces/monkeyecx-response-paged.js → esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs} +0 -0
  50. package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +2 -0
  51. package/{esm2015/lib/core/interfaces/monkeyecx-token-credentials.js → esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs} +0 -0
  52. package/{esm2015/lib/core/interfaces/monkeyecx-translate-options.js → esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs} +0 -0
  53. package/{esm2015/lib/core/interfaces/request-download/index.js → esm2020/lib/core/interfaces/request-download/index.mjs} +0 -0
  54. package/esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs +2 -0
  55. package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-downloaded.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs} +0 -0
  56. package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-item-download.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs} +1 -1
  57. package/{esm2015/lib/core/interfaces/request-queue/index.js → esm2020/lib/core/interfaces/request-queue/index.mjs} +0 -0
  58. package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs} +0 -0
  59. package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs} +0 -0
  60. package/esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs +2 -0
  61. package/{esm2015/lib/core/interfaces/request-upload/index.js → esm2020/lib/core/interfaces/request-upload/index.mjs} +0 -0
  62. package/{esm2015/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.js → esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs} +1 -1
  63. package/{esm2015/lib/core/interfaces/request-upload/monkeyecx-request-upload.js → esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs} +1 -1
  64. package/{esm2015/lib/core/interfaces/schedules/index.js → esm2020/lib/core/interfaces/schedules/index.mjs} +0 -0
  65. package/{esm2015/lib/core/interfaces/schedules/monkeyecx-request-schedule.js → esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs} +0 -0
  66. package/{esm2015/lib/core/model/index.js → esm2020/lib/core/model/index.mjs} +0 -0
  67. package/{esm2015/lib/core/model/monkeyecx-model.js → esm2020/lib/core/model/monkeyecx-model.mjs} +1 -1
  68. package/esm2020/lib/core/pipes/index.mjs +16 -0
  69. package/esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs +19 -0
  70. package/esm2020/lib/core/pipes/monkeyecx-format-address.mjs +20 -0
  71. package/esm2020/lib/core/pipes/monkeyecx-format-currency.mjs +27 -0
  72. package/esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs +31 -0
  73. package/esm2020/lib/core/pipes/monkeyecx-format-date.mjs +29 -0
  74. package/esm2020/lib/core/pipes/monkeyecx-format-document.mjs +19 -0
  75. package/esm2020/lib/core/pipes/monkeyecx-format-number.mjs +20 -0
  76. package/esm2020/lib/core/pipes/monkeyecx-format-phone.mjs +42 -0
  77. package/esm2020/lib/core/pipes/monkeyecx-format-size.mjs +20 -0
  78. package/esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs +19 -0
  79. package/esm2020/lib/core/pipes/monkeyecx-format-value.mjs +19 -0
  80. package/esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs +19 -0
  81. package/esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs +87 -0
  82. package/esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs +23 -0
  83. package/{esm2015/lib/core/pipes/monkeyecx-truncate-qtd.js → esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs} +4 -4
  84. package/{esm2015/lib/core/services/auth/index.js → esm2020/lib/core/services/auth/index.mjs} +0 -0
  85. package/{esm2015/lib/core/services/auth/monkeyecx-auth-guard-login.service.js → esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs} +4 -4
  86. package/{esm2015/lib/core/services/auth/monkeyecx-auth-guard.service.js → esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs} +4 -4
  87. package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +61 -0
  88. package/{esm2015/lib/core/services/commons/index.js → esm2020/lib/core/services/commons/index.mjs} +0 -0
  89. package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +269 -0
  90. package/{esm2015/lib/core/services/config/monkeyecx-config.module.js → esm2020/lib/core/services/config/monkeyecx-config.module.mjs} +5 -5
  91. package/esm2020/lib/core/services/config/monkeyecx-config.service.mjs +108 -0
  92. package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -0
  93. package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +65 -0
  94. package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +66 -0
  95. package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -0
  96. package/{esm2015/lib/core/services/config/monkeyecx-maintenance-config.service.js → esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs} +5 -5
  97. package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +42 -0
  98. package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -0
  99. package/{esm2015/lib/core/services/error/index.js → esm2020/lib/core/services/error/index.mjs} +0 -0
  100. package/{esm2015/lib/core/services/error/monkeyecx-error-handling.module.js → esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs} +5 -5
  101. package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +41 -0
  102. package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +128 -0
  103. package/{esm2015/lib/core/services/error/monkeyecx-others-errors-handling.service.js → esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs} +4 -4
  104. package/esm2020/lib/core/services/index.mjs +24 -0
  105. package/{esm2015/lib/core/services/logged/index.js → esm2020/lib/core/services/logged/index.mjs} +0 -0
  106. package/{esm2015/lib/core/services/logged/monkeyecx-logged-handling.service.js → esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs} +4 -4
  107. package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -0
  108. package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -0
  109. package/{esm2015/lib/core/services/request-download/index.js → esm2020/lib/core/services/request-download/index.mjs} +0 -0
  110. package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -0
  111. package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -0
  112. package/{esm2015/lib/core/services/request-paged/index.js → esm2020/lib/core/services/request-paged/index.mjs} +0 -0
  113. package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +30 -0
  114. package/{esm2015/lib/core/services/request-queue/index.js → esm2020/lib/core/services/request-queue/index.mjs} +0 -0
  115. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -0
  116. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -0
  117. package/{esm2015/lib/core/services/routes/index.js → esm2020/lib/core/services/routes/index.mjs} +0 -0
  118. package/{esm2015/lib/core/services/routes/monkeyecx-dicovery-params.service.js → esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs} +6 -6
  119. package/{esm2015/lib/core/services/schedules/index.js → esm2020/lib/core/services/schedules/index.mjs} +0 -0
  120. package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +127 -0
  121. package/{esm2015/lib/core/services/storage/index.js → esm2020/lib/core/services/storage/index.mjs} +0 -0
  122. package/esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs +29 -0
  123. package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +122 -0
  124. package/{esm2015/lib/core/specification-search/index.js → esm2020/lib/core/specification-search/index.mjs} +0 -0
  125. package/esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs +97 -0
  126. package/esm2020/lib/core/utils/decorators-utils.mjs +40 -0
  127. package/{esm2015/lib/core/utils/index.js → esm2020/lib/core/utils/index.mjs} +0 -0
  128. package/{esm2015/lib/core/utils/statics.js → esm2020/lib/core/utils/statics.mjs} +0 -0
  129. package/esm2020/lib/core/utils/utils.mjs +218 -0
  130. package/{esm2015/lib/core/utils/validate-utils.js → esm2020/lib/core/utils/validate-utils.mjs} +12 -12
  131. package/esm2020/lib/core/utils/validators.mjs +193 -0
  132. package/esm2020/lib/monkey-front-core.module.mjs +62 -0
  133. package/{esm2015/monkey-front-core.js → esm2020/monkey-front-core.mjs} +0 -0
  134. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  135. package/fesm2015/{monkey-front-core.js → monkey-front-core.mjs} +921 -630
  136. package/fesm2015/monkey-front-core.mjs.map +1 -0
  137. package/fesm2020/monkey-front-core.mjs +4217 -0
  138. package/fesm2020/monkey-front-core.mjs.map +1 -0
  139. package/lib/components/closed-to-maintenance/closed-to-maintenance.component.d.ts +2 -2
  140. package/lib/components/progress-bar/progress-bar.service.d.ts +1 -1
  141. package/lib/components/version-changed/version-changed.component.d.ts +1 -1
  142. package/lib/core/decorators/index.d.ts +1 -0
  143. package/lib/core/decorators/monkeyecx-charts-decorators.d.ts +1 -0
  144. package/lib/core/directives/index.d.ts +1 -0
  145. package/lib/core/directives/monkeyecx-directives-module.d.ts +7 -6
  146. package/lib/core/directives/monkeyecx-feature-directive.d.ts +17 -0
  147. package/lib/core/directives/monkeyecx-format-upper.d.ts +2 -2
  148. package/lib/core/directives/monkeyecx-security-directive.d.ts +1 -1
  149. package/lib/core/directives/monkeyecx-tooltip-directive.d.ts +7 -6
  150. package/lib/core/interfaces/monkeyecx-service-credentials.d.ts +2 -1
  151. package/lib/core/interfaces/request-download/monkeyecx-request-download.d.ts +1 -1
  152. package/lib/core/interfaces/request-download/monkeyecx-request-item-download.d.ts +1 -1
  153. package/lib/core/interfaces/request-queue/monkeyecx-request-queue.d.ts +1 -1
  154. package/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.d.ts +1 -1
  155. package/lib/core/interfaces/request-upload/monkeyecx-request-upload.d.ts +1 -1
  156. package/lib/core/model/monkeyecx-model.d.ts +1 -1
  157. package/lib/core/pipes/index.d.ts +3 -0
  158. package/lib/core/pipes/monkeyecx-display-first-name.d.ts +0 -1
  159. package/lib/core/pipes/monkeyecx-format-address.d.ts +14 -0
  160. package/lib/core/pipes/monkeyecx-format-currency.d.ts +1 -3
  161. package/lib/core/pipes/monkeyecx-format-date-timelapse.d.ts +1 -2
  162. package/lib/core/pipes/monkeyecx-format-date.d.ts +7 -0
  163. package/lib/core/pipes/monkeyecx-format-document.d.ts +0 -1
  164. package/lib/core/pipes/monkeyecx-format-number.d.ts +3 -4
  165. package/lib/core/pipes/monkeyecx-format-phone.d.ts +7 -0
  166. package/lib/core/pipes/monkeyecx-format-size.d.ts +0 -1
  167. package/lib/core/pipes/monkeyecx-format-type-document.d.ts +3 -4
  168. package/lib/core/pipes/monkeyecx-format-value.d.ts +0 -1
  169. package/lib/core/pipes/monkeyecx-format-zipcode.d.ts +0 -1
  170. package/lib/core/pipes/monkeyecx-pipes.module.d.ts +14 -11
  171. package/lib/core/pipes/monkeyecx-text-truncate.d.ts +0 -1
  172. package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +6 -6
  173. package/lib/core/services/commons/monkeyecx-commons.service.d.ts +27 -27
  174. package/lib/core/services/config/monkeyecx-config.service.d.ts +6 -2
  175. package/lib/core/services/config/monkeyecx-error-config.service.d.ts +8 -0
  176. package/lib/core/services/config/monkeyecx-feature-toggle.service.d.ts +4 -6
  177. package/lib/core/services/config/monkeyecx-i18n-config.service.d.ts +3 -2
  178. package/lib/core/services/config/monkeyecx-maintenance-config.service.d.ts +1 -1
  179. package/lib/core/services/index.d.ts +13 -3
  180. package/lib/core/services/monkeyecx-handling.service.d.ts +8 -5
  181. package/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.d.ts +1 -1
  182. package/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.d.ts +2 -2
  183. package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +2 -2
  184. package/lib/core/services/storage/monkeyecx-cookie-storage.service.d.ts +6 -8
  185. package/lib/core/utils/validate-utils.d.ts +13 -13
  186. package/monkey-front-core-0.0.37.tgz +0 -0
  187. package/package.json +23 -9
  188. package/bundles/monkey-front-core.umd.js +0 -4533
  189. package/bundles/monkey-front-core.umd.js.map +0 -1
  190. package/esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.component.js +0 -32
  191. package/esm2015/lib/components/progress-bar/progress-bar.component.js +0 -28
  192. package/esm2015/lib/components/progress-bar/progress-bar.service.js +0 -49
  193. package/esm2015/lib/components/version-changed/version-changed.component.js +0 -25
  194. package/esm2015/lib/core/decorators/index.js +0 -4
  195. package/esm2015/lib/core/decorators/monkeyecx-decorators.js +0 -108
  196. package/esm2015/lib/core/decorators/monkeyecx-download-decorators.js +0 -24
  197. package/esm2015/lib/core/decorators/monkeyecx-upload-decorators.js +0 -24
  198. package/esm2015/lib/core/directives/monkeyecx-directives-module.js +0 -50
  199. package/esm2015/lib/core/directives/monkeyecx-drag-drop.js +0 -57
  200. package/esm2015/lib/core/directives/monkeyecx-format-upper.js +0 -67
  201. package/esm2015/lib/core/directives/monkeyecx-security-directive.js +0 -67
  202. package/esm2015/lib/core/directives/monkeyecx-tooltip-directive.js +0 -110
  203. package/esm2015/lib/core/interceptors/monkeyecx-http-config-error.interceptor.js +0 -39
  204. package/esm2015/lib/core/interceptors/monkeyecx-http-config-header.interceptor.js +0 -32
  205. package/esm2015/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.js +0 -41
  206. package/esm2015/lib/core/interfaces/monkeyecx-service-credentials.js +0 -2
  207. package/esm2015/lib/core/interfaces/request-download/monkeyecx-request-download.js +0 -2
  208. package/esm2015/lib/core/interfaces/request-queue/monkeyecx-request-queue.js +0 -2
  209. package/esm2015/lib/core/pipes/index.js +0 -13
  210. package/esm2015/lib/core/pipes/monkeyecx-display-first-name.js +0 -22
  211. package/esm2015/lib/core/pipes/monkeyecx-format-currency.js +0 -30
  212. package/esm2015/lib/core/pipes/monkeyecx-format-date-timelapse.js +0 -37
  213. package/esm2015/lib/core/pipes/monkeyecx-format-document.js +0 -22
  214. package/esm2015/lib/core/pipes/monkeyecx-format-number.js +0 -23
  215. package/esm2015/lib/core/pipes/monkeyecx-format-size.js +0 -23
  216. package/esm2015/lib/core/pipes/monkeyecx-format-type-document.js +0 -22
  217. package/esm2015/lib/core/pipes/monkeyecx-format-value.js +0 -22
  218. package/esm2015/lib/core/pipes/monkeyecx-format-zipcode.js +0 -22
  219. package/esm2015/lib/core/pipes/monkeyecx-pipes.module.js +0 -72
  220. package/esm2015/lib/core/pipes/monkeyecx-text-truncate.js +0 -26
  221. package/esm2015/lib/core/services/auth/monkeyecx-authentication.service.js +0 -61
  222. package/esm2015/lib/core/services/commons/monkeyecx-commons.service.js +0 -242
  223. package/esm2015/lib/core/services/config/index.js +0 -9
  224. package/esm2015/lib/core/services/config/monkeyecx-config.service.js +0 -99
  225. package/esm2015/lib/core/services/config/monkeyecx-feature-toggle.service.js +0 -62
  226. package/esm2015/lib/core/services/config/monkeyecx-i18n-config.service.js +0 -66
  227. package/esm2015/lib/core/services/config/monkeyecx-logs-config.service.js +0 -32
  228. package/esm2015/lib/core/services/config/monkeyecx-security-console-config.service.js +0 -42
  229. package/esm2015/lib/core/services/config/monkeyecx-service-worker-config.service.js +0 -54
  230. package/esm2015/lib/core/services/error/monkeyecx-error-handling.service.js +0 -39
  231. package/esm2015/lib/core/services/error/monkeyecx-http-error-handling.service.js +0 -131
  232. package/esm2015/lib/core/services/index.js +0 -14
  233. package/esm2015/lib/core/services/monkeyecx-handling.service.js +0 -44
  234. package/esm2015/lib/core/services/monkeyecx-service.service.js +0 -102
  235. package/esm2015/lib/core/services/request-download/monkeyecx-request-download-handling.service.js +0 -81
  236. package/esm2015/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.js +0 -55
  237. package/esm2015/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.js +0 -30
  238. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.js +0 -97
  239. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.js +0 -106
  240. package/esm2015/lib/core/services/schedules/monkeyecx-request-schedule.service.js +0 -99
  241. package/esm2015/lib/core/services/storage/monkeyecx-cookie-storage.service.js +0 -98
  242. package/esm2015/lib/core/services/storage/monkeyecx-token-storage.service.js +0 -117
  243. package/esm2015/lib/core/specification-search/monkeyecx-specification-search.js +0 -97
  244. package/esm2015/lib/core/utils/decorators-utils.js +0 -37
  245. package/esm2015/lib/core/utils/utils.js +0 -219
  246. package/esm2015/lib/core/utils/validators.js +0 -193
  247. package/esm2015/lib/monkey-front-core.module.js +0 -60
  248. package/fesm2015/monkey-front-core.js.map +0 -1
  249. package/lib/core/services/config/index.d.ts +0 -8
  250. package/monkey-front-core-0.0.33.tgz +0 -0
@@ -0,0 +1,269 @@
1
+ import { __decorate } from "tslib";
2
+ import { NavigationStart } from '@angular/router';
3
+ import { BehaviorSubject, throwError } from 'rxjs';
4
+ import { filter, take, takeWhile } from 'rxjs/operators';
5
+ import { MonkeyEcxRequestPagedHandling } from '../request-paged/monkeyecx-request-request-paged-handling';
6
+ import { MonkeyEcxUtils } from '../../utils/utils';
7
+ import { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';
8
+ export class MonkeyEcxCommonsService {
9
+ constructor(monkeyecxService, tokenStorage, otherArgs) {
10
+ this.monkeyecxService = monkeyecxService;
11
+ this.tokenStorage = tokenStorage;
12
+ this.otherArgs = otherArgs;
13
+ this.flagValidator = true;
14
+ this.__error = null;
15
+ this.__handledError = null;
16
+ this.__page = null;
17
+ this.__requestPaged = null;
18
+ this.__onSearchChanged$ = new BehaviorSubject(null);
19
+ this.__onDataChanged$ = new BehaviorSubject(null);
20
+ this.__onLoadingInProgress$ = new BehaviorSubject(false);
21
+ this.__onDataDeleted$ = new BehaviorSubject(null);
22
+ this.__onErrorChanged$ = new BehaviorSubject(null);
23
+ this.__onGovernmentIdDataChanged$ = new BehaviorSubject(null);
24
+ this.__onZipCodeDataChanged$ = new BehaviorSubject(null);
25
+ this.__oni18nDataChanged$ = new BehaviorSubject(null);
26
+ this.__onDoSearch$ = new BehaviorSubject({});
27
+ this.__onDoPagination$ = new BehaviorSubject(null);
28
+ this.__tokenCredentials = null;
29
+ this.__schedule = null;
30
+ this.handleInit();
31
+ }
32
+ handleInit() {
33
+ if (this.tokenStorage) {
34
+ this.__tokenCredentials = this.tokenStorage.getToken();
35
+ }
36
+ if (this.otherArgs?.router) {
37
+ const { clearOnChangeRoute } = this.otherArgs?.schedule?.options || {
38
+ clearOnChangeRoute: false
39
+ };
40
+ this.otherArgs.router.events
41
+ .pipe(filter((event) => {
42
+ return event instanceof NavigationStart;
43
+ }), take(1))
44
+ .subscribe(() => {
45
+ if (this.__schedule && clearOnChangeRoute) {
46
+ this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);
47
+ this.__schedule = null;
48
+ }
49
+ });
50
+ }
51
+ }
52
+ getRole() {
53
+ const { __tokenCredentials } = this;
54
+ if (!__tokenCredentials)
55
+ return '';
56
+ if (__tokenCredentials?.programAdmin === 'true') {
57
+ return 'PROGRAM_ADMIN';
58
+ }
59
+ return __tokenCredentials?.role || '';
60
+ }
61
+ allowedSecurityAccess(args) {
62
+ if (!args)
63
+ return true;
64
+ const roles = args?.roles;
65
+ const byExclusion = args?.byExclusion;
66
+ const found = roles?.indexOf(this.getRole());
67
+ let ret = false;
68
+ if (byExclusion) {
69
+ ret = true;
70
+ if (found > -1) {
71
+ ret = false;
72
+ }
73
+ }
74
+ else {
75
+ ret = false;
76
+ if (found > -1) {
77
+ ret = true;
78
+ }
79
+ }
80
+ if (!roles || roles.length === 0 || this.getRole() === 'PROGRAM_ADMIN') {
81
+ ret = true;
82
+ }
83
+ return ret;
84
+ }
85
+ navigateToErrorPage(statusCode, router) {
86
+ const routes = {
87
+ 403: 'forbidden',
88
+ 404: 'not-found',
89
+ 500: 'service-problems',
90
+ 503: 'service-problems'
91
+ };
92
+ if (!router) {
93
+ console.error('Router must be declared');
94
+ }
95
+ else {
96
+ router?.navigate([`/app/pages/${routes[statusCode]}`.toLowerCase()], {
97
+ skipLocationChange: true
98
+ });
99
+ }
100
+ }
101
+ setPage(requestPaged) {
102
+ this.__requestPaged = {
103
+ ...this.__requestPaged,
104
+ ...requestPaged
105
+ };
106
+ return this;
107
+ }
108
+ nextPage() {
109
+ if (!this.__requestPaged)
110
+ return false;
111
+ const { page } = this.__requestPaged;
112
+ const { number, totalPages } = page;
113
+ if (number < totalPages) {
114
+ this.__requestPaged = {
115
+ ...this.__requestPaged,
116
+ page: {
117
+ ...page,
118
+ number: number + 1
119
+ }
120
+ };
121
+ return true;
122
+ }
123
+ return false;
124
+ }
125
+ getEmbeddedData(data, field) {
126
+ const { _embedded } = data;
127
+ return _embedded ? _embedded[field] : null;
128
+ }
129
+ getNormalizedUrl(url) {
130
+ const { __requestPaged } = this;
131
+ return new MonkeyEcxRequestPagedHandling(url, __requestPaged || {}).getRequestWithPagedParams();
132
+ }
133
+ clear(clearData) {
134
+ if (clearData) {
135
+ this.__data = null;
136
+ this.__requestPaged = null;
137
+ this.__params = null;
138
+ this.__page = null;
139
+ if (this.__schedule) {
140
+ const { queue } = this.__schedule;
141
+ if (queue) {
142
+ this.otherArgs?.queue?.service?.removeQueueItem(queue);
143
+ }
144
+ this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);
145
+ this.__schedule = null;
146
+ }
147
+ }
148
+ this.__error = null;
149
+ this.__handledError = null;
150
+ this.flagValidator = false;
151
+ }
152
+ resolve(route, state, otherArgs) {
153
+ this.__data = null;
154
+ this.__page = null;
155
+ this.__requestPaged = null;
156
+ this.flagValidator = true;
157
+ if (this.tokenStorage) {
158
+ this.__tokenCredentials = this.tokenStorage.getToken();
159
+ }
160
+ if (this.allowedSecurityAccess(otherArgs?.security)) {
161
+ //Object.entries(this).forEach(([key, value]) => {
162
+ // if (value instanceof BehaviorSubject) {
163
+ // Object.defineProperty(this, key, new BehaviorSubject(null));
164
+ // }
165
+ //});
166
+ if (this.__schedule) {
167
+ this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);
168
+ this.__schedule = null;
169
+ }
170
+ const { __requestPaged } = this;
171
+ if (!__requestPaged) {
172
+ this.setPage({
173
+ page: {
174
+ number: 0,
175
+ size: 10
176
+ }
177
+ });
178
+ }
179
+ if (otherArgs?.callbackPagination) {
180
+ this.__onDoPagination$.subscribe(() => {
181
+ if (!this.__onLoadingInProgress$.value) {
182
+ const hasMorePages = this.setPage({
183
+ page: {
184
+ ...this.__page
185
+ }
186
+ }).nextPage();
187
+ if (hasMorePages && otherArgs?.callbackPagination) {
188
+ otherArgs.callbackPagination();
189
+ }
190
+ }
191
+ });
192
+ }
193
+ if (otherArgs?.translateOptions) {
194
+ const { service, keys } = otherArgs?.translateOptions;
195
+ this.geti18n(service, keys || '');
196
+ }
197
+ if (otherArgs?.feature) {
198
+ const { flag, service } = otherArgs.feature;
199
+ service.onFlags
200
+ .pipe(takeWhile(() => {
201
+ return this.flagValidator;
202
+ }))
203
+ .subscribe((val) => {
204
+ if (val) {
205
+ const hasFlag = service.getFlag(flag);
206
+ if (MonkeyEcxUtils.persistNullEmptyUndefined(hasFlag)) {
207
+ if (!hasFlag) {
208
+ this.navigateToErrorPage(404, otherArgs?.router);
209
+ return;
210
+ }
211
+ }
212
+ otherArgs?.callbackMain();
213
+ }
214
+ });
215
+ }
216
+ else {
217
+ otherArgs?.callbackMain();
218
+ }
219
+ }
220
+ else {
221
+ this.navigateToErrorPage(403, otherArgs?.router);
222
+ }
223
+ }
224
+ getHTTPHeaderApplicationPDF() {
225
+ return {
226
+ observe: 'response',
227
+ responseType: 'blob'
228
+ };
229
+ }
230
+ genericMethod(link, data, callback) {
231
+ const { href, type = 'get' } = link;
232
+ let func = null;
233
+ const tp = `${type}`.toLowerCase();
234
+ if (tp === 'get') {
235
+ func = this.monkeyecxService?.get;
236
+ }
237
+ else if (tp === 'post') {
238
+ func = this.monkeyecxService?.post;
239
+ }
240
+ else if (tp === 'put') {
241
+ func = this.monkeyecxService?.put;
242
+ }
243
+ else if (tp === 'delete') {
244
+ func = this.monkeyecxService?.delete;
245
+ }
246
+ func?.(`${href}`, data)?.subscribe((resp) => {
247
+ if (callback)
248
+ callback();
249
+ }, (err) => {
250
+ throwError(err);
251
+ });
252
+ }
253
+ geti18n(translateService, keys) {
254
+ translateService
255
+ .getStreamOnTranslationChange(keys)
256
+ .subscribe((translations) => {
257
+ this.__i18n = translations;
258
+ this.__oni18nDataChanged$.next(null);
259
+ });
260
+ }
261
+ }
262
+ __decorate([
263
+ MonkeyEcxCoreService({
264
+ requestInProgress: {
265
+ showProgress: true
266
+ }
267
+ })
268
+ ], MonkeyEcxCommonsService.prototype, "genericMethod", null);
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbW1vbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tb25zL21vbmtleWVjeC1jb21tb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxlQUFlLEVBR2hCLE1BQU0saUJBQWlCLENBQUM7QUFHekIsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFhekQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFMUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzdFLE1BQU0sT0FBTyx1QkFBdUI7SUE2Q2xDLFlBQ1MsZ0JBQW1DLEVBQ25DLFlBQTJDLEVBQzNDLFNBV047UUFiTSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUErQjtRQUMzQyxjQUFTLEdBQVQsU0FBUyxDQVdmO1FBMURLLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBTTdCLFlBQU8sR0FBa0MsSUFBSSxDQUFDO1FBRTlDLG1CQUFjLEdBQXlDLElBQUksQ0FBQztRQUU1RCxXQUFNLEdBQWtDLElBQUksQ0FBQztRQUk3QyxtQkFBYyxHQUFpQyxJQUFJLENBQUM7UUFFcEQsdUJBQWtCLEdBQXlCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJFLHFCQUFnQixHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRSwyQkFBc0Is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QUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO1NBQ3RDO1FBRUQsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLENBQ2hDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDWixJQUFJLFFBQVE7Z0JBQUUsUUFBUSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxFQUNELENBQUMsR0FBc0IsRUFBRSxFQUFFO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsZ0JBQWtDLEVBQUUsSUFBdUI7UUFDakUsZ0JBQWdCO2FBQ2IsNEJBQTRCLENBQUMsSUFBSSxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxDQUFDLFlBQWlCLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztZQUMzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNGO0FBakNDO0lBTEMsb0JBQW9CLENBQUM7UUFDcEIsaUJBQWlCLEVBQUU7WUFDakIsWUFBWSxFQUFFLElBQUk7U0FDbkI7S0FDRixDQUFDOzREQXdCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIE5hdmlnYXRpb25TdGFydCxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90XG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlLCB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBNb25rZXlFY3hFcnJvclJlc3BvbnNlLFxuICBNb25rZXlFY3hIYW5kbGVkRXJyb3JSZXNwb25zZSxcbiAgTW9ua2V5RWN4UmVxdWVzdFBhZ2VkLFxuICBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUsXG4gIE1vbmtleUVjeFJlc3BvbnNlUGFnZWQsXG4gIE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMsXG4gIE1vbmtleUVjeFRyYW5zbGF0ZU9wdGlvbnNcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS9tb25rZXllY3gtdG9rZW4tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZVNlcnZpY2UgfSBmcm9tICcuLi9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hSZXF1ZXN0UXVldWVIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuLi9yZXF1ZXN0LXF1ZXVlL21vbmtleWVjeC1yZXF1ZXN0LXF1ZXVlLWhhbmRsaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFBhZ2VkSGFuZGxpbmcgfSBmcm9tICcuLi9yZXF1ZXN0LXBhZ2VkL21vbmtleWVjeC1yZXF1ZXN0LXJlcXVlc3QtcGFnZWQtaGFuZGxpbmcnO1xuaW1wb3J0IHsgTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvbW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb3JlU2VydmljZSB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvbW9ua2V5ZWN4LWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1zZXJ2aWNlLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIGZsYWdWYWxpZGF0b3IgPSB0cnVlO1xuXG4gIF9fZGF0YTogYW55IHwgYW55W107XG5cbiAgX19wYXJhbXM6IGFueSB8IGFueVtdO1xuXG4gIF9fZXJyb3I6IE1vbmtleUVjeEVycm9yUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBfX2hhbmRsZWRFcnJvcjogTW9ua2V5RWN4SGFuZGxlZEVycm9yUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBfX3BhZ2U6IE1vbmtleUVjeFJlc3BvbnNlUGFnZWQgfCBudWxsID0gbnVsbDtcblxuICBfX3NlYXJjaDogYW55O1xuXG4gIF9fcmVxdWVzdFBhZ2VkOiBNb25rZXlFY3hSZXF1ZXN0UGFnZWQgfCBudWxsID0gbnVsbDtcblxuICBfX29uU2VhcmNoQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkxvYWRpbmdJblByb2dyZXNzJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBfX29uRGF0YURlbGV0ZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkVycm9yQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uR292ZXJubWVudElkRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgbnVsbFxuICApO1xuXG4gIF9fb25aaXBDb2RlRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbmkxOG5EYXRhQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uRG9TZWFyY2gkOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4UmVxdWVzdFBhZ2VkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuXG4gIF9fb25Eb1BhZ2luYXRpb24kOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX190b2tlbkNyZWRlbnRpYWxzOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHwgbnVsbCA9IG51bGw7XG5cbiAgX19zY2hlZHVsZTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlIHwgbnVsbCA9IG51bGw7XG5cbiAgX19pMThuOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1vbmtleWVjeFNlcnZpY2U/OiBNb25rZXlFY3hTZXJ2aWNlLFxuICAgIHB1YmxpYyB0b2tlblN0b3JhZ2U/OiBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBvdGhlckFyZ3M/OiB7XG4gICAgICByb3V0ZXI/OiBSb3V0ZXI7XG4gICAgICBzY2hlZHVsZT86IHtcbiAgICAgICAgc2VydmljZTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlU2VydmljZTtcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICBjbGVhck9uQ2hhbmdlUm91dGU/OiBib29sZWFuO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICAgIHF1ZXVlPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hSZXF1ZXN0UXVldWVIYW5kbGluZ1NlcnZpY2U7XG4gICAgICB9O1xuICAgIH1cbiAgKSB7XG4gICAgdGhpcy5oYW5kbGVJbml0KCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUluaXQoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5TdG9yYWdlKSB7XG4gICAgICB0aGlzLl9fdG9rZW5DcmVkZW50aWFscyA9IHRoaXMudG9rZW5TdG9yYWdlLmdldFRva2VuKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3RoZXJBcmdzPy5yb3V0ZXIpIHtcbiAgICAgIGNvbnN0IHsgY2xlYXJPbkNoYW5nZVJvdXRlIH0gPSB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/Lm9wdGlvbnMgfHwge1xuICAgICAgICBjbGVhck9uQ2hhbmdlUm91dGU6IGZhbHNlXG4gICAgICB9O1xuICAgICAgdGhpcy5vdGhlckFyZ3Mucm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlKDEpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX19zY2hlZHVsZSAmJiBjbGVhck9uQ2hhbmdlUm91dGUpIHtcbiAgICAgICAgICAgIHRoaXMub3RoZXJBcmdzPy5zY2hlZHVsZT8uc2VydmljZT8ucmVtb3ZlU2NoZWR1bGUodGhpcy5fX3NjaGVkdWxlKTtcbiAgICAgICAgICAgIHRoaXMuX19zY2hlZHVsZSA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFJvbGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IF9fdG9rZW5DcmVkZW50aWFscyB9ID0gdGhpcztcblxuICAgIGlmICghX190b2tlbkNyZWRlbnRpYWxzKSByZXR1cm4gJyc7XG5cbiAgICBpZiAoX190b2tlbkNyZWRlbnRpYWxzPy5wcm9ncmFtQWRtaW4gPT09ICd0cnVlJykge1xuICAgICAgcmV0dXJuICdQUk9HUkFNX0FETUlOJztcbiAgICB9XG5cbiAgICByZXR1cm4gX190b2tlbkNyZWRlbnRpYWxzPy5yb2xlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd2VkU2VjdXJpdHlBY2Nlc3MoYXJnczogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFhcmdzKSByZXR1cm4gdHJ1ZTtcbiAgICBjb25zdCByb2xlcyA9IGFyZ3M/LnJvbGVzO1xuICAgIGNvbnN0IGJ5RXhjbHVzaW9uID0gYXJncz8uYnlFeGNsdXNpb247XG4gICAgY29uc3QgZm91bmQgPSByb2xlcz8uaW5kZXhPZih0aGlzLmdldFJvbGUoKSk7XG4gICAgbGV0IHJldCA9IGZhbHNlO1xuICAgIGlmIChieUV4Y2x1c2lvbikge1xuICAgICAgcmV0ID0gdHJ1ZTtcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIHJldCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXQgPSBmYWxzZTtcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIHJldCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghcm9sZXMgfHwgcm9sZXMubGVuZ3RoID09PSAwIHx8IHRoaXMuZ2V0Um9sZSgpID09PSAnUFJPR1JBTV9BRE1JTicpIHsgcmV0ID0gdHJ1ZTsgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlVG9FcnJvclBhZ2Uoc3RhdHVzQ29kZTogbnVtYmVyLCByb3V0ZXI/OiBSb3V0ZXIpIHtcbiAgICBjb25zdCByb3V0ZXM6IGFueSA9IHtcbiAgICAgIDQwMzogJ2ZvcmJpZGRlbicsXG4gICAgICA0MDQ6ICdub3QtZm91bmQnLFxuICAgICAgNTAwOiAnc2VydmljZS1wcm9ibGVtcycsXG4gICAgICA1MDM6ICdzZXJ2aWNlLXByb2JsZW1zJ1xuICAgIH07XG5cbiAgICBpZiAoIXJvdXRlcikge1xuICAgICAgY29uc29sZS5lcnJvcignUm91dGVyIG11c3QgYmUgZGVjbGFyZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm91dGVyPy5uYXZpZ2F0ZShbYC9hcHAvcGFnZXMvJHtyb3V0ZXNbc3RhdHVzQ29kZV19YC50b0xvd2VyQ2FzZSgpXSwge1xuICAgICAgICBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldFBhZ2UocmVxdWVzdFBhZ2VkOiBNb25rZXlFY3hSZXF1ZXN0UGFnZWQpIHtcbiAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0ge1xuICAgICAgLi4udGhpcy5fX3JlcXVlc3RQYWdlZCxcbiAgICAgIC4uLnJlcXVlc3RQYWdlZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBuZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX19yZXF1ZXN0UGFnZWQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCB7IHBhZ2UgfSA9IHRoaXMuX19yZXF1ZXN0UGFnZWQgYXMgYW55O1xuICAgIGNvbnN0IHsgbnVtYmVyLCB0b3RhbFBhZ2VzIH0gPSBwYWdlO1xuICAgIGlmIChudW1iZXIgPCB0b3RhbFBhZ2VzKSB7XG4gICAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0ge1xuICAgICAgICAuLi50aGlzLl9fcmVxdWVzdFBhZ2VkLFxuICAgICAgICBwYWdlOiB7XG4gICAgICAgICAgLi4ucGFnZSxcbiAgICAgICAgICBudW1iZXI6IG51bWJlciArIDFcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRFbWJlZGRlZERhdGEoZGF0YTogYW55LCBmaWVsZDogc3RyaW5nKTogYW55W10gfCBhbnkge1xuICAgIGNvbnN0IHsgX2VtYmVkZGVkIH0gPSBkYXRhO1xuICAgIHJldHVybiBfZW1iZWRkZWQgPyBfZW1iZWRkZWRbZmllbGRdIDogbnVsbDtcbiAgfVxuXG4gIGdldE5vcm1hbGl6ZWRVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgX19yZXF1ZXN0UGFnZWQgfSA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBNb25rZXlFY3hSZXF1ZXN0UGFnZWRIYW5kbGluZyhcbiAgICAgIHVybCxcbiAgICAgIF9fcmVxdWVzdFBhZ2VkIHx8IHt9XG4gICAgKS5nZXRSZXF1ZXN0V2l0aFBhZ2VkUGFyYW1zKCk7XG4gIH1cblxuICBjbGVhcihjbGVhckRhdGE6IGJvb2xlYW4pIHtcbiAgICBpZiAoY2xlYXJEYXRhKSB7XG4gICAgICB0aGlzLl9fZGF0YSA9IG51bGw7XG4gICAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0gbnVsbDtcbiAgICAgIHRoaXMuX19wYXJhbXMgPSBudWxsO1xuICAgICAgdGhpcy5fX3BhZ2UgPSBudWxsO1xuXG4gICAgICBpZiAodGhpcy5fX3NjaGVkdWxlKSB7XG4gICAgICAgIGNvbnN0IHsgcXVldWUgfSA9IHRoaXMuX19zY2hlZHVsZTtcbiAgICAgICAgaWYgKHF1ZXVlKSB7XG4gICAgICAgICAgdGhpcy5vdGhlckFyZ3M/LnF1ZXVlPy5zZXJ2aWNlPy5yZW1vdmVRdWV1ZUl0ZW0ocXVldWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3RoZXJBcmdzPy5zY2hlZHVsZT8uc2VydmljZT8ucmVtb3ZlU2NoZWR1bGUodGhpcy5fX3NjaGVkdWxlKTtcbiAgICAgICAgdGhpcy5fX3NjaGVkdWxlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fX2Vycm9yID0gbnVsbDtcbiAgICB0aGlzLl9faGFuZGxlZEVycm9yID0gbnVsbDtcbiAgICB0aGlzLmZsYWdWYWxpZGF0b3IgPSBmYWxzZTtcbiAgfVxuXG4gIHJlc29sdmUoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsLFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90IHwgbnVsbCxcbiAgICBvdGhlckFyZ3M/OiB7XG4gICAgICBjYWxsYmFja01haW46IEZ1bmN0aW9uO1xuICAgICAgcm91dGVyPzogUm91dGVyO1xuICAgICAgc2VjdXJpdHk/OiB7XG4gICAgICAgIHJvbGVzOiBzdHJpbmdbXTtcbiAgICAgICAgYnlFeGNsdXNpb24/OiBib29sZWFuO1xuICAgICAgfTtcbiAgICAgIGNhbGxiYWNrUGFnaW5hdGlvbj86IEZ1bmN0aW9uO1xuICAgICAgdHJhbnNsYXRlT3B0aW9ucz86IE1vbmtleUVjeFRyYW5zbGF0ZU9wdGlvbnM7XG4gICAgICBmZWF0dXJlPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZTtcbiAgICAgICAgZmxhZzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9XG4gICkge1xuICAgIHRoaXMuX19kYXRhID0gbnVsbDtcbiAgICB0aGlzLl9fcGFnZSA9IG51bGw7XG4gICAgdGhpcy5fX3JlcXVlc3RQYWdlZCA9IG51bGw7XG4gICAgdGhpcy5mbGFnVmFsaWRhdG9yID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLnRva2VuU3RvcmFnZSkge1xuICAgICAgdGhpcy5fX3Rva2VuQ3JlZGVudGlhbHMgPSB0aGlzLnRva2VuU3RvcmFnZS5nZXRUb2tlbigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFsbG93ZWRTZWN1cml0eUFjY2VzcyhvdGhlckFyZ3M/LnNlY3VyaXR5KSkge1xuICAgICAgLy9PYmplY3QuZW50cmllcyh0aGlzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIC8vICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCZWhhdmlvclN1YmplY3QpIHtcbiAgICAgIC8vICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBrZXksIG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCkpO1xuICAgICAgLy8gIH1cbiAgICAgIC8vfSk7XG5cbiAgICAgIGlmICh0aGlzLl9fc2NoZWR1bGUpIHtcbiAgICAgICAgdGhpcy5vdGhlckFyZ3M/LnNjaGVkdWxlPy5zZXJ2aWNlPy5yZW1vdmVTY2hlZHVsZSh0aGlzLl9fc2NoZWR1bGUpO1xuICAgICAgICB0aGlzLl9fc2NoZWR1bGUgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IF9fcmVxdWVzdFBhZ2VkIH0gPSB0aGlzO1xuICAgICAgaWYgKCFfX3JlcXVlc3RQYWdlZCkge1xuICAgICAgICB0aGlzLnNldFBhZ2Uoe1xuICAgICAgICAgIHBhZ2U6IHtcbiAgICAgICAgICAgIG51bWJlcjogMCxcbiAgICAgICAgICAgIHNpemU6IDEwXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG90aGVyQXJncz8uY2FsbGJhY2tQYWdpbmF0aW9uKSB7XG4gICAgICAgIHRoaXMuX19vbkRvUGFnaW5hdGlvbiQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuX19vbkxvYWRpbmdJblByb2dyZXNzJC52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgaGFzTW9yZVBhZ2VzID0gdGhpcy5zZXRQYWdlKHtcbiAgICAgICAgICAgICAgcGFnZToge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuX19wYWdlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLm5leHRQYWdlKCk7XG4gICAgICAgICAgICBpZiAoaGFzTW9yZVBhZ2VzICYmIG90aGVyQXJncz8uY2FsbGJhY2tQYWdpbmF0aW9uKSB7IG90aGVyQXJncy5jYWxsYmFja1BhZ2luYXRpb24oKTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvdGhlckFyZ3M/LnRyYW5zbGF0ZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBzZXJ2aWNlLCBrZXlzIH0gPSBvdGhlckFyZ3M/LnRyYW5zbGF0ZU9wdGlvbnM7XG4gICAgICAgIHRoaXMuZ2V0aTE4bihzZXJ2aWNlLCBrZXlzIHx8ICcnKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG90aGVyQXJncz8uZmVhdHVyZSkge1xuICAgICAgICBjb25zdCB7IGZsYWcsIHNlcnZpY2UgfSA9IG90aGVyQXJncy5mZWF0dXJlO1xuXG4gICAgICAgIHNlcnZpY2Uub25GbGFnc1xuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmxhZ1ZhbGlkYXRvcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbDogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgICAgICBjb25zdCBoYXNGbGFnID0gc2VydmljZS5nZXRGbGFnKGZsYWcpO1xuXG4gICAgICAgICAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKGhhc0ZsYWcpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNGbGFnKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9FcnJvclBhZ2UoNDA0LCBvdGhlckFyZ3M/LnJvdXRlcik7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG90aGVyQXJncz8uY2FsbGJhY2tNYWluKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdGhlckFyZ3M/LmNhbGxiYWNrTWFpbigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9FcnJvclBhZ2UoNDAzLCBvdGhlckFyZ3M/LnJvdXRlcik7XG4gICAgfVxuICB9XG5cbiAgZ2V0SFRUUEhlYWRlckFwcGxpY2F0aW9uUERGKCk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgIH07XG4gIH1cblxuICBATW9ua2V5RWN4Q29yZVNlcnZpY2Uoe1xuICAgIHJlcXVlc3RJblByb2dyZXNzOiB7XG4gICAgICBzaG93UHJvZ3Jlc3M6IHRydWVcbiAgICB9XG4gIH0pXG4gIGdlbmVyaWNNZXRob2QobGluazogYW55LCBkYXRhPzogYW55LCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XG4gICAgY29uc3QgeyBocmVmLCB0eXBlID0gJ2dldCcgfSA9IGxpbms7XG5cbiAgICBsZXQgZnVuYyA9IG51bGw7XG4gICAgY29uc3QgdHAgPSBgJHt0eXBlfWAudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAodHAgPT09ICdnZXQnKSB7XG4gICAgICBmdW5jID0gdGhpcy5tb25rZXllY3hTZXJ2aWNlPy5nZXQ7XG4gICAgfWVsc2UgaWYgKHRwID09PSAncG9zdCcpIHtcbiAgICAgIGZ1bmMgPSB0aGlzLm1vbmtleWVjeFNlcnZpY2U/LnBvc3Q7XG4gICAgfWVsc2UgaWYgKHRwID09PSAncHV0Jykge1xuICAgICAgZnVuYyA9IHRoaXMubW9ua2V5ZWN4U2VydmljZT8ucHV0O1xuICAgIH1lbHNlIGlmICh0cCA9PT0gJ2RlbGV0ZScpIHtcbiAgICAgIGZ1bmMgPSB0aGlzLm1vbmtleWVjeFNlcnZpY2U/LmRlbGV0ZTtcbiAgICB9XG5cbiAgICBmdW5jPy4oYCR7aHJlZn1gLCBkYXRhKT8uc3Vic2NyaWJlKFxuICAgICAgKHJlc3A6IGFueSkgPT4ge1xuICAgICAgICBpZiAoY2FsbGJhY2spIGNhbGxiYWNrKCk7XG4gICAgICB9LFxuICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhyb3dFcnJvcihlcnIpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBnZXRpMThuKHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIGtleXM6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdHJhbnNsYXRlU2VydmljZVxuICAgICAgLmdldFN0cmVhbU9uVHJhbnNsYXRpb25DaGFuZ2Uoa2V5cylcbiAgICAgIC5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuX19pMThuID0gdHJhbnNsYXRpb25zO1xuICAgICAgICB0aGlzLl9fb25pMThuRGF0YUNoYW5nZWQkLm5leHQobnVsbCk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
@@ -15,14 +15,14 @@ export class MonkeyEcxConfigModule {
15
15
  };
16
16
  }
17
17
  }
18
- MonkeyEcxConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyEcxConfigModule, deps: [{ token: MonkeyEcxConfigModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
19
- MonkeyEcxConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyEcxConfigModule });
20
- MonkeyEcxConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyEcxConfigModule });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: MonkeyEcxConfigModule, decorators: [{
18
+ MonkeyEcxConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule, deps: [{ token: MonkeyEcxConfigModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
19
+ MonkeyEcxConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule });
20
+ MonkeyEcxConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigModule, decorators: [{
22
22
  type: NgModule
23
23
  }], ctorParameters: function () { return [{ type: MonkeyEcxConfigModule, decorators: [{
24
24
  type: Optional
25
25
  }, {
26
26
  type: SkipSelf
27
27
  }] }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1jb25maWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQjtBQUMzQixPQUFPLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUdwRSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBR0UsWUFBbUM7UUFFbkMsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1NBQzlGO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7U0FDcEMsQ0FBQztJQUNKLENBQUM7O21IQWhCVSxxQkFBcUIsa0JBSWhCLHFCQUFxQjtvSEFKMUIscUJBQXFCO29IQUFyQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFEakMsUUFBUTswREFLUyxxQkFBcUI7MEJBRmxDLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbmRlbnQgKi9cbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1jb25maWcuc2VydmljZSc7XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4Q29uZmlnTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBAU2tpcFNlbGYoKVxuICAgIHBhcmVudE1vZHVsZTogTW9ua2V5RWN4Q29uZmlnTW9kdWxlXG4gICkge1xuICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTW9ua2V5RWN4Q29uZmlnTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5IScpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TW9ua2V5RWN4Q29uZmlnTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBNb25rZXlFY3hDb25maWdNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtNb25rZXlFY3hDb25maWdTZXJ2aWNlXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1jb25maWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQjtBQUMzQixPQUFPLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUdwRSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBR0UsWUFBbUM7UUFFbkMsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1NBQzlGO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7U0FDcEMsQ0FBQztJQUNKLENBQUM7O2tIQWhCVSxxQkFBcUIsa0JBSWhCLHFCQUFxQjttSEFKMUIscUJBQXFCO21IQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsUUFBUTswREFLUyxxQkFBcUI7MEJBRmxDLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbmRlbnQgKi9cbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1jb25maWcuc2VydmljZSc7XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4Q29uZmlnTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBAU2tpcFNlbGYoKVxuICAgIHBhcmVudE1vZHVsZTogTW9ua2V5RWN4Q29uZmlnTW9kdWxlXG4gICkge1xuICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTW9ua2V5RWN4Q29uZmlnTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5IScpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TW9ua2V5RWN4Q29uZmlnTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBNb25rZXlFY3hDb25maWdNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtNb25rZXlFY3hDb25maWdTZXJ2aWNlXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,108 @@
1
+ import { __decorate } from "tslib";
2
+ /* eslint-disable no-console */
3
+ import { Injectable } from '@angular/core';
4
+ import { throwError, BehaviorSubject } from 'rxjs';
5
+ import { MonkeyUtils } from 'monkey-style-guide';
6
+ import { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';
7
+ import { MonkeyEcxCommonsService } from '../commons/monkeyecx-commons.service';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../monkeyecx-service.service";
10
+ import * as i2 from "./monkeyecx-i18n-config.service";
11
+ import * as i3 from "./monkeyecx-logs-config.service";
12
+ import * as i4 from "monkey-style-guide";
13
+ import * as i5 from "./monkeyecx-service-worker-config.service";
14
+ import * as i6 from "./monkeyecx-security-console-config.service";
15
+ import * as i7 from "./monkeyecx-maintenance-config.service";
16
+ import * as i8 from "./monkeyecx-error-config.service";
17
+ import * as i9 from "./monkeyecx-feature-toggle.service";
18
+ export class MonkeyEcxConfigService extends MonkeyEcxCommonsService {
19
+ constructor(monkeyecxService, monkeyecxi18nConfigService, monkeyecxLogsConfigService, monkeyStyleGuideSettingsService, monkeyecxServiceWorkerConfigService, monkeyecxSecurityConsoleConfigService, monkeyecxMaintenanceConfigService, monkeyecxErrorConfigService, monkeyEcxFeatureToggleService) {
20
+ super(monkeyecxService);
21
+ this.monkeyecxi18nConfigService = monkeyecxi18nConfigService;
22
+ this.monkeyecxLogsConfigService = monkeyecxLogsConfigService;
23
+ this.monkeyStyleGuideSettingsService = monkeyStyleGuideSettingsService;
24
+ this.monkeyecxServiceWorkerConfigService = monkeyecxServiceWorkerConfigService;
25
+ this.monkeyecxSecurityConsoleConfigService = monkeyecxSecurityConsoleConfigService;
26
+ this.monkeyecxMaintenanceConfigService = monkeyecxMaintenanceConfigService;
27
+ this.monkeyecxErrorConfigService = monkeyecxErrorConfigService;
28
+ this.monkeyEcxFeatureToggleService = monkeyEcxFeatureToggleService;
29
+ this.configSubject$ = new BehaviorSubject({});
30
+ this.configBoostrapSubject$ = new BehaviorSubject({});
31
+ }
32
+ internalValidations(...args) {
33
+ const { monkeyecxServiceWorkerConfigService, monkeyecxSecurityConsoleConfigService, monkeyecxMaintenanceConfigService } = this;
34
+ const configBoostrap = args[0];
35
+ const callback = args[1];
36
+ monkeyecxSecurityConsoleConfigService.apply();
37
+ monkeyecxServiceWorkerConfigService.apply(configBoostrap);
38
+ monkeyecxMaintenanceConfigService.apply(configBoostrap);
39
+ console.log('configBoostrap');
40
+ console.log(configBoostrap);
41
+ callback(configBoostrap);
42
+ }
43
+ getWhiteLabelSettings(monkeyecxCode, configBoostrap, callback, environment, identifyCode) {
44
+ const { monkeyecxService, monkeyecxi18nConfigService, configSubject$, monkeyStyleGuideSettingsService, monkeyecxLogsConfigService, monkeyecxErrorConfigService, monkeyEcxFeatureToggleService, internalValidations } = this;
45
+ const url = `${environment.urlAssets}`;
46
+ monkeyecxService?.get(`${url}/${monkeyecxCode.toLowerCase()}/white-label.json`)?.subscribe((config) => {
47
+ console.log('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
48
+ console.log(config);
49
+ console.log(`${url}/${monkeyecxCode.toLowerCase()}/monkey-style-guide-settings.json`);
50
+ console.log('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
51
+ monkeyecxi18nConfigService.apply(config, environment);
52
+ monkeyecxLogsConfigService.apply(config, configBoostrap, environment, identifyCode);
53
+ monkeyEcxFeatureToggleService.apply(configSubject$, environment);
54
+ monkeyStyleGuideSettingsService.boostrap(`${url}/${monkeyecxCode.toLowerCase()}/monkey-style-guide-settings.json`, internalValidations.bind(this, configBoostrap, callback, environment));
55
+ configSubject$.next(config);
56
+ }, (err) => {
57
+ monkeyecxErrorConfigService.apply('theme');
58
+ console.error('Program Configuration not found!');
59
+ throwError(err);
60
+ });
61
+ }
62
+ init(callback, environment, identifyCode, monkeyecxCode) {
63
+ const { monkeyecxService, configBoostrapSubject$, monkeyecxErrorConfigService } = this;
64
+ monkeyecxService?.get(`${environment.boostrapAssets}?t=${MonkeyUtils.getRandomString(30)}`, {
65
+ observe: 'response'
66
+ })?.subscribe((resp) => {
67
+ const { headers, body } = resp;
68
+ const monkeyCode = headers.get('monkey-code') || monkeyecxCode;
69
+ if (monkeyCode) {
70
+ this.getWhiteLabelSettings(monkeyCode, body, callback, environment, identifyCode);
71
+ configBoostrapSubject$.next(body);
72
+ }
73
+ else {
74
+ monkeyecxErrorConfigService.apply('theme');
75
+ console.error(`Boostrap ${monkeyCode} Configuration not found!`);
76
+ }
77
+ }, (err) => {
78
+ monkeyecxErrorConfigService.apply('theme');
79
+ console.error('Boostrap Configuration not found!');
80
+ throwError(err);
81
+ });
82
+ }
83
+ config() {
84
+ return this.configSubject$.asObservable();
85
+ }
86
+ boostrapConfig() {
87
+ return this.configBoostrapSubject$.asObservable();
88
+ }
89
+ }
90
+ MonkeyEcxConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigService, deps: [{ token: i1.MonkeyEcxService }, { token: i2.MonkeyEcxi18nConfigService }, { token: i3.MonkeyEcxLogsConfigService }, { token: i4.MonkeyStyleGuideSettingsService }, { token: i5.MonkeyEcxServiceWorkerConfigService }, { token: i6.MonkeyEcxSecurityConsoleConfigService }, { token: i7.MonkeyEcxMaintenanceConfigService }, { token: i8.MonkeyEcxErrorConfigService }, { token: i9.MonkeyEcxFeatureToggleService }], target: i0.ɵɵFactoryTarget.Injectable });
91
+ MonkeyEcxConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigService, providedIn: 'root' });
92
+ __decorate([
93
+ MonkeyEcxCoreService({
94
+ httpResponse: {
95
+ httpCodeIgnore: [404]
96
+ },
97
+ requestInProgress: {
98
+ showProgress: false
99
+ }
100
+ })
101
+ ], MonkeyEcxConfigService.prototype, "init", null);
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxConfigService, decorators: [{
103
+ type: Injectable,
104
+ args: [{
105
+ providedIn: 'root'
106
+ }]
107
+ }], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.MonkeyEcxi18nConfigService }, { type: i3.MonkeyEcxLogsConfigService }, { type: i4.MonkeyStyleGuideSettingsService }, { type: i5.MonkeyEcxServiceWorkerConfigService }, { type: i6.MonkeyEcxSecurityConsoleConfigService }, { type: i7.MonkeyEcxMaintenanceConfigService }, { type: i8.MonkeyEcxErrorConfigService }, { type: i9.MonkeyEcxFeatureToggleService }]; }, propDecorators: { init: [] } });
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBbUMsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7O0FBVS9FLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7SUFLakUsWUFDRSxnQkFBa0MsRUFDMUIsMEJBQXNELEVBQ3RELDBCQUFzRCxFQUN0RCwrQkFBZ0UsRUFDaEUsbUNBQXdFLEVBQ3hFLHFDQUE0RSxFQUM1RSxpQ0FBb0UsRUFDcEUsMkJBQXdELEVBQ3hELDZCQUE0RDtRQUVwRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQVRoQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUNoRSx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXFDO1FBQ3hFLDBDQUFxQyxHQUFyQyxxQ0FBcUMsQ0FBdUM7UUFDNUUsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQUNwRSxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FB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TUFBTTtBQXdGbEI7SUFSQyxvQkFBb0IsQ0FBQztRQUNwQixZQUFZLEVBQUU7WUFDWixjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDdEI7UUFDRCxpQkFBaUIsRUFBRTtZQUNqQixZQUFZLEVBQUUsS0FBSztTQUNwQjtLQUNGLENBQUM7a0RBd0JEOzJGQTdHVSxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CO21kQXVGUSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0aHJvd0Vycm9yLCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSwgTW9ua2V5VXRpbHMgfSBmcm9tICdtb25rZXktc3R5bGUtZ3VpZGUnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hpMThuQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWkxOG4tY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hMb2dzQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWxvZ3MtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlV29ya2VyQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LXNlcnZpY2Utd29ya2VyLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LXNlY3VyaXR5LWNvbnNvbGUtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hNYWludGVuYW5jZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1tYWludGVuYW5jZS1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycy9tb25rZXllY3gtZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9ucy9tb25rZXllY3gtY29tbW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9tb25rZXllY3gtY29uZmlnJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnQm9vc3RyYXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21vbmtleWVjeC1jb25maWctYm9vc3RyYXAnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5ZWN4LXNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeEVycm9yQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWVycm9yLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgZXh0ZW5kcyBNb25rZXlFY3hDb21tb25zU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeENvbmZpZz47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQm9vc3RyYXBTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeENvbmZpZz47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgbW9ua2V5ZWN4U2VydmljZTogTW9ua2V5RWN4U2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4aTE4bkNvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeGkxOG5Db25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXllY3hMb2dzQ29uZmlnU2VydmljZTogTW9ua2V5RWN4TG9nc0NvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleWVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlV29ya2VyQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZTogTW9ua2V5RWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4TWFpbnRlbmFuY2VDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hNYWludGVuYW5jZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZTogTW9ua2V5RWN4RXJyb3JDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZTogTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1vbmtleWVjeFNlcnZpY2UpO1xyXG4gICAgdGhpcy5jb25maWdTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xyXG4gICAgdGhpcy5jb25maWdCb29zdHJhcFN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGludGVybmFsVmFsaWRhdGlvbnMoLi4uYXJnczogYW55W10pIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgbW9ua2V5ZWN4U2VydmljZVdvcmtlckNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeFNlY3VyaXR5Q29uc29sZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZVxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBjb25zdCBjb25maWdCb29zdHJhcCA9IGFyZ3NbMF07XHJcbiAgICBjb25zdCBjYWxsYmFjayA9IGFyZ3NbMV07XHJcbiAgICBtb25rZXllY3hTZWN1cml0eUNvbnNvbGVDb25maWdTZXJ2aWNlLmFwcGx5KCk7XHJcbiAgICBtb25rZXllY3hTZXJ2aWNlV29ya2VyQ29uZmlnU2VydmljZS5hcHBseShjb25maWdCb29zdHJhcCk7XHJcbiAgICBtb25rZXllY3hNYWludGVuYW5jZUNvbmZpZ1NlcnZpY2UuYXBwbHkoY29uZmlnQm9vc3RyYXApO1xyXG4gICAgY29uc29sZS5sb2coJ2NvbmZpZ0Jvb3N0cmFwJylcclxuICAgIGNvbnNvbGUubG9nKGNvbmZpZ0Jvb3N0cmFwKVxyXG4gICAgY2FsbGJhY2soY29uZmlnQm9vc3RyYXApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRXaGl0ZUxhYmVsU2V0dGluZ3MoXHJcbiAgICBtb25rZXllY3hDb2RlOiBzdHJpbmcsXHJcbiAgICBjb25maWdCb29zdHJhcDogTW9ua2V5RWN4Q29uZmlnQm9vc3RyYXAsXHJcbiAgICBjYWxsYmFjazogRnVuY3Rpb24sXHJcbiAgICBlbnZpcm9ubWVudDogYW55LFxyXG4gICAgaWRlbnRpZnlDb2RlOiBzdHJpbmdcclxuICApIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgbW9ua2V5ZWN4U2VydmljZSxcclxuICAgICAgbW9ua2V5ZWN4aTE4bkNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIGNvbmZpZ1N1YmplY3QkLFxyXG4gICAgICBtb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgICBtb25rZXllY3hMb2dzQ29uZmlnU2VydmljZSxcclxuICAgICAgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLFxyXG4gICAgICBtb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZSxcclxuICAgICAgaW50ZXJuYWxWYWxpZGF0aW9uc1xyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtlbnZpcm9ubWVudC51cmxBc3NldHN9YDtcclxuICAgIG1vbmtleWVjeFNlcnZpY2U/LmdldDxhbnk+KGAke3VybH0vJHttb25rZXllY3hDb2RlLnRvTG93ZXJDYXNlKCl9L3doaXRlLWxhYmVsLmpzb25gKT8uc3Vic2NyaWJlKFxyXG4gICAgICAoY29uZmlnOiBNb25rZXlFY3hDb25maWcpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAnKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGNvbmZpZylcclxuICAgICAgICBjb25zb2xlLmxvZyhgJHt1cmx9LyR7bW9ua2V5ZWN4Q29kZS50b0xvd2VyQ2FzZSgpfS9tb25rZXktc3R5bGUtZ3VpZGUtc2V0dGluZ3MuanNvbmApXHJcbiAgICAgICAgY29uc29sZS5sb2coJ0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAJylcclxuICAgICAgICBtb25rZXllY3hpMThuQ29uZmlnU2VydmljZS5hcHBseShjb25maWcsIGVudmlyb25tZW50KTtcclxuICAgICAgICBtb25rZXllY3hMb2dzQ29uZmlnU2VydmljZS5hcHBseShjb25maWcsIGNvbmZpZ0Jvb3N0cmFwLCBlbnZpcm9ubWVudCwgaWRlbnRpZnlDb2RlKTtcclxuICAgICAgICBtb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZS5hcHBseShjb25maWdTdWJqZWN0JCwgZW52aXJvbm1lbnQpO1xyXG4gICAgICAgIG1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UuYm9vc3RyYXAoXHJcbiAgICAgICAgICBgJHt1cmx9LyR7bW9ua2V5ZWN4Q29kZS50b0xvd2VyQ2FzZSgpfS9tb25rZXktc3R5bGUtZ3VpZGUtc2V0dGluZ3MuanNvbmAsXHJcbiAgICAgICAgICBpbnRlcm5hbFZhbGlkYXRpb25zLmJpbmQodGhpcywgY29uZmlnQm9vc3RyYXAsIGNhbGxiYWNrLCBlbnZpcm9ubWVudClcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbmZpZ1N1YmplY3QkLm5leHQoY29uZmlnKTtcclxuICAgICAgfSxcclxuICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBtb25rZXllY3hFcnJvckNvbmZpZ1NlcnZpY2UuYXBwbHkoJ3RoZW1lJyk7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignUHJvZ3JhbSBDb25maWd1cmF0aW9uIG5vdCBmb3VuZCEnKTtcclxuICAgICAgICB0aHJvd0Vycm9yKGVycik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBATW9ua2V5RWN4Q29yZVNlcnZpY2Uoe1xyXG4gICAgaHR0cFJlc3BvbnNlOiB7XHJcbiAgICAgIGh0dHBDb2RlSWdub3JlOiBbNDA0XVxyXG4gICAgfSxcclxuICAgIHJlcXVlc3RJblByb2dyZXNzOiB7XHJcbiAgICAgIHNob3dQcm9ncmVzczogZmFsc2VcclxuICAgIH1cclxuICB9KVxyXG4gIHB1YmxpYyBpbml0KGNhbGxiYWNrOiBGdW5jdGlvbiwgZW52aXJvbm1lbnQ6IGFueSwgaWRlbnRpZnlDb2RlOiBzdHJpbmcsIG1vbmtleWVjeENvZGU/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgbW9ua2V5ZWN4U2VydmljZSwgY29uZmlnQm9vc3RyYXBTdWJqZWN0JCwgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlIH0gPSB0aGlzO1xyXG5cclxuICAgIG1vbmtleWVjeFNlcnZpY2U/LmdldChgJHtlbnZpcm9ubWVudC5ib29zdHJhcEFzc2V0c30/dD0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygzMCl9YCwge1xyXG4gICAgICAgIG9ic2VydmU6ICdyZXNwb25zZSdcclxuICAgICAgfSk/LnN1YnNjcmliZShcclxuICAgICAgICAocmVzcDogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB7IGhlYWRlcnMsIGJvZHkgfSA9IHJlc3A7XHJcbiAgICAgICAgICBjb25zdCBtb25rZXlDb2RlID0gaGVhZGVycy5nZXQoJ21vbmtleS1jb2RlJykgfHwgbW9ua2V5ZWN4Q29kZTtcclxuICAgICAgICAgIGlmIChtb25rZXlDb2RlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0V2hpdGVMYWJlbFNldHRpbmdzKG1vbmtleUNvZGUsIGJvZHksIGNhbGxiYWNrLCBlbnZpcm9ubWVudCwgaWRlbnRpZnlDb2RlKTtcclxuICAgICAgICAgICAgY29uZmlnQm9vc3RyYXBTdWJqZWN0JC5uZXh0KGJvZHkpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLmFwcGx5KCd0aGVtZScpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBCb29zdHJhcCAke21vbmtleUNvZGV9IENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIWApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZS5hcHBseSgndGhlbWUnKTtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Jvb3N0cmFwIENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIScpO1xyXG4gICAgICAgICAgdGhyb3dFcnJvcihlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb25maWcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJvb3N0cmFwQ29uZmlnKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdCb29zdHJhcFN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,85 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ let window;
4
+ const text = {
5
+ i18n: {
6
+ title: 'We have an quick update for you',
7
+ message: 'Click anywhere here to reload your locale',
8
+ },
9
+ theme: {
10
+ title: 'We have an quick update for you',
11
+ message: 'Click anywhere here to reload your theme',
12
+ },
13
+ };
14
+ export class MonkeyEcxErrorConfigService {
15
+ constructor() {
16
+ // not to do
17
+ }
18
+ enableSupport() {
19
+ window.zE('webWidget', 'updateSettings', {
20
+ webWidget: {
21
+ color: {
22
+ theme: '#0273E8',
23
+ launcherText: '#fff',
24
+ header: '#0273E8',
25
+ button: '#0273E8',
26
+ },
27
+ zIndex: 99,
28
+ offset: {
29
+ horizontal: '1px',
30
+ vertical: '20px',
31
+ },
32
+ mobile: {
33
+ labelVisible: true,
34
+ },
35
+ launcher: {
36
+ mobile: {
37
+ labelVisible: true,
38
+ },
39
+ },
40
+ },
41
+ });
42
+ window.zE('webWidget', 'setLocale', 'en-US');
43
+ window.zE('webWidget', 'show');
44
+ }
45
+ apply(type) {
46
+ const { title, message } = text?.[type];
47
+ const element = document.createElement('div');
48
+ element.id = 'monkeyecx-information';
49
+ const elementImg = document.createElement('img');
50
+ elementImg.width = 128;
51
+ elementImg.src = 'assets/images/monkey.svg';
52
+ elementImg.style.marginBottom = '50px';
53
+ const elementTitle = document.createElement('span');
54
+ elementTitle.id = 'title';
55
+ elementTitle.innerText = title;
56
+ elementTitle.style.marginBottom = '20px';
57
+ const elementMessage = document.createElement('span');
58
+ elementMessage.id = 'message';
59
+ elementMessage.innerText = message;
60
+ elementMessage.style.marginBottom = '20px';
61
+ const elementChat = document.createElement('span');
62
+ elementChat.id = 'message';
63
+ elementChat.innerText =
64
+ "If you're having trouble to update, please use the support icon bellow";
65
+ element.appendChild(elementImg);
66
+ element.appendChild(elementTitle);
67
+ element.appendChild(elementMessage);
68
+ element.appendChild(elementChat);
69
+ element.addEventListener('click', () => {
70
+ document.location.reload();
71
+ });
72
+ document.body.appendChild(element);
73
+ document.body.getElementsByTagName('app-root')[0].remove();
74
+ this.enableSupport();
75
+ }
76
+ }
77
+ MonkeyEcxErrorConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxErrorConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
78
+ MonkeyEcxErrorConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxErrorConfigService, providedIn: 'root' });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonkeyEcxErrorConfigService, decorators: [{
80
+ type: Injectable,
81
+ args: [{
82
+ providedIn: 'root',
83
+ }]
84
+ }], ctorParameters: function () { return []; } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWVycm9yLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtZXJyb3ItY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsSUFBSSxNQUFXLENBQUM7QUFFaEIsTUFBTSxJQUFJLEdBQVE7SUFDaEIsSUFBSSxFQUFFO1FBQ0osS0FBSyxFQUFFLGlDQUFpQztRQUN4QyxPQUFPLEVBQUUsMkNBQTJDO0tBQ3JEO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFLGlDQUFpQztRQUN4QyxPQUFPLEVBQUUsMENBQTBDO0tBQ3BEO0NBQ0YsQ0FBQztBQUtGLE1BQU0sT0FBTywyQkFBMkI7SUFDdEM7UUFDRSxZQUFZO0lBQ2QsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUU7WUFDdkMsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRTtvQkFDTCxLQUFLLEVBQUUsU0FBUztvQkFDaEIsWUFBWSxFQUFFLE1BQU07b0JBQ3BCLE1BQU0sRUFBRSxTQUFTO29CQUNqQixNQUFNLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFO29CQUNOLFVBQVUsRUFBRSxLQUFLO29CQUNqQixRQUFRLEVBQUUsTUFBTTtpQkFDakI7Z0JBQ0QsTUFBTSxFQUFFO29CQUNOLFlBQVksRUFBRSxJQUFJO2lCQUNuQjtnQkFDRCxRQUFRLEVBQUU7b0JBQ1IsTUFBTSxFQUFFO3dCQUNOLFlBQVksRUFBRSxJQUFJO3FCQUNuQjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBWTtRQUN2QixNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsT0FBTyxDQUFDLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQztRQUVyQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELFVBQVUsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEdBQUcsMEJBQTBCLENBQUM7UUFDNUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBRXZDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsWUFBWSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDMUIsWUFBWSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDL0IsWUFBWSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBRXpDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsY0FBYyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFDOUIsY0FBYyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDbkMsY0FBYyxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBRTNDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsV0FBVyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFDM0IsV0FBVyxDQUFDLFNBQVM7WUFDbkIsd0VBQXdFLENBQUM7UUFFM0UsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVqQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNyQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7d0hBeEVVLDJCQUEyQjs0SEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07MkZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmxldCB3aW5kb3c6IGFueTtcclxuXHJcbmNvbnN0IHRleHQ6IGFueSA9IHtcclxuICBpMThuOiB7XHJcbiAgICB0aXRsZTogJ1dlIGhhdmUgYW4gcXVpY2sgdXBkYXRlIGZvciB5b3UnLFxyXG4gICAgbWVzc2FnZTogJ0NsaWNrIGFueXdoZXJlIGhlcmUgdG8gcmVsb2FkIHlvdXIgbG9jYWxlJyxcclxuICB9LFxyXG4gIHRoZW1lOiB7XHJcbiAgICB0aXRsZTogJ1dlIGhhdmUgYW4gcXVpY2sgdXBkYXRlIGZvciB5b3UnLFxyXG4gICAgbWVzc2FnZTogJ0NsaWNrIGFueXdoZXJlIGhlcmUgdG8gcmVsb2FkIHlvdXIgdGhlbWUnLFxyXG4gIH0sXHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4RXJyb3JDb25maWdTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIC8vIG5vdCB0byBkb1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbmFibGVTdXBwb3J0KCkge1xyXG4gICAgd2luZG93LnpFKCd3ZWJXaWRnZXQnLCAndXBkYXRlU2V0dGluZ3MnLCB7XHJcbiAgICAgIHdlYldpZGdldDoge1xyXG4gICAgICAgIGNvbG9yOiB7XHJcbiAgICAgICAgICB0aGVtZTogJyMwMjczRTgnLFxyXG4gICAgICAgICAgbGF1bmNoZXJUZXh0OiAnI2ZmZicsXHJcbiAgICAgICAgICBoZWFkZXI6ICcjMDI3M0U4JyxcclxuICAgICAgICAgIGJ1dHRvbjogJyMwMjczRTgnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgekluZGV4OiA5OSxcclxuICAgICAgICBvZmZzZXQ6IHtcclxuICAgICAgICAgIGhvcml6b250YWw6ICcxcHgnLFxyXG4gICAgICAgICAgdmVydGljYWw6ICcyMHB4JyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vYmlsZToge1xyXG4gICAgICAgICAgbGFiZWxWaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbGF1bmNoZXI6IHtcclxuICAgICAgICAgIG1vYmlsZToge1xyXG4gICAgICAgICAgICBsYWJlbFZpc2libGU6IHRydWUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHdpbmRvdy56RSgnd2ViV2lkZ2V0JywgJ3NldExvY2FsZScsICdlbi1VUycpO1xyXG4gICAgd2luZG93LnpFKCd3ZWJXaWRnZXQnLCAnc2hvdycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFwcGx5KHR5cGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgeyB0aXRsZSwgbWVzc2FnZSB9ID0gdGV4dD8uW3R5cGVdO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGVsZW1lbnQuaWQgPSAnbW9ua2V5ZWN4LWluZm9ybWF0aW9uJztcclxuXHJcbiAgICBjb25zdCBlbGVtZW50SW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XHJcbiAgICBlbGVtZW50SW1nLndpZHRoID0gMTI4O1xyXG4gICAgZWxlbWVudEltZy5zcmMgPSAnYXNzZXRzL2ltYWdlcy9tb25rZXkuc3ZnJztcclxuICAgIGVsZW1lbnRJbWcuc3R5bGUubWFyZ2luQm90dG9tID0gJzUwcHgnO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnRUaXRsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgIGVsZW1lbnRUaXRsZS5pZCA9ICd0aXRsZSc7XHJcbiAgICBlbGVtZW50VGl0bGUuaW5uZXJUZXh0ID0gdGl0bGU7XHJcbiAgICBlbGVtZW50VGl0bGUuc3R5bGUubWFyZ2luQm90dG9tID0gJzIwcHgnO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnRNZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgZWxlbWVudE1lc3NhZ2UuaWQgPSAnbWVzc2FnZSc7XHJcbiAgICBlbGVtZW50TWVzc2FnZS5pbm5lclRleHQgPSBtZXNzYWdlO1xyXG4gICAgZWxlbWVudE1lc3NhZ2Uuc3R5bGUubWFyZ2luQm90dG9tID0gJzIwcHgnO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnRDaGF0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgZWxlbWVudENoYXQuaWQgPSAnbWVzc2FnZSc7XHJcbiAgICBlbGVtZW50Q2hhdC5pbm5lclRleHQgPVxyXG4gICAgICBcIklmIHlvdSdyZSBoYXZpbmcgdHJvdWJsZSB0byB1cGRhdGUsIHBsZWFzZSB1c2UgdGhlIHN1cHBvcnQgaWNvbiBiZWxsb3dcIjtcclxuXHJcbiAgICBlbGVtZW50LmFwcGVuZENoaWxkKGVsZW1lbnRJbWcpO1xyXG4gICAgZWxlbWVudC5hcHBlbmRDaGlsZChlbGVtZW50VGl0bGUpO1xyXG4gICAgZWxlbWVudC5hcHBlbmRDaGlsZChlbGVtZW50TWVzc2FnZSk7XHJcbiAgICBlbGVtZW50LmFwcGVuZENoaWxkKGVsZW1lbnRDaGF0KTtcclxuXHJcbiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICBkb2N1bWVudC5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XHJcblxyXG4gICAgZG9jdW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYXBwLXJvb3QnKVswXS5yZW1vdmUoKTtcclxuICAgIHRoaXMuZW5hYmxlU3VwcG9ydCgpO1xyXG4gIH1cclxufVxyXG4iXX0=