ng-pli-commons 0.0.1908 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/esm2022/lib/components/backoffice.commons.component.mjs +40 -0
  2. package/esm2022/lib/components/common.lists.component.mjs +194 -0
  3. package/{esm2020 → esm2022}/lib/components/configuration-token/configuration-token-subject.service.mjs +23 -23
  4. package/esm2022/lib/components/configuration-token/configuration-token.component.mjs +665 -0
  5. package/esm2022/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +103 -0
  6. package/esm2022/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +108 -0
  7. package/esm2022/lib/components/configuration.commons.component.mjs +40 -0
  8. package/{esm2020 → esm2022}/lib/components/dashboard.commons.component.mjs +84 -84
  9. package/esm2022/lib/components/dynamic-filter/dynamic-filter.component.mjs +131 -0
  10. package/esm2022/lib/components/excel-to-json/excel-to-json.component.mjs +54 -0
  11. package/esm2022/lib/components/frontoffice.commons.component.mjs +86 -0
  12. package/esm2022/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +162 -0
  13. package/{esm2020 → esm2022}/lib/components/pdf-config/pdf-config.component.mjs +170 -170
  14. package/esm2022/lib/components/pdf-generator/pdf-generator.component.mjs +223 -0
  15. package/esm2022/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +307 -0
  16. package/esm2022/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +387 -0
  17. package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +92 -0
  18. package/esm2022/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +199 -0
  19. package/esm2022/lib/components/select-ppp/select-ppp.component.mjs +199 -0
  20. package/esm2022/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +116 -0
  21. package/esm2022/lib/components/token/token.component.mjs +1006 -0
  22. package/esm2022/lib/components/tokens-calculator/tokens-calculator.component.mjs +128 -0
  23. package/{esm2020 → esm2022}/lib/directives/currency-colfuturo-formatter.directive.mjs +47 -47
  24. package/{esm2020 → esm2022}/lib/directives/currency-decimal-colfuturo-formatter.directive.mjs +34 -34
  25. package/esm2022/lib/ng-pli-commons.module.mjs +387 -0
  26. package/{esm2020 → esm2022}/lib/ng-pli-commons.service.mjs +14 -14
  27. package/esm2022/lib/pipes/currency-colfuturo.pipe.mjs +35 -0
  28. package/{esm2020 → esm2022}/lib/pipes/currency-decimal-colfuturo.pipe.mjs +36 -36
  29. package/{esm2020 → esm2022}/lib/pipes/currency-print-colfuturo.pipe.mjs +33 -33
  30. package/esm2022/lib/pipes/thousands.pipe.mjs +60 -0
  31. package/{esm2020 → esm2022}/lib/services/application-fill-percentage.service.mjs +30 -30
  32. package/{esm2020 → esm2022}/lib/services/application-tag.service.mjs +56 -56
  33. package/{esm2020 → esm2022}/lib/services/application.service.mjs +247 -247
  34. package/esm2022/lib/services/authentication.service.mjs +133 -0
  35. package/{esm2020 → esm2022}/lib/services/blocked-beneficiary.service.mjs +42 -42
  36. package/esm2022/lib/services/budget-application.service.mjs +265 -0
  37. package/{esm2020 → esm2022}/lib/services/budget-simulation.service.mjs +61 -61
  38. package/esm2022/lib/services/budget.service.mjs +205 -0
  39. package/{esm2020 → esm2022}/lib/services/closure-wallet.service.mjs +39 -39
  40. package/{esm2020 → esm2022}/lib/services/cnf-correspondence-document-manager.service.mjs +39 -39
  41. package/{esm2020 → esm2022}/lib/services/committee-money.service.mjs +44 -44
  42. package/{esm2020 → esm2022}/lib/services/committee-pdf.service.mjs +27 -27
  43. package/{esm2020 → esm2022}/lib/services/committee-snapshot.service.mjs +60 -60
  44. package/{esm2020 → esm2022}/lib/services/common-info.service.mjs +51 -51
  45. package/esm2022/lib/services/common.service.mjs +291 -0
  46. package/esm2022/lib/services/configuration-document.service.mjs +297 -0
  47. package/{esm2020 → esm2022}/lib/services/configuration-minisite.service.mjs +26 -26
  48. package/{esm2020 → esm2022}/lib/services/configuration.service.mjs +53 -53
  49. package/{esm2020 → esm2022}/lib/services/correspondence-document-category.service.mjs +31 -31
  50. package/{esm2020 → esm2022}/lib/services/correspondence-manager.service.mjs +67 -67
  51. package/{esm2020 → esm2022}/lib/services/credit-score.service.mjs +48 -48
  52. package/{esm2020 → esm2022}/lib/services/credit-study.service.mjs +292 -292
  53. package/{esm2020 → esm2022}/lib/services/cube.service.mjs +27 -27
  54. package/{esm2020 → esm2022}/lib/services/data-form-history.service.mjs +25 -25
  55. package/{esm2020 → esm2022}/lib/services/data-form.service.mjs +176 -176
  56. package/{esm2020 → esm2022}/lib/services/data-letter-segmentation.service.mjs +64 -64
  57. package/{esm2020 → esm2022}/lib/services/document-analysis-auto.service.mjs +27 -27
  58. package/{esm2020 → esm2022}/lib/services/document-history.service.mjs +43 -43
  59. package/{esm2020 → esm2022}/lib/services/document-management.service.mjs +57 -57
  60. package/{esm2020 → esm2022}/lib/services/document-validation-attempt.service.mjs +32 -32
  61. package/{esm2020 → esm2022}/lib/services/document.service.mjs +131 -131
  62. package/esm2022/lib/services/documentary.type.service.mjs +69 -0
  63. package/{esm2020 → esm2022}/lib/services/email.service.mjs +30 -30
  64. package/{esm2020 → esm2022}/lib/services/evaluation.service.mjs +181 -181
  65. package/{esm2020 → esm2022}/lib/services/export-excel.service.mjs +32 -32
  66. package/esm2022/lib/services/file.service.mjs +153 -0
  67. package/{esm2020 → esm2022}/lib/services/form.service.mjs +112 -112
  68. package/{esm2020 → esm2022}/lib/services/gic-client-disbursement-metadata.service.mjs +31 -31
  69. package/{esm2020 → esm2022}/lib/services/gic-client.service.mjs +49 -49
  70. package/{esm2020 → esm2022}/lib/services/gic-cnf-bankvision-transaction.service.mjs +31 -31
  71. package/{esm2020 → esm2022}/lib/services/gic-cnf-closing-date.service.mjs +34 -34
  72. package/{esm2020 → esm2022}/lib/services/gic-cnf-maintenance.service.mjs +30 -30
  73. package/{esm2020 → esm2022}/lib/services/gic-collection.service.mjs +53 -53
  74. package/{esm2020 → esm2022}/lib/services/gic-disbursement.service.mjs +39 -39
  75. package/{esm2020 → esm2022}/lib/services/gic-extract.service.mjs +41 -41
  76. package/{esm2020 → esm2022}/lib/services/gic-log.service.mjs +41 -41
  77. package/{esm2020 → esm2022}/lib/services/gic-payment-application.service.mjs +35 -35
  78. package/{esm2020 → esm2022}/lib/services/gic-payment-plan-cube.service.mjs +27 -27
  79. package/{esm2020 → esm2022}/lib/services/gic-payment-plan.service.mjs +32 -32
  80. package/{esm2020 → esm2022}/lib/services/gic-trm.service.mjs +27 -27
  81. package/{esm2020 → esm2022}/lib/services/global.show.task.service.mjs +37 -37
  82. package/{esm2020 → esm2022}/lib/services/guarantee-document.service.mjs +52 -52
  83. package/{esm2020 → esm2022}/lib/services/guarantee-enrollment.service.mjs +37 -37
  84. package/esm2022/lib/services/guarantee.service.mjs +128 -0
  85. package/{esm2020 → esm2022}/lib/services/hash.service.mjs +36 -36
  86. package/{esm2020 → esm2022}/lib/services/import-data.service.mjs +27 -27
  87. package/{esm2020 → esm2022}/lib/services/import-excel-gic.service.mjs +45 -45
  88. package/{esm2020 → esm2022}/lib/services/initial-configuration-gic-parameters.service.mjs +51 -51
  89. package/{esm2020 → esm2022}/lib/services/initial-record.service.mjs +51 -51
  90. package/{esm2020 → esm2022}/lib/services/integration-ado.service.mjs +54 -54
  91. package/{esm2020 → esm2022}/lib/services/interaction-application-user.service.mjs +81 -81
  92. package/{esm2020 → esm2022}/lib/services/interest-adjustment.service.mjs +34 -34
  93. package/esm2022/lib/services/keys-assignation.service.mjs +127 -0
  94. package/{esm2020 → esm2022}/lib/services/legalization.service.mjs +150 -150
  95. package/{esm2020 → esm2022}/lib/services/letter-campaing.service.mjs +49 -49
  96. package/{esm2020 → esm2022}/lib/services/letter-task-mapping.service.mjs +40 -40
  97. package/{esm2020 → esm2022}/lib/services/log.service.mjs +41 -41
  98. package/{esm2020 → esm2022}/lib/services/maintenance.service.mjs +66 -66
  99. package/{esm2020 → esm2022}/lib/services/master-category.service.mjs +66 -66
  100. package/{esm2020 → esm2022}/lib/services/master-program.service.mjs +78 -78
  101. package/{esm2020 → esm2022}/lib/services/master-university.service.mjs +68 -68
  102. package/{esm2020 → esm2022}/lib/services/migration-plis.service.mjs +27 -27
  103. package/{esm2020 → esm2022}/lib/services/migration-survey-queue.service.mjs +24 -24
  104. package/{esm2020 → esm2022}/lib/services/page.service.mjs +38 -38
  105. package/{esm2020 → esm2022}/lib/services/partner-system.service.mjs +30 -30
  106. package/{esm2020 → esm2022}/lib/services/partner.service.mjs +34 -34
  107. package/{esm2020 → esm2022}/lib/services/pdf-analyzer.service.mjs +33 -33
  108. package/{esm2020 → esm2022}/lib/services/people-master.service.mjs +42 -42
  109. package/{esm2020 → esm2022}/lib/services/permission.service.mjs +29 -29
  110. package/{esm2020 → esm2022}/lib/services/pli-cnf-acuity-fields.service.mjs +34 -34
  111. package/{esm2020 → esm2022}/lib/services/pli-cnf-app-card-filter.service.mjs +40 -40
  112. package/{esm2020 → esm2022}/lib/services/pli-cnf-appointment-type.service.mjs +41 -41
  113. package/{esm2020 → esm2022}/lib/services/pli-cnf-budget-program-type.service.mjs +54 -54
  114. package/{esm2020 → esm2022}/lib/services/pli-cnf-budget.service.mjs +31 -31
  115. package/{esm2020 → esm2022}/lib/services/pli-cnf-cloning.service.mjs +27 -27
  116. package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-pdf-config-table-config.service.mjs +47 -47
  117. package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-pdf-gen-status.service.mjs +30 -30
  118. package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-valpro-columns.service.mjs +42 -42
  119. package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-visualization-mode.service.mjs +42 -42
  120. package/{esm2020 → esm2022}/lib/services/pli-cnf-committee.service.mjs +51 -51
  121. package/{esm2020 → esm2022}/lib/services/pli-cnf-config-minisite.service.mjs +90 -90
  122. package/{esm2020 → esm2022}/lib/services/pli-cnf-configuration-credit-study.service.mjs +41 -41
  123. package/{esm2020 → esm2022}/lib/services/pli-cnf-document-management.service.mjs +40 -40
  124. package/{esm2020 → esm2022}/lib/services/pli-cnf-dynamic-keys-assign.service.mjs +52 -52
  125. package/{esm2020 → esm2022}/lib/services/pli-cnf-evaluation-task-mailing.service.mjs +31 -31
  126. package/esm2022/lib/services/pli-cnf-evaluation-task.service.mjs +112 -0
  127. package/{esm2020 → esm2022}/lib/services/pli-cnf-evaluation-template.service.mjs +95 -95
  128. package/{esm2020 → esm2022}/lib/services/pli-cnf-form-edit.service.mjs +68 -68
  129. package/{esm2020 → esm2022}/lib/services/pli-cnf-form-multiaplicacion.service.mjs +46 -46
  130. package/{esm2020 → esm2022}/lib/services/pli-cnf-guarantee-documents-template.service.mjs +40 -40
  131. package/{esm2020 → esm2022}/lib/services/pli-cnf-guarantee-token.service.mjs +42 -42
  132. package/{esm2020 → esm2022}/lib/services/pli-cnf-header.service.mjs +39 -39
  133. package/{esm2020 → esm2022}/lib/services/pli-cnf-indicator.service.mjs +39 -39
  134. package/{esm2020 → esm2022}/lib/services/pli-cnf-information-system.service.mjs +24 -24
  135. package/{esm2020 → esm2022}/lib/services/pli-cnf-interaction.service.mjs +78 -78
  136. package/{esm2020 → esm2022}/lib/services/pli-cnf-letter-template-type.service.mjs +29 -29
  137. package/{esm2020 → esm2022}/lib/services/pli-cnf-letter-template.service.mjs +48 -48
  138. package/{esm2020 → esm2022}/lib/services/pli-cnf-look-and-feel.service.mjs +28 -28
  139. package/{esm2020 → esm2022}/lib/services/pli-cnf-mail.service.mjs +30 -30
  140. package/{esm2020 → esm2022}/lib/services/pli-cnf-menu-form.service.mjs +34 -34
  141. package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-plis-field-budget.service.mjs +33 -33
  142. package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-plis-field.service.mjs +47 -47
  143. package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-status-plis.service.mjs +44 -44
  144. package/{esm2020 → esm2022}/lib/services/pli-cnf-page-section-form.service.mjs +66 -66
  145. package/{esm2020 → esm2022}/lib/services/pli-cnf-page-sub-process.service.mjs +25 -25
  146. package/{esm2020 → esm2022}/lib/services/pli-cnf-pdfs.service.mjs +31 -31
  147. package/{esm2020 → esm2022}/lib/services/pli-cnf-profile-form.service.mjs +40 -40
  148. package/{esm2020 → esm2022}/lib/services/pli-cnf-profile-user.service.mjs +49 -49
  149. package/{esm2020 → esm2022}/lib/services/pli-cnf-project-summary.service.mjs +39 -39
  150. package/{esm2020 → esm2022}/lib/services/pli-cnf-scenario.service.mjs +47 -47
  151. package/{esm2020 → esm2022}/lib/services/pli-cnf-segmentation.service.mjs +72 -72
  152. package/{esm2020 → esm2022}/lib/services/pli-cnf-snapshot-token.service.mjs +42 -42
  153. package/{esm2020 → esm2022}/lib/services/pli-cnf-status-flow-interaction.service.mjs +74 -74
  154. package/{esm2020 → esm2022}/lib/services/pli-cnf-status-flow.service.mjs +56 -56
  155. package/{esm2020 → esm2022}/lib/services/pli-cnf-support-document-category.service.mjs +47 -47
  156. package/{esm2020 → esm2022}/lib/services/pli-cnf-support-document.service.mjs +56 -56
  157. package/{esm2020 → esm2022}/lib/services/pli-cnf-survey-document.service.mjs +37 -37
  158. package/{esm2020 → esm2022}/lib/services/pli-cnf-survey-pdf.service.mjs +34 -34
  159. package/{esm2020 → esm2022}/lib/services/pli-cnf-survey.service.mjs +46 -46
  160. package/{esm2020 → esm2022}/lib/services/pli-cnf-task-group.service.mjs +33 -33
  161. package/{esm2020 → esm2022}/lib/services/pli-cnf-text-category.service.mjs +38 -38
  162. package/{esm2020 → esm2022}/lib/services/pli-cnf-text-option.service.mjs +39 -39
  163. package/{esm2020 → esm2022}/lib/services/pli-cnf-text.service.mjs +62 -62
  164. package/{esm2020 → esm2022}/lib/services/pli-cnf-type-text.service.mjs +45 -45
  165. package/{esm2020 → esm2022}/lib/services/pli-cnf-university-article.service.mjs +39 -39
  166. package/{esm2020 → esm2022}/lib/services/pli-cnf-user-calendar.service.mjs +36 -36
  167. package/{esm2020 → esm2022}/lib/services/pli-cnf-user-workspace.service.mjs +35 -35
  168. package/{esm2020 → esm2022}/lib/services/pli-cnf-valpro-keys.service.mjs +35 -35
  169. package/{esm2020 → esm2022}/lib/services/pli-cnf-workspace-segmentation.service.mjs +31 -31
  170. package/{esm2020 → esm2022}/lib/services/pli-message-type.service.mjs +40 -40
  171. package/{esm2020 → esm2022}/lib/services/pli-multiple-value-filter.service.mjs +39 -39
  172. package/{esm2020 → esm2022}/lib/services/pli-promocion-username.service.mjs +57 -57
  173. package/{esm2020 → esm2022}/lib/services/pli-seg-action-user.service.mjs +37 -37
  174. package/{esm2020 → esm2022}/lib/services/pli-segmentation.service.mjs +130 -130
  175. package/{esm2020 → esm2022}/lib/services/pli-tag-assignment.service.mjs +36 -36
  176. package/{esm2020 → esm2022}/lib/services/pli-tag.service.mjs +55 -55
  177. package/{esm2020 → esm2022}/lib/services/pli-user.service.mjs +51 -51
  178. package/{esm2020 → esm2022}/lib/services/plis-beneficiario.service.mjs +29 -29
  179. package/{esm2020 → esm2022}/lib/services/plis-estatus-change.service.mjs +30 -30
  180. package/esm2022/lib/services/ppp.service.mjs +360 -0
  181. package/{esm2020 → esm2022}/lib/services/profile.service.mjs +60 -60
  182. package/esm2022/lib/services/progress-bar.service.mjs +40 -0
  183. package/{esm2020 → esm2022}/lib/services/promotion-score.service.mjs +44 -44
  184. package/{esm2020 → esm2022}/lib/services/registry-identifier.service.mjs +39 -39
  185. package/{esm2020 → esm2022}/lib/services/return-refund.service.mjs +53 -53
  186. package/esm2022/lib/services/segmentation-tokens.service.mjs +43 -0
  187. package/{esm2020 → esm2022}/lib/services/segmentation-user-service.service.mjs +90 -90
  188. package/{esm2020 → esm2022}/lib/services/segmentation.service.mjs +31 -31
  189. package/esm2022/lib/services/send-application.service.mjs +492 -0
  190. package/{esm2020 → esm2022}/lib/services/sesion-form.service.mjs +31 -31
  191. package/{esm2020 → esm2022}/lib/services/sesion.service.mjs +48 -48
  192. package/{esm2020 → esm2022}/lib/services/spinner.service.mjs +16 -16
  193. package/{esm2020 → esm2022}/lib/services/sponsorship-letter.service.mjs +68 -68
  194. package/{esm2020 → esm2022}/lib/services/status.service.mjs +100 -100
  195. package/{esm2020 → esm2022}/lib/services/summary-budget.service.mjs +24 -24
  196. package/{esm2020 → esm2022}/lib/services/survey-metadata.service.mjs +28 -28
  197. package/{esm2020 → esm2022}/lib/services/survey-queue.service.mjs +24 -24
  198. package/{esm2020 → esm2022}/lib/services/survey.service.mjs +52 -52
  199. package/{esm2020 → esm2022}/lib/services/tasa.cambio.service.mjs +35 -35
  200. package/{esm2020 → esm2022}/lib/services/token-transformation.service.mjs +62 -62
  201. package/esm2022/lib/services/token.service.mjs +1345 -0
  202. package/{esm2020 → esm2022}/lib/services/university.service.mjs +50 -50
  203. package/esm2022/lib/services/upload-documents.service.mjs +60 -0
  204. package/{esm2020 → esm2022}/lib/services/user.service.mjs +28 -28
  205. package/{esm2020 → esm2022}/lib/services/visualization-committee.service.mjs +84 -84
  206. package/esm2022/lib/utils/custom-validator.mjs +95 -0
  207. package/esm2022/lib/utils/form-util.mjs +35 -0
  208. package/esm2022/lib/utils/formio-util.mjs +582 -0
  209. package/{esm2020 → esm2022}/lib/utils/version-commons.mjs +9 -9
  210. package/{esm2020 → esm2022}/ng-pli-commons.mjs +4 -4
  211. package/{esm2020 → esm2022}/public-api.mjs +214 -214
  212. package/{esm2020 → esm2022}/version.mjs +29 -29
  213. package/{fesm2020 → fesm2022}/ng-pli-commons.mjs +16724 -16725
  214. package/fesm2022/ng-pli-commons.mjs.map +1 -0
  215. package/{ng-pli-commons.d.ts → index.d.ts} +5 -5
  216. package/lib/components/backoffice.commons.component.d.ts +15 -15
  217. package/lib/components/common.lists.component.d.ts +61 -61
  218. package/lib/components/configuration-token/configuration-token-subject.service.d.ts +10 -10
  219. package/lib/components/configuration-token/configuration-token.component.d.ts +124 -124
  220. package/lib/components/configuration-token/guarantee-token/guarantee-token.component.d.ts +33 -33
  221. package/lib/components/configuration-token/snapshot-token/snapshot-token.component.d.ts +37 -37
  222. package/lib/components/configuration.commons.component.d.ts +15 -15
  223. package/lib/components/dashboard.commons.component.d.ts +39 -39
  224. package/lib/components/dynamic-filter/dynamic-filter.component.d.ts +50 -50
  225. package/lib/components/excel-to-json/excel-to-json.component.d.ts +12 -12
  226. package/lib/components/frontoffice.commons.component.d.ts +26 -26
  227. package/lib/components/pdf-analyzer/pdf-analyzer.component.d.ts +36 -36
  228. package/lib/components/pdf-config/pdf-config.component.d.ts +78 -78
  229. package/lib/components/pdf-generator/pdf-generator.component.d.ts +69 -69
  230. package/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.d.ts +114 -114
  231. package/lib/components/pdf-visualizer/pdf-visualizer.component.d.ts +147 -147
  232. package/lib/components/progress-bar/progress-bar.component.d.ts +30 -30
  233. package/lib/components/segmentation-tokens/segmentation-tokens.component.d.ts +48 -48
  234. package/lib/components/select-ppp/select-ppp.component.d.ts +42 -42
  235. package/lib/components/show-hide-columns/show-hide-columns-table.component.d.ts +39 -39
  236. package/lib/components/token/token.component.d.ts +99 -99
  237. package/lib/components/tokens-calculator/tokens-calculator.component.d.ts +37 -37
  238. package/lib/directives/currency-colfuturo-formatter.directive.d.ts +14 -14
  239. package/lib/directives/currency-decimal-colfuturo-formatter.directive.d.ts +13 -13
  240. package/lib/ng-pli-commons.module.d.ts +47 -47
  241. package/lib/ng-pli-commons.service.d.ts +6 -6
  242. package/lib/pipes/currency-colfuturo.pipe.d.ts +12 -12
  243. package/lib/pipes/currency-decimal-colfuturo.pipe.d.ts +11 -11
  244. package/lib/pipes/currency-print-colfuturo.pipe.d.ts +11 -11
  245. package/lib/pipes/thousands.pipe.d.ts +9 -9
  246. package/lib/services/application-fill-percentage.service.d.ts +15 -15
  247. package/lib/services/application-tag.service.d.ts +23 -23
  248. package/lib/services/application.service.d.ts +107 -107
  249. package/lib/services/authentication.service.d.ts +45 -45
  250. package/lib/services/blocked-beneficiary.service.d.ts +17 -17
  251. package/lib/services/budget-application.service.d.ts +52 -52
  252. package/lib/services/budget-simulation.service.d.ts +32 -32
  253. package/lib/services/budget.service.d.ts +65 -65
  254. package/lib/services/closure-wallet.service.d.ts +16 -16
  255. package/lib/services/cnf-correspondence-document-manager.service.d.ts +14 -14
  256. package/lib/services/committee-money.service.d.ts +12 -12
  257. package/lib/services/committee-pdf.service.d.ts +13 -13
  258. package/lib/services/committee-snapshot.service.d.ts +24 -24
  259. package/lib/services/common-info.service.d.ts +30 -30
  260. package/lib/services/common.service.d.ts +103 -103
  261. package/lib/services/configuration-document.service.d.ts +84 -84
  262. package/lib/services/configuration-minisite.service.d.ts +13 -13
  263. package/lib/services/configuration.service.d.ts +15 -15
  264. package/lib/services/correspondence-document-category.service.d.ts +12 -12
  265. package/lib/services/correspondence-manager.service.d.ts +21 -21
  266. package/lib/services/credit-score.service.d.ts +14 -14
  267. package/lib/services/credit-study.service.d.ts +52 -52
  268. package/lib/services/cube.service.d.ts +14 -14
  269. package/lib/services/data-form-history.service.d.ts +13 -13
  270. package/lib/services/data-form.service.d.ts +82 -82
  271. package/lib/services/data-letter-segmentation.service.d.ts +20 -20
  272. package/lib/services/document-analysis-auto.service.d.ts +14 -14
  273. package/lib/services/document-history.service.d.ts +18 -18
  274. package/lib/services/document-management.service.d.ts +22 -22
  275. package/lib/services/document-validation-attempt.service.d.ts +13 -13
  276. package/lib/services/document.service.d.ts +51 -51
  277. package/lib/services/documentary.type.service.d.ts +23 -23
  278. package/lib/services/email.service.d.ts +15 -15
  279. package/lib/services/evaluation.service.d.ts +58 -58
  280. package/lib/services/export-excel.service.d.ts +8 -8
  281. package/lib/services/file.service.d.ts +63 -63
  282. package/lib/services/form.service.d.ts +39 -39
  283. package/lib/services/gic-client-disbursement-metadata.service.d.ts +12 -12
  284. package/lib/services/gic-client.service.d.ts +20 -20
  285. package/lib/services/gic-cnf-bankvision-transaction.service.d.ts +13 -13
  286. package/lib/services/gic-cnf-closing-date.service.d.ts +15 -15
  287. package/lib/services/gic-cnf-maintenance.service.d.ts +13 -13
  288. package/lib/services/gic-collection.service.d.ts +19 -19
  289. package/lib/services/gic-disbursement.service.d.ts +16 -16
  290. package/lib/services/gic-extract.service.d.ts +15 -15
  291. package/lib/services/gic-log.service.d.ts +17 -17
  292. package/lib/services/gic-payment-application.service.d.ts +15 -15
  293. package/lib/services/gic-payment-plan-cube.service.d.ts +13 -13
  294. package/lib/services/gic-payment-plan.service.d.ts +19 -19
  295. package/lib/services/gic-trm.service.d.ts +14 -14
  296. package/lib/services/global.show.task.service.d.ts +20 -20
  297. package/lib/services/guarantee-document.service.d.ts +17 -17
  298. package/lib/services/guarantee-enrollment.service.d.ts +14 -14
  299. package/lib/services/guarantee.service.d.ts +34 -34
  300. package/lib/services/hash.service.d.ts +18 -18
  301. package/lib/services/import-data.service.d.ts +14 -14
  302. package/lib/services/import-excel-gic.service.d.ts +22 -22
  303. package/lib/services/initial-configuration-gic-parameters.service.d.ts +19 -19
  304. package/lib/services/initial-record.service.d.ts +24 -24
  305. package/lib/services/integration-ado.service.d.ts +15 -15
  306. package/lib/services/interaction-application-user.service.d.ts +28 -28
  307. package/lib/services/interest-adjustment.service.d.ts +16 -16
  308. package/lib/services/keys-assignation.service.d.ts +33 -33
  309. package/lib/services/legalization.service.d.ts +46 -46
  310. package/lib/services/letter-campaing.service.d.ts +24 -24
  311. package/lib/services/letter-task-mapping.service.d.ts +22 -22
  312. package/lib/services/log.service.d.ts +17 -17
  313. package/lib/services/maintenance.service.d.ts +23 -23
  314. package/lib/services/master-category.service.d.ts +40 -40
  315. package/lib/services/master-program.service.d.ts +45 -45
  316. package/lib/services/master-university.service.d.ts +40 -40
  317. package/lib/services/migration-plis.service.d.ts +14 -14
  318. package/lib/services/migration-survey-queue.service.d.ts +12 -12
  319. package/lib/services/page.service.d.ts +18 -18
  320. package/lib/services/partner-system.service.d.ts +13 -13
  321. package/lib/services/partner.service.d.ts +17 -17
  322. package/lib/services/pdf-analyzer.service.d.ts +11 -11
  323. package/lib/services/people-master.service.d.ts +14 -14
  324. package/lib/services/permission.service.d.ts +14 -14
  325. package/lib/services/pli-cnf-acuity-fields.service.d.ts +14 -14
  326. package/lib/services/pli-cnf-app-card-filter.service.d.ts +20 -20
  327. package/lib/services/pli-cnf-appointment-type.service.d.ts +16 -16
  328. package/lib/services/pli-cnf-budget-program-type.service.d.ts +18 -18
  329. package/lib/services/pli-cnf-budget.service.d.ts +13 -13
  330. package/lib/services/pli-cnf-cloning.service.d.ts +12 -12
  331. package/lib/services/pli-cnf-committee-pdf-config-table-config.service.d.ts +19 -19
  332. package/lib/services/pli-cnf-committee-pdf-gen-status.service.d.ts +13 -13
  333. package/lib/services/pli-cnf-committee-valpro-columns.service.d.ts +15 -15
  334. package/lib/services/pli-cnf-committee-visualization-mode.service.d.ts +17 -17
  335. package/lib/services/pli-cnf-committee.service.d.ts +21 -21
  336. package/lib/services/pli-cnf-config-minisite.service.d.ts +26 -26
  337. package/lib/services/pli-cnf-configuration-credit-study.service.d.ts +16 -16
  338. package/lib/services/pli-cnf-document-management.service.d.ts +15 -15
  339. package/lib/services/pli-cnf-dynamic-keys-assign.service.d.ts +21 -21
  340. package/lib/services/pli-cnf-evaluation-task-mailing.service.d.ts +13 -13
  341. package/lib/services/pli-cnf-evaluation-task.service.d.ts +35 -35
  342. package/lib/services/pli-cnf-evaluation-template.service.d.ts +44 -44
  343. package/lib/services/pli-cnf-form-edit.service.d.ts +29 -29
  344. package/lib/services/pli-cnf-form-multiaplicacion.service.d.ts +21 -21
  345. package/lib/services/pli-cnf-guarantee-documents-template.service.d.ts +17 -17
  346. package/lib/services/pli-cnf-guarantee-token.service.d.ts +16 -16
  347. package/lib/services/pli-cnf-header.service.d.ts +18 -18
  348. package/lib/services/pli-cnf-indicator.service.d.ts +20 -20
  349. package/lib/services/pli-cnf-information-system.service.d.ts +12 -12
  350. package/lib/services/pli-cnf-interaction.service.d.ts +31 -31
  351. package/lib/services/pli-cnf-letter-template-type.service.d.ts +15 -15
  352. package/lib/services/pli-cnf-letter-template.service.d.ts +22 -22
  353. package/lib/services/pli-cnf-look-and-feel.service.d.ts +13 -13
  354. package/lib/services/pli-cnf-mail.service.d.ts +13 -13
  355. package/lib/services/pli-cnf-menu-form.service.d.ts +16 -16
  356. package/lib/services/pli-cnf-migration-plis-field-budget.service.d.ts +14 -14
  357. package/lib/services/pli-cnf-migration-plis-field.service.d.ts +17 -17
  358. package/lib/services/pli-cnf-migration-status-plis.service.d.ts +17 -17
  359. package/lib/services/pli-cnf-page-section-form.service.d.ts +24 -24
  360. package/lib/services/pli-cnf-page-sub-process.service.d.ts +12 -12
  361. package/lib/services/pli-cnf-pdfs.service.d.ts +14 -14
  362. package/lib/services/pli-cnf-profile-form.service.d.ts +20 -20
  363. package/lib/services/pli-cnf-profile-user.service.d.ts +24 -24
  364. package/lib/services/pli-cnf-project-summary.service.d.ts +16 -16
  365. package/lib/services/pli-cnf-scenario.service.d.ts +23 -23
  366. package/lib/services/pli-cnf-segmentation.service.d.ts +32 -32
  367. package/lib/services/pli-cnf-snapshot-token.service.d.ts +16 -16
  368. package/lib/services/pli-cnf-status-flow-interaction.service.d.ts +28 -28
  369. package/lib/services/pli-cnf-status-flow.service.d.ts +26 -26
  370. package/lib/services/pli-cnf-support-document-category.service.d.ts +17 -17
  371. package/lib/services/pli-cnf-support-document.service.d.ts +23 -23
  372. package/lib/services/pli-cnf-survey-document.service.d.ts +16 -16
  373. package/lib/services/pli-cnf-survey-pdf.service.d.ts +15 -15
  374. package/lib/services/pli-cnf-survey.service.d.ts +19 -19
  375. package/lib/services/pli-cnf-task-group.service.d.ts +15 -15
  376. package/lib/services/pli-cnf-text-category.service.d.ts +15 -15
  377. package/lib/services/pli-cnf-text-option.service.d.ts +15 -15
  378. package/lib/services/pli-cnf-text.service.d.ts +21 -21
  379. package/lib/services/pli-cnf-type-text.service.d.ts +16 -16
  380. package/lib/services/pli-cnf-university-article.service.d.ts +20 -20
  381. package/lib/services/pli-cnf-user-calendar.service.d.ts +16 -16
  382. package/lib/services/pli-cnf-user-workspace.service.d.ts +18 -18
  383. package/lib/services/pli-cnf-valpro-keys.service.d.ts +18 -18
  384. package/lib/services/pli-cnf-workspace-segmentation.service.d.ts +16 -16
  385. package/lib/services/pli-message-type.service.d.ts +15 -15
  386. package/lib/services/pli-multiple-value-filter.service.d.ts +17 -17
  387. package/lib/services/pli-promocion-username.service.d.ts +26 -26
  388. package/lib/services/pli-seg-action-user.service.d.ts +20 -20
  389. package/lib/services/pli-segmentation.service.d.ts +48 -48
  390. package/lib/services/pli-tag-assignment.service.d.ts +15 -15
  391. package/lib/services/pli-tag.service.d.ts +21 -21
  392. package/lib/services/pli-user.service.d.ts +24 -24
  393. package/lib/services/plis-beneficiario.service.d.ts +10 -10
  394. package/lib/services/plis-estatus-change.service.d.ts +13 -13
  395. package/lib/services/ppp.service.d.ts +77 -77
  396. package/lib/services/profile.service.d.ts +26 -26
  397. package/lib/services/progress-bar.service.d.ts +14 -14
  398. package/lib/services/promotion-score.service.d.ts +14 -14
  399. package/lib/services/registry-identifier.service.d.ts +16 -16
  400. package/lib/services/return-refund.service.d.ts +20 -20
  401. package/lib/services/segmentation-tokens.service.d.ts +22 -22
  402. package/lib/services/segmentation-user-service.service.d.ts +26 -26
  403. package/lib/services/segmentation.service.d.ts +16 -16
  404. package/lib/services/send-application.service.d.ts +71 -71
  405. package/lib/services/sesion-form.service.d.ts +16 -16
  406. package/lib/services/sesion.service.d.ts +27 -27
  407. package/lib/services/spinner.service.d.ts +6 -6
  408. package/lib/services/sponsorship-letter.service.d.ts +34 -34
  409. package/lib/services/status.service.d.ts +31 -31
  410. package/lib/services/summary-budget.service.d.ts +11 -11
  411. package/lib/services/survey-metadata.service.d.ts +13 -13
  412. package/lib/services/survey-queue.service.d.ts +12 -12
  413. package/lib/services/survey.service.d.ts +17 -17
  414. package/lib/services/tasa.cambio.service.d.ts +14 -14
  415. package/lib/services/token-transformation.service.d.ts +19 -19
  416. package/lib/services/token.service.d.ts +270 -270
  417. package/lib/services/university.service.d.ts +28 -28
  418. package/lib/services/upload-documents.service.d.ts +21 -21
  419. package/lib/services/user.service.d.ts +12 -12
  420. package/lib/services/visualization-committee.service.d.ts +32 -32
  421. package/lib/utils/custom-validator.d.ts +19 -19
  422. package/lib/utils/form-util.d.ts +11 -11
  423. package/lib/utils/formio-util.d.ts +105 -105
  424. package/lib/utils/version-commons.d.ts +4 -4
  425. package/package.json +10 -16
  426. package/public-api.d.ts +210 -210
  427. package/version.d.ts +25 -25
  428. package/esm2020/lib/components/backoffice.commons.component.mjs +0 -40
  429. package/esm2020/lib/components/common.lists.component.mjs +0 -194
  430. package/esm2020/lib/components/configuration-token/configuration-token.component.mjs +0 -665
  431. package/esm2020/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +0 -103
  432. package/esm2020/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +0 -108
  433. package/esm2020/lib/components/configuration.commons.component.mjs +0 -40
  434. package/esm2020/lib/components/dynamic-filter/dynamic-filter.component.mjs +0 -131
  435. package/esm2020/lib/components/excel-to-json/excel-to-json.component.mjs +0 -54
  436. package/esm2020/lib/components/frontoffice.commons.component.mjs +0 -86
  437. package/esm2020/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +0 -162
  438. package/esm2020/lib/components/pdf-generator/pdf-generator.component.mjs +0 -223
  439. package/esm2020/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +0 -307
  440. package/esm2020/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +0 -387
  441. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +0 -92
  442. package/esm2020/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +0 -199
  443. package/esm2020/lib/components/select-ppp/select-ppp.component.mjs +0 -199
  444. package/esm2020/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +0 -116
  445. package/esm2020/lib/components/token/token.component.mjs +0 -1006
  446. package/esm2020/lib/components/tokens-calculator/tokens-calculator.component.mjs +0 -128
  447. package/esm2020/lib/ng-pli-commons.module.mjs +0 -390
  448. package/esm2020/lib/pipes/currency-colfuturo.pipe.mjs +0 -35
  449. package/esm2020/lib/pipes/thousands.pipe.mjs +0 -60
  450. package/esm2020/lib/services/authentication.service.mjs +0 -133
  451. package/esm2020/lib/services/budget-application.service.mjs +0 -265
  452. package/esm2020/lib/services/budget.service.mjs +0 -205
  453. package/esm2020/lib/services/common.service.mjs +0 -291
  454. package/esm2020/lib/services/configuration-document.service.mjs +0 -297
  455. package/esm2020/lib/services/documentary.type.service.mjs +0 -69
  456. package/esm2020/lib/services/file.service.mjs +0 -153
  457. package/esm2020/lib/services/guarantee.service.mjs +0 -128
  458. package/esm2020/lib/services/keys-assignation.service.mjs +0 -127
  459. package/esm2020/lib/services/pli-cnf-evaluation-task.service.mjs +0 -112
  460. package/esm2020/lib/services/ppp.service.mjs +0 -360
  461. package/esm2020/lib/services/progress-bar.service.mjs +0 -40
  462. package/esm2020/lib/services/segmentation-tokens.service.mjs +0 -43
  463. package/esm2020/lib/services/send-application.service.mjs +0 -492
  464. package/esm2020/lib/services/token.service.mjs +0 -1345
  465. package/esm2020/lib/services/upload-documents.service.mjs +0 -60
  466. package/esm2020/lib/utils/custom-validator.mjs +0 -95
  467. package/esm2020/lib/utils/form-util.mjs +0 -35
  468. package/esm2020/lib/utils/formio-util.mjs +0 -580
  469. package/fesm2015/ng-pli-commons.mjs +0 -17373
  470. package/fesm2015/ng-pli-commons.mjs.map +0 -1
  471. package/fesm2020/ng-pli-commons.mjs.map +0 -1
@@ -0,0 +1,199 @@
1
+ import { Component, Input } from '@angular/core';
2
+ // import { FormioUtil, SegmentationTokensService } from 'ng-pli-commons';
3
+ import { UtilString, DatatableUtil } from 'ng-pli-util';
4
+ import { SegmentationTokensService } from '../../services/segmentation-tokens.service';
5
+ import { FormioUtil } from '../../utils/formio-util';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../services/segmentation-tokens.service";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "@angular/forms";
10
+ import * as i4 from "primeng/accordion";
11
+ import * as i5 from "primeng/dialog";
12
+ import * as i6 from "../tokens-calculator/tokens-calculator.component";
13
+ export class SegmentationTokensComponent {
14
+ constructor(sTokensService) {
15
+ this.sTokensService = sTokensService;
16
+ // Buttons
17
+ this.showTokenCalculatorButton = false;
18
+ this.showCalculatedTokenButton = true;
19
+ // Optional input
20
+ this.showSurveyTokens = false;
21
+ this.segColSurveyFormioTokens = [];
22
+ this.segColSurveyTokens = [];
23
+ this.fullLSegColumn = [];
24
+ }
25
+ async ngOnInit() {
26
+ this.ready = false;
27
+ this.showSegmentationTokens = false;
28
+ this.showCalculatedTokens = false;
29
+ this.showTokensCalculator = false;
30
+ this.varDisplayDiv = 'overflow: auto;min-height: 600px; display: none;';
31
+ }
32
+ initSurveyTokens() {
33
+ return new Promise(async (resolve, reject) => {
34
+ try {
35
+ // Static tokens
36
+ if (this.showSurveyTokens && this.segColSurveyTokens.length < 1) {
37
+ this.segColSurveyTokens = await this.getSegColSurveyTokens();
38
+ }
39
+ // Formio logic
40
+ if (typeof this.surveyFormio !== 'undefined') {
41
+ this.segColSurveyFormioTokens = this.getSegColSurveyFormioTokens();
42
+ }
43
+ resolve();
44
+ }
45
+ catch (error) {
46
+ reject(error);
47
+ }
48
+ });
49
+ }
50
+ ngOnChanges(changes) {
51
+ if (changes.lSegColumn) {
52
+ if (changes.lSegColumn.currentValue) {
53
+ const lSegColumn = this.handleSegColumns();
54
+ this.initComboColumnWork(lSegColumn);
55
+ }
56
+ }
57
+ if (changes.surveyFormio) {
58
+ if (changes.surveyFormio.currentValue) {
59
+ this.surveyFormio = changes.surveyFormio.currentValue;
60
+ const lSegColumn = this.handleSegColumns();
61
+ this.initComboColumnWork(lSegColumn);
62
+ }
63
+ }
64
+ }
65
+ handleSegColumns() {
66
+ const lSegColumn = JSON.parse(JSON.stringify(this.lSegColumn));
67
+ const filteredColumns = lSegColumn.reduce((acc, el) => ({
68
+ ...acc,
69
+ [`${el.category}-${el.key}`]: el
70
+ }), {});
71
+ const columns = [];
72
+ for (const key in filteredColumns) {
73
+ if (filteredColumns.hasOwnProperty(key)) {
74
+ const col = filteredColumns[key];
75
+ col.key = SegmentationTokensService.SEGMENTATION_TOKENS_PREFIX + col.key;
76
+ columns.push(col);
77
+ }
78
+ }
79
+ return columns;
80
+ }
81
+ async initComboColumnWork(lSegColumns) {
82
+ if (Array.isArray(this.comboColumnWorkInput) && this.comboColumnWorkInput.length > 0) {
83
+ this.comboColumnWork = JSON.parse(JSON.stringify(this.comboColumnWorkInput));
84
+ this.ready = true;
85
+ }
86
+ else {
87
+ if (Array.isArray(lSegColumns) && lSegColumns.length > 0) {
88
+ await this.initSurveyTokens();
89
+ lSegColumns = [
90
+ ...lSegColumns,
91
+ ...this.segColSurveyFormioTokens,
92
+ ...this.segColSurveyTokens
93
+ ];
94
+ this.fullLSegColumn = lSegColumns.slice();
95
+ this.comboColumnWork = DatatableUtil.buildCombo(lSegColumns);
96
+ this.ready = true;
97
+ }
98
+ }
99
+ }
100
+ getSegColSurveyFormioTokens() {
101
+ const cols = [];
102
+ if (this.surveyFormio.components) {
103
+ const surveyFormioTokens = FormioUtil.getFormattedComponentsByPanel(FormioUtil.getComponents(this.surveyFormio.components));
104
+ for (const panel of surveyFormioTokens) {
105
+ for (const field of panel.items) {
106
+ cols.push({
107
+ label: field.label,
108
+ key: SegmentationTokensService.FORM_TOKENS_PREFIX + field.value,
109
+ category: SegmentationTokensService.FORM_TOKENS_CATEGORY + ' ' + panel.label
110
+ });
111
+ }
112
+ }
113
+ }
114
+ return cols;
115
+ }
116
+ async getSegColSurveyTokens() {
117
+ const category = SegmentationTokensService.SURVEY_TOKENS_CATEGORY;
118
+ const surveyTokens = await this.sTokensService.getSurveyStaticTokens().toPromise();
119
+ return surveyTokens.map((st) => {
120
+ st.key = SegmentationTokensService.STATIC_TOKENS_PREFIX + st.key;
121
+ st.category = category;
122
+ return st;
123
+ });
124
+ }
125
+ displaySegmentationTokensDiv() {
126
+ this.showSegmentationTokens = !this.showSegmentationTokens;
127
+ this.showCalculatedTokens = false;
128
+ this.showTokensCalculator = false;
129
+ }
130
+ displayCalculatedTokensDiv() {
131
+ this.showCalculatedTokens = !this.showCalculatedTokens;
132
+ this.showSegmentationTokens = false;
133
+ this.showTokensCalculator = false;
134
+ }
135
+ displayTokenCalculatorDiv() {
136
+ this.showTokensCalculator = !this.showCalculatedTokens;
137
+ this.showSegmentationTokens = false;
138
+ this.showCalculatedTokens = false;
139
+ }
140
+ /** it executes when the check of category has changed */
141
+ changeCategory(isChecked, category) {
142
+ if (category)
143
+ category.items.forEach((c) => (c.selected = isChecked));
144
+ }
145
+ /** it validates if it is visible or not */
146
+ isVisibleCategory(category) {
147
+ for (const column of category.items)
148
+ if (this.isVisibleColumn(column.label))
149
+ return true;
150
+ return false;
151
+ }
152
+ /** it validates if it is visible or not */
153
+ isVisibleColumn(label) {
154
+ if (!this.columnSearch)
155
+ return true;
156
+ if (label && label.toLowerCase().includes(this.columnSearch.toLowerCase()))
157
+ return true;
158
+ return false;
159
+ }
160
+ copyToken(idColumn) {
161
+ const column = this.getColumn(idColumn.toString());
162
+ if (column)
163
+ this.copyMessage(this.sTokensService.getTokenSintax(column.key));
164
+ }
165
+ copyTokenCalc(value) {
166
+ this.copyMessage(value);
167
+ }
168
+ getTitleToken(idColumn) {
169
+ const column = this.getColumn(idColumn.toString());
170
+ if (column)
171
+ return '${' + column.key + '}';
172
+ return '';
173
+ }
174
+ getColumn(searchVal) {
175
+ return this.fullLSegColumn.find((c) => c.idColumn == searchVal || c.key == searchVal);
176
+ }
177
+ copyMessage(val) {
178
+ UtilString.copyMessage(val);
179
+ }
180
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SegmentationTokensComponent, deps: [{ token: i1.SegmentationTokensService }], target: i0.ɵɵFactoryTarget.Component }); }
181
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SegmentationTokensComponent, selector: "app-segmentation-tokens", inputs: { showTokenCalculatorButton: "showTokenCalculatorButton", showCalculatedTokenButton: "showCalculatedTokenButton", showSurveyTokens: "showSurveyTokens", comboColumnWorkInput: "comboColumnWorkInput", surveyFormio: "surveyFormio", lSegColumn: "lSegColumn" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"ready\">\r\n\t<div class=\"panel panel-default\" class=\"overflow: auto;min-height: 600px; display: block;\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12 row-margin\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t(click)=\"displayTokenCalculatorDiv()\"\r\n\t\t\t\t\tclass=\"btn btn-primary pull-right\"\r\n\t\t\t\t>\r\n\t\t\t\t\tCalculadora de tokens\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<input\r\n\t\t\t\t\ttype=\"input\"\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\tstyle=\"margin-bottom: 8px\"\r\n\t\t\t\t\tplaceholder=\"Busqueda de columnas\"\r\n\t\t\t\t\t[(ngModel)]=\"columnSearch\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<p-accordion [multiple]=\"true\">\r\n\t\t\t<ng-container *ngFor=\"let category of comboColumnWork\">\r\n\t\t\t\t<p-accordionTab *ngIf=\"isVisibleCategory(category)\" header=\"{{ category.label }}\">\r\n\t\t\t\t\t<div *ngFor=\"let column of category.items\" class=\"ui-g\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclass=\"ui-g-12 ui-md-6 ui-lg-3 cut-line\"\r\n\t\t\t\t\t\t\t*ngIf=\"isVisibleColumn(column.label)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t(click)=\"copyToken(column.value)\"\r\n\t\t\t\t\t\t\t\t[title]=\"getTitleToken(column.value)\"\r\n\t\t\t\t\t\t\t\tstyle=\"margin-right: 8px\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<span title=\"{{ column.label }}\">{{ column.label }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-accordionTab>\r\n\t\t\t</ng-container>\r\n\t\t</p-accordion>\r\n\t</div>\r\n\r\n\t<p-dialog\r\n\t\tappendTo=\"body\"\r\n\t\theader=\"Calculadora de tokens\"\r\n\t\t[(visible)]=\"showTokensCalculator\"\r\n\t\t[modal]=\"true\"\r\n\t\t[contentStyle]=\"{\r\n\t\t\t'min-width': '600px',\r\n\t\t\t'max-width': '600px',\r\n\t\t\t'min-height': '420px',\r\n\t\t\t'max-height': '420px',\r\n\t\t\tbackground: 'white',\r\n\t\t\t'overflow-y': 'auto',\r\n\t\t\t'text-align': 'left'\r\n\t\t}\"\r\n\t\theight=\"420\"\r\n\t\twidth=\"600\"\r\n\t\tdismissableMask=\"true\"\r\n\t>\r\n\t\t<div class=\"container-fluid\">\r\n\t\t\t<app-tokens-calculator\r\n\t\t\t\t*ngIf=\"showTokensCalculator\"\r\n\t\t\t\t[comboColumnWorkInput]=\"comboColumnWork\"\r\n\t\t\t></app-tokens-calculator>\r\n\t\t</div>\r\n\t</p-dialog>\r\n</div>\r\n", styles: [".row-margin{margin-top:8px;margin-bottom:8px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex", "selectOnFocus", "headerAriaLevel"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i4.AccordionTab, selector: "p-accordionTab", inputs: ["id", "header", "headerStyle", "tabStyle", "contentStyle", "tabStyleClass", "headerStyleClass", "contentStyleClass", "disabled", "cache", "transitionOptions", "iconPos", "selected", "headerAriaLevel"], outputs: ["selectedChange"] }, { kind: "component", type: i5.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: i6.TokensCalculatorComponent, selector: "app-tokens-calculator", inputs: ["comboColumnWorkInput"] }] }); }
182
+ }
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SegmentationTokensComponent, decorators: [{
184
+ type: Component,
185
+ args: [{ selector: 'app-segmentation-tokens', template: "<div *ngIf=\"ready\">\r\n\t<div class=\"panel panel-default\" class=\"overflow: auto;min-height: 600px; display: block;\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-12 row-margin\">\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t(click)=\"displayTokenCalculatorDiv()\"\r\n\t\t\t\t\tclass=\"btn btn-primary pull-right\"\r\n\t\t\t\t>\r\n\t\t\t\t\tCalculadora de tokens\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<input\r\n\t\t\t\t\ttype=\"input\"\r\n\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\tstyle=\"margin-bottom: 8px\"\r\n\t\t\t\t\tplaceholder=\"Busqueda de columnas\"\r\n\t\t\t\t\t[(ngModel)]=\"columnSearch\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<p-accordion [multiple]=\"true\">\r\n\t\t\t<ng-container *ngFor=\"let category of comboColumnWork\">\r\n\t\t\t\t<p-accordionTab *ngIf=\"isVisibleCategory(category)\" header=\"{{ category.label }}\">\r\n\t\t\t\t\t<div *ngFor=\"let column of category.items\" class=\"ui-g\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclass=\"ui-g-12 ui-md-6 ui-lg-3 cut-line\"\r\n\t\t\t\t\t\t\t*ngIf=\"isVisibleColumn(column.label)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\t\t\t(click)=\"copyToken(column.value)\"\r\n\t\t\t\t\t\t\t\t[title]=\"getTitleToken(column.value)\"\r\n\t\t\t\t\t\t\t\tstyle=\"margin-right: 8px\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t<span title=\"{{ column.label }}\">{{ column.label }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-accordionTab>\r\n\t\t\t</ng-container>\r\n\t\t</p-accordion>\r\n\t</div>\r\n\r\n\t<p-dialog\r\n\t\tappendTo=\"body\"\r\n\t\theader=\"Calculadora de tokens\"\r\n\t\t[(visible)]=\"showTokensCalculator\"\r\n\t\t[modal]=\"true\"\r\n\t\t[contentStyle]=\"{\r\n\t\t\t'min-width': '600px',\r\n\t\t\t'max-width': '600px',\r\n\t\t\t'min-height': '420px',\r\n\t\t\t'max-height': '420px',\r\n\t\t\tbackground: 'white',\r\n\t\t\t'overflow-y': 'auto',\r\n\t\t\t'text-align': 'left'\r\n\t\t}\"\r\n\t\theight=\"420\"\r\n\t\twidth=\"600\"\r\n\t\tdismissableMask=\"true\"\r\n\t>\r\n\t\t<div class=\"container-fluid\">\r\n\t\t\t<app-tokens-calculator\r\n\t\t\t\t*ngIf=\"showTokensCalculator\"\r\n\t\t\t\t[comboColumnWorkInput]=\"comboColumnWork\"\r\n\t\t\t></app-tokens-calculator>\r\n\t\t</div>\r\n\t</p-dialog>\r\n</div>\r\n", styles: [".row-margin{margin-top:8px;margin-bottom:8px}\n"] }]
186
+ }], ctorParameters: () => [{ type: i1.SegmentationTokensService }], propDecorators: { showTokenCalculatorButton: [{
187
+ type: Input
188
+ }], showCalculatedTokenButton: [{
189
+ type: Input
190
+ }], showSurveyTokens: [{
191
+ type: Input
192
+ }], comboColumnWorkInput: [{
193
+ type: Input
194
+ }], surveyFormio: [{
195
+ type: Input
196
+ }], lSegColumn: [{
197
+ type: Input
198
+ }] } });
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudGF0aW9uLXRva2Vucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvc2VnbWVudGF0aW9uLXRva2Vucy9zZWdtZW50YXRpb24tdG9rZW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9zZWdtZW50YXRpb24tdG9rZW5zL3NlZ21lbnRhdGlvbi10b2tlbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ25GLDBFQUEwRTtBQUMxRSxPQUFPLEVBQWEsVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNuRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBT3JELE1BQU0sT0FBTywyQkFBMkI7SUFnQ3ZDLFlBQW9CLGNBQXlDO1FBQXpDLG1CQUFjLEdBQWQsY0FBYyxDQUEyQjtRQXRCN0QsVUFBVTtRQUNELDhCQUF5QixHQUFHLEtBQUssQ0FBQztRQUNsQyw4QkFBeUIsR0FBRyxJQUFJLENBQUM7UUFFMUMsaUJBQWlCO1FBQ1IscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBa0JqQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFL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SW5pdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG4vLyBpbXBvcnQgeyBGb3JtaW9VdGlsLCBTZWdtZW50YXRpb25Ub2tlbnNTZXJ2aWNlIH0gZnJvbSAnbmctcGxpLWNvbW1vbnMnO1xyXG5pbXBvcnQgeyBTZWdDb2x1bW4sIFV0aWxTdHJpbmcsIERhdGF0YWJsZVV0aWwgfSBmcm9tICduZy1wbGktdXRpbCc7XHJcbmltcG9ydCB7IFNlZ21lbnRhdGlvblRva2Vuc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWdtZW50YXRpb24tdG9rZW5zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtaW9VdGlsIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9ybWlvLXV0aWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtc2VnbWVudGF0aW9uLXRva2VucycsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3NlZ21lbnRhdGlvbi10b2tlbnMuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL3NlZ21lbnRhdGlvbi10b2tlbnMuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWdtZW50YXRpb25Ub2tlbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblx0c2hvd1NlZ21lbnRhdGlvblRva2VuczogYm9vbGVhbjtcclxuXHRzaG93VG9rZW5zQ2FsY3VsYXRvcjogYm9vbGVhbjtcclxuXHRzaG93Q2FsY3VsYXRlZFRva2VuczogYm9vbGVhbjtcclxuXHRkaXNwbGF5RGlhbG9nOiBib29sZWFuO1xyXG5cdHJlYWR5OiBib29sZWFuO1xyXG5cclxuXHR2YXJEaXNwbGF5RGl2OiBzdHJpbmc7XHJcblx0Y29sdW1uU2VhcmNoOiBzdHJpbmc7XHJcblxyXG5cdC8vIEJ1dHRvbnNcclxuXHRASW5wdXQoKSBzaG93VG9rZW5DYWxjdWxhdG9yQnV0dG9uID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd0NhbGN1bGF0ZWRUb2tlbkJ1dHRvbiA9IHRydWU7XHJcblxyXG5cdC8vIE9wdGlvbmFsIGlucHV0XHJcblx0QElucHV0KCkgc2hvd1N1cnZleVRva2VucyA9IGZhbHNlO1xyXG5cclxuXHQvLyBPcHRpb25hbCBpbnB1dCAodHJhbnNmb3JtZWQgY29sdW1ucylcclxuXHRASW5wdXQoKSBjb21ib0NvbHVtbldvcmtJbnB1dDogYW55W107XHJcblx0Ly8gT3B0aW9uYWwgaW5wdXQgKGZvcm1pbyBvYmplY3QpXHJcblx0QElucHV0KCkgc3VydmV5Rm9ybWlvOiBhbnk7XHJcblx0Ly8gUmVxdWlyZWQgaW5wdXRcclxuXHRASW5wdXQoKSBsU2VnQ29sdW1uOiBTZWdDb2x1bW5bXTtcclxuXHJcblx0Ly8gQ29udGFpbnMgdGhlIHRyYW5zZm9ybWVkIGNvbHVtbnNcclxuXHRjb21ib0NvbHVtbldvcms6IGFueVtdO1xyXG5cclxuXHQvLyBBZGl0dGlvbmFsIGNvbHVtbnNcclxuXHRzZWdDb2xTdXJ2ZXlGb3JtaW9Ub2tlbnM6IFNlZ0NvbHVtbltdO1xyXG5cdHNlZ0NvbFN1cnZleVRva2VuczogU2VnQ29sdW1uW107XHJcblx0ZnVsbExTZWdDb2x1bW46IFNlZ0NvbHVtbltdO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHNUb2tlbnNTZXJ2aWNlOiBTZWdtZW50YXRpb25Ub2tlbnNTZXJ2aWNlKSB7XHJcblx0XHR0aGlzLnNlZ0NvbFN1cnZleUZvcm1pb1Rva2VucyA9IFtdO1xyXG5cdFx0dGhpcy5zZWdDb2xTdXJ2ZXlUb2tlbnMgPSBbXTtcclxuXHRcdHRoaXMuZnVsbExTZWdDb2x1bW4gPSBbXTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIG5nT25Jbml0KCkge1xyXG5cdFx0dGhpcy5yZWFkeSA9IGZhbHNlO1xyXG5cdFx0dGhpcy5zaG93U2VnbWVudGF0aW9uVG9rZW5zID0gZmFsc2U7XHJcblx0XHR0aGlzLnNob3dDYWxjdWxhdGVkVG9rZW5zID0gZmFsc2U7XHJcblx0XHR0aGlzLnNob3dUb2tlbnNDYWxjdWxhdG9yID0gZmFsc2U7XHJcblx0XHR0aGlzLnZhckRpc3BsYXlEaXYgPSAnb3ZlcmZsb3c6IGF1dG87bWluLWhlaWdodDogNjAwcHg7IGRpc3BsYXk6IG5vbmU7JztcclxuXHR9XHJcblxyXG5cdGluaXRTdXJ2ZXlUb2tlbnMoKSB7XHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdC8vIFN0YXRpYyB0b2tlbnNcclxuXHRcdFx0XHRpZiAodGhpcy5zaG93U3VydmV5VG9rZW5zICYmIHRoaXMuc2VnQ29sU3VydmV5VG9rZW5zLmxlbmd0aCA8IDEpIHtcclxuXHRcdFx0XHRcdHRoaXMuc2VnQ29sU3VydmV5VG9rZW5zID0gYXdhaXQgdGhpcy5nZXRTZWdDb2xTdXJ2ZXlUb2tlbnMoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ly8gRm9ybWlvIGxvZ2ljXHJcblx0XHRcdFx0aWYgKHR5cGVvZiB0aGlzLnN1cnZleUZvcm1pbyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0XHRcdHRoaXMuc2VnQ29sU3VydmV5Rm9ybWlvVG9rZW5zID0gdGhpcy5nZXRTZWdDb2xTdXJ2ZXlGb3JtaW9Ub2tlbnMoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmVzb2x2ZSgpO1xyXG5cdFx0XHR9IGNhdGNoIChlcnJvcikge1xyXG5cdFx0XHRcdHJlamVjdChlcnJvcik7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG5cdFx0aWYgKGNoYW5nZXMubFNlZ0NvbHVtbikge1xyXG5cdFx0XHRpZiAoY2hhbmdlcy5sU2VnQ29sdW1uLmN1cnJlbnRWYWx1ZSkge1xyXG5cdFx0XHRcdGNvbnN0IGxTZWdDb2x1bW4gPSB0aGlzLmhhbmRsZVNlZ0NvbHVtbnMoKTtcclxuXHRcdFx0XHR0aGlzLmluaXRDb21ib0NvbHVtbldvcmsobFNlZ0NvbHVtbik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGlmIChjaGFuZ2VzLnN1cnZleUZvcm1pbykge1xyXG5cdFx0XHRpZiAoY2hhbmdlcy5zdXJ2ZXlGb3JtaW8uY3VycmVudFZhbHVlKSB7XHJcblx0XHRcdFx0dGhpcy5zdXJ2ZXlGb3JtaW8gPSBjaGFuZ2VzLnN1cnZleUZvcm1pby5jdXJyZW50VmFsdWU7XHJcblx0XHRcdFx0Y29uc3QgbFNlZ0NvbHVtbiA9IHRoaXMuaGFuZGxlU2VnQ29sdW1ucygpO1xyXG5cdFx0XHRcdHRoaXMuaW5pdENvbWJvQ29sdW1uV29yayhsU2VnQ29sdW1uKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aGFuZGxlU2VnQ29sdW1ucygpIHtcclxuXHRcdGNvbnN0IGxTZWdDb2x1bW4gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMubFNlZ0NvbHVtbikpO1xyXG5cdFx0Y29uc3QgZmlsdGVyZWRDb2x1bW5zID0gbFNlZ0NvbHVtbi5yZWR1Y2UoXHJcblx0XHRcdChhY2MsIGVsKSA9PiAoe1xyXG5cdFx0XHRcdC4uLmFjYyxcclxuXHRcdFx0XHRbYCR7ZWwuY2F0ZWdvcnl9LSR7ZWwua2V5fWBdOiBlbFxyXG5cdFx0XHR9KSxcclxuXHRcdFx0e31cclxuXHRcdCk7XHJcblx0XHRjb25zdCBjb2x1bW5zID0gW107XHJcblx0XHRmb3IgKGNvbnN0IGtleSBpbiBmaWx0ZXJlZENvbHVtbnMpIHtcclxuXHRcdFx0aWYgKGZpbHRlcmVkQ29sdW1ucy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcblx0XHRcdFx0Y29uc3QgY29sID0gZmlsdGVyZWRDb2x1bW5zW2tleV07XHJcblx0XHRcdFx0Y29sLmtleSA9IFNlZ21lbnRhdGlvblRva2Vuc1NlcnZpY2UuU0VHTUVOVEFUSU9OX1RPS0VOU19QUkVGSVggKyBjb2wua2V5O1xyXG5cdFx0XHRcdGNvbHVtbnMucHVzaChjb2wpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gY29sdW1ucztcclxuXHR9XHJcblxyXG5cdGFzeW5jIGluaXRDb21ib0NvbHVtbldvcmsobFNlZ0NvbHVtbnMpIHtcclxuXHRcdGlmIChBcnJheS5pc0FycmF5KHRoaXMuY29tYm9Db2x1bW5Xb3JrSW5wdXQpICYmIHRoaXMuY29tYm9Db2x1bW5Xb3JrSW5wdXQubGVuZ3RoID4gMCkge1xyXG5cdFx0XHR0aGlzLmNvbWJvQ29sdW1uV29yayA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jb21ib0NvbHVtbldvcmtJbnB1dCkpO1xyXG5cdFx0XHR0aGlzLnJlYWR5ID0gdHJ1ZTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGlmIChBcnJheS5pc0FycmF5KGxTZWdDb2x1bW5zKSAmJiBsU2VnQ29sdW1ucy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0YXdhaXQgdGhpcy5pbml0U3VydmV5VG9rZW5zKCk7XHJcblx0XHRcdFx0bFNlZ0NvbHVtbnMgPSBbXHJcblx0XHRcdFx0XHQuLi5sU2VnQ29sdW1ucyxcclxuXHRcdFx0XHRcdC4uLnRoaXMuc2VnQ29sU3VydmV5Rm9ybWlvVG9rZW5zLFxyXG5cdFx0XHRcdFx0Li4udGhpcy5zZWdDb2xTdXJ2ZXlUb2tlbnNcclxuXHRcdFx0XHRdO1xyXG5cdFx0XHRcdHRoaXMuZnVsbExTZWdDb2x1bW4gPSBsU2VnQ29sdW1ucy5zbGljZSgpO1xyXG5cdFx0XHRcdHRoaXMuY29tYm9Db2x1bW5Xb3JrID0gRGF0YXRhYmxlVXRpbC5idWlsZENvbWJvKGxTZWdDb2x1bW5zKTtcclxuXHRcdFx0XHR0aGlzLnJlYWR5ID0gdHJ1ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Z2V0U2VnQ29sU3VydmV5Rm9ybWlvVG9rZW5zKCkge1xyXG5cdFx0Y29uc3QgY29scyA9IFtdO1xyXG5cdFx0aWYgKHRoaXMuc3VydmV5Rm9ybWlvLmNvbXBvbmVudHMpIHtcclxuXHRcdFx0Y29uc3Qgc3VydmV5Rm9ybWlvVG9rZW5zID0gRm9ybWlvVXRpbC5nZXRGb3JtYXR0ZWRDb21wb25lbnRzQnlQYW5lbChcclxuXHRcdFx0XHRGb3JtaW9VdGlsLmdldENvbXBvbmVudHModGhpcy5zdXJ2ZXlGb3JtaW8uY29tcG9uZW50cylcclxuXHRcdFx0KTtcclxuXHRcdFx0Zm9yIChjb25zdCBwYW5lbCBvZiBzdXJ2ZXlGb3JtaW9Ub2tlbnMpIHtcclxuXHRcdFx0XHRmb3IgKGNvbnN0IGZpZWxkIG9mIHBhbmVsLml0ZW1zKSB7XHJcblx0XHRcdFx0XHRjb2xzLnB1c2goe1xyXG5cdFx0XHRcdFx0XHRsYWJlbDogZmllbGQubGFiZWwsXHJcblx0XHRcdFx0XHRcdGtleTogU2VnbWVudGF0aW9uVG9rZW5zU2VydmljZS5GT1JNX1RPS0VOU19QUkVGSVggKyBmaWVsZC52YWx1ZSxcclxuXHRcdFx0XHRcdFx0Y2F0ZWdvcnk6IFNlZ21lbnRhdGlvblRva2Vuc1NlcnZpY2UuRk9STV9UT0tFTlNfQ0FURUdPUlkgKyAnICcgKyBwYW5lbC5sYWJlbFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIGNvbHM7XHJcblx0fVxyXG5cclxuXHRhc3luYyBnZXRTZWdDb2xTdXJ2ZXlUb2tlbnMoKSB7XHJcblx0XHRjb25zdCBjYXRlZ29yeSA9IFNlZ21lbnRhdGlvblRva2Vuc1NlcnZpY2UuU1VSVkVZX1RPS0VOU19DQVRFR09SWTtcclxuXHRcdGNvbnN0IHN1cnZleVRva2VucyA9IGF3YWl0IHRoaXMuc1Rva2Vuc1NlcnZpY2UuZ2V0U3VydmV5U3RhdGljVG9rZW5zKCkudG9Qcm9taXNlKCk7XHJcblx0XHRyZXR1cm4gc3VydmV5VG9rZW5zLm1hcCgoc3QpID0+IHtcclxuXHRcdFx0c3Qua2V5ID0gU2VnbWVudGF0aW9uVG9rZW5zU2VydmljZS5TVEFUSUNfVE9LRU5TX1BSRUZJWCArIHN0LmtleTtcclxuXHRcdFx0c3QuY2F0ZWdvcnkgPSBjYXRlZ29yeTtcclxuXHRcdFx0cmV0dXJuIHN0O1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5U2VnbWVudGF0aW9uVG9rZW5zRGl2KCkge1xyXG5cdFx0dGhpcy5zaG93U2VnbWVudGF0aW9uVG9rZW5zID0gIXRoaXMuc2hvd1NlZ21lbnRhdGlvblRva2VucztcclxuXHRcdHRoaXMuc2hvd0NhbGN1bGF0ZWRUb2tlbnMgPSBmYWxzZTtcclxuXHRcdHRoaXMuc2hvd1Rva2Vuc0NhbGN1bGF0b3IgPSBmYWxzZTtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXlDYWxjdWxhdGVkVG9rZW5zRGl2KCkge1xyXG5cdFx0dGhpcy5zaG93Q2FsY3VsYXRlZFRva2VucyA9ICF0aGlzLnNob3dDYWxjdWxhdGVkVG9rZW5zO1xyXG5cdFx0dGhpcy5zaG93U2VnbWVudGF0aW9uVG9rZW5zID0gZmFsc2U7XHJcblx0XHR0aGlzLnNob3dUb2tlbnNDYWxjdWxhdG9yID0gZmFsc2U7XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5VG9rZW5DYWxjdWxhdG9yRGl2KCkge1xyXG5cdFx0dGhpcy5zaG93VG9rZW5zQ2FsY3VsYXRvciA9ICF0aGlzLnNob3dDYWxjdWxhdGVkVG9rZW5zO1xyXG5cdFx0dGhpcy5zaG93U2VnbWVudGF0aW9uVG9rZW5zID0gZmFsc2U7XHJcblx0XHR0aGlzLnNob3dDYWxjdWxhdGVkVG9rZW5zID0gZmFsc2U7XHJcblx0fVxyXG5cclxuXHQvKiogaXQgZXhlY3V0ZXMgd2hlbiB0aGUgY2hlY2sgb2YgY2F0ZWdvcnkgaGFzIGNoYW5nZWQgKi9cclxuXHRjaGFuZ2VDYXRlZ29yeShpc0NoZWNrZWQsIGNhdGVnb3J5KSB7XHJcblx0XHRpZiAoY2F0ZWdvcnkpIGNhdGVnb3J5Lml0ZW1zLmZvckVhY2goKGMpID0+IChjLnNlbGVjdGVkID0gaXNDaGVja2VkKSk7XHJcblx0fVxyXG5cclxuXHQvKiogaXQgdmFsaWRhdGVzIGlmIGl0IGlzIHZpc2libGUgb3Igbm90ICovXHJcblx0aXNWaXNpYmxlQ2F0ZWdvcnkoY2F0ZWdvcnkpIHtcclxuXHRcdGZvciAoY29uc3QgY29sdW1uIG9mIGNhdGVnb3J5Lml0ZW1zKSBpZiAodGhpcy5pc1Zpc2libGVDb2x1bW4oY29sdW1uLmxhYmVsKSkgcmV0dXJuIHRydWU7XHJcblx0XHRyZXR1cm4gZmFsc2U7XHJcblx0fVxyXG5cclxuXHQvKiogaXQgdmFsaWRhdGVzIGlmIGl0IGlzIHZpc2libGUgb3Igbm90ICovXHJcblx0aXNWaXNpYmxlQ29sdW1uKGxhYmVsKSB7XHJcblx0XHRpZiAoIXRoaXMuY29sdW1uU2VhcmNoKSByZXR1cm4gdHJ1ZTtcclxuXHRcdGlmIChsYWJlbCAmJiBsYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuY29sdW1uU2VhcmNoLnRvTG93ZXJDYXNlKCkpKSByZXR1cm4gdHJ1ZTtcclxuXHRcdHJldHVybiBmYWxzZTtcclxuXHR9XHJcblxyXG5cdGNvcHlUb2tlbihpZENvbHVtbikge1xyXG5cdFx0Y29uc3QgY29sdW1uID0gdGhpcy5nZXRDb2x1bW4oaWRDb2x1bW4udG9TdHJpbmcoKSk7XHJcblx0XHRpZiAoY29sdW1uKSB0aGlzLmNvcHlNZXNzYWdlKHRoaXMuc1Rva2Vuc1NlcnZpY2UuZ2V0VG9rZW5TaW50YXgoY29sdW1uLmtleSkpO1xyXG5cdH1cclxuXHJcblx0Y29weVRva2VuQ2FsYyh2YWx1ZSkge1xyXG5cdFx0dGhpcy5jb3B5TWVzc2FnZSh2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHRnZXRUaXRsZVRva2VuKGlkQ29sdW1uKTogc3RyaW5nIHtcclxuXHRcdGNvbnN0IGNvbHVtbiA9IHRoaXMuZ2V0Q29sdW1uKGlkQ29sdW1uLnRvU3RyaW5nKCkpO1xyXG5cdFx0aWYgKGNvbHVtbikgcmV0dXJuICckeycgKyBjb2x1bW4ua2V5ICsgJ30nO1xyXG5cdFx0cmV0dXJuICcnO1xyXG5cdH1cclxuXHJcblx0Z2V0Q29sdW1uKHNlYXJjaFZhbCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuZnVsbExTZWdDb2x1bW4uZmluZCgoYykgPT4gYy5pZENvbHVtbiA9PSBzZWFyY2hWYWwgfHwgYy5rZXkgPT0gc2VhcmNoVmFsKTtcclxuXHR9XHJcblxyXG5cdGNvcHlNZXNzYWdlKHZhbDogc3RyaW5nKSB7XHJcblx0XHRVdGlsU3RyaW5nLmNvcHlNZXNzYWdlKHZhbCk7XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJyZWFkeVwiPlxyXG5cdDxkaXYgY2xhc3M9XCJwYW5lbCBwYW5lbC1kZWZhdWx0XCIgY2xhc3M9XCJvdmVyZmxvdzogYXV0bzttaW4taGVpZ2h0OiA2MDBweDsgZGlzcGxheTogYmxvY2s7XCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgcm93LW1hcmdpblwiPlxyXG5cdFx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRcdHR5cGU9XCJidXR0b25cIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cImRpc3BsYXlUb2tlbkNhbGN1bGF0b3JEaXYoKVwiXHJcblx0XHRcdFx0XHRjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBwdWxsLXJpZ2h0XCJcclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRDYWxjdWxhZG9yYSBkZSB0b2tlbnNcclxuXHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuXHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdHR5cGU9XCJpbnB1dFwiXHJcblx0XHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcblx0XHRcdFx0XHRzdHlsZT1cIm1hcmdpbi1ib3R0b206IDhweFwiXHJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkJ1c3F1ZWRhIGRlIGNvbHVtbmFzXCJcclxuXHRcdFx0XHRcdFsobmdNb2RlbCldPVwiY29sdW1uU2VhcmNoXCJcclxuXHRcdFx0XHQvPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cclxuXHRcdDxwLWFjY29yZGlvbiBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxyXG5cdFx0XHQ8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBjb21ib0NvbHVtbldvcmtcIj5cclxuXHRcdFx0XHQ8cC1hY2NvcmRpb25UYWIgKm5nSWY9XCJpc1Zpc2libGVDYXRlZ29yeShjYXRlZ29yeSlcIiBoZWFkZXI9XCJ7eyBjYXRlZ29yeS5sYWJlbCB9fVwiPlxyXG5cdFx0XHRcdFx0PGRpdiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNhdGVnb3J5Lml0ZW1zXCIgY2xhc3M9XCJ1aS1nXCI+XHJcblx0XHRcdFx0XHRcdDxkaXZcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cInVpLWctMTIgdWktbWQtNiB1aS1sZy0zIGN1dC1saW5lXCJcclxuXHRcdFx0XHRcdFx0XHQqbmdJZj1cImlzVmlzaWJsZUNvbHVtbihjb2x1bW4ubGFiZWwpXCJcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRcdFx0XHRcdHR5cGU9XCJidXR0b25cIlxyXG5cdFx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cImNvcHlUb2tlbihjb2x1bW4udmFsdWUpXCJcclxuXHRcdFx0XHRcdFx0XHRcdFt0aXRsZV09XCJnZXRUaXRsZVRva2VuKGNvbHVtbi52YWx1ZSlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDhweFwiXHJcblx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmYSBmYS1jbGlwYm9hcmRcIj48L3NwYW4+XHJcblx0XHRcdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4gdGl0bGU9XCJ7eyBjb2x1bW4ubGFiZWwgfX1cIj57eyBjb2x1bW4ubGFiZWwgfX08L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9wLWFjY29yZGlvblRhYj5cclxuXHRcdFx0PC9uZy1jb250YWluZXI+XHJcblx0XHQ8L3AtYWNjb3JkaW9uPlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8cC1kaWFsb2dcclxuXHRcdGFwcGVuZFRvPVwiYm9keVwiXHJcblx0XHRoZWFkZXI9XCJDYWxjdWxhZG9yYSBkZSB0b2tlbnNcIlxyXG5cdFx0Wyh2aXNpYmxlKV09XCJzaG93VG9rZW5zQ2FsY3VsYXRvclwiXHJcblx0XHRbbW9kYWxdPVwidHJ1ZVwiXHJcblx0XHRbY29udGVudFN0eWxlXT1cIntcclxuXHRcdFx0J21pbi13aWR0aCc6ICc2MDBweCcsXHJcblx0XHRcdCdtYXgtd2lkdGgnOiAnNjAwcHgnLFxyXG5cdFx0XHQnbWluLWhlaWdodCc6ICc0MjBweCcsXHJcblx0XHRcdCdtYXgtaGVpZ2h0JzogJzQyMHB4JyxcclxuXHRcdFx0YmFja2dyb3VuZDogJ3doaXRlJyxcclxuXHRcdFx0J292ZXJmbG93LXknOiAnYXV0bycsXHJcblx0XHRcdCd0ZXh0LWFsaWduJzogJ2xlZnQnXHJcblx0XHR9XCJcclxuXHRcdGhlaWdodD1cIjQyMFwiXHJcblx0XHR3aWR0aD1cIjYwMFwiXHJcblx0XHRkaXNtaXNzYWJsZU1hc2s9XCJ0cnVlXCJcclxuXHQ+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcblx0XHRcdDxhcHAtdG9rZW5zLWNhbGN1bGF0b3JcclxuXHRcdFx0XHQqbmdJZj1cInNob3dUb2tlbnNDYWxjdWxhdG9yXCJcclxuXHRcdFx0XHRbY29tYm9Db2x1bW5Xb3JrSW5wdXRdPVwiY29tYm9Db2x1bW5Xb3JrXCJcclxuXHRcdFx0PjwvYXBwLXRva2Vucy1jYWxjdWxhdG9yPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9wLWRpYWxvZz5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,199 @@
1
+ import { Component, EventEmitter, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services/ppp.service";
4
+ import * as i2 from "@angular/forms";
5
+ import * as i3 from "@angular/router";
6
+ import * as i4 from "primeng/dropdown";
7
+ export class SelectPppComponent {
8
+ constructor(pppService, rf, activatedRoute, cdRef) {
9
+ this.pppService = pppService;
10
+ this.rf = rf;
11
+ this.activatedRoute = activatedRoute;
12
+ this.cdRef = cdRef;
13
+ /** Variables ppp */
14
+ this.patCodigo = 0;
15
+ this.progCodigo = 0;
16
+ this.promCodigo = 0;
17
+ this.promCodigoTmp = 0;
18
+ /** It is used when promcodigo is changed */
19
+ this.onPromCodigoSelected = new EventEmitter();
20
+ // subscribe list ppp
21
+ this.getListPatrocinador();
22
+ // subscribe to change ppp
23
+ this.pppService.onChangePpp().subscribe((result) => {
24
+ if (result) {
25
+ this.promCodigo = result;
26
+ this.initPpp();
27
+ }
28
+ });
29
+ if (!this.promCodigo) {
30
+ let promocionList = this.pppService.getAllPromociones();
31
+ if (promocionList && promocionList.length) {
32
+ promocionList.sort((a, b) => a.promFechaCreacion < b.promFechaCreacion
33
+ ? 1
34
+ : a.promFechaCreacion > b.promFechaCreacion
35
+ ? -1
36
+ : 0);
37
+ this.promCodigo = promocionList[0].promCodigo;
38
+ this.initPpp();
39
+ //this.onPliPromocionChanged(undefined);
40
+ }
41
+ }
42
+ this.pppService.setPpp(this.promCodigo);
43
+ }
44
+ ngOnInit() {
45
+ this.activatedRoute.params.subscribe((params) => {
46
+ this.promCodigo = params['promCodigo'];
47
+ this.promCodigoTmp = params['promCodigo'];
48
+ if (this.promCodigo > 0) {
49
+ this.patCodigo = this.pppService.getPatCodigoByPromCodigo(this.promCodigo);
50
+ this.progCodigo = this.pppService.getProgCodigoByPromCodigo(this.promCodigo);
51
+ }
52
+ });
53
+ this.formPPP = this.rf.group({
54
+ sponsor: [this.patCodigo],
55
+ program: [this.progCodigo],
56
+ promotion: [this.promCodigo]
57
+ });
58
+ }
59
+ getListPatrocinador() {
60
+ this.pppService.getListPpp().subscribe((result) => {
61
+ if (result) {
62
+ this.listPatrocinador = result;
63
+ this.listPatrocinadorDr = [];
64
+ result.forEach((patrocinador) => {
65
+ let patrocinadorTmp = {
66
+ value: patrocinador.patCodigo,
67
+ label: patrocinador.patNombreCorto
68
+ };
69
+ this.listPatrocinadorDr.push(patrocinadorTmp);
70
+ });
71
+ this.initPpp();
72
+ }
73
+ });
74
+ }
75
+ /** It initializes the variables when they are assigned */
76
+ initPpp() {
77
+ if (this.listPatrocinador && this.listPatrocinador.length && this.promCodigo) {
78
+ for (const patrocinador of this.listPatrocinador)
79
+ for (const programa of patrocinador.listaPliPrograma)
80
+ for (const promocion of programa.listaPliPromocion)
81
+ if (promocion.promCodigo == this.promCodigo) {
82
+ this.patCodigo = patrocinador.patCodigo;
83
+ this.progCodigo = programa.progCodigo;
84
+ this.promCodigo = promocion.promCodigo;
85
+ this.listPrograma = patrocinador.listaPliPrograma;
86
+ this.listPromocion = programa.listaPliPromocion;
87
+ }
88
+ }
89
+ }
90
+ getPatrocinador(patCodigo) {
91
+ if (patCodigo > 0 && this.promCodigo > 0) {
92
+ this.getListPatrocinador();
93
+ //this.initPpp();
94
+ }
95
+ }
96
+ /** It fires when patrocinador is changed */
97
+ async onPliPatrocinadorChanged() {
98
+ this.patCodigo = this.formPPP.get('sponsor').value;
99
+ if (this.patCodigo) {
100
+ for (const patrocinador of this.listPatrocinador) {
101
+ if (patrocinador.patCodigo == this.patCodigo) {
102
+ this.patCodigo = patrocinador.patCodigo;
103
+ this.progCodigo = 0;
104
+ this.promCodigo = 0;
105
+ this.listPrograma = patrocinador.listaPliPrograma;
106
+ this.listPromocion = [];
107
+ }
108
+ }
109
+ if (this.listPrograma && this.listPrograma.length > 0) {
110
+ this.listProgramaDr = [];
111
+ this.listPrograma.forEach((programa) => {
112
+ let programaTmp = {
113
+ value: programa.progCodigo,
114
+ label: programa.progNombreCorto
115
+ };
116
+ this.listProgramaDr.push(programaTmp);
117
+ });
118
+ }
119
+ }
120
+ else {
121
+ this.progCodigo = 0;
122
+ this.promCodigo = 0;
123
+ this.listPrograma = [];
124
+ this.listPromocion = [];
125
+ }
126
+ }
127
+ /** It fires when programa is changed */
128
+ onPliProgramaChanged() {
129
+ this.progCodigo = this.formPPP.get('program').value;
130
+ if (this.progCodigo) {
131
+ for (const programa of this.listPrograma)
132
+ if (programa.progCodigo == this.progCodigo) {
133
+ this.promCodigo = 0;
134
+ this.listPromocion = programa.listaPliPromocion;
135
+ }
136
+ if (this.listPromocion && this.listPromocion.length > 0) {
137
+ this.listPromocionDr = [];
138
+ this.listPromocion.forEach((promocion) => {
139
+ let promocionTmp = {
140
+ value: promocion.promCodigo,
141
+ label: promocion.promNombreCorto
142
+ };
143
+ this.listPromocionDr.push(promocionTmp);
144
+ this.listPromocionDr.sort((a, b) => { return b.value - a.value; });
145
+ });
146
+ }
147
+ }
148
+ else {
149
+ this.promCodigo = 0;
150
+ this.listPromocion = [];
151
+ }
152
+ }
153
+ /** It fires when programa is changed */
154
+ onPliPromocionChanged(promocion) {
155
+ this.progCodigo = promocion.value;
156
+ this.pppService.setPpp(this.promCodigo);
157
+ this.onPromCodigoSelected.emit(this.promCodigo);
158
+ this.setPromocion();
159
+ }
160
+ setPromocion() {
161
+ setTimeout(() => {
162
+ if (this.formPPP.get('sponsor').value > 0) {
163
+ this.onPliPatrocinadorChanged();
164
+ this.progCodigo = this.formPPP.get('program').value;
165
+ this.onPliProgramaChanged();
166
+ if (this.formPPP.get('promotion').value > 0) {
167
+ this.formPPP.get('promotion').markAsDirty();
168
+ this.promCodigo = parseInt(this.formPPP.get('promotion').value);
169
+ this.formPPP.get('promotion').setValue(this.promCodigo);
170
+ }
171
+ }
172
+ }, 100);
173
+ this.cdRef.detectChanges();
174
+ }
175
+ ngAfterContentInit() {
176
+ setTimeout(() => {
177
+ if (this.formPPP.get('sponsor').value > 0) {
178
+ this.onPliPatrocinadorChanged();
179
+ this.progCodigo = this.formPPP.get('program').value;
180
+ this.onPliProgramaChanged();
181
+ if (this.formPPP.get('promotion').value > 0) {
182
+ this.formPPP.get('promotion').markAsDirty();
183
+ this.promCodigo = parseInt(this.formPPP.get('promotion').value);
184
+ this.formPPP.get('promotion').setValue(this.promCodigo);
185
+ }
186
+ }
187
+ }, 2000);
188
+ this.cdRef.detectChanges();
189
+ }
190
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPppComponent, deps: [{ token: i1.PppService }, { token: i2.UntypedFormBuilder }, { token: i3.ActivatedRoute }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
191
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectPppComponent, selector: "pli-select-ppp", outputs: { onPromCodigoSelected: "onPromCodigoSelected" }, ngImport: i0, template: "<!-- <div class=\"row\">\r\n\t<div class=\"col-md-4\">\r\n\t\t<div class=\"form-group\">\r\n\t\t\t<label for=\"patCodigo\" class=\"form-control-label\">Patrocinador</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t[options]=\"listPatrocinadorDr\"\r\n\t\t\t\t[(ngModel)]=\"patCodigo\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t(ngModelChange)=\"onPliPatrocinadorChanged()\"\r\n\t\t\t></p-dropdown>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-md-4\">\r\n\t\t<div class=\"form-group\">\r\n\t\t\t<label for=\"progCodigo\" class=\"form-control-label\">Programa</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t[options]=\"listProgramaDr\"\r\n\t\t\t\t[(ngModel)]=\"progCodigo\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t(onChange)=\"onPliProgramaChanged()\"\r\n\t\t\t></p-dropdown>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-md-4\">\r\n\t\t<div class=\"form-group\">\r\n\t\t\t<label for=\"promCodigo\" class=\"form-control-label\">Promocion</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t[options]=\"listPromocionDr\"\r\n\t\t\t\t[(ngModel)]=\"promCodigo\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t(onChange)=\"onPliPromocionChanged($event)\"\r\n\t\t\t></p-dropdown>\r\n\t\t</div>\r\n\t</div>\r\n</div> -->\r\n<form [formGroup]=\"formPPP\">\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-md-4\">\r\n\t\t\t<div class=\"form-group\">\r\n\t\t\t\t<label for=\"patCodigo\" class=\"form-control-label\">Patrocinador</label>\r\n\t\t\t\t<p-dropdown\r\n\t\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t\t[options]=\"listPatrocinadorDr\"\r\n\t\t\t\t\tformControlName=\"sponsor\"\r\n\t\t\t\t\t[(ngModel)]=\"patCodigo\"\r\n\t\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t\t(ngModelChange)=\"onPliPatrocinadorChanged()\"\r\n\t\t\t\t></p-dropdown>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col-md-4\">\r\n\t\t\t<div class=\"form-group\">\r\n\t\t\t\t<label for=\"progCodigo\" class=\"form-control-label\">Programa</label>\r\n\t\t\t\t<p-dropdown\r\n\t\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t\t[options]=\"listProgramaDr\"\r\n\t\t\t\t\tformControlName=\"program\"\r\n\t\t\t\t\t[(ngModel)]=\"progCodigo\"\r\n\t\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t\t(onChange)=\"onPliProgramaChanged()\"\r\n\t\t\t\t></p-dropdown>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col-md-4\">\r\n\t\t\t<div class=\"form-group\">\r\n\t\t\t\t<label for=\"promCodigo\" class=\"form-control-label\">Promocion</label>\r\n\t\t\t\t<p-dropdown\r\n\t\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t\t[options]=\"listPromocionDr\"\r\n\t\t\t\t\tformControlName=\"promotion\"\r\n\t\t\t\t\t[(ngModel)]=\"promCodigo\"\r\n\t\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t\t(onChange)=\"onPliPromocionChanged($event)\"\r\n\t\t\t\t></p-dropdown>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] }); }
192
+ }
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPppComponent, decorators: [{
194
+ type: Component,
195
+ args: [{ selector: 'pli-select-ppp', template: "<!-- <div class=\"row\">\r\n\t<div class=\"col-md-4\">\r\n\t\t<div class=\"form-group\">\r\n\t\t\t<label for=\"patCodigo\" class=\"form-control-label\">Patrocinador</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t[options]=\"listPatrocinadorDr\"\r\n\t\t\t\t[(ngModel)]=\"patCodigo\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t(ngModelChange)=\"onPliPatrocinadorChanged()\"\r\n\t\t\t></p-dropdown>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-md-4\">\r\n\t\t<div class=\"form-group\">\r\n\t\t\t<label for=\"progCodigo\" class=\"form-control-label\">Programa</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t[options]=\"listProgramaDr\"\r\n\t\t\t\t[(ngModel)]=\"progCodigo\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t(onChange)=\"onPliProgramaChanged()\"\r\n\t\t\t></p-dropdown>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"col-md-4\">\r\n\t\t<div class=\"form-group\">\r\n\t\t\t<label for=\"promCodigo\" class=\"form-control-label\">Promocion</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t[options]=\"listPromocionDr\"\r\n\t\t\t\t[(ngModel)]=\"promCodigo\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t(onChange)=\"onPliPromocionChanged($event)\"\r\n\t\t\t></p-dropdown>\r\n\t\t</div>\r\n\t</div>\r\n</div> -->\r\n<form [formGroup]=\"formPPP\">\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-md-4\">\r\n\t\t\t<div class=\"form-group\">\r\n\t\t\t\t<label for=\"patCodigo\" class=\"form-control-label\">Patrocinador</label>\r\n\t\t\t\t<p-dropdown\r\n\t\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t\t[options]=\"listPatrocinadorDr\"\r\n\t\t\t\t\tformControlName=\"sponsor\"\r\n\t\t\t\t\t[(ngModel)]=\"patCodigo\"\r\n\t\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t\t(ngModelChange)=\"onPliPatrocinadorChanged()\"\r\n\t\t\t\t></p-dropdown>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col-md-4\">\r\n\t\t\t<div class=\"form-group\">\r\n\t\t\t\t<label for=\"progCodigo\" class=\"form-control-label\">Programa</label>\r\n\t\t\t\t<p-dropdown\r\n\t\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t\t[options]=\"listProgramaDr\"\r\n\t\t\t\t\tformControlName=\"program\"\r\n\t\t\t\t\t[(ngModel)]=\"progCodigo\"\r\n\t\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t\t(onChange)=\"onPliProgramaChanged()\"\r\n\t\t\t\t></p-dropdown>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col-md-4\">\r\n\t\t\t<div class=\"form-group\">\r\n\t\t\t\t<label for=\"promCodigo\" class=\"form-control-label\">Promocion</label>\r\n\t\t\t\t<p-dropdown\r\n\t\t\t\t\t[style]=\"{ minWidth: '100%' }\"\r\n\t\t\t\t\t[options]=\"listPromocionDr\"\r\n\t\t\t\t\tformControlName=\"promotion\"\r\n\t\t\t\t\t[(ngModel)]=\"promCodigo\"\r\n\t\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t\t(onChange)=\"onPliPromocionChanged($event)\"\r\n\t\t\t\t></p-dropdown>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</form>" }]
196
+ }], ctorParameters: () => [{ type: i1.PppService }, { type: i2.UntypedFormBuilder }, { type: i3.ActivatedRoute }, { type: i0.ChangeDetectorRef }], propDecorators: { onPromCodigoSelected: [{
197
+ type: Output
198
+ }] } });
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXBwcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LXBwcC9zZWxlY3QtcHBwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtcHBwL3NlbGVjdC1wcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxZQUFZLEVBQUUsTUFBTSxFQUF1QyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVzdHLE1BQU0sT0FBTyxrQkFBa0I7SUFxQjlCLFlBQW9CLFVBQXNCLEVBQVUsRUFBc0IsRUFBVSxjQUE4QixFQUFXLEtBQXdCO1FBQWpJLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFXLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBWHJKLG9CQUFvQjtRQUNwQixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUkxQiw0Q0FBNEM7UUFDbEMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUd4RCxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFM0IsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDMUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FB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akIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUM1QixJQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUMsQ0FBQztvQkFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNoRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDO1lBQ0YsQ0FBQztRQUNGLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQzsrR0EzTVcsa0JBQWtCO21HQUFsQixrQkFBa0IsaUhDWC9CLCs3RkFnRk87OzRGRHJFTSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0MsZ0JBQWdCOzZLQXVCaEIsb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQWZ0ZXJDb250ZW50SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUGxpUHJvbW9jaW9uLCBQbGlQYXRyb2NpbmFkb3IgfSBmcm9tICduZy1wbGktdXRpbCc7XHJcbmltcG9ydCB7IFBwcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcHAuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3BsaS1zZWxlY3QtcHBwJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LXBwcC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vc2VsZWN0LXBwcC5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbGVjdFBwcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdHtcclxuXHQvKiogTGlzdHMgcHBwICovXHJcblx0bGlzdFBhdHJvY2luYWRvcjogQXJyYXk8YW55PjtcclxuXHRsaXN0UHJvZ3JhbWE6IEFycmF5PGFueT47XHJcblx0bGlzdFByb21vY2lvbjogQXJyYXk8YW55PjtcclxuXHJcblx0bGlzdFBhdHJvY2luYWRvckRyOiBBcnJheTxhbnk+O1xyXG5cdGxpc3RQcm9ncmFtYURyOiBBcnJheTxhbnk+O1xyXG5cdGxpc3RQcm9tb2Npb25EcjogQXJyYXk8YW55PjtcclxuXHJcblx0LyoqIFZhcmlhYmxlcyBwcHAgKi9cclxuXHRwYXRDb2RpZ286IG51bWJlciA9IDA7XHJcblx0cHJvZ0NvZGlnbzogbnVtYmVyID0gMDtcclxuXHRwcm9tQ29kaWdvOiBudW1iZXIgPSAwO1xyXG5cdHByb21Db2RpZ29UbXA6IG51bWJlciA9IDA7XHJcblxyXG5cdGZvcm1QUFA6IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG5cdC8qKiBJdCBpcyB1c2VkIHdoZW4gcHJvbWNvZGlnbyBpcyBjaGFuZ2VkICovXHJcblx0QE91dHB1dCgpIG9uUHJvbUNvZGlnb1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcHBwU2VydmljZTogUHBwU2VydmljZSwgcHJpdmF0ZSByZjogVW50eXBlZEZvcm1CdWlsZGVyLCBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxwcm90ZWN0ZWQgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcblx0XHQvLyBzdWJzY3JpYmUgbGlzdCBwcHBcclxuXHRcdHRoaXMuZ2V0TGlzdFBhdHJvY2luYWRvcigpO1xyXG5cclxuXHRcdC8vIHN1YnNjcmliZSB0byBjaGFuZ2UgcHBwXHJcblx0XHR0aGlzLnBwcFNlcnZpY2Uub25DaGFuZ2VQcHAoKS5zdWJzY3JpYmUoKHJlc3VsdDogbnVtYmVyKSA9PiB7XHJcblx0XHRcdGlmIChyZXN1bHQpIHtcclxuXHRcdFx0XHR0aGlzLnByb21Db2RpZ28gPSByZXN1bHQ7XHJcblx0XHRcdFx0dGhpcy5pbml0UHBwKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdGlmICghdGhpcy5wcm9tQ29kaWdvKSB7XHJcblx0XHRcdGxldCBwcm9tb2Npb25MaXN0OiBQbGlQcm9tb2Npb25bXSA9IHRoaXMucHBwU2VydmljZS5nZXRBbGxQcm9tb2Npb25lcygpO1xyXG5cdFx0XHRpZiAocHJvbW9jaW9uTGlzdCAmJiBwcm9tb2Npb25MaXN0Lmxlbmd0aCkge1xyXG5cdFx0XHRcdHByb21vY2lvbkxpc3Quc29ydCgoYSwgYikgPT5cclxuXHRcdFx0XHRcdGEucHJvbUZlY2hhQ3JlYWNpb24gPCBiLnByb21GZWNoYUNyZWFjaW9uXHJcblx0XHRcdFx0XHRcdD8gMVxyXG5cdFx0XHRcdFx0XHQ6IGEucHJvbUZlY2hhQ3JlYWNpb24gPiBiLnByb21GZWNoYUNyZWFjaW9uXHJcblx0XHRcdFx0XHRcdD8gLTFcclxuXHRcdFx0XHRcdFx0OiAwXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0XHR0aGlzLnByb21Db2RpZ28gPSBwcm9tb2Npb25MaXN0WzBdLnByb21Db2RpZ287XHJcblx0XHRcdFx0dGhpcy5pbml0UHBwKCk7XHJcblx0XHRcdFx0Ly90aGlzLm9uUGxpUHJvbW9jaW9uQ2hhbmdlZCh1bmRlZmluZWQpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHR0aGlzLnBwcFNlcnZpY2Uuc2V0UHBwKHRoaXMucHJvbUNvZGlnbyk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcblx0XHRcdHRoaXMucHJvbUNvZGlnbyA9IHBhcmFtc1sncHJvbUNvZGlnbyddO1xyXG5cdFx0XHR0aGlzLnByb21Db2RpZ29UbXAgPSBwYXJhbXNbJ3Byb21Db2RpZ28nXTtcclxuXHRcdFx0aWYodGhpcy5wcm9tQ29kaWdvID4gMCl7XHJcblx0XHRcdFx0dGhpcy5wYXRDb2RpZ28gPSB0aGlzLnBwcFNlcnZpY2UuZ2V0UGF0Q29kaWdvQnlQcm9tQ29kaWdvKHRoaXMucHJvbUNvZGlnbyk7XHJcblx0XHRcdFx0dGhpcy5wcm9nQ29kaWdvID0gdGhpcy5wcHBTZXJ2aWNlLmdldFByb2dDb2RpZ29CeVByb21Db2RpZ28odGhpcy5wcm9tQ29kaWdvKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHR0aGlzLmZvcm1QUFAgPSB0aGlzLnJmLmdyb3VwKHtcclxuXHRcdFx0c3BvbnNvcjogW3RoaXMucGF0Q29kaWdvXSxcclxuXHRcdFx0cHJvZ3JhbTogW3RoaXMucHJvZ0NvZGlnb10sXHJcblx0XHRcdHByb21vdGlvbjogW3RoaXMucHJvbUNvZGlnb11cclxuXHRcdH0pO1x0XHJcblx0fVxyXG5cclxuXHRnZXRMaXN0UGF0cm9jaW5hZG9yKCkge1xyXG5cdFx0dGhpcy5wcHBTZXJ2aWNlLmdldExpc3RQcHAoKS5zdWJzY3JpYmUoKHJlc3VsdDogQXJyYXk8YW55PikgPT4ge1xyXG5cdFx0XHRpZiAocmVzdWx0KSB7XHJcblx0XHRcdFx0dGhpcy5saXN0UGF0cm9jaW5hZG9yID0gcmVzdWx0O1xyXG5cdFx0XHRcdHRoaXMubGlzdFBhdHJvY2luYWRvckRyID0gW107XHJcblx0XHRcdFx0cmVzdWx0LmZvckVhY2goKHBhdHJvY2luYWRvcikgPT4ge1xyXG5cdFx0XHRcdFx0bGV0IHBhdHJvY2luYWRvclRtcCA9IHtcclxuXHRcdFx0XHRcdFx0dmFsdWU6IHBhdHJvY2luYWRvci5wYXRDb2RpZ28sXHJcblx0XHRcdFx0XHRcdGxhYmVsOiBwYXRyb2NpbmFkb3IucGF0Tm9tYnJlQ29ydG9cclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHR0aGlzLmxpc3RQYXRyb2NpbmFkb3JEci5wdXNoKHBhdHJvY2luYWRvclRtcCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dGhpcy5pbml0UHBwKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqIEl0IGluaXRpYWxpemVzIHRoZSB2YXJpYWJsZXMgd2hlbiB0aGV5IGFyZSBhc3NpZ25lZCAqL1xyXG5cdHByaXZhdGUgaW5pdFBwcCgpIHtcclxuXHRcdGlmICh0aGlzLmxpc3RQYXRyb2NpbmFkb3IgJiYgdGhpcy5saXN0UGF0cm9jaW5hZG9yLmxlbmd0aCAmJiB0aGlzLnByb21Db2RpZ28pIHtcclxuXHRcdFx0Zm9yIChjb25zdCBwYXRyb2NpbmFkb3Igb2YgdGhpcy5saXN0UGF0cm9jaW5hZG9yKVxyXG5cdFx0XHRcdGZvciAoY29uc3QgcHJvZ3JhbWEgb2YgcGF0cm9jaW5hZG9yLmxpc3RhUGxpUHJvZ3JhbWEpXHJcblx0XHRcdFx0XHRmb3IgKGNvbnN0IHByb21vY2lvbiBvZiBwcm9ncmFtYS5saXN0YVBsaVByb21vY2lvbilcclxuXHRcdFx0XHRcdFx0aWYgKHByb21vY2lvbi5wcm9tQ29kaWdvID09IHRoaXMucHJvbUNvZGlnbykge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMucGF0Q29kaWdvID0gcGF0cm9jaW5hZG9yLnBhdENvZGlnbztcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnByb2dDb2RpZ28gPSBwcm9ncmFtYS5wcm9nQ29kaWdvO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMucHJvbUNvZGlnbyA9IHByb21vY2lvbi5wcm9tQ29kaWdvO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMubGlzdFByb2dyYW1hID0gcGF0cm9jaW5hZG9yLmxpc3RhUGxpUHJvZ3JhbWE7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5saXN0UHJvbW9jaW9uID0gcHJvZ3JhbWEubGlzdGFQbGlQcm9tb2Npb247XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGdldFBhdHJvY2luYWRvcihwYXRDb2RpZ286IG51bWJlcikge1xyXG5cdFx0aWYocGF0Q29kaWdvID4gMCAmJiB0aGlzLnByb21Db2RpZ28gPiAwKXtcclxuXHRcdFx0dGhpcy5nZXRMaXN0UGF0cm9jaW5hZG9yKCk7XHJcblx0XHRcdC8vdGhpcy5pbml0UHBwKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cclxuXHQvKiogSXQgZmlyZXMgd2hlbiBwYXRyb2NpbmFkb3IgaXMgY2hhbmdlZCAqL1xyXG5cdGFzeW5jIG9uUGxpUGF0cm9jaW5hZG9yQ2hhbmdlZCgpIHtcclxuXHRcdHRoaXMucGF0Q29kaWdvID0gdGhpcy5mb3JtUFBQLmdldCgnc3BvbnNvcicpLnZhbHVlO1xyXG5cdFx0aWYgKHRoaXMucGF0Q29kaWdvKSB7XHJcblx0XHRcdGZvciAoY29uc3QgcGF0cm9jaW5hZG9yIG9mIHRoaXMubGlzdFBhdHJvY2luYWRvcikge1xyXG5cdFx0XHRcdGlmIChwYXRyb2NpbmFkb3IucGF0Q29kaWdvID09IHRoaXMucGF0Q29kaWdvKSB7XHJcblx0XHRcdFx0XHR0aGlzLnBhdENvZGlnbyA9IHBhdHJvY2luYWRvci5wYXRDb2RpZ287XHJcblx0XHRcdFx0XHR0aGlzLnByb2dDb2RpZ28gPSAwO1xyXG5cdFx0XHRcdFx0dGhpcy5wcm9tQ29kaWdvID0gMDtcclxuXHRcdFx0XHRcdHRoaXMubGlzdFByb2dyYW1hID0gcGF0cm9jaW5hZG9yLmxpc3RhUGxpUHJvZ3JhbWE7XHJcblx0XHRcdFx0XHR0aGlzLmxpc3RQcm9tb2Npb24gPSBbXTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMubGlzdFByb2dyYW1hICYmIHRoaXMubGlzdFByb2dyYW1hLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHR0aGlzLmxpc3RQcm9ncmFtYURyID0gW107XHJcblx0XHRcdFx0dGhpcy5saXN0UHJvZ3JhbWEuZm9yRWFjaCgocHJvZ3JhbWEpID0+IHtcclxuXHRcdFx0XHRcdGxldCBwcm9ncmFtYVRtcCA9IHtcclxuXHRcdFx0XHRcdFx0dmFsdWU6IHByb2dyYW1hLnByb2dDb2RpZ28sXHJcblx0XHRcdFx0XHRcdGxhYmVsOiBwcm9ncmFtYS5wcm9nTm9tYnJlQ29ydG9cclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHR0aGlzLmxpc3RQcm9ncmFtYURyLnB1c2gocHJvZ3JhbWFUbXApO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnByb2dDb2RpZ28gPSAwO1xyXG5cdFx0XHR0aGlzLnByb21Db2RpZ28gPSAwO1xyXG5cdFx0XHR0aGlzLmxpc3RQcm9ncmFtYSA9IFtdO1xyXG5cdFx0XHR0aGlzLmxpc3RQcm9tb2Npb24gPSBbXTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKiBJdCBmaXJlcyB3aGVuIHByb2dyYW1hIGlzIGNoYW5nZWQgKi9cclxuXHRvblBsaVByb2dyYW1hQ2hhbmdlZCgpIHtcclxuXHRcdHRoaXMucHJvZ0NvZGlnbyA9IHRoaXMuZm9ybVBQUC5nZXQoJ3Byb2dyYW0nKS52YWx1ZTtcclxuXHRcdGlmICh0aGlzLnByb2dDb2RpZ28pIHtcclxuXHRcdFx0Zm9yIChjb25zdCBwcm9ncmFtYSBvZiB0aGlzLmxpc3RQcm9ncmFtYSlcclxuXHRcdFx0XHRpZiAocHJvZ3JhbWEucHJvZ0NvZGlnbyA9PSB0aGlzLnByb2dDb2RpZ28pIHtcclxuXHRcdFx0XHRcdHRoaXMucHJvbUNvZGlnbyA9IDA7XHJcblx0XHRcdFx0XHR0aGlzLmxpc3RQcm9tb2Npb24gPSBwcm9ncmFtYS5saXN0YVBsaVByb21vY2lvbjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdGlmICh0aGlzLmxpc3RQcm9tb2Npb24gJiYgdGhpcy5saXN0UHJvbW9jaW9uLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHR0aGlzLmxpc3RQcm9tb2Npb25EciA9IFtdO1xyXG5cdFx0XHRcdHRoaXMubGlzdFByb21vY2lvbi5mb3JFYWNoKChwcm9tb2Npb24pID0+IHtcclxuXHRcdFx0XHRcdGxldCBwcm9tb2Npb25UbXAgPSB7XHJcblx0XHRcdFx0XHRcdHZhbHVlOiBwcm9tb2Npb24ucHJvbUNvZGlnbyxcclxuXHRcdFx0XHRcdFx0bGFiZWw6IHByb21vY2lvbi5wcm9tTm9tYnJlQ29ydG9cclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHR0aGlzLmxpc3RQcm9tb2Npb25Eci5wdXNoKHByb21vY2lvblRtcCk7XHJcblx0XHRcdFx0XHR0aGlzLmxpc3RQcm9tb2Npb25Eci5zb3J0KChhLGIpID0+IHtyZXR1cm4gYi52YWx1ZSAtIGEudmFsdWV9KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5wcm9tQ29kaWdvID0gMDtcclxuXHRcdFx0dGhpcy5saXN0UHJvbW9jaW9uID0gW107XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiogSXQgZmlyZXMgd2hlbiBwcm9ncmFtYSBpcyBjaGFuZ2VkICovXHJcblx0b25QbGlQcm9tb2Npb25DaGFuZ2VkKHByb21vY2lvbjogYW55KSB7XHJcblx0XHR0aGlzLnByb2dDb2RpZ28gPSBwcm9tb2Npb24udmFsdWU7XHJcblx0XHR0aGlzLnBwcFNlcnZpY2Uuc2V0UHBwKHRoaXMucHJvbUNvZGlnbyk7XHJcblx0XHR0aGlzLm9uUHJvbUNvZGlnb1NlbGVjdGVkLmVtaXQodGhpcy5wcm9tQ29kaWdvKTtcclxuXHRcdHRoaXMuc2V0UHJvbW9jaW9uKCk7XHJcblx0fVxyXG5cclxuXHRzZXRQcm9tb2Npb24oKSB7XHJcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0aWYodGhpcy5mb3JtUFBQLmdldCgnc3BvbnNvcicpLnZhbHVlID4gMCl7XHJcblx0XHRcdFx0dGhpcy5vblBsaVBhdHJvY2luYWRvckNoYW5nZWQoKTtcclxuXHRcdFx0XHR0aGlzLnByb2dDb2RpZ28gPSB0aGlzLmZvcm1QUFAuZ2V0KCdwcm9ncmFtJykudmFsdWU7XHJcblx0XHRcdFx0dGhpcy5vblBsaVByb2dyYW1hQ2hhbmdlZCgpO1xyXG5cdFx0XHRcdGlmKHRoaXMuZm9ybVBQUC5nZXQoJ3Byb21vdGlvbicpLnZhbHVlID4gMCl7XHJcblx0XHRcdFx0XHR0aGlzLmZvcm1QUFAuZ2V0KCdwcm9tb3Rpb24nKS5tYXJrQXNEaXJ0eSgpO1xyXG5cdFx0XHRcdFx0dGhpcy5wcm9tQ29kaWdvID0gcGFyc2VJbnQodGhpcy5mb3JtUFBQLmdldCgncHJvbW90aW9uJykudmFsdWUpO1xyXG5cdFx0XHRcdFx0dGhpcy5mb3JtUFBQLmdldCgncHJvbW90aW9uJykuc2V0VmFsdWUodGhpcy5wcm9tQ29kaWdvKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0sIDEwMCk7XHJcblx0XHR0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHR9XHJcblxyXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpe1xyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdGlmKHRoaXMuZm9ybVBQUC5nZXQoJ3Nwb25zb3InKS52YWx1ZSA+IDApe1xyXG5cdFx0XHRcdHRoaXMub25QbGlQYXRyb2NpbmFkb3JDaGFuZ2VkKCk7XHJcblx0XHRcdFx0dGhpcy5wcm9nQ29kaWdvID0gdGhpcy5mb3JtUFBQLmdldCgncHJvZ3JhbScpLnZhbHVlO1xyXG5cdFx0XHRcdHRoaXMub25QbGlQcm9ncmFtYUNoYW5nZWQoKTtcclxuXHRcdFx0XHRpZih0aGlzLmZvcm1QUFAuZ2V0KCdwcm9tb3Rpb24nKS52YWx1ZSA+IDApe1xyXG5cdFx0XHRcdFx0dGhpcy5mb3JtUFBQLmdldCgncHJvbW90aW9uJykubWFya0FzRGlydHkoKTtcclxuXHRcdFx0XHRcdHRoaXMucHJvbUNvZGlnbyA9IHBhcnNlSW50KHRoaXMuZm9ybVBQUC5nZXQoJ3Byb21vdGlvbicpLnZhbHVlKTtcclxuXHRcdFx0XHRcdHRoaXMuZm9ybVBQUC5nZXQoJ3Byb21vdGlvbicpLnNldFZhbHVlKHRoaXMucHJvbUNvZGlnbyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9LCAyMDAwKTtcclxuXHRcdHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdH1cclxufVxyXG4iLCI8IS0tIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcblx0XHRcdDxsYWJlbCBmb3I9XCJwYXRDb2RpZ29cIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPlBhdHJvY2luYWRvcjwvbGFiZWw+XHJcblx0XHRcdDxwLWRyb3Bkb3duXHJcblx0XHRcdFx0W3N0eWxlXT1cInsgbWluV2lkdGg6ICcxMDAlJyB9XCJcclxuXHRcdFx0XHRbb3B0aW9uc109XCJsaXN0UGF0cm9jaW5hZG9yRHJcIlxyXG5cdFx0XHRcdFsobmdNb2RlbCldPVwicGF0Q29kaWdvXCJcclxuXHRcdFx0XHRwbGFjZWhvbGRlcj1cIi0tIFNlbGVjY2lvbmUgb3BjacOzblwiXHJcblx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwib25QbGlQYXRyb2NpbmFkb3JDaGFuZ2VkKClcIlxyXG5cdFx0XHQ+PC9wLWRyb3Bkb3duPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG5cdFx0XHQ8bGFiZWwgZm9yPVwicHJvZ0NvZGlnb1wiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+UHJvZ3JhbWE8L2xhYmVsPlxyXG5cdFx0XHQ8cC1kcm9wZG93blxyXG5cdFx0XHRcdFtzdHlsZV09XCJ7IG1pbldpZHRoOiAnMTAwJScgfVwiXHJcblx0XHRcdFx0W29wdGlvbnNdPVwibGlzdFByb2dyYW1hRHJcIlxyXG5cdFx0XHRcdFsobmdNb2RlbCldPVwicHJvZ0NvZGlnb1wiXHJcblx0XHRcdFx0cGxhY2Vob2xkZXI9XCItLSBTZWxlY2Npb25lIG9wY2nDs25cIlxyXG5cdFx0XHRcdChvbkNoYW5nZSk9XCJvblBsaVByb2dyYW1hQ2hhbmdlZCgpXCJcclxuXHRcdFx0PjwvcC1kcm9wZG93bj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0PGxhYmVsIGZvcj1cInByb21Db2RpZ29cIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPlByb21vY2lvbjwvbGFiZWw+XHJcblx0XHRcdDxwLWRyb3Bkb3duXHJcblx0XHRcdFx0W3N0eWxlXT1cInsgbWluV2lkdGg6ICcxMDAlJyB9XCJcclxuXHRcdFx0XHRbb3B0aW9uc109XCJsaXN0UHJvbW9jaW9uRHJcIlxyXG5cdFx0XHRcdFsobmdNb2RlbCldPVwicHJvbUNvZGlnb1wiXHJcblx0XHRcdFx0cGxhY2Vob2xkZXI9XCItLSBTZWxlY2Npb25lIG9wY2nDs25cIlxyXG5cdFx0XHRcdChvbkNoYW5nZSk9XCJvblBsaVByb21vY2lvbkNoYW5nZWQoJGV2ZW50KVwiXHJcblx0XHRcdD48L3AtZHJvcGRvd24+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+IC0tPlxyXG48Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1QUFBcIj5cclxuXHQ8ZGl2IGNsYXNzPVwicm93XCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHQ8bGFiZWwgZm9yPVwicGF0Q29kaWdvXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5QYXRyb2NpbmFkb3I8L2xhYmVsPlxyXG5cdFx0XHRcdDxwLWRyb3Bkb3duXHJcblx0XHRcdFx0XHRbc3R5bGVdPVwieyBtaW5XaWR0aDogJzEwMCUnIH1cIlxyXG5cdFx0XHRcdFx0W29wdGlvbnNdPVwibGlzdFBhdHJvY2luYWRvckRyXCJcclxuXHRcdFx0XHRcdGZvcm1Db250cm9sTmFtZT1cInNwb25zb3JcIlxyXG5cdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJwYXRDb2RpZ29cIlxyXG5cdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCItLSBTZWxlY2Npb25lIG9wY2nDs25cIlxyXG5cdFx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwib25QbGlQYXRyb2NpbmFkb3JDaGFuZ2VkKClcIlxyXG5cdFx0XHRcdD48L3AtZHJvcGRvd24+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHQ8bGFiZWwgZm9yPVwicHJvZ0NvZGlnb1wiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+UHJvZ3JhbWE8L2xhYmVsPlxyXG5cdFx0XHRcdDxwLWRyb3Bkb3duXHJcblx0XHRcdFx0XHRbc3R5bGVdPVwieyBtaW5XaWR0aDogJzEwMCUnIH1cIlxyXG5cdFx0XHRcdFx0W29wdGlvbnNdPVwibGlzdFByb2dyYW1hRHJcIlxyXG5cdFx0XHRcdFx0Zm9ybUNvbnRyb2xOYW1lPVwicHJvZ3JhbVwiXHJcblx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInByb2dDb2RpZ29cIlxyXG5cdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCItLSBTZWxlY2Npb25lIG9wY2nDs25cIlxyXG5cdFx0XHRcdFx0KG9uQ2hhbmdlKT1cIm9uUGxpUHJvZ3JhbWFDaGFuZ2VkKClcIlxyXG5cdFx0XHRcdD48L3AtZHJvcGRvd24+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHQ8bGFiZWwgZm9yPVwicHJvbUNvZGlnb1wiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+UHJvbW9jaW9uPC9sYWJlbD5cclxuXHRcdFx0XHQ8cC1kcm9wZG93blxyXG5cdFx0XHRcdFx0W3N0eWxlXT1cInsgbWluV2lkdGg6ICcxMDAlJyB9XCJcclxuXHRcdFx0XHRcdFtvcHRpb25zXT1cImxpc3RQcm9tb2Npb25EclwiXHJcblx0XHRcdFx0XHRmb3JtQ29udHJvbE5hbWU9XCJwcm9tb3Rpb25cIlxyXG5cdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJwcm9tQ29kaWdvXCJcclxuXHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiLS0gU2VsZWNjaW9uZSBvcGNpw7NuXCJcclxuXHRcdFx0XHRcdChvbkNoYW5nZSk9XCJvblBsaVByb21vY2lvbkNoYW5nZWQoJGV2ZW50KVwiXHJcblx0XHRcdFx0PjwvcC1kcm9wZG93bj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9mb3JtPiJdfQ==