general-library-union 3.0.35 → 3.0.36

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 (654) hide show
  1. package/.browserslistrc +15 -0
  2. package/.editorconfig +16 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/tasks.json +42 -0
  6. package/angular.json +143 -0
  7. package/karma.conf.js +44 -0
  8. package/ng-package.json +21 -0
  9. package/package.json +28 -17
  10. package/{public-api.d.ts → public-api.ts} +75 -35
  11. package/src/app/app.component.html +12 -0
  12. package/src/app/app.component.scss +0 -0
  13. package/src/app/app.component.spec.ts +29 -0
  14. package/src/app/app.component.ts +34 -0
  15. package/src/app/app.config.ts +43 -0
  16. package/src/app/app.module.ts +10 -0
  17. package/src/app/app.routes.ts +88 -0
  18. package/src/app/core/componentes/breadcrumb/breadcrumb.component.html +6 -0
  19. package/src/app/core/componentes/breadcrumb/breadcrumb.component.scss +0 -0
  20. package/src/app/core/componentes/breadcrumb/breadcrumb.component.ts +39 -0
  21. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.html +1 -0
  22. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.scss +0 -0
  23. package/src/app/core/componentes/carga-breadcrumb/carga-breadcrumb.component.ts +31 -0
  24. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.html +9 -0
  25. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.scss +28 -0
  26. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.ts +32 -0
  27. package/src/app/core/componentes/filtro-general/filtro-general.component.html +36 -0
  28. package/src/app/core/componentes/filtro-general/filtro-general.component.scss +3 -0
  29. package/src/app/core/componentes/filtro-general/filtro-general.component.ts +203 -0
  30. package/src/app/core/componentes/footer/footer.component.html +13 -0
  31. package/src/app/core/componentes/footer/footer.component.scss +3 -0
  32. package/src/app/core/componentes/footer/footer.component.ts +20 -0
  33. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.html +267 -0
  34. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.scss +21 -0
  35. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.ts +275 -0
  36. package/src/app/core/componentes/formulariodinamico/objetosformulario/{Cambio.d.ts → Cambio.ts} +9 -3
  37. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.ts +118 -0
  38. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.ts +76 -0
  39. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.ts +67 -0
  40. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.ts +11 -0
  41. package/src/app/core/componentes/inicio-component/inicio-component.component.html +29 -0
  42. package/src/app/core/componentes/inicio-component/inicio-component.component.scss +69 -0
  43. package/src/app/core/componentes/inicio-component/inicio-component.component.ts +70 -0
  44. package/src/app/core/componentes/menu/menu.component.html +13 -0
  45. package/src/app/core/componentes/menu/menu.component.scss +36 -0
  46. package/src/app/core/componentes/menu/menu.component.ts +35 -0
  47. package/src/app/core/componentes/tabla-general/tabla-general.component.html +90 -0
  48. package/src/app/core/componentes/tabla-general/tabla-general.component.scss +0 -0
  49. package/src/app/core/componentes/tabla-general/tabla-general.component.ts +96 -0
  50. package/src/app/core/core.module.ts +22 -0
  51. package/src/app/core/errores/authentication.error.ts +6 -0
  52. package/src/app/core/modelos/error-response.model.ts +9 -0
  53. package/src/app/core/modelos/table-column.model.ts +10 -0
  54. package/src/app/core/modelos/user.model.ts +6 -0
  55. package/src/app/core/plantilla-general/plantilla-general.template.html +139 -0
  56. package/src/app/core/plantilla-general/plantilla-general.template.scss +37 -0
  57. package/src/app/core/plantilla-general/plantilla-general.template.ts +233 -0
  58. package/src/app/core/servicios/auth.service.ts +189 -0
  59. package/src/app/core/servicios/cargar-control-funcionalidad.service.ts +49 -0
  60. package/src/app/core/servicios/data-exporter-table.utils.ts +78 -0
  61. package/src/app/core/servicios/error-interceptor.service.ts +208 -0
  62. package/src/app/core/servicios/guardias/auth.guard.ts +51 -0
  63. package/src/app/core/servicios/guardias/publico.guard.ts +26 -0
  64. package/src/app/core/servicios/interceptores/loading-interceptor.ts +37 -0
  65. package/src/app/core/servicios/interceptores/token-interceptor.service.ts +177 -0
  66. package/src/app/core/servicios/loading.service.ts +48 -0
  67. package/src/app/core/servicios/menu.service.ts +153 -0
  68. package/src/app/core/servicios/spinner-service.ts +18 -0
  69. package/src/app/core/servicios/storage.service.ts +68 -0
  70. package/src/app/core/servicios/template.service.ts +91 -0
  71. package/src/app/core/servicios/toast.service.ts +114 -0
  72. package/src/app/core/servicios/utils.service.ts +367 -0
  73. package/src/app/core/sharedlib.module.ts +11 -0
  74. package/src/app/core/utilidades/color.util.ts +197 -0
  75. package/src/app/layout/api/{menuchangeevent.d.ts → menuchangeevent.ts} +1 -1
  76. package/src/app/layout/app.breadcrumb.component.html +20 -0
  77. package/src/app/layout/app.breadcrumb.component.ts +78 -0
  78. package/src/app/layout/app.footer.component.html +18 -0
  79. package/src/app/layout/app.footer.component.ts +15 -0
  80. package/src/app/layout/app.layout.component.html +20 -0
  81. package/src/app/layout/app.layout.component.ts +201 -0
  82. package/src/app/layout/app.layout.module.ts +9 -0
  83. package/src/app/layout/app.menu.component.html +6 -0
  84. package/src/app/layout/app.menu.component.ts +51 -0
  85. package/src/app/layout/app.menu.service.ts +23 -0
  86. package/src/app/layout/app.menuitem.component.ts +252 -0
  87. package/src/app/layout/app.menuprofile.component.html +35 -0
  88. package/src/app/layout/app.menuprofile.component.ts +60 -0
  89. package/src/app/layout/app.rightmenu.component.html +72 -0
  90. package/src/app/layout/app.rightmenu.component.ts +24 -0
  91. package/src/app/layout/app.sidebar.component.html +40 -0
  92. package/src/app/layout/app.sidebar.component.ts +81 -0
  93. package/src/app/layout/app.topbar.component.html +214 -0
  94. package/src/app/layout/app.topbar.component.ts +336 -0
  95. package/src/app/layout/config/app.config.component.html +125 -0
  96. package/src/app/layout/config/app.config.component.ts +206 -0
  97. package/src/app/layout/config/app.config.module.ts +11 -0
  98. package/src/app/layout/service/app.layout.service.ts +191 -0
  99. package/src/app/publico/pages/login/login.page.html +53 -0
  100. package/src/app/publico/pages/login/login.page.scss +166 -0
  101. package/src/app/publico/pages/login/login.page.ts +128 -0
  102. package/src/app/publico/pages/not-found/not-found.page.html +35 -0
  103. package/src/app/publico/pages/not-found/not-found.page.scss +2 -0
  104. package/src/app/publico/pages/not-found/not-found.page.ts +46 -0
  105. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.html +58 -0
  106. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.scss +49 -0
  107. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.ts +176 -0
  108. package/src/app/publico/pages/timeout/timeout.page.html +24 -0
  109. package/src/app/publico/pages/timeout/timeout.page.scss +2 -0
  110. package/src/app/publico/pages/timeout/timeout.page.ts +18 -0
  111. package/src/app/seguridad/constantes/ConstantesGenerales.ts +30 -0
  112. package/src/app/seguridad/constantes/ReporteEntradaConstantes.ts +18 -0
  113. package/src/app/seguridad/constantes/ReporteFuenteConstantes.ts +13 -0
  114. package/src/app/seguridad/modelos/AplicacionModel.ts +11 -0
  115. package/src/app/seguridad/modelos/ArchivoPortalModel.ts +16 -0
  116. package/src/app/seguridad/modelos/AtributoPuntoModel.ts +9 -0
  117. package/src/app/seguridad/modelos/AtributoSSOportalModel.ts +22 -0
  118. package/src/app/seguridad/modelos/{AuditoriaArchivoModel.d.ts → AuditoriaArchivoModel.ts} +5 -2
  119. package/src/app/seguridad/modelos/CargueLineaModel.ts +17 -0
  120. package/src/app/seguridad/modelos/ColoresRGB.ts +17 -0
  121. package/src/app/seguridad/modelos/ColumnaFuenteModel.ts +9 -0
  122. package/src/app/seguridad/modelos/{ColumnaWraperModel.d.ts → ColumnaWraperModel.ts} +5 -4
  123. package/src/app/seguridad/modelos/ComplementoModel.ts +10 -0
  124. package/src/app/seguridad/modelos/ComponentePaginaModel.ts +22 -0
  125. package/src/app/seguridad/modelos/ConexionModel.ts +15 -0
  126. package/src/app/seguridad/modelos/{ContenidoHtmlPortalModel.d.ts → ContenidoHtmlPortalModel.ts} +7 -2
  127. package/src/app/seguridad/modelos/ControlFuncionModel.ts +10 -0
  128. package/src/app/seguridad/modelos/CorreoModel.ts +45 -0
  129. package/src/app/seguridad/modelos/CorreoWSModel.ts +49 -0
  130. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.ts +14 -0
  131. package/src/app/seguridad/modelos/{DatoInicioModel.d.ts → DatoInicioModel.ts} +4 -3
  132. package/src/app/seguridad/modelos/{EjecucionReporteDataModel.d.ts → EjecucionReporteDataModel.ts} +3 -2
  133. package/src/app/seguridad/modelos/EmpresaModel.ts +25 -0
  134. package/src/app/seguridad/modelos/EmpresaSeguridadModel.ts +19 -0
  135. package/src/app/seguridad/modelos/{EntradaComplementoModel.d.ts → EntradaComplementoModel.ts} +5 -2
  136. package/src/app/seguridad/modelos/EtiquetaModel.ts +4 -0
  137. package/src/app/seguridad/modelos/Etiquetas.ts +14 -0
  138. package/src/app/seguridad/modelos/{ForeingWraperModel.d.ts → ForeingWraperModel.ts} +5 -2
  139. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.ts +21 -0
  140. package/src/app/seguridad/modelos/{FuenteCampoModel.d.ts → FuenteCampoModel.ts} +6 -2
  141. package/src/app/seguridad/modelos/FuenteDato.ts +19 -0
  142. package/src/app/seguridad/modelos/FuenteEntradaModel.ts +9 -0
  143. package/src/app/seguridad/modelos/{FuenteGeneralModel.d.ts → FuenteGeneralModel.ts} +21 -2
  144. package/src/app/seguridad/modelos/FuenteLineaServicioModel.ts +19 -0
  145. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.ts +14 -0
  146. package/src/app/seguridad/modelos/{FuenteServicioModel.d.ts → FuenteServicioModel.ts} +16 -2
  147. package/src/app/seguridad/modelos/FuncionalidadModel.ts +12 -0
  148. package/src/app/seguridad/modelos/GeneralModel.ts +16 -0
  149. package/src/app/seguridad/modelos/{GrupoAccesoModel.d.ts → GrupoAccesoModel.ts} +5 -2
  150. package/src/app/seguridad/modelos/GrupoControlFuncionModel.ts +12 -0
  151. package/src/app/seguridad/modelos/GrupoFuenteModel.ts +17 -0
  152. package/src/app/seguridad/modelos/GrupoPermisoModel.ts +16 -0
  153. package/src/app/seguridad/modelos/{JoinFromModel.d.ts → JoinFromModel.ts} +2 -2
  154. package/src/app/seguridad/modelos/ListaServicioModel.ts +18 -0
  155. package/src/app/seguridad/modelos/LlaveForaneaModel.ts +6 -0
  156. package/src/app/seguridad/modelos/LoginModel.ts +19 -0
  157. package/src/app/seguridad/modelos/MensajeSistemaModel.ts +10 -0
  158. package/src/app/seguridad/modelos/{MenuPortalModel.d.ts → MenuPortalModel.ts} +2 -1
  159. package/src/app/seguridad/modelos/ModulosModel.ts +17 -0
  160. package/src/app/seguridad/modelos/{ObjetoReporteModel.d.ts → ObjetoReporteModel.ts} +3 -2
  161. package/src/app/seguridad/modelos/PaginaPortalModel.ts +23 -0
  162. package/src/app/seguridad/modelos/ParametroComponenteModel.ts +9 -0
  163. package/src/app/seguridad/modelos/ParametrosGeneralModel.ts +16 -0
  164. package/src/app/seguridad/modelos/PermisoFuncionModel.ts +11 -0
  165. package/src/app/seguridad/modelos/PermisocontenidoModel.ts +20 -0
  166. package/src/app/seguridad/modelos/{PeticionModel.d.ts → PeticionModel.ts} +6 -1
  167. package/src/app/seguridad/modelos/PreguntaSeguridadModel.ts +9 -0
  168. package/src/app/seguridad/modelos/PropiedadModel.ts +12 -0
  169. package/src/app/seguridad/modelos/PublicacionWebModel.ts +29 -0
  170. package/src/app/seguridad/modelos/PuntoProcesoModel.ts +7 -0
  171. package/src/app/seguridad/modelos/RecursoPunto.ts +13 -0
  172. package/src/app/seguridad/modelos/RecursoPuntoModel.ts +13 -0
  173. package/src/app/seguridad/modelos/ReporteBanda.ts +9 -0
  174. package/src/app/seguridad/modelos/ReporteColumna.ts +33 -0
  175. package/src/app/seguridad/modelos/ReporteColumnario.ts +82 -0
  176. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.ts +31 -0
  177. package/src/app/seguridad/modelos/{ReporteEntradaModel.d.ts → ReporteEntradaModel.ts} +4 -2
  178. package/src/app/seguridad/modelos/{ReporteFuenteModel.d.ts → ReporteFuenteModel.ts} +70 -16
  179. package/src/app/seguridad/modelos/ReporteMarcador.ts +40 -0
  180. package/src/app/seguridad/modelos/ReporteSoporte.ts +10 -0
  181. package/src/app/seguridad/modelos/ReporteTabla.ts +14 -0
  182. package/src/app/seguridad/modelos/RespuestaModel.ts +10 -0
  183. package/src/app/seguridad/modelos/{RolModel.d.ts → RolModel.ts} +8 -4
  184. package/src/app/seguridad/modelos/ServidorCorreoModel.ts +31 -0
  185. package/src/app/seguridad/modelos/SistemaMensajeModel.ts +11 -0
  186. package/src/app/seguridad/modelos/SitioPortalModel.ts +29 -0
  187. package/src/app/seguridad/modelos/TablaFromModel.ts +5 -0
  188. package/src/app/seguridad/modelos/TareasModel.ts +54 -0
  189. package/src/app/seguridad/modelos/TextoModel.ts +11 -0
  190. package/src/app/seguridad/modelos/TipoEtiqueta.ts +8 -0
  191. package/src/app/seguridad/modelos/UnionModel.ts +14 -0
  192. package/src/app/seguridad/modelos/{UsuarioModel.d.ts → UsuarioModel.ts} +16 -5
  193. package/src/app/seguridad/modelos/UsuariogrupoModel.ts +27 -0
  194. package/src/app/seguridad/modelos/aplicacion-propiedad-model.ts +16 -0
  195. package/src/app/seguridad/modelos/contenidoCorreoModel.ts +13 -0
  196. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.html +47 -0
  197. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.scss +8 -0
  198. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.ts +144 -0
  199. package/src/app/shared/servicios/cargar-archivos.service.ts +51 -0
  200. package/src/app/shared/servicios/cargar-mapas.service.ts +43 -0
  201. package/src/app/shared/servicios/encriptado-basico.service.ts +54 -0
  202. package/src/app/shared/servicios/encriptador-simetrico.service.ts +29 -0
  203. package/src/app/shared/servicios/general.service.ts +124 -0
  204. package/src/app/shared/servicios/parametros-navegacion.service.ts +20 -0
  205. package/src/app/shared/servicios/plantillas.service.ts +22 -0
  206. package/src/app/shared/servicios/tarea.service.ts +71 -0
  207. package/src/app/shared/utilidades/translate-loader.util.ts +44 -0
  208. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.html +175 -0
  209. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.scss +78 -0
  210. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.ts +438 -0
  211. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.html +87 -0
  212. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.scss +0 -0
  213. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.ts +189 -0
  214. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.html +117 -0
  215. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.scss +0 -0
  216. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.ts +87 -0
  217. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.html +158 -0
  218. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.scss +6 -0
  219. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.ts +345 -0
  220. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.html +131 -0
  221. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.scss +0 -0
  222. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.ts +198 -0
  223. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.html +206 -0
  224. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.scss +3 -0
  225. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.ts +330 -0
  226. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.html +2121 -0
  227. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.scss +241 -0
  228. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.ts +1694 -0
  229. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.html +33 -0
  230. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.scss +0 -0
  231. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.ts +96 -0
  232. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.html +54 -0
  233. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.scss +0 -0
  234. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.ts +111 -0
  235. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.html +394 -0
  236. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.scss +10 -0
  237. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.ts +599 -0
  238. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.html +130 -0
  239. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.scss +0 -0
  240. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.ts +172 -0
  241. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.html +403 -0
  242. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.scss +5 -0
  243. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.ts +761 -0
  244. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.html +145 -0
  245. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.scss +0 -0
  246. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.ts +302 -0
  247. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.html +19 -0
  248. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.scss +0 -0
  249. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.ts +89 -0
  250. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.html +714 -0
  251. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.scss +0 -0
  252. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.ts +688 -0
  253. package/src/app/webcommon/pipes/dashboard.pipe.ts +79 -0
  254. package/src/app/webcommon/pipes/fuente.pipe.ts +207 -0
  255. package/src/app/webcommon/pipes/general.pipe.ts +1043 -0
  256. package/src/app/webcommon/pipes/reporte-columnario.pipe.ts +101 -0
  257. package/src/app/webcommon/pipes/reporte-fuente.pipe.ts +306 -0
  258. package/src/app/webcommon/pipes/sara-general.pipe.ts +289 -0
  259. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.html +90 -0
  260. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.scss +0 -0
  261. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.ts +262 -0
  262. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.html +50 -0
  263. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.scss +0 -0
  264. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.ts +135 -0
  265. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.html +44 -0
  266. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.scss +0 -0
  267. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.ts +66 -0
  268. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.html +41 -0
  269. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.scss +0 -0
  270. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.ts +283 -0
  271. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.html +179 -0
  272. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.scss +3 -0
  273. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.ts +266 -0
  274. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.html +273 -0
  275. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.scss +13 -0
  276. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.ts +557 -0
  277. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.html +10 -0
  278. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.scss +5 -0
  279. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.ts +58 -0
  280. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.html +71 -0
  281. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.scss +0 -0
  282. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.ts +154 -0
  283. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.html +11 -0
  284. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.scss +0 -0
  285. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.ts +82 -0
  286. package/src/app/webcommon/services/carguelinea.service.ts +74 -0
  287. package/src/app/webcommon/services/dashboard.service.ts +258 -0
  288. package/src/app/webcommon/services/ejecucionreporte.service.ts +160 -0
  289. package/src/app/webcommon/services/fechaUtils.service.ts +127 -0
  290. package/src/app/webcommon/services/fuentegeneral.service.ts +74 -0
  291. package/src/app/webcommon/services/homologacion.service.ts +49 -0
  292. package/src/app/webcommon/services/plantillas.service.ts +165 -0
  293. package/src/app/webcommon/services/reportes.service.ts +133 -0
  294. package/src/app/webcommon/webcommon.module.ts +11 -0
  295. package/src/environments/environment.prod.ts +3 -0
  296. package/src/environments/environment.ts +25 -0
  297. package/src/favicon.ico +0 -0
  298. package/src/index.html +14 -0
  299. package/src/main.ts +12 -0
  300. package/src/polyfills.ts +53 -0
  301. package/src/styles/primeng/sass/overrides/_theme_styles.scss +2 -2
  302. package/src/test.ts +14 -0
  303. package/tsconfig.app.json +15 -0
  304. package/tsconfig.json +35 -0
  305. package/tsconfig.spec.json +18 -0
  306. package/esm2022/general-library-union.mjs +0 -5
  307. package/esm2022/public-api.mjs +0 -180
  308. package/esm2022/src/app/core/componentes/breadcrumb/breadcrumb.component.mjs +0 -40
  309. package/esm2022/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.mjs +0 -28
  310. package/esm2022/src/app/core/componentes/filtro-general/filtro-general.component.mjs +0 -196
  311. package/esm2022/src/app/core/componentes/footer/footer.component.mjs +0 -16
  312. package/esm2022/src/app/core/componentes/formulariodinamico/formulariodinamico.component.mjs +0 -272
  313. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/Cambio.mjs +0 -11
  314. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.mjs +0 -124
  315. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.mjs +0 -73
  316. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.mjs +0 -59
  317. package/esm2022/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.mjs +0 -21
  318. package/esm2022/src/app/core/componentes/inicio-component/inicio-component.component.mjs +0 -72
  319. package/esm2022/src/app/core/componentes/menu/menu.component.mjs +0 -37
  320. package/esm2022/src/app/core/componentes/tabla-general/tabla-general.component.mjs +0 -93
  321. package/esm2022/src/app/core/core.module.mjs +0 -23
  322. package/esm2022/src/app/core/errores/authentication.error.mjs +0 -7
  323. package/esm2022/src/app/core/modelos/error-response.model.mjs +0 -2
  324. package/esm2022/src/app/core/modelos/table-column.model.mjs +0 -2
  325. package/esm2022/src/app/core/modelos/user.model.mjs +0 -7
  326. package/esm2022/src/app/core/plantilla-general/plantilla-general.template.mjs +0 -230
  327. package/esm2022/src/app/core/servicios/auth.service.mjs +0 -185
  328. package/esm2022/src/app/core/servicios/cargar-control-funcionalidad.service.mjs +0 -57
  329. package/esm2022/src/app/core/servicios/data-exporter-table.utils.mjs +0 -64
  330. package/esm2022/src/app/core/servicios/error-interceptor.service.mjs +0 -214
  331. package/esm2022/src/app/core/servicios/guardias/auth.guard.mjs +0 -66
  332. package/esm2022/src/app/core/servicios/guardias/publico.guard.mjs +0 -35
  333. package/esm2022/src/app/core/servicios/interceptores/loading-interceptor.mjs +0 -37
  334. package/esm2022/src/app/core/servicios/interceptores/token-interceptor.service.mjs +0 -180
  335. package/esm2022/src/app/core/servicios/loading.service.mjs +0 -43
  336. package/esm2022/src/app/core/servicios/menu.service.mjs +0 -146
  337. package/esm2022/src/app/core/servicios/spinner-service.mjs +0 -22
  338. package/esm2022/src/app/core/servicios/storage.service.mjs +0 -68
  339. package/esm2022/src/app/core/servicios/template.service.mjs +0 -99
  340. package/esm2022/src/app/core/servicios/toast.service.mjs +0 -120
  341. package/esm2022/src/app/core/servicios/utils.service.mjs +0 -338
  342. package/esm2022/src/app/core/sharedlib.module.mjs +0 -16
  343. package/esm2022/src/app/core/utilidades/color.util.mjs +0 -177
  344. package/esm2022/src/app/layout/api/menuchangeevent.mjs +0 -2
  345. package/esm2022/src/app/layout/app.breadcrumb.component.mjs +0 -71
  346. package/esm2022/src/app/layout/app.footer.component.mjs +0 -18
  347. package/esm2022/src/app/layout/app.layout.component.mjs +0 -188
  348. package/esm2022/src/app/layout/app.layout.module.mjs +0 -15
  349. package/esm2022/src/app/layout/app.menu.component.mjs +0 -51
  350. package/esm2022/src/app/layout/app.menu.service.mjs +0 -24
  351. package/esm2022/src/app/layout/app.menuitem.component.mjs +0 -296
  352. package/esm2022/src/app/layout/app.menuprofile.component.mjs +0 -78
  353. package/esm2022/src/app/layout/app.rightmenu.component.mjs +0 -24
  354. package/esm2022/src/app/layout/app.sidebar.component.mjs +0 -92
  355. package/esm2022/src/app/layout/app.topbar.component.mjs +0 -346
  356. package/esm2022/src/app/layout/service/app.layout.service.mjs +0 -134
  357. package/esm2022/src/app/publico/pages/login/login.page.mjs +0 -129
  358. package/esm2022/src/app/publico/pages/not-found/not-found.page.mjs +0 -51
  359. package/esm2022/src/app/publico/pages/seleccion-rol/seleccion-rol.component.mjs +0 -167
  360. package/esm2022/src/app/publico/pages/timeout/timeout.page.mjs +0 -20
  361. package/esm2022/src/app/seguridad/constantes/ConstantesGenerales.mjs +0 -30
  362. package/esm2022/src/app/seguridad/constantes/ReporteEntradaConstantes.mjs +0 -19
  363. package/esm2022/src/app/seguridad/modelos/AplicacionModel.mjs +0 -8
  364. package/esm2022/src/app/seguridad/modelos/ArchivoPortalModel.mjs +0 -14
  365. package/esm2022/src/app/seguridad/modelos/AtributoPuntoModel.mjs +0 -9
  366. package/esm2022/src/app/seguridad/modelos/AtributoSSOportalModel.mjs +0 -17
  367. package/esm2022/src/app/seguridad/modelos/AuditoriaArchivoModel.mjs +0 -11
  368. package/esm2022/src/app/seguridad/modelos/CargueLineaModel.mjs +0 -13
  369. package/esm2022/src/app/seguridad/modelos/ColoresRGB.mjs +0 -18
  370. package/esm2022/src/app/seguridad/modelos/ColumnaFuenteModel.mjs +0 -9
  371. package/esm2022/src/app/seguridad/modelos/ColumnaWraperModel.mjs +0 -6
  372. package/esm2022/src/app/seguridad/modelos/ComplementoModel.mjs +0 -7
  373. package/esm2022/src/app/seguridad/modelos/ComponentePaginaModel.mjs +0 -21
  374. package/esm2022/src/app/seguridad/modelos/ConexionModel.mjs +0 -14
  375. package/esm2022/src/app/seguridad/modelos/ContenidoHtmlPortalModel.mjs +0 -21
  376. package/esm2022/src/app/seguridad/modelos/ControlFuncionModel.mjs +0 -8
  377. package/esm2022/src/app/seguridad/modelos/CorreoModel.mjs +0 -35
  378. package/esm2022/src/app/seguridad/modelos/CorreoWSModel.mjs +0 -37
  379. package/esm2022/src/app/seguridad/modelos/CruceRecursoPuntoModel.mjs +0 -14
  380. package/esm2022/src/app/seguridad/modelos/DatoInicioModel.mjs +0 -6
  381. package/esm2022/src/app/seguridad/modelos/EjecucionReporteDataModel.mjs +0 -14
  382. package/esm2022/src/app/seguridad/modelos/EmpresaModel.mjs +0 -25
  383. package/esm2022/src/app/seguridad/modelos/EmpresaSeguridadModel.mjs +0 -19
  384. package/esm2022/src/app/seguridad/modelos/EntradaComplementoModel.mjs +0 -7
  385. package/esm2022/src/app/seguridad/modelos/EtiquetaModel.mjs +0 -5
  386. package/esm2022/src/app/seguridad/modelos/Etiquetas.mjs +0 -12
  387. package/esm2022/src/app/seguridad/modelos/ForeingWraperModel.mjs +0 -6
  388. package/esm2022/src/app/seguridad/modelos/FuenteCampoAtributoModel.mjs +0 -16
  389. package/esm2022/src/app/seguridad/modelos/FuenteCampoModel.mjs +0 -17
  390. package/esm2022/src/app/seguridad/modelos/FuenteDato.mjs +0 -19
  391. package/esm2022/src/app/seguridad/modelos/FuenteEntradaModel.mjs +0 -9
  392. package/esm2022/src/app/seguridad/modelos/FuenteGeneralModel.mjs +0 -37
  393. package/esm2022/src/app/seguridad/modelos/FuenteLineaServicioModel.mjs +0 -16
  394. package/esm2022/src/app/seguridad/modelos/FuenteProcesoGeneralModel.mjs +0 -11
  395. package/esm2022/src/app/seguridad/modelos/FuenteServicioModel.mjs +0 -51
  396. package/esm2022/src/app/seguridad/modelos/FuncionalidadModel.mjs +0 -10
  397. package/esm2022/src/app/seguridad/modelos/GeneralModel.mjs +0 -15
  398. package/esm2022/src/app/seguridad/modelos/GrupoAccesoModel.mjs +0 -7
  399. package/esm2022/src/app/seguridad/modelos/GrupoControlFuncionModel.mjs +0 -10
  400. package/esm2022/src/app/seguridad/modelos/GrupoFuenteModel.mjs +0 -13
  401. package/esm2022/src/app/seguridad/modelos/GrupoPermisoModel.mjs +0 -14
  402. package/esm2022/src/app/seguridad/modelos/JoinFromModel.mjs +0 -5
  403. package/esm2022/src/app/seguridad/modelos/ListaServicioModel.mjs +0 -17
  404. package/esm2022/src/app/seguridad/modelos/LlaveForaneaModel.mjs +0 -7
  405. package/esm2022/src/app/seguridad/modelos/LoginModel.mjs +0 -15
  406. package/esm2022/src/app/seguridad/modelos/MensajeSistemaModel.mjs +0 -8
  407. package/esm2022/src/app/seguridad/modelos/MenuPortalModel.mjs +0 -5
  408. package/esm2022/src/app/seguridad/modelos/ModulosModel.mjs +0 -18
  409. package/esm2022/src/app/seguridad/modelos/ObjetoReporteModel.mjs +0 -6
  410. package/esm2022/src/app/seguridad/modelos/PaginaPortalModel.mjs +0 -20
  411. package/esm2022/src/app/seguridad/modelos/ParametroComponenteModel.mjs +0 -9
  412. package/esm2022/src/app/seguridad/modelos/ParametrosGeneralModel.mjs +0 -15
  413. package/esm2022/src/app/seguridad/modelos/PermisoFuncionModel.mjs +0 -9
  414. package/esm2022/src/app/seguridad/modelos/PermisocontenidoModel.mjs +0 -20
  415. package/esm2022/src/app/seguridad/modelos/PeticionModel.mjs +0 -16
  416. package/esm2022/src/app/seguridad/modelos/PreguntaSeguridadModel.mjs +0 -7
  417. package/esm2022/src/app/seguridad/modelos/PropiedadModel.mjs +0 -10
  418. package/esm2022/src/app/seguridad/modelos/PublicacionWebModel.mjs +0 -27
  419. package/esm2022/src/app/seguridad/modelos/PuntoProcesoModel.mjs +0 -7
  420. package/esm2022/src/app/seguridad/modelos/RecursoPunto.mjs +0 -13
  421. package/esm2022/src/app/seguridad/modelos/RecursoPuntoModel.mjs +0 -13
  422. package/esm2022/src/app/seguridad/modelos/ReporteBanda.mjs +0 -8
  423. package/esm2022/src/app/seguridad/modelos/ReporteColumna.mjs +0 -33
  424. package/esm2022/src/app/seguridad/modelos/ReporteColumnario.mjs +0 -69
  425. package/esm2022/src/app/seguridad/modelos/ReporteColumnarioMarcador.mjs +0 -24
  426. package/esm2022/src/app/seguridad/modelos/ReporteEntradaModel.mjs +0 -20
  427. package/esm2022/src/app/seguridad/modelos/ReporteFuenteModel.mjs +0 -124
  428. package/esm2022/src/app/seguridad/modelos/ReporteMarcador.mjs +0 -40
  429. package/esm2022/src/app/seguridad/modelos/ReporteSoporte.mjs +0 -10
  430. package/esm2022/src/app/seguridad/modelos/ReporteTabla.mjs +0 -13
  431. package/esm2022/src/app/seguridad/modelos/RespuestaModel.mjs +0 -9
  432. package/esm2022/src/app/seguridad/modelos/RolModel.mjs +0 -39
  433. package/esm2022/src/app/seguridad/modelos/ServidorCorreoModel.mjs +0 -28
  434. package/esm2022/src/app/seguridad/modelos/SistemaMensajeModel.mjs +0 -9
  435. package/esm2022/src/app/seguridad/modelos/SitioPortalModel.mjs +0 -25
  436. package/esm2022/src/app/seguridad/modelos/TablaFromModel.mjs +0 -5
  437. package/esm2022/src/app/seguridad/modelos/TareasModel.mjs +0 -54
  438. package/esm2022/src/app/seguridad/modelos/TextoModel.mjs +0 -9
  439. package/esm2022/src/app/seguridad/modelos/TipoEtiqueta.mjs +0 -8
  440. package/esm2022/src/app/seguridad/modelos/UnionModel.mjs +0 -12
  441. package/esm2022/src/app/seguridad/modelos/UsuarioModel.mjs +0 -53
  442. package/esm2022/src/app/seguridad/modelos/UsuariogrupoModel.mjs +0 -24
  443. package/esm2022/src/app/seguridad/modelos/aplicacion-propiedad-model.mjs +0 -15
  444. package/esm2022/src/app/seguridad/modelos/contenidoCorreoModel.mjs +0 -10
  445. package/esm2022/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.mjs +0 -154
  446. package/esm2022/src/app/shared/servicios/cargar-archivos.service.mjs +0 -54
  447. package/esm2022/src/app/shared/servicios/cargar-mapas.service.mjs +0 -46
  448. package/esm2022/src/app/shared/servicios/encriptado-basico.service.mjs +0 -53
  449. package/esm2022/src/app/shared/servicios/general.service.mjs +0 -104
  450. package/esm2022/src/app/shared/servicios/parametros-navegacion.service.mjs +0 -21
  451. package/esm2022/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.mjs +0 -378
  452. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.mjs +0 -187
  453. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.mjs +0 -85
  454. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.mjs +0 -347
  455. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.mjs +0 -206
  456. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.mjs +0 -329
  457. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.mjs +0 -1583
  458. package/esm2022/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.mjs +0 -105
  459. package/esm2022/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.mjs +0 -114
  460. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.mjs +0 -588
  461. package/esm2022/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.mjs +0 -177
  462. package/esm2022/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.mjs +0 -767
  463. package/esm2022/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.mjs +0 -331
  464. package/esm2022/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.mjs +0 -96
  465. package/esm2022/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.mjs +0 -675
  466. package/esm2022/src/app/webcommon/pipes/dashboard.pipe.mjs +0 -86
  467. package/esm2022/src/app/webcommon/pipes/fuente.pipe.mjs +0 -201
  468. package/esm2022/src/app/webcommon/pipes/general.pipe.mjs +0 -916
  469. package/esm2022/src/app/webcommon/pipes/reporte-columnario.pipe.mjs +0 -115
  470. package/esm2022/src/app/webcommon/pipes/reporte-fuente.pipe.mjs +0 -301
  471. package/esm2022/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.mjs +0 -267
  472. package/esm2022/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.mjs +0 -128
  473. package/esm2022/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.mjs +0 -73
  474. package/esm2022/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.mjs +0 -293
  475. package/esm2022/src/app/webcommon/popups/popup-recurso/popup-recurso.component.mjs +0 -269
  476. package/esm2022/src/app/webcommon/popups/popup-reporte/popup-reporte.component.mjs +0 -555
  477. package/esm2022/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.mjs +0 -64
  478. package/esm2022/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.mjs +0 -162
  479. package/esm2022/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.mjs +0 -89
  480. package/esm2022/src/app/webcommon/services/carguelinea.service.mjs +0 -69
  481. package/esm2022/src/app/webcommon/services/dashboard.service.mjs +0 -253
  482. package/esm2022/src/app/webcommon/services/ejecucionreporte.service.mjs +0 -114
  483. package/esm2022/src/app/webcommon/services/fechaUtils.service.mjs +0 -97
  484. package/esm2022/src/app/webcommon/services/fuentegeneral.service.mjs +0 -68
  485. package/esm2022/src/app/webcommon/services/homologacion.service.mjs +0 -50
  486. package/esm2022/src/app/webcommon/services/plantillas.service.mjs +0 -129
  487. package/esm2022/src/app/webcommon/services/reportes.service.mjs +0 -95
  488. package/esm2022/src/app/webcommon/webcommon.module.mjs +0 -15
  489. package/esm2022/src/environments/environment.mjs +0 -24
  490. package/fesm2022/general-library-union.mjs +0 -16036
  491. package/fesm2022/general-library-union.mjs.map +0 -1
  492. package/index.d.ts +0 -5
  493. package/src/app/core/componentes/breadcrumb/breadcrumb.component.d.ts +0 -18
  494. package/src/app/core/componentes/carga-pantalla-completa/carga-pantalla-completa.component.d.ts +0 -14
  495. package/src/app/core/componentes/filtro-general/filtro-general.component.d.ts +0 -34
  496. package/src/app/core/componentes/footer/footer.component.d.ts +0 -9
  497. package/src/app/core/componentes/formulariodinamico/formulariodinamico.component.d.ts +0 -46
  498. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormulario.d.ts +0 -44
  499. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioCons.d.ts +0 -45
  500. package/src/app/core/componentes/formulariodinamico/objetosformulario/CampoFormularioNuevo.d.ts +0 -33
  501. package/src/app/core/componentes/formulariodinamico/objetosformulario/HashDirective.d.ts +0 -9
  502. package/src/app/core/componentes/inicio-component/inicio-component.component.d.ts +0 -26
  503. package/src/app/core/componentes/menu/menu.component.d.ts +0 -16
  504. package/src/app/core/componentes/tabla-general/tabla-general.component.d.ts +0 -32
  505. package/src/app/core/core.module.d.ts +0 -8
  506. package/src/app/core/errores/authentication.error.d.ts +0 -3
  507. package/src/app/core/modelos/error-response.model.d.ts +0 -9
  508. package/src/app/core/modelos/table-column.model.d.ts +0 -12
  509. package/src/app/core/modelos/user.model.d.ts +0 -6
  510. package/src/app/core/plantilla-general/plantilla-general.template.d.ts +0 -89
  511. package/src/app/core/servicios/auth.service.d.ts +0 -52
  512. package/src/app/core/servicios/cargar-control-funcionalidad.service.d.ts +0 -19
  513. package/src/app/core/servicios/data-exporter-table.utils.d.ts +0 -11
  514. package/src/app/core/servicios/error-interceptor.service.d.ts +0 -41
  515. package/src/app/core/servicios/guardias/auth.guard.d.ts +0 -17
  516. package/src/app/core/servicios/guardias/publico.guard.d.ts +0 -13
  517. package/src/app/core/servicios/interceptores/loading-interceptor.d.ts +0 -11
  518. package/src/app/core/servicios/interceptores/token-interceptor.service.d.ts +0 -26
  519. package/src/app/core/servicios/loading.service.d.ts +0 -22
  520. package/src/app/core/servicios/menu.service.d.ts +0 -35
  521. package/src/app/core/servicios/spinner-service.d.ts +0 -9
  522. package/src/app/core/servicios/storage.service.d.ts +0 -37
  523. package/src/app/core/servicios/template.service.d.ts +0 -20
  524. package/src/app/core/servicios/toast.service.d.ts +0 -48
  525. package/src/app/core/servicios/utils.service.d.ts +0 -43
  526. package/src/app/core/sharedlib.module.d.ts +0 -6
  527. package/src/app/core/utilidades/color.util.d.ts +0 -70
  528. package/src/app/layout/app.breadcrumb.component.d.ts +0 -28
  529. package/src/app/layout/app.footer.component.d.ts +0 -8
  530. package/src/app/layout/app.layout.component.d.ts +0 -39
  531. package/src/app/layout/app.layout.module.d.ts +0 -6
  532. package/src/app/layout/app.menu.component.d.ts +0 -19
  533. package/src/app/layout/app.menu.service.d.ts +0 -12
  534. package/src/app/layout/app.menuitem.component.d.ts +0 -41
  535. package/src/app/layout/app.menuprofile.component.d.ts +0 -18
  536. package/src/app/layout/app.rightmenu.component.d.ts +0 -10
  537. package/src/app/layout/app.sidebar.component.d.ts +0 -34
  538. package/src/app/layout/app.topbar.component.d.ts +0 -79
  539. package/src/app/layout/service/app.layout.service.d.ts +0 -57
  540. package/src/app/publico/pages/login/login.page.d.ts +0 -40
  541. package/src/app/publico/pages/not-found/not-found.page.d.ts +0 -17
  542. package/src/app/publico/pages/seleccion-rol/seleccion-rol.component.d.ts +0 -41
  543. package/src/app/publico/pages/timeout/timeout.page.d.ts +0 -10
  544. package/src/app/seguridad/constantes/ConstantesGenerales.d.ts +0 -25
  545. package/src/app/seguridad/constantes/ReporteEntradaConstantes.d.ts +0 -7
  546. package/src/app/seguridad/modelos/AplicacionModel.d.ts +0 -7
  547. package/src/app/seguridad/modelos/ArchivoPortalModel.d.ts +0 -13
  548. package/src/app/seguridad/modelos/AtributoPuntoModel.d.ts +0 -8
  549. package/src/app/seguridad/modelos/AtributoSSOportalModel.d.ts +0 -16
  550. package/src/app/seguridad/modelos/CargueLineaModel.d.ts +0 -12
  551. package/src/app/seguridad/modelos/ColoresRGB.d.ts +0 -17
  552. package/src/app/seguridad/modelos/ColumnaFuenteModel.d.ts +0 -8
  553. package/src/app/seguridad/modelos/ComplementoModel.d.ts +0 -6
  554. package/src/app/seguridad/modelos/ComponentePaginaModel.d.ts +0 -20
  555. package/src/app/seguridad/modelos/ConexionModel.d.ts +0 -13
  556. package/src/app/seguridad/modelos/ControlFuncionModel.d.ts +0 -7
  557. package/src/app/seguridad/modelos/CorreoModel.d.ts +0 -31
  558. package/src/app/seguridad/modelos/CorreoWSModel.d.ts +0 -33
  559. package/src/app/seguridad/modelos/CruceRecursoPuntoModel.d.ts +0 -13
  560. package/src/app/seguridad/modelos/EmpresaModel.d.ts +0 -23
  561. package/src/app/seguridad/modelos/EmpresaSeguridadModel.d.ts +0 -18
  562. package/src/app/seguridad/modelos/EtiquetaModel.d.ts +0 -4
  563. package/src/app/seguridad/modelos/Etiquetas.d.ts +0 -10
  564. package/src/app/seguridad/modelos/FuenteCampoAtributoModel.d.ts +0 -15
  565. package/src/app/seguridad/modelos/FuenteDato.d.ts +0 -18
  566. package/src/app/seguridad/modelos/FuenteEntradaModel.d.ts +0 -8
  567. package/src/app/seguridad/modelos/FuenteLineaServicioModel.d.ts +0 -16
  568. package/src/app/seguridad/modelos/FuenteProcesoGeneralModel.d.ts +0 -10
  569. package/src/app/seguridad/modelos/FuncionalidadModel.d.ts +0 -8
  570. package/src/app/seguridad/modelos/GeneralModel.d.ts +0 -8
  571. package/src/app/seguridad/modelos/GrupoControlFuncionModel.d.ts +0 -9
  572. package/src/app/seguridad/modelos/GrupoFuenteModel.d.ts +0 -13
  573. package/src/app/seguridad/modelos/GrupoPermisoModel.d.ts +0 -13
  574. package/src/app/seguridad/modelos/ListaServicioModel.d.ts +0 -16
  575. package/src/app/seguridad/modelos/LlaveForaneaModel.d.ts +0 -6
  576. package/src/app/seguridad/modelos/LoginModel.d.ts +0 -17
  577. package/src/app/seguridad/modelos/MensajeSistemaModel.d.ts +0 -7
  578. package/src/app/seguridad/modelos/ModulosModel.d.ts +0 -14
  579. package/src/app/seguridad/modelos/PaginaPortalModel.d.ts +0 -19
  580. package/src/app/seguridad/modelos/ParametroComponenteModel.d.ts +0 -8
  581. package/src/app/seguridad/modelos/ParametrosGeneralModel.d.ts +0 -8
  582. package/src/app/seguridad/modelos/PermisoFuncionModel.d.ts +0 -8
  583. package/src/app/seguridad/modelos/PermisocontenidoModel.d.ts +0 -18
  584. package/src/app/seguridad/modelos/PreguntaSeguridadModel.d.ts +0 -6
  585. package/src/app/seguridad/modelos/PropiedadModel.d.ts +0 -9
  586. package/src/app/seguridad/modelos/PublicacionWebModel.d.ts +0 -25
  587. package/src/app/seguridad/modelos/PuntoProcesoModel.d.ts +0 -6
  588. package/src/app/seguridad/modelos/RecursoPunto.d.ts +0 -12
  589. package/src/app/seguridad/modelos/RecursoPuntoModel.d.ts +0 -12
  590. package/src/app/seguridad/modelos/ReporteBanda.d.ts +0 -7
  591. package/src/app/seguridad/modelos/ReporteColumna.d.ts +0 -32
  592. package/src/app/seguridad/modelos/ReporteColumnario.d.ts +0 -68
  593. package/src/app/seguridad/modelos/ReporteColumnarioMarcador.d.ts +0 -23
  594. package/src/app/seguridad/modelos/ReporteMarcador.d.ts +0 -39
  595. package/src/app/seguridad/modelos/ReporteSoporte.d.ts +0 -9
  596. package/src/app/seguridad/modelos/ReporteTabla.d.ts +0 -12
  597. package/src/app/seguridad/modelos/RespuestaModel.d.ts +0 -8
  598. package/src/app/seguridad/modelos/ServidorCorreoModel.d.ts +0 -25
  599. package/src/app/seguridad/modelos/SistemaMensajeModel.d.ts +0 -8
  600. package/src/app/seguridad/modelos/SitioPortalModel.d.ts +0 -24
  601. package/src/app/seguridad/modelos/TablaFromModel.d.ts +0 -4
  602. package/src/app/seguridad/modelos/TareasModel.d.ts +0 -49
  603. package/src/app/seguridad/modelos/TextoModel.d.ts +0 -8
  604. package/src/app/seguridad/modelos/TipoEtiqueta.d.ts +0 -7
  605. package/src/app/seguridad/modelos/UnionModel.d.ts +0 -11
  606. package/src/app/seguridad/modelos/UsuariogrupoModel.d.ts +0 -22
  607. package/src/app/seguridad/modelos/aplicacion-propiedad-model.d.ts +0 -13
  608. package/src/app/seguridad/modelos/contenidoCorreoModel.d.ts +0 -9
  609. package/src/app/shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component.d.ts +0 -47
  610. package/src/app/shared/servicios/cargar-archivos.service.d.ts +0 -15
  611. package/src/app/shared/servicios/cargar-mapas.service.d.ts +0 -18
  612. package/src/app/shared/servicios/encriptado-basico.service.d.ts +0 -10
  613. package/src/app/shared/servicios/general.service.d.ts +0 -24
  614. package/src/app/shared/servicios/parametros-navegacion.service.d.ts +0 -9
  615. package/src/app/webcommon/pages/cargue-plantilla/cargue-plantilla-general/cargue-plantilla-general.component.d.ts +0 -79
  616. package/src/app/webcommon/pages/ejecucion-reporte/detalle-campo-reporte/detalle-campo-reporte.component.d.ts +0 -79
  617. package/src/app/webcommon/pages/ejecucion-reporte/detalle-distribucion-reporte/detalle-distribucion-reporte.component.d.ts +0 -29
  618. package/src/app/webcommon/pages/ejecucion-reporte/detalle-ejecucion-reporte/detalle-ejecucion-reporte.page.d.ts +0 -69
  619. package/src/app/webcommon/pages/ejecucion-reporte/detalle-entrada-reporte/detalle-entrada-reporte.component.d.ts +0 -51
  620. package/src/app/webcommon/pages/ejecucion-reporte/detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component.d.ts +0 -77
  621. package/src/app/webcommon/pages/ejecucion-reporte/detalle-tipo-reporte/detalle-tipo-reporte.component.d.ts +0 -278
  622. package/src/app/webcommon/pages/ejecucion-reporte/listado-ejecucion-reporte/listado-ejecucion-reporte.page.d.ts +0 -42
  623. package/src/app/webcommon/pages/ejecucion-reporte-externo/listado-ejecucion-reporte-externo/listado-ejecucion-reporte-externo.component.d.ts +0 -35
  624. package/src/app/webcommon/pages/fuente/importar-fuente-con/importar-fuente-con.component.d.ts +0 -143
  625. package/src/app/webcommon/pages/fuente/importar-fuente-general/importar-fuente-general.component.d.ts +0 -49
  626. package/src/app/webcommon/pages/fuente-reporte/fuente-reporte.component.d.ts +0 -131
  627. package/src/app/webcommon/pages/fuenteGeneral/fuente-general-servicio/fuente-general-servicio.component.d.ts +0 -64
  628. package/src/app/webcommon/pages/fuenteGeneral/listado-fuente-general/listado-fuente-general.page.d.ts +0 -33
  629. package/src/app/webcommon/pages/fuenteGeneral/mantenimiento-fuente-general/mantenimiento-fuente-general.page.d.ts +0 -149
  630. package/src/app/webcommon/pipes/dashboard.pipe.d.ts +0 -48
  631. package/src/app/webcommon/pipes/fuente.pipe.d.ts +0 -136
  632. package/src/app/webcommon/pipes/general.pipe.d.ts +0 -646
  633. package/src/app/webcommon/pipes/reporte-columnario.pipe.d.ts +0 -59
  634. package/src/app/webcommon/pipes/reporte-fuente.pipe.d.ts +0 -193
  635. package/src/app/webcommon/popups/popup-campos-fuente-general/popup-campos-fuente-general.component.d.ts +0 -59
  636. package/src/app/webcommon/popups/popup-convertir-plantillas/popup-convertir-plantillas.component.d.ts +0 -27
  637. package/src/app/webcommon/popups/popup-editor-formula/popup-editor-formula.component.d.ts +0 -21
  638. package/src/app/webcommon/popups/popup-punto-proceso/popup-punto-proceso.component.d.ts +0 -64
  639. package/src/app/webcommon/popups/popup-recurso/popup-recurso.component.d.ts +0 -63
  640. package/src/app/webcommon/popups/popup-reporte/popup-reporte.component.d.ts +0 -105
  641. package/src/app/webcommon/popups/popup-sentencia/popup-sentencia.component.d.ts +0 -21
  642. package/src/app/webcommon/popups/popup-tablas-fuente/popup-tablas-fuente.component.d.ts +0 -42
  643. package/src/app/webcommon/popups/punto-proceso-comp/punto-proceso-comp.component.d.ts +0 -30
  644. package/src/app/webcommon/services/carguelinea.service.d.ts +0 -19
  645. package/src/app/webcommon/services/dashboard.service.d.ts +0 -27
  646. package/src/app/webcommon/services/ejecucionreporte.service.d.ts +0 -34
  647. package/src/app/webcommon/services/fechaUtils.service.d.ts +0 -30
  648. package/src/app/webcommon/services/fuentegeneral.service.d.ts +0 -24
  649. package/src/app/webcommon/services/homologacion.service.d.ts +0 -17
  650. package/src/app/webcommon/services/plantillas.service.d.ts +0 -26
  651. package/src/app/webcommon/services/reportes.service.d.ts +0 -35
  652. package/src/app/webcommon/webcommon.module.d.ts +0 -6
  653. package/src/environments/environment.d.ts +0 -7
  654. /package/src/assets/images/{Navegador-edge.png → navegador-edge.png} +0 -0
@@ -1,347 +0,0 @@
1
- import { Component, EventEmitter, Output } from '@angular/core';
2
- import { FormsModule } from '@angular/forms';
3
- import { TranslateModule } from '@ngx-translate/core';
4
- import { ConfirmationService, MessageService } from 'primeng/api';
5
- import { ReporteFuenteModel } from '../../../../seguridad/modelos/ReporteFuenteModel';
6
- import { FuenteDatoModel } from '../../../../seguridad/modelos/FuenteDato';
7
- import { GeneralModel } from '../../../../seguridad/modelos/GeneralModel';
8
- import { CommonModule } from '@angular/common';
9
- import { InputTextModule } from 'primeng/inputtext';
10
- import { ButtonModule } from 'primeng/button';
11
- import { ConfirmPopupModule } from 'primeng/confirmpopup';
12
- import { MenubarModule } from 'primeng/menubar';
13
- import { DropdownModule } from 'primeng/dropdown';
14
- import { DetalleEntradaReporteComponent } from '../detalle-entrada-reporte/detalle-entrada-reporte.component';
15
- import { DetalleCampoReporteComponent } from '../detalle-campo-reporte/detalle-campo-reporte.component';
16
- import { DetalleTipoReporteComponent } from '../detalle-tipo-reporte/detalle-tipo-reporte.component';
17
- import { DetalleDistribucionReporteComponent } from '../detalle-distribucion-reporte/detalle-distribucion-reporte.component';
18
- import { PopupReporteComponent } from '../../../popups/popup-reporte/popup-reporte.component';
19
- import { DetallePuntoProcesoReporteComponent } from '../detalle-punto-proceso-reporte/detalle-punto-proceso-reporte.component';
20
- import { InputHelperSeleccionPlantillaComponent } from '../../../../shared/componentes/input-helper-seleccion-plantilla/input-helper-seleccion-plantilla.component';
21
- import { FloatLabelModule } from 'primeng/floatlabel';
22
- import { InputTextareaModule } from 'primeng/inputtextarea';
23
- import * as i0 from "@angular/core";
24
- import * as i1 from "@ngx-translate/core";
25
- import * as i2 from "@angular/router";
26
- import * as i3 from "@angular/forms";
27
- import * as i4 from "../../../../core/servicios/toast.service";
28
- import * as i5 from "../../../../shared/servicios/general.service";
29
- import * as i6 from "../../../../core/servicios/utils.service";
30
- import * as i7 from "../../../../core/servicios/auth.service";
31
- import * as i8 from "../../../pipes/reporte-fuente.pipe";
32
- import * as i9 from "../../../../core/servicios/cargar-control-funcionalidad.service";
33
- import * as i10 from "primeng/api";
34
- import * as i11 from "../../../services/ejecucionreporte.service";
35
- import * as i12 from "../../../pipes/general.pipe";
36
- import * as i13 from "../../../../core/servicios/menu.service";
37
- import * as i14 from "@angular/common";
38
- import * as i15 from "primeng/inputtext";
39
- import * as i16 from "primeng/button";
40
- import * as i17 from "primeng/confirmpopup";
41
- import * as i18 from "primeng/menubar";
42
- import * as i19 from "primeng/dropdown";
43
- import * as i20 from "primeng/floatlabel";
44
- import * as i21 from "primeng/inputtextarea";
45
- export class DetalleEjecucionReportePage {
46
- translateService;
47
- activeRoute;
48
- formBuilder;
49
- notificacionesBusService;
50
- generalService;
51
- router;
52
- utilsService;
53
- authService;
54
- reporteFuentePipe;
55
- controlFuncionService;
56
- confirmationService;
57
- ejecucionReporteService;
58
- generalPipe;
59
- menuService;
60
- items;
61
- reporte = new ReporteFuenteModel();
62
- vistaVisualizar = null;
63
- llaveTabla = null;
64
- //listas
65
- listaTipo;
66
- listaSiNo;
67
- listaMomento;
68
- listaTipoCifrado;
69
- verTodos;
70
- listaFuente;
71
- permiteModificarReporte;
72
- mostrarPopupReporte = false;
73
- operacion;
74
- regresar = new EventEmitter();
75
- clickGuardar = false;
76
- constructor(translateService, activeRoute, formBuilder, notificacionesBusService, generalService, router, utilsService, authService, reporteFuentePipe, controlFuncionService, confirmationService, ejecucionReporteService, generalPipe, menuService) {
77
- this.translateService = translateService;
78
- this.activeRoute = activeRoute;
79
- this.formBuilder = formBuilder;
80
- this.notificacionesBusService = notificacionesBusService;
81
- this.generalService = generalService;
82
- this.router = router;
83
- this.utilsService = utilsService;
84
- this.authService = authService;
85
- this.reporteFuentePipe = reporteFuentePipe;
86
- this.controlFuncionService = controlFuncionService;
87
- this.confirmationService = confirmationService;
88
- this.ejecucionReporteService = ejecucionReporteService;
89
- this.generalPipe = generalPipe;
90
- this.menuService = menuService;
91
- }
92
- ngOnInit() {
93
- this.llaveTabla = this.activeRoute.snapshot.paramMap.get('llaveTabla');
94
- this.vistaVisualizar = 'reporte';
95
- this.menuService.setBreadcrumb([{ label: 'Listado Ejecución Reporte', command: (event) => { this.regresarAction(); } },
96
- { label: this.translateService.instant('mantenimiento') + ' ' + this.translateService.instant('reporte') }]);
97
- this.reporte = new ReporteFuenteModel();
98
- if (this.llaveTabla) {
99
- this.ejecucionReporteService.getDatosEjecucionReporte({ llave: this.llaveTabla }).subscribe(data => {
100
- this.reporte = data.reporte;
101
- delete this.reporte['alias'];
102
- this.listaFuente = data.listaFuente;
103
- this.verTodos = data.permisoVerTodos;
104
- this.cargarMenu();
105
- });
106
- }
107
- else {
108
- this.cargarMenu();
109
- this.reporte = new ReporteFuenteModel();
110
- }
111
- this.cargarListas();
112
- }
113
- nuevoReporte() {
114
- if (this.isPermisoVerTodos()) {
115
- this.listaTipo = this.reporteFuentePipe.LISTA_TIPO;
116
- }
117
- else {
118
- this.listaTipo = this.reporteFuentePipe.LISTA_TIPO_SIN_PERMISO;
119
- }
120
- this.operacion = "N"; //nuevo reporte
121
- this.reporte = new ReporteFuenteModel();
122
- //this.reporte.origenFuente = this.reporteFuentePipe.FUENTE;
123
- this.reporte.unicoArchivo = this.generalPipe.SI;
124
- this.reporte.dobleLinea = this.generalPipe.NO;
125
- var fuente = new FuenteDatoModel();
126
- fuente.origen = 'F';
127
- if (!this.isPermisoVerTodos()) {
128
- fuente.rol = this.authService.getTokenKey('aliasRol');
129
- fuente.login = this.authService.getTokenKey('usuario');
130
- }
131
- this.generalService.queryForList(new GeneralModel('FuenteDatoDTO', null, false, fuente)).subscribe(data => {
132
- this.listaFuente = data;
133
- });
134
- this.cargarListas();
135
- this.cargarMenu();
136
- //cambiarValorTipo(actual.getOrigenFuente());
137
- }
138
- traerReporte(reporteBase) {
139
- this.ejecucionReporteService.getDatosEjecucionReporte({ llave: reporteBase.llave }).subscribe(data => {
140
- this.reporte = data.reporte;
141
- delete this.reporte['alias'];
142
- this.listaFuente = data.listaFuente;
143
- this.verTodos = data.permisoVerTodos;
144
- this.permiteModificarReporte = data.permiteModificarReporte;
145
- this.cargarListas();
146
- this.cargarMenu();
147
- this.operacion = 'M';
148
- });
149
- }
150
- cargarMenu() {
151
- if (this.reporte.llave != null) {
152
- this.items = [
153
- {
154
- label: this.translateService.instant('reporte'),
155
- icon: 'glyphicons glyphicons-plus-sign',
156
- command: (event) => {
157
- this.vistaVisualizar = 'reporte';
158
- this.menuService.setBreadcrumb([{ label: 'Listado Ejecución Reporte', command: (event) => { this.regresarAction(); } },
159
- { label: this.translateService.instant('mantenimiento') + ' ' + this.translateService.instant('reporte') }]);
160
- },
161
- },
162
- {
163
- label: this.translateService.instant('entrada'),
164
- icon: 'glyphicons glyphicons-file-minus',
165
- command: (event) => {
166
- this.vistaVisualizar = 'entrada';
167
- this.menuService.setBreadcrumb([{ label: 'Listado Ejecución Reporte', command: (event) => { this.regresarAction(); } },
168
- { label: this.translateService.instant('mantenimiento') + ' ' + this.translateService.instant('entrada') }]);
169
- },
170
- visible: this.reporte.llave != null,
171
- },
172
- {
173
- label: this.translateService.instant('campo'),
174
- icon: 'glyphicons glyphicons-log-book',
175
- command: (event) => {
176
- this.vistaVisualizar = 'campo';
177
- this.menuService.setBreadcrumb([{ label: 'Listado Ejecución Reporte', command: (event) => { this.regresarAction(); } },
178
- { label: this.translateService.instant('mantenimiento') + ' ' + this.translateService.instant('campo') }]);
179
- },
180
- visible: this.reporte.llave != null,
181
- },
182
- {
183
- label: this.translateService.instant('tipo'),
184
- icon: 'glyphicons glyphicons-notes-2',
185
- command: (event) => {
186
- this.vistaVisualizar = 'tipo';
187
- this.menuService.setBreadcrumb([{ label: 'Listado Ejecución Reporte', command: (event) => { this.regresarAction(); } },
188
- { label: this.translateService.instant('mantenimiento') + ' ' + this.translateService.instant('tipo') }]);
189
- },
190
- visible: this.reporte.llave != null,
191
- },
192
- {
193
- label: this.translateService.instant('distribucion'),
194
- icon: 'glyphicons glyphicons-transfer',
195
- command: (event) => {
196
- this.vistaVisualizar = 'distribucion';
197
- this.menuService.setBreadcrumb([{ label: 'Listado Ejecución Reporte', command: (event) => { this.regresarAction(); } },
198
- { label: this.translateService.instant('mantenimiento') + ' ' + this.translateService.instant('distribucion') }]);
199
- },
200
- visible: this.reporte.llave != null,
201
- },
202
- {
203
- label: this.translateService.instant('puntoproceso'),
204
- icon: 'glyphicons glyphicons-server-new',
205
- command: (event) => {
206
- this.vistaVisualizar = 'puntoproceso';
207
- this.menuService.setBreadcrumb([{ label: 'Listado Ejecución Reporte', command: (event) => { this.regresarAction(); } },
208
- { label: this.translateService.instant('mantenimiento') + ' ' + this.translateService.instant('puntoproceso') }]);
209
- },
210
- visible: this.reporte.llave != null,
211
- },
212
- {
213
- label: this.translateService.instant('ejecutar'),
214
- icon: 'glyphicons glyphicons-disk-export',
215
- command: (event) => {
216
- this.mostrarPopupReporte = true;
217
- },
218
- visible: this.reporte.llave != null,
219
- },
220
- ];
221
- }
222
- else {
223
- this.items = [
224
- {
225
- label: this.translateService.instant('reporte'),
226
- icon: 'glyphicons glyphicons-plus-sign',
227
- command: (event) => {
228
- this.vistaVisualizar = 'reporte';
229
- this.menuService.setBreadcrumb([{ label: 'Listado Ejecución Reporte', command: (event) => { this.regresarAction(); } },
230
- { label: this.translateService.instant('mantenimiento') + ' ' + this.translateService.instant('reporte') }]);
231
- },
232
- }
233
- ];
234
- }
235
- }
236
- cargarListas() {
237
- this.listaTipo = this.reporteFuentePipe.LISTA_TIPO;
238
- this.listaMomento = this.reporteFuentePipe.LISTA_MOMENTO;
239
- this.listaSiNo = this.generalPipe.LISTA_SINO;
240
- this.generalService.queryForList(new GeneralModel('EncripcionArchivoDTO', null, false, {})).subscribe(data => {
241
- this.listaTipoCifrado = data;
242
- });
243
- }
244
- actualizar() {
245
- this.clickGuardar = true;
246
- if (!this.validar()) {
247
- this.notificacionesBusService.showError('Faltan campos obligatorios');
248
- return;
249
- }
250
- if (this.utilsService.isNotBlank(this.reporte.llave)) {
251
- this.ejecucionReporteService.guardarReporte(this.reporte).subscribe(data => {
252
- this.reporte = data;
253
- this.clickGuardar = false;
254
- this.cargarMenu();
255
- this.notificacionesBusService.showSuccess(this.generalPipe.MENSAJE_ACTUALIZAR);
256
- });
257
- /* this.generalService.update(new GeneralModel('ReporteFuenteDTO', null, false, this.reporte)).subscribe(data => {
258
- this.notificacionesBusService.showSuccess(this.generalPipe.MENSAJE_ACTUALIZAR);
259
- this.clickGuardar = false;
260
- delete this.reporte['alias']
261
- }/;
262
- */
263
- }
264
- else {
265
- this.ejecucionReporteService.guardarReporte(this.reporte).subscribe(data => {
266
- this.reporte = data;
267
- this.clickGuardar = false;
268
- this.cargarMenu();
269
- this.notificacionesBusService.showSuccess(this.generalPipe.MENSAJE_GUARDAR);
270
- });
271
- }
272
- }
273
- validar() {
274
- var validador = true;
275
- validador = validador && this.utilsService.validarCampoObligatorio(this.reporte.descripcion);
276
- validador = validador && this.utilsService.validarCampoObligatorio(this.reporte.reporteExterno);
277
- if (this.isFuente()) {
278
- validador = validador && this.utilsService.validarCampoObligatorio(this.reporte.fuenteDato);
279
- }
280
- if (this.isSql()) {
281
- validador = validador && this.utilsService.validarCampoObligatorio(this.reporte.query);
282
- let mensaje = this.utilsService.validarTextoSQL(this.reporte.query, false, true, 0, true);
283
- if (mensaje) {
284
- validador = validador && false;
285
- this.notificacionesBusService.showWarning(mensaje);
286
- }
287
- }
288
- if (this.isFijo()) {
289
- validador = validador && this.utilsService.validarCampoObligatorio(this.reporte.jasperFijo);
290
- }
291
- return validador;
292
- }
293
- setJasperFijo(event) {
294
- this.reporte.jasperFijo = event.data;
295
- }
296
- regresarAction() {
297
- this.regresar.emit();
298
- }
299
- regresarPopupReporte(event) {
300
- this.mostrarPopupReporte = false;
301
- }
302
- eliminar(event) {
303
- this.confirmationService.confirm({
304
- target: event.target,
305
- message: this.generalPipe.MENSAJE_ELIMINAR_CONFIRMAR,
306
- acceptLabel: this.generalPipe.SI_DESC,
307
- accept: () => {
308
- this.ejecucionReporteService.eliminarReporte(this.reporte).subscribe(data => {
309
- this.notificacionesBusService.showInfo('Se ha eliminado el reporte');
310
- this.regresarAction();
311
- });
312
- },
313
- reject: () => {
314
- }
315
- });
316
- }
317
- isFijo() {
318
- return this.filtroOrigenFuente(this.reporteFuentePipe.FIJO);
319
- }
320
- isSql() {
321
- return this.filtroOrigenFuente(this.reporteFuentePipe.SQL);
322
- }
323
- isFuente() {
324
- return this.filtroOrigenFuente(this.reporteFuentePipe.FUENTE);
325
- }
326
- filtroOrigenFuente(tipo) {
327
- return this.reporte.origenFuente == tipo;
328
- }
329
- isPermisoVerTodos() {
330
- return this.controlFuncionService.getControlFuncionalidad("reporte:vertodos");
331
- }
332
- isPermisoCrear() {
333
- return this.controlFuncionService.getControlFuncionalidad("reporte:crear");
334
- }
335
- isModificarReporte() {
336
- return this.isPermisoVerTodos() || this.permiteModificarReporte || (this.isPermisoCrear() && this.operacion == 'N');
337
- }
338
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: DetalleEjecucionReportePage, deps: [{ token: i1.TranslateService }, { token: i2.ActivatedRoute }, { token: i3.FormBuilder }, { token: i4.ToastService }, { token: i5.GeneralService }, { token: i2.Router }, { token: i6.UtilsService }, { token: i7.AuthService }, { token: i8.ReporteFuentePipe }, { token: i9.CargarControlFuncionalidadService }, { token: i10.ConfirmationService }, { token: i11.EjecucionReporteService }, { token: i12.GeneralPipe }, { token: i13.MenuService }], target: i0.ɵɵFactoryTarget.Component });
339
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: DetalleEjecucionReportePage, isStandalone: true, selector: "app-detalle-ejecucion-reporte", outputs: { regresar: "regresar" }, providers: [MessageService, ConfirmationService], ngImport: i0, template: "<div class=\"flex justify-content-between align-items-center ml-2 mt-2 mb-2\">\n <h1 class=\"mb-1\">Reportes</h1>\n <button pButton pRipple icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 ml-4\"\n (click)=\"regresarAction()\" label=\"{{'link_regresar' | translate}}\" >\n </button>\n</div>\n<p-confirmPopup></p-confirmPopup>\n <p-menubar [model]=\"items\" class=\"menu-accion-sara\"></p-menubar>\n <div class=\"card mt-3\" *ngIf=\"vistaVisualizar != 'reporte'\">\n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-book\"></i>{{'informacion' | translate}} {{'reporte' | translate}}</h5>\n <div class=\"Inputgroup p-fluid p-formgrid grid\">\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <p-floatLabel>\n <input pInputText [disabled]=\"true\" [(ngModel)]=\"reporte.descripcion\">\n <label >{{('descripcion') | translate}}</label>\n </p-floatLabel>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 mt-2\" *ngIf=\"vistaVisualizar == 'reporte'\">\n <div id=\"reportesListado\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-4\">\n <div class=\"p-fluid p-formgrid grid\">\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <input pInputText id=\"descripcion\" type=\"text\" [(ngModel)]=\"reporte.descripcion\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporte.descripcion) && clickGuardar\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporte.descripcion) && clickGuardar\" />\n <label>{{'descripcion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <input pInputText id=\"titulo\" type=\"text\" [(ngModel)]=\"reporte.titulo\" />\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <input pInputText id=\"procedimiento\" type=\"text\" [(ngModel)]=\"reporte.procedimiento\" [disabled]=\"!isModificarReporte()\" />\n <label>{{'procedimiento' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div [ngClass]=\"isFuente() ? 'field col-12 md:col-6' : 'field col-12 md:col-2' \">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipo\" [autoDisplayFirst]=\"false\" id=\"origenFuente\" [disabled]=\"reporte.llave != null || !controlFuncionService.getControlFuncionalidad('reporte:tipo')\"\n [(ngModel)]=\"reporte.origenFuente\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'tipo' | translate }}*</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6\" *ngIf=\"isFuente()\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaFuente\" [autoDisplayFirst]=\"false\" id=\"fuenteDato\" [disabled]=\"!isModificarReporte()\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporte.fuenteDato) && clickGuardar\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporte.fuenteDato) && clickGuardar\" \n [(ngModel)]=\"reporte.fuenteDato\" optionLabel=\"descripcion\" optionValue=\"llave\"></p-dropdown>\n <label>{{'fuente' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaMomento\" [autoDisplayFirst]=\"false\" [(ngModel)]=\"reporte.momento\"\n optionLabel=\"nombre\" optionValue=\"codigo\" [showClear]=\"true\">\n </p-dropdown>\n <label>{{'momento' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-2\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" id=\"reporteExterno\" [(ngModel)]=\"reporte.reporteExterno\" [autoDisplayFirst]=\"false\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporte.reporteExterno) && clickGuardar\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporte.reporteExterno) && clickGuardar\"\n optionLabel=\"nombre\" optionValue=\"codigo\" [disabled]=\"!isModificarReporte()\" >\n </p-dropdown>\n <label>{{'reporte' | translate }} {{'externo' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\" *ngIf=\"isFijo()\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporte.jasperFijo ? reporte.jasperFijo: ''\" [mostrarX]=\"true\"\n [extensiones]=\"'jrxml'\" [mostraroblicargo]=\"!(!utilsService.validarCampoObligatorio(reporte.jasperFijo) && clickGuardar)\" [labelrar]=\"'jasper' | translate\"\n (onSelected)=\"setJasperFijo($event)\"></app-input-helper-seleccion-plantilla>\n </div>\n <div class=\"field col-12 md:col-6\" *ngIf=\"isFijo()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporte.cifradoJasperFijo\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\" *ngIf=\"isSql() || isFijo()\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-300\" rows=\"5\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporte.query) && clickGuardar && isSql()\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporte.query) && clickGuardar && isSql()\"\n cols=\"30\" pInputTextarea [(ngModel)]=\"reporte.query\"></textarea>\n <label >{{'sql' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-6 md:col-12\" *ngIf=\"isFuente()\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-300\" rows=\"5\"\n cols=\"30\" pInputTextarea [(ngModel)]=\"reporte.whereSql\"></textarea>\n <label>{{'where' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-6 md:col-12\" *ngIf=\"isFuente()\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-300\" rows=\"5\"\n cols=\"30\" pInputTextarea [(ngModel)]=\"reporte.whereSqlReporte\"></textarea>\n <label>{{'where' | translate }} {{'reporte' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n </div>\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" *ngIf=\"isModificarReporte()\"\n icon=\"glyphicons {{reporte.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save' }}\" label=\"{{reporte.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\"\n (click)=\"actualizar()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\" *ngIf=\"reporte.llave != null && isModificarReporte()\"\n label=\"{{'link_eliminar' | translate}}\" (click)=\"eliminar($event)\">\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"vistaVisualizar == 'entrada'\"> \n <detalle-entrada-reporte [modificarReporte]=\"isModificarReporte()\" [llaveReporte]=\"reporte.llave\"></detalle-entrada-reporte>\n </div>\n\n <div *ngIf=\"vistaVisualizar == 'campo'\">\n <detalle-campo-reporte [reporteFuente]=\"reporte\"> </detalle-campo-reporte>\n </div>\n\n <div *ngIf=\"vistaVisualizar == 'tipo'\">\n <detalle-tipo-reporte [listaFuentes]=\"listaFuente\" [llaveReporte]=\"reporte.llave\"></detalle-tipo-reporte>\n </div>\n\n <div *ngIf=\"vistaVisualizar == 'distribucion'\">\n <detalle-distribucion-reporte [llaveReporte]=\"reporte.llave\"></detalle-distribucion-reporte>\n </div>\n\n <div *ngIf=\"vistaVisualizar == 'puntoproceso'\">\n <detalle-punto-proceso-reporte [llaveReporte]=\"reporte.llave\" [tipoRecurso]=\"'R'\"></detalle-punto-proceso-reporte>\n </div>\n\n <app-popup-reporte [mostrar]=\"mostrarPopupReporte\" [reporte]=\"reporte\" [aplicacion]=\"\"\n (regresar)=\"regresarPopupReporte($event)\"></app-popup-reporte>", styles: [":host ::ng-deep .min-w-full{min-height:230px!important;width:100%!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i14.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i15.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: FormsModule }, { 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: "ngmodule", type: ButtonModule }, { kind: "directive", type: i16.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i17.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: MenubarModule }, { kind: "component", type: i18.Menubar, selector: "p-menubar", inputs: ["model", "style", "styleClass", "autoZIndex", "baseZIndex", "autoDisplay", "autoHide", "autoHideDelay", "id", "ariaLabel", "ariaLabelledBy"], outputs: ["onFocus", "onBlur"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i19.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"] }, { kind: "component", type: DetalleEntradaReporteComponent, selector: "detalle-entrada-reporte", inputs: ["llaveReporte", "modificarReporte"], outputs: ["regresar"] }, { kind: "component", type: DetalleCampoReporteComponent, selector: "detalle-campo-reporte", inputs: ["reporteFuente"] }, { kind: "component", type: DetalleTipoReporteComponent, selector: "detalle-tipo-reporte", inputs: ["llaveReporte", "aplicacion", "listaFuentes"] }, { kind: "component", type: DetalleDistribucionReporteComponent, selector: "detalle-distribucion-reporte", inputs: ["modificarReporte", "llaveReporte"] }, { kind: "component", type: PopupReporteComponent, selector: "app-popup-reporte", inputs: ["mostrar", "aplicacion", "reporte", "entradasPuntoProceso"], outputs: ["regresar"] }, { kind: "component", type: DetallePuntoProcesoReporteComponent, selector: "detalle-punto-proceso-reporte", inputs: ["modificarReporte", "llaveReporte", "llaveFuente", "tipoRecurso"] }, { kind: "component", type: InputHelperSeleccionPlantillaComponent, selector: "app-input-helper-seleccion-plantilla", inputs: ["value", "label", "labelrar", "labelarch", "extensiones", "readonly", "propiedad", "anexoPropiedad", "showDialog", "propiedadDeSistema", "mostraroblicargo", "mostrarX", "booleano", "mostrarLabelInput"], outputs: ["onSelected"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i20.FloatLabel, selector: "p-floatLabel" }, { kind: "ngmodule", type: InputTextareaModule }, { kind: "directive", type: i21.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }] });
340
- }
341
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: DetalleEjecucionReportePage, decorators: [{
342
- type: Component,
343
- args: [{ standalone: true, imports: [CommonModule, TranslateModule, InputTextModule, FormsModule, ButtonModule, ConfirmPopupModule, MenubarModule, DropdownModule, DetalleEntradaReporteComponent, DetalleCampoReporteComponent, DetalleTipoReporteComponent, DetalleDistribucionReporteComponent, PopupReporteComponent, DetallePuntoProcesoReporteComponent, InputHelperSeleccionPlantillaComponent, FloatLabelModule, InputTextareaModule], selector: 'app-detalle-ejecucion-reporte', providers: [MessageService, ConfirmationService], template: "<div class=\"flex justify-content-between align-items-center ml-2 mt-2 mb-2\">\n <h1 class=\"mb-1\">Reportes</h1>\n <button pButton pRipple icon=\"pi pi-chevron-left\" class=\"p-button-text font-semibold flex-shrink-0 ml-4\"\n (click)=\"regresarAction()\" label=\"{{'link_regresar' | translate}}\" >\n </button>\n</div>\n<p-confirmPopup></p-confirmPopup>\n <p-menubar [model]=\"items\" class=\"menu-accion-sara\"></p-menubar>\n <div class=\"card mt-3\" *ngIf=\"vistaVisualizar != 'reporte'\">\n <h5 class=\"mt-3\"><i class=\"glyphicons glyphicons-book\"></i>{{'informacion' | translate}} {{'reporte' | translate}}</h5>\n <div class=\"Inputgroup p-fluid p-formgrid grid\">\n <div class=\"field col-12 md:col-12 lg:col-12\">\n <p-floatLabel>\n <input pInputText [disabled]=\"true\" [(ngModel)]=\"reporte.descripcion\">\n <label >{{('descripcion') | translate}}</label>\n </p-floatLabel>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 mt-2\" *ngIf=\"vistaVisualizar == 'reporte'\">\n <div id=\"reportesListado\">\n <div class=\"card col-md-12\">\n <div class=\"Detallereporte mt-4\">\n <div class=\"p-fluid p-formgrid grid\">\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <input pInputText id=\"descripcion\" type=\"text\" [(ngModel)]=\"reporte.descripcion\" \n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporte.descripcion) && clickGuardar\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporte.descripcion) && clickGuardar\" />\n <label>{{'descripcion' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <input pInputText id=\"titulo\" type=\"text\" [(ngModel)]=\"reporte.titulo\" />\n <label>{{'titulo' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-6\">\n <p-floatLabel>\n <input pInputText id=\"procedimiento\" type=\"text\" [(ngModel)]=\"reporte.procedimiento\" [disabled]=\"!isModificarReporte()\" />\n <label>{{'procedimiento' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div [ngClass]=\"isFuente() ? 'field col-12 md:col-6' : 'field col-12 md:col-2' \">\n <p-floatLabel>\n <p-dropdown [options]=\"listaTipo\" [autoDisplayFirst]=\"false\" id=\"origenFuente\" [disabled]=\"reporte.llave != null || !controlFuncionService.getControlFuncionalidad('reporte:tipo')\"\n [(ngModel)]=\"reporte.origenFuente\" optionLabel=\"nombre\" optionValue=\"codigo\" ></p-dropdown>\n <label>{{'tipo' | translate }}*</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-6\" *ngIf=\"isFuente()\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaFuente\" [autoDisplayFirst]=\"false\" id=\"fuenteDato\" [disabled]=\"!isModificarReporte()\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporte.fuenteDato) && clickGuardar\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporte.fuenteDato) && clickGuardar\" \n [(ngModel)]=\"reporte.fuenteDato\" optionLabel=\"descripcion\" optionValue=\"llave\"></p-dropdown>\n <label>{{'fuente' | translate }} *</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-4\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaMomento\" [autoDisplayFirst]=\"false\" [(ngModel)]=\"reporte.momento\"\n optionLabel=\"nombre\" optionValue=\"codigo\" [showClear]=\"true\">\n </p-dropdown>\n <label>{{'momento' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-2\">\n <p-floatLabel>\n <p-dropdown [options]=\"listaSiNo\" id=\"reporteExterno\" [(ngModel)]=\"reporte.reporteExterno\" [autoDisplayFirst]=\"false\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporte.reporteExterno) && clickGuardar\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporte.reporteExterno) && clickGuardar\"\n optionLabel=\"nombre\" optionValue=\"codigo\" [disabled]=\"!isModificarReporte()\" >\n </p-dropdown>\n <label>{{'reporte' | translate }} {{'externo' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-12 md:col-4\" *ngIf=\"isFijo()\">\n <app-input-helper-seleccion-plantilla [readonly]=\"false\" [showDialog]=\"false\"\n [label]=\"reporte.jasperFijo ? reporte.jasperFijo: ''\" [mostrarX]=\"true\"\n [extensiones]=\"'jrxml'\" [mostraroblicargo]=\"!(!utilsService.validarCampoObligatorio(reporte.jasperFijo) && clickGuardar)\" [labelrar]=\"'jasper' | translate\"\n (onSelected)=\"setJasperFijo($event)\"></app-input-helper-seleccion-plantilla>\n </div>\n <div class=\"field col-12 md:col-6\" *ngIf=\"isFijo()\">\n <p-floatLabel> \n <p-dropdown [options]=\"listaTipoCifrado\" [autoDisplayFirst]=\"false\" [showClear]=\"true\"\n [(ngModel)]=\"reporte.cifradoJasperFijo\" optionLabel=\"nombre\" optionValue=\"llaveTabla\"></p-dropdown>\n <label>{{'tipocifrado' | translate }}</label>\n </p-floatLabel>\n </div>\n\n <div class=\"field col-12 md:col-12\" *ngIf=\"isSql() || isFijo()\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-300\" rows=\"5\"\n [class.ng-dirty]=\"!utilsService.validarCampoObligatorio(reporte.query) && clickGuardar && isSql()\"\n [class.ng-invalid]=\"!utilsService.validarCampoObligatorio(reporte.query) && clickGuardar && isSql()\"\n cols=\"30\" pInputTextarea [(ngModel)]=\"reporte.query\"></textarea>\n <label >{{'sql' | translate }} *</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-6 md:col-12\" *ngIf=\"isFuente()\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-300\" rows=\"5\"\n cols=\"30\" pInputTextarea [(ngModel)]=\"reporte.whereSql\"></textarea>\n <label>{{'where' | translate }}</label>\n </p-floatLabel>\n </div>\n <div class=\"field col-6 md:col-12\" *ngIf=\"isFuente()\">\n <p-floatLabel>\n <textarea class=\"w-full min-h-150 max-h-300\" rows=\"5\"\n cols=\"30\" pInputTextarea [(ngModel)]=\"reporte.whereSqlReporte\"></textarea>\n <label>{{'where' | translate }} {{'reporte' | translate }}</label>\n </p-floatLabel>\n </div>\n </div>\n </div>\n <div class=\"flex justify-content-end mb-3\">\n <button pButton pRipple class=\"ml-2 p-button p-button-raised\" *ngIf=\"isModificarReporte()\"\n icon=\"glyphicons {{reporte.llave ? 'glyphicons-refresh' : 'glyphicons-floppy-save' }}\" label=\"{{reporte.llave ? ('link_actualizar' | translate) : ('link_guardar' | translate)}}\"\n (click)=\"actualizar()\">\n </button>\n <button pButton pRipple class=\"ml-2 p-button-outlined\" icon=\"glyphicons glyphicons-bin\" *ngIf=\"reporte.llave != null && isModificarReporte()\"\n label=\"{{'link_eliminar' | translate}}\" (click)=\"eliminar($event)\">\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div *ngIf=\"vistaVisualizar == 'entrada'\"> \n <detalle-entrada-reporte [modificarReporte]=\"isModificarReporte()\" [llaveReporte]=\"reporte.llave\"></detalle-entrada-reporte>\n </div>\n\n <div *ngIf=\"vistaVisualizar == 'campo'\">\n <detalle-campo-reporte [reporteFuente]=\"reporte\"> </detalle-campo-reporte>\n </div>\n\n <div *ngIf=\"vistaVisualizar == 'tipo'\">\n <detalle-tipo-reporte [listaFuentes]=\"listaFuente\" [llaveReporte]=\"reporte.llave\"></detalle-tipo-reporte>\n </div>\n\n <div *ngIf=\"vistaVisualizar == 'distribucion'\">\n <detalle-distribucion-reporte [llaveReporte]=\"reporte.llave\"></detalle-distribucion-reporte>\n </div>\n\n <div *ngIf=\"vistaVisualizar == 'puntoproceso'\">\n <detalle-punto-proceso-reporte [llaveReporte]=\"reporte.llave\" [tipoRecurso]=\"'R'\"></detalle-punto-proceso-reporte>\n </div>\n\n <app-popup-reporte [mostrar]=\"mostrarPopupReporte\" [reporte]=\"reporte\" [aplicacion]=\"\"\n (regresar)=\"regresarPopupReporte($event)\"></app-popup-reporte>", styles: [":host ::ng-deep .min-w-full{min-height:230px!important;width:100%!important}\n"] }]
344
- }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.ActivatedRoute }, { type: i3.FormBuilder }, { type: i4.ToastService }, { type: i5.GeneralService }, { type: i2.Router }, { type: i6.UtilsService }, { type: i7.AuthService }, { type: i8.ReporteFuentePipe }, { type: i9.CargarControlFuncionalidadService }, { type: i10.ConfirmationService }, { type: i11.EjecucionReporteService }, { type: i12.GeneralPipe }, { type: i13.MenuService }], propDecorators: { regresar: [{
345
- type: Output
346
- }] } });
347
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWxsZS1lamVjdWNpb24tcmVwb3J0ZS5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC93ZWJjb21tb24vcGFnZXMvZWplY3VjaW9uLXJlcG9ydGUvZGV0YWxsZS1lamVjdWNpb24tcmVwb3J0ZS9kZXRhbGxlLWVqZWN1Y2lvbi1yZXBvcnRlLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3dlYmNvbW1vbi9wYWdlcy9lamVjdWNpb24tcmVwb3J0ZS9kZXRhbGxlLWVqZWN1Y2lvbi1yZXBvcnRlL2RldGFsbGUtZWplY3VjaW9uLXJlcG9ydGUucGFnZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUF1QyxXQUFXLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RixPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBR3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBWSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQU0xRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1B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QUFFLHFCQUFxQiwySkFBRSxtQ0FBbUMsc0pBQUUsc0NBQXNDLDZUQUFFLGdCQUFnQixxR0FBRSxtQkFBbUI7OzJGQU10WSwyQkFBMkI7a0JBUnZDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLDhCQUE4QixFQUFFLDRCQUE0QixFQUFFLDJCQUEyQixFQUFFLG1DQUFtQyxFQUFFLHFCQUFxQixFQUFFLG1DQUFtQyxFQUFFLHNDQUFzQyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFFLFlBRXpZLCtCQUErQixhQUU5QixDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQzs4ZEFxQi9CLFFBQVE7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgR2VuZXJhbFBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcy9nZW5lcmFsLnBpcGUnO1xuaW1wb3J0IHsgR2VuZXJhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvc2VydmljaW9zL2dlbmVyYWwuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBNZW51SXRlbSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBSZXBvcnRlRnVlbnRlUGlwZSB9IGZyb20gJy4uLy4uLy4uL3BpcGVzL3JlcG9ydGUtZnVlbnRlLnBpcGUnO1xuaW1wb3J0IHsgRWplY3VjaW9uUmVwb3J0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lamVjdWNpb25yZXBvcnRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVwb3J0ZUZ1ZW50ZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvUmVwb3J0ZUZ1ZW50ZU1vZGVsJztcbmltcG9ydCB7IEZ1ZW50ZURhdG9Nb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlZ3VyaWRhZC9tb2RlbG9zL0Z1ZW50ZURhdG8nO1xuaW1wb3J0IHsgR2VuZXJhbE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvR2VuZXJhbE1vZGVsJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc2VydmljaW9zL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc2VydmljaW9zL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBNZW51U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc2VydmljaW9zL21lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBDYXJnYXJDb250cm9sRnVuY2lvbmFsaWRhZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy9jYXJnYXItY29udHJvbC1mdW5jaW9uYWxpZGFkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IENvbmZpcm1Qb3B1cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybXBvcHVwJztcbmltcG9ydCB7IE1lbnViYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL21lbnViYXInO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7IERldGFsbGVFbnRyYWRhUmVwb3J0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2RldGFsbGUtZW50cmFkYS1yZXBvcnRlL2RldGFsbGUtZW50cmFkYS1yZXBvcnRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXRhbGxlQ2FtcG9SZXBvcnRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGV0YWxsZS1jYW1wby1yZXBvcnRlL2RldGFsbGUtY2FtcG8tcmVwb3J0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGV0YWxsZVRpcG9SZXBvcnRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGV0YWxsZS10aXBvLXJlcG9ydGUvZGV0YWxsZS10aXBvLXJlcG9ydGUuY29tcG9uZW50JztcbmltcG9ydCB7IERldGFsbGVEaXN0cmlidWNpb25SZXBvcnRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGV0YWxsZS1kaXN0cmlidWNpb24tcmVwb3J0ZS9kZXRhbGxlLWRpc3RyaWJ1Y2lvbi1yZXBvcnRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3B1cFJlcG9ydGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9wb3B1cHMvcG9wdXAtcmVwb3J0ZS9wb3B1cC1yZXBvcnRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXRhbGxlUHVudG9Qcm9jZXNvUmVwb3J0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2RldGFsbGUtcHVudG8tcHJvY2Vzby1yZXBvcnRlL2RldGFsbGUtcHVudG8tcHJvY2Vzby1yZXBvcnRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dEhlbHBlclNlbGVjY2lvblBsYW50aWxsYUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRlcy9pbnB1dC1oZWxwZXItc2VsZWNjaW9uLXBsYW50aWxsYS9pbnB1dC1oZWxwZXItc2VsZWNjaW9uLXBsYW50aWxsYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmxvYXRMYWJlbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZmxvYXRsYWJlbCc7XG5pbXBvcnQgeyBJbnB1dFRleHRhcmVhTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHRhcmVhJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlLCBGb3Jtc01vZHVsZSwgQnV0dG9uTW9kdWxlLCBDb25maXJtUG9wdXBNb2R1bGUsIE1lbnViYXJNb2R1bGUsIERyb3Bkb3duTW9kdWxlLCBEZXRhbGxlRW50cmFkYVJlcG9ydGVDb21wb25lbnQsIERldGFsbGVDYW1wb1JlcG9ydGVDb21wb25lbnQsIERldGFsbGVUaXBvUmVwb3J0ZUNvbXBvbmVudCwgRGV0YWxsZURpc3RyaWJ1Y2lvblJlcG9ydGVDb21wb25lbnQsIFBvcHVwUmVwb3J0ZUNvbXBvbmVudCwgRGV0YWxsZVB1bnRvUHJvY2Vzb1JlcG9ydGVDb21wb25lbnQsIElucHV0SGVscGVyU2VsZWNjaW9uUGxhbnRpbGxhQ29tcG9uZW50LCBGbG9hdExhYmVsTW9kdWxlLCBJbnB1dFRleHRhcmVhTW9kdWxlIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXRhbGxlLWVqZWN1Y2lvbi1yZXBvcnRlLnBhZ2UuaHRtbCcsXG4gIHNlbGVjdG9yOiAnYXBwLWRldGFsbGUtZWplY3VjaW9uLXJlcG9ydGUnLFxuICBzdHlsZVVybHM6IFsnLi9kZXRhbGxlLWVqZWN1Y2lvbi1yZXBvcnRlLnBhZ2Uuc2NzcyddLFxuICBwcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZSwgQ29uZmlybWF0aW9uU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIERldGFsbGVFamVjdWNpb25SZXBvcnRlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBpdGVtczogTWVudUl0ZW1bXTtcbiAgcHVibGljIHJlcG9ydGU6IFJlcG9ydGVGdWVudGVNb2RlbCA9IG5ldyBSZXBvcnRlRnVlbnRlTW9kZWwoKTtcbiAgcHVibGljIHZpc3RhVmlzdWFsaXphcjogc3RyaW5nID0gbnVsbDtcbiAgcHVibGljIGxsYXZlVGFibGE6IHN0cmluZyA9IG51bGw7XG5cbiAgLy9saXN0YXNcbiAgcHVibGljIGxpc3RhVGlwbztcbiAgcHVibGljIGxpc3RhU2lObztcbiAgcHVibGljIGxpc3RhTW9tZW50bztcbiAgcHVibGljIGxpc3RhVGlwb0NpZnJhZG87XG5cbiAgcHVibGljIHZlclRvZG9zOmJvb2xlYW47XG4gIHB1YmxpYyBsaXN0YUZ1ZW50ZSA6IEZ1ZW50ZURhdG9Nb2RlbFtdO1xuICBwdWJsaWMgcGVybWl0ZU1vZGlmaWNhclJlcG9ydGU6IGJvb2xlYW47XG5cbiAgcHVibGljIG1vc3RyYXJQb3B1cFJlcG9ydGU6Ym9vbGVhbiA9ZmFsc2U7XG4gIHB1YmxpYyBvcGVyYWNpb246IHN0cmluZztcblxuICBAT3V0cHV0KCkgcHVibGljIHJlZ3Jlc2FyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBwdWJsaWMgY2xpY2tHdWFyZGFyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWN0aXZlUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgbm90aWZpY2FjaW9uZXNCdXNTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBnZW5lcmFsU2VydmljZTogR2VuZXJhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwdWJsaWMgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZXBvcnRlRnVlbnRlUGlwZTogUmVwb3J0ZUZ1ZW50ZVBpcGUsXG4gICAgcHVibGljIGNvbnRyb2xGdW5jaW9uU2VydmljZTogQ2FyZ2FyQ29udHJvbEZ1bmNpb25hbGlkYWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGVqZWN1Y2lvblJlcG9ydGVTZXJ2aWNlOiBFamVjdWNpb25SZXBvcnRlU2VydmljZSxcbiAgICBwcml2YXRlIGdlbmVyYWxQaXBlOiBHZW5lcmFsUGlwZSxcbiAgICBwcml2YXRlIG1lbnVTZXJ2aWNlOiBNZW51U2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubGxhdmVUYWJsYSA9IHRoaXMuYWN0aXZlUm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdsbGF2ZVRhYmxhJyk7XG4gICAgdGhpcy52aXN0YVZpc3VhbGl6YXIgPSAncmVwb3J0ZSdcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLnNldEJyZWFkY3J1bWIoW3sgbGFiZWw6ICdMaXN0YWRvIEVqZWN1Y2nDs24gUmVwb3J0ZScsIGNvbW1hbmQ6IChldmVudCk9Pnt0aGlzLnJlZ3Jlc2FyQWN0aW9uKCl9fSwgXG4gICAgICB7bGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdtYW50ZW5pbWllbnRvJykgKyAnICcgKyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncmVwb3J0ZScpfV0pO1xuICAgIHRoaXMucmVwb3J0ZSA9IG5ldyBSZXBvcnRlRnVlbnRlTW9kZWwoKTtcbiAgICBpZiAodGhpcy5sbGF2ZVRhYmxhKXtcbiAgICAgIHRoaXMuZWplY3VjaW9uUmVwb3J0ZVNlcnZpY2UuZ2V0RGF0b3NFamVjdWNpb25SZXBvcnRlKHtsbGF2ZTogdGhpcy5sbGF2ZVRhYmxhfSkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICB0aGlzLnJlcG9ydGUgPSBkYXRhLnJlcG9ydGU7XG4gICAgICAgIGRlbGV0ZSB0aGlzLnJlcG9ydGVbJ2FsaWFzJ11cbiAgICAgICAgdGhpcy5saXN0YUZ1ZW50ZSA9IGRhdGEubGlzdGFGdWVudGVcbiAgICAgICAgdGhpcy52ZXJUb2RvcyA9IGRhdGEucGVybWlzb1ZlclRvZG9zO1xuICAgICAgICB0aGlzLmNhcmdhck1lbnUoKTtcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2FyZ2FyTWVudSgpO1xuICAgICAgdGhpcy5yZXBvcnRlID0gbmV3IFJlcG9ydGVGdWVudGVNb2RlbCgpO1xuICAgIH1cbiAgICB0aGlzLmNhcmdhckxpc3RhcygpO1xuXG4gIH1cblxuICBudWV2b1JlcG9ydGUoKSB7XG4gICAgaWYodGhpcy5pc1Blcm1pc29WZXJUb2RvcygpKSB7XG4gICAgICB0aGlzLmxpc3RhVGlwbyA9dGhpcy5yZXBvcnRlRnVlbnRlUGlwZS5MSVNUQV9USVBPO1xuICAgIH1lbHNlIHtcbiAgICAgIHRoaXMubGlzdGFUaXBvID10aGlzLnJlcG9ydGVGdWVudGVQaXBlLkxJU1RBX1RJUE9fU0lOX1BFUk1JU087XG4gICAgfVxuICAgIHRoaXMub3BlcmFjaW9uID0gXCJOXCI7IC8vbnVldm8gcmVwb3J0ZVxuICAgIHRoaXMucmVwb3J0ZSA9IG5ldyBSZXBvcnRlRnVlbnRlTW9kZWwoKTtcbiAgICAvL3RoaXMucmVwb3J0ZS5vcmlnZW5GdWVudGUgPSB0aGlzLnJlcG9ydGVGdWVudGVQaXBlLkZVRU5URTtcbiAgICB0aGlzLnJlcG9ydGUudW5pY29BcmNoaXZvID0gdGhpcy5nZW5lcmFsUGlwZS5TSTtcbiAgICB0aGlzLnJlcG9ydGUuZG9ibGVMaW5lYSA9IHRoaXMuZ2VuZXJhbFBpcGUuTk87XG4gICAgdmFyIGZ1ZW50ZSA9IG5ldyBGdWVudGVEYXRvTW9kZWwoKTtcbiAgICBmdWVudGUub3JpZ2VuID0gJ0YnO1xuICAgIGlmICghdGhpcy5pc1Blcm1pc29WZXJUb2RvcygpKXtcbiAgICAgIGZ1ZW50ZS5yb2wgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuS2V5KCdhbGlhc1JvbCcpO1xuICAgICAgZnVlbnRlLmxvZ2luID0gdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbktleSgndXN1YXJpbycpXG4gICAgfVxuICAgIHRoaXMuZ2VuZXJhbFNlcnZpY2UucXVlcnlGb3JMaXN0KG5ldyBHZW5lcmFsTW9kZWwoJ0Z1ZW50ZURhdG9EVE8nLCBudWxsLCBmYWxzZSwgZnVlbnRlKSkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgdGhpcy5saXN0YUZ1ZW50ZSA9IGRhdGE7XG4gICAgfSlcbiAgICBcbiAgICB0aGlzLmNhcmdhckxpc3RhcygpO1xuICAgIHRoaXMuY2FyZ2FyTWVudSgpO1xuICAgIC8vY2FtYmlhclZhbG9yVGlwbyhhY3R1YWwuZ2V0T3JpZ2VuRnVlbnRlKCkpO1xuICB9XG5cbiAgdHJhZXJSZXBvcnRlKHJlcG9ydGVCYXNlOiBSZXBvcnRlRnVlbnRlTW9kZWwpe1xuICAgIHRoaXMuZWplY3VjaW9uUmVwb3J0ZVNlcnZpY2UuZ2V0RGF0b3NFamVjdWNpb25SZXBvcnRlKHtsbGF2ZTogcmVwb3J0ZUJhc2UubGxhdmV9KS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICB0aGlzLnJlcG9ydGUgPSBkYXRhLnJlcG9ydGU7XG4gICAgICBkZWxldGUgdGhpcy5yZXBvcnRlWydhbGlhcyddXG4gICAgICB0aGlzLmxpc3RhRnVlbnRlID0gZGF0YS5saXN0YUZ1ZW50ZVxuICAgICAgdGhpcy52ZXJUb2RvcyA9IGRhdGEucGVybWlzb1ZlclRvZG9zO1xuICAgICAgdGhpcy5wZXJtaXRlTW9kaWZpY2FyUmVwb3J0ZSA9IGRhdGEucGVybWl0ZU1vZGlmaWNhclJlcG9ydGU7XG4gICAgICB0aGlzLmNhcmdhckxpc3RhcygpO1xuICAgICAgdGhpcy5jYXJnYXJNZW51KCk7XG4gICAgICB0aGlzLm9wZXJhY2lvbiA9ICdNJ1xuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGNhcmdhck1lbnUoKSB7XG4gICAgaWYgKHRoaXMucmVwb3J0ZS5sbGF2ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLml0ZW1zID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3JlcG9ydGUnKSxcbiAgICAgICAgICAgICAgaWNvbjogJ2dseXBoaWNvbnMgZ2x5cGhpY29ucy1wbHVzLXNpZ24nLFxuICAgICAgICAgICAgICBjb21tYW5kOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpc3RhVmlzdWFsaXphciA9ICdyZXBvcnRlJztcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLnNldEJyZWFkY3J1bWIoW3sgbGFiZWw6ICdMaXN0YWRvIEVqZWN1Y2nDs24gUmVwb3J0ZScsIGNvbW1hbmQ6IChldmVudCk9Pnt0aGlzLnJlZ3Jlc2FyQWN0aW9uKCl9fSwgXG4gICAgICAgICAgICAgICAgICB7bGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdtYW50ZW5pbWllbnRvJykgKyAnICcgKyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncmVwb3J0ZScpfV0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdlbnRyYWRhJyksXG4gICAgICAgICAgICAgIGljb246ICdnbHlwaGljb25zIGdseXBoaWNvbnMtZmlsZS1taW51cycsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzdGFWaXN1YWxpemFyID0gJ2VudHJhZGEnO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2Uuc2V0QnJlYWRjcnVtYihbeyBsYWJlbDogJ0xpc3RhZG8gRWplY3VjacOzbiBSZXBvcnRlJywgY29tbWFuZDogKGV2ZW50KT0+e3RoaXMucmVncmVzYXJBY3Rpb24oKX19LCBcbiAgICAgICAgICAgICAgICB7bGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdtYW50ZW5pbWllbnRvJykgKyAnICcgKyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZW50cmFkYScpfV0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnJlcG9ydGUubGxhdmUgIT0gbnVsbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY2FtcG8nKSxcbiAgICAgICAgICAgICAgaWNvbjogJ2dseXBoaWNvbnMgZ2x5cGhpY29ucy1sb2ctYm9vaycsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzdGFWaXN1YWxpemFyID0gJ2NhbXBvJztcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLnNldEJyZWFkY3J1bWIoW3sgbGFiZWw6ICdMaXN0YWRvIEVqZWN1Y2nDs24gUmVwb3J0ZScsIGNvbW1hbmQ6IChldmVudCk9Pnt0aGlzLnJlZ3Jlc2FyQWN0aW9uKCl9fSwgXG4gICAgICAgICAgICAgICAge2xhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnbWFudGVuaW1pZW50bycpICsgJyAnICsgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NhbXBvJyl9XSk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHZpc2libGU6IHRoaXMucmVwb3J0ZS5sbGF2ZSAhPSBudWxsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd0aXBvJyksXG4gICAgICAgICAgICAgIGljb246ICdnbHlwaGljb25zIGdseXBoaWNvbnMtbm90ZXMtMicsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzdGFWaXN1YWxpemFyID0gJ3RpcG8nO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2Uuc2V0QnJlYWRjcnVtYihbeyBsYWJlbDogJ0xpc3RhZG8gRWplY3VjacOzbiBSZXBvcnRlJywgY29tbWFuZDogKGV2ZW50KT0+e3RoaXMucmVncmVzYXJBY3Rpb24oKX19LCBcbiAgICAgICAgICAgICAgICB7bGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdtYW50ZW5pbWllbnRvJykgKyAnICcgKyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgndGlwbycpfV0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnJlcG9ydGUubGxhdmUgIT0gbnVsbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZGlzdHJpYnVjaW9uJyksXG4gICAgICAgICAgICAgIGljb246ICdnbHlwaGljb25zIGdseXBoaWNvbnMtdHJhbnNmZXInLFxuICAgICAgICAgICAgICBjb21tYW5kOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpc3RhVmlzdWFsaXphciA9ICdkaXN0cmlidWNpb24nO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2Uuc2V0QnJlYWRjcnVtYihbeyBsYWJlbDogJ0xpc3RhZG8gRWplY3VjacOzbiBSZXBvcnRlJywgY29tbWFuZDogKGV2ZW50KT0+e3RoaXMucmVncmVzYXJBY3Rpb24oKX19LCBcbiAgICAgICAgICAgICAgICB7bGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdtYW50ZW5pbWllbnRvJykgKyAnICcgKyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZGlzdHJpYnVjaW9uJyl9XSk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHZpc2libGU6IHRoaXMucmVwb3J0ZS5sbGF2ZSAhPSBudWxsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwdW50b3Byb2Nlc28nKSxcbiAgICAgICAgICAgICAgaWNvbjogJ2dseXBoaWNvbnMgZ2x5cGhpY29ucy1zZXJ2ZXItbmV3JyxcbiAgICAgICAgICAgICAgY29tbWFuZDogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52aXN0YVZpc3VhbGl6YXIgPSAncHVudG9wcm9jZXNvJztcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLnNldEJyZWFkY3J1bWIoW3sgbGFiZWw6ICdMaXN0YWRvIEVqZWN1Y2nDs24gUmVwb3J0ZScsIGNvbW1hbmQ6IChldmVudCk9Pnt0aGlzLnJlZ3Jlc2FyQWN0aW9uKCl9fSwgXG4gICAgICAgICAgICAgICAge2xhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnbWFudGVuaW1pZW50bycpICsgJyAnICsgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3B1bnRvcHJvY2VzbycpfV0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnJlcG9ydGUubGxhdmUgIT0gbnVsbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZWplY3V0YXInKSxcbiAgICAgICAgICAgICAgaWNvbjogJ2dseXBoaWNvbnMgZ2x5cGhpY29ucy1kaXNrLWV4cG9ydCcsXG4gICAgICAgICAgICAgIGNvbW1hbmQ6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubW9zdHJhclBvcHVwUmVwb3J0ZSA9IHRydWU7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHZpc2libGU6IHRoaXMucmVwb3J0ZS5sbGF2ZSAhPSBudWxsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXRlbXMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3JlcG9ydGUnKSxcbiAgICAgICAgICBpY29uOiAnZ2x5cGhpY29ucyBnbHlwaGljb25zLXBsdXMtc2lnbicsXG4gICAgICAgICAgY29tbWFuZDogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZpc3RhVmlzdWFsaXphciA9ICdyZXBvcnRlJztcbiAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2Uuc2V0QnJlYWRjcnVtYihbeyBsYWJlbDogJ0xpc3RhZG8gRWplY3VjacOzbiBSZXBvcnRlJywgY29tbWFuZDogKGV2ZW50KT0+e3RoaXMucmVncmVzYXJBY3Rpb24oKX19LCBcbiAgICAgICAgICAgICAge2xhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnbWFudGVuaW1pZW50bycpICsgJyAnICsgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3JlcG9ydGUnKX1dKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICAgICAgICAgIFxuICB9XG5cbiAgcHVibGljIGNhcmdhckxpc3Rhcygpe1xuICAgIHRoaXMubGlzdGFUaXBvID0gdGhpcy5yZXBvcnRlRnVlbnRlUGlwZS5MSVNUQV9USVBPO1xuICAgIHRoaXMubGlzdGFNb21lbnRvID0gdGhpcy5yZXBvcnRlRnVlbnRlUGlwZS5MSVNUQV9NT01FTlRPO1xuICAgIHRoaXMubGlzdGFTaU5vID0gdGhpcy5nZW5lcmFsUGlwZS5MSVNUQV9TSU5PO1xuICAgIHRoaXMuZ2VuZXJhbFNlcnZpY2UucXVlcnlGb3JMaXN0KG5ldyBHZW5lcmFsTW9kZWwoJ0VuY3JpcGNpb25BcmNoaXZvRFRPJywgbnVsbCwgZmFsc2UsIHt9KSkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgdGhpcy5saXN0YVRpcG9DaWZyYWRvID0gZGF0YTtcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIGFjdHVhbGl6YXIoKXtcbiAgICB0aGlzLmNsaWNrR3VhcmRhciA9IHRydWU7XG4gICAgaWYgKCF0aGlzLnZhbGlkYXIoKSl7XG4gICAgICB0aGlzLm5vdGlmaWNhY2lvbmVzQnVzU2VydmljZS5zaG93RXJyb3IoJ0ZhbHRhbiBjYW1wb3Mgb2JsaWdhdG9yaW9zJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnV0aWxzU2VydmljZS5pc05vdEJsYW5rKHRoaXMucmVwb3J0ZS5sbGF2ZSkpe1xuICAgICAgdGhpcy5lamVjdWNpb25SZXBvcnRlU2VydmljZS5ndWFyZGFyUmVwb3J0ZSh0aGlzLnJlcG9ydGUpLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgdGhpcy5yZXBvcnRlID0gZGF0YTtcbiAgICAgICAgdGhpcy5jbGlja0d1YXJkYXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jYXJnYXJNZW51KClcbiAgICAgICAgdGhpcy5ub3RpZmljYWNpb25lc0J1c1NlcnZpY2Uuc2hvd1N1Y2Nlc3ModGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0FDVFVBTElaQVIpO1xuICAgICAgfSk7XG4gICAgICAvKiAgdGhpcy5nZW5lcmFsU2VydmljZS51cGRhdGUobmV3IEdlbmVyYWxNb2RlbCgnUmVwb3J0ZUZ1ZW50ZURUTycsIG51bGwsIGZhbHNlLCB0aGlzLnJlcG9ydGUpKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgIHRoaXMubm90aWZpY2FjaW9uZXNCdXNTZXJ2aWNlLnNob3dTdWNjZXNzKHRoaXMuZ2VuZXJhbFBpcGUuTUVOU0FKRV9BQ1RVQUxJWkFSKTtcbiAgICAgICAgdGhpcy5jbGlja0d1YXJkYXIgPSBmYWxzZTtcbiAgICAgICAgZGVsZXRlIHRoaXMucmVwb3J0ZVsnYWxpYXMnXVxuICAgICAgfS87XG4gICAgICAqL1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVqZWN1Y2lvblJlcG9ydGVTZXJ2aWNlLmd1YXJkYXJSZXBvcnRlKHRoaXMucmVwb3J0ZSkuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICB0aGlzLnJlcG9ydGUgPSBkYXRhO1xuICAgICAgICB0aGlzLmNsaWNrR3VhcmRhciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNhcmdhck1lbnUoKVxuICAgICAgICB0aGlzLm5vdGlmaWNhY2lvbmVzQnVzU2VydmljZS5zaG93U3VjY2Vzcyh0aGlzLmdlbmVyYWxQaXBlLk1FTlNBSkVfR1VBUkRBUik7XG4gICAgICB9KTtcbiAgICAgIFxuICAgIH1cbiAgICBcbiAgfVxuXG4gIHZhbGlkYXIoKXtcbiAgICB2YXIgdmFsaWRhZG9yOiBib29sZWFuID0gdHJ1ZTtcbiAgICB2YWxpZGFkb3IgPSB2YWxpZGFkb3IgJiYgdGhpcy51dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8odGhpcy5yZXBvcnRlLmRlc2NyaXBjaW9uKTtcbiAgICB2YWxpZGFkb3IgPSB2YWxpZGFkb3IgJiYgdGhpcy51dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8odGhpcy5yZXBvcnRlLnJlcG9ydGVFeHRlcm5vKTtcbiAgICBpZiAodGhpcy5pc0Z1ZW50ZSgpKXtcbiAgICAgIHZhbGlkYWRvciA9IHZhbGlkYWRvciAmJiB0aGlzLnV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3Jpbyh0aGlzLnJlcG9ydGUuZnVlbnRlRGF0byk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzU3FsKCkpe1xuICAgICAgdmFsaWRhZG9yID0gdmFsaWRhZG9yICYmIHRoaXMudXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKHRoaXMucmVwb3J0ZS5xdWVyeSk7XG4gICAgICBsZXQgbWVuc2FqZSA9IHRoaXMudXRpbHNTZXJ2aWNlLnZhbGlkYXJUZXh0b1NRTCh0aGlzLnJlcG9ydGUucXVlcnksIGZhbHNlLCB0cnVlLCAwLCB0cnVlKVxuICAgICAgaWYgKG1lbnNhamUpe1xuICAgICAgICB2YWxpZGFkb3IgPSB2YWxpZGFkb3IgJiYgZmFsc2U7XG4gICAgICAgIHRoaXMubm90aWZpY2FjaW9uZXNCdXNTZXJ2aWNlLnNob3dXYXJuaW5nKG1lbnNhamUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5pc0Zpam8oKSl7XG4gICAgICB2YWxpZGFkb3IgPSB2YWxpZGFkb3IgJiYgdGhpcy51dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8odGhpcy5yZXBvcnRlLmphc3BlckZpam8pO1xuICAgIH1cbiAgICByZXR1cm4gdmFsaWRhZG9yO1xuICB9XG5cbiAgc2V0SmFzcGVyRmlqbyhldmVudCl7XG4gICAgdGhpcy5yZXBvcnRlLmphc3BlckZpam8gPSBldmVudC5kYXRhXG4gIH1cblxuICByZWdyZXNhckFjdGlvbigpe1xuICAgIHRoaXMucmVncmVzYXIuZW1pdCgpO1xuICB9XG5cbiAgcmVncmVzYXJQb3B1cFJlcG9ydGUoZXZlbnQpe1xuICAgIHRoaXMubW9zdHJhclBvcHVwUmVwb3J0ZSA9IGZhbHNlO1xuICB9XG5cbiAgZWxpbWluYXIoZXZlbnQpe1xuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgIHRhcmdldDogZXZlbnQudGFyZ2V0LFxuICAgICAgbWVzc2FnZTogdGhpcy5nZW5lcmFsUGlwZS5NRU5TQUpFX0VMSU1JTkFSX0NPTkZJUk1BUixcbiAgICAgIGFjY2VwdExhYmVsOiB0aGlzLmdlbmVyYWxQaXBlLlNJX0RFU0MsXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy5lamVjdWNpb25SZXBvcnRlU2VydmljZS5lbGltaW5hclJlcG9ydGUodGhpcy5yZXBvcnRlKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYWNpb25lc0J1c1NlcnZpY2Uuc2hvd0luZm8oJ1NlIGhhIGVsaW1pbmFkbyBlbCByZXBvcnRlJylcbiAgICAgICAgICB0aGlzLnJlZ3Jlc2FyQWN0aW9uKCk7XG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgcmVqZWN0OiAoKSA9PiB7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgaXNGaWpvKCk6Ym9vbGVhbntcbiAgICByZXR1cm4gdGhpcy5maWx0cm9PcmlnZW5GdWVudGUodGhpcy5yZXBvcnRlRnVlbnRlUGlwZS5GSUpPKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NxbCgpOmJvb2xlYW57XG4gICAgcmV0dXJuIHRoaXMuZmlsdHJvT3JpZ2VuRnVlbnRlKHRoaXMucmVwb3J0ZUZ1ZW50ZVBpcGUuU1FMKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0Z1ZW50ZSgpOmJvb2xlYW57XG4gICAgcmV0dXJuIHRoaXMuZmlsdHJvT3JpZ2VuRnVlbnRlKHRoaXMucmVwb3J0ZUZ1ZW50ZVBpcGUuRlVFTlRFKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0cm9PcmlnZW5GdWVudGUodGlwbzpzdHJpbmcpOmJvb2xlYW57XG4gICAgcmV0dXJuIHRoaXMucmVwb3J0ZS5vcmlnZW5GdWVudGUgPT0gdGlwbztcbiAgfVxuICAgIFxuXHRwdWJsaWMgaXNQZXJtaXNvVmVyVG9kb3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMuY29udHJvbEZ1bmNpb25TZXJ2aWNlLmdldENvbnRyb2xGdW5jaW9uYWxpZGFkKFwicmVwb3J0ZTp2ZXJ0b2Rvc1wiKTtcblx0fVxuXHRcblx0cHVibGljIGlzUGVybWlzb0NyZWFyKCkge1xuXHRcdHJldHVybiB0aGlzLmNvbnRyb2xGdW5jaW9uU2VydmljZS5nZXRDb250cm9sRnVuY2lvbmFsaWRhZChcInJlcG9ydGU6Y3JlYXJcIik7XG5cdH1cblxuICBwdWJsaWMgaXNNb2RpZmljYXJSZXBvcnRlKCl7XG4gICAgcmV0dXJuIHRoaXMuaXNQZXJtaXNvVmVyVG9kb3MoKSB8fCB0aGlzLnBlcm1pdGVNb2RpZmljYXJSZXBvcnRlIHx8ICh0aGlzLmlzUGVybWlzb0NyZWFyKCkgJiYgdGhpcy5vcGVyYWNpb24gPT0gJ04nKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbWwtMiBtdC0yIG1iLTJcIj5cbiAgPGgxIGNsYXNzPVwibWItMVwiPlJlcG9ydGVzPC9oMT5cbiAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgaWNvbj1cInBpIHBpLWNoZXZyb24tbGVmdFwiIGNsYXNzPVwicC1idXR0b24tdGV4dCBmb250LXNlbWlib2xkIGZsZXgtc2hyaW5rLTAgbWwtNFwiXG4gICAgKGNsaWNrKT1cInJlZ3Jlc2FyQWN0aW9uKClcIiBsYWJlbD1cInt7J2xpbmtfcmVncmVzYXInIHwgdHJhbnNsYXRlfX1cIiA+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG48cC1jb25maXJtUG9wdXA+PC9wLWNvbmZpcm1Qb3B1cD5cbiAgPHAtbWVudWJhciBbbW9kZWxdPVwiaXRlbXNcIiBjbGFzcz1cIm1lbnUtYWNjaW9uLXNhcmFcIj48L3AtbWVudWJhcj5cbiAgPGRpdiBjbGFzcz1cImNhcmQgbXQtM1wiICpuZ0lmPVwidmlzdGFWaXN1YWxpemFyICE9ICdyZXBvcnRlJ1wiPlxuICAgIDxoNSBjbGFzcz1cIm10LTNcIj48aSBjbGFzcz1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1ib29rXCI+PC9pPnt7J2luZm9ybWFjaW9uJyB8IHRyYW5zbGF0ZX19IHt7J3JlcG9ydGUnIHwgdHJhbnNsYXRlfX08L2g1PlxuICAgIDxkaXYgY2xhc3M9XCJJbnB1dGdyb3VwIHAtZmx1aWQgcC1mb3JtZ3JpZCBncmlkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyIG1kOmNvbC0xMiBsZzpjb2wtMTJcIj5cbiAgICAgICAgPHAtZmxvYXRMYWJlbD5cbiAgICAgICAgICA8aW5wdXQgcElucHV0VGV4dCBbZGlzYWJsZWRdPVwidHJ1ZVwiIFsobmdNb2RlbCldPVwicmVwb3J0ZS5kZXNjcmlwY2lvblwiPlxuICAgICAgICAgIDxsYWJlbCA+e3soJ2Rlc2NyaXBjaW9uJykgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgICAgIDwvcC1mbG9hdExhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgbXQtMlwiICpuZ0lmPVwidmlzdGFWaXN1YWxpemFyID09ICdyZXBvcnRlJ1wiPlxuICAgIDxkaXYgaWQ9XCJyZXBvcnRlc0xpc3RhZG9cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgY29sLW1kLTEyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIkRldGFsbGVyZXBvcnRlIG10LTRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIHAtZm9ybWdyaWQgZ3JpZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyIG1kOmNvbC02XCI+XG4gICAgICAgICAgICAgICAgPHAtZmxvYXRMYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBwSW5wdXRUZXh0IGlkPVwiZGVzY3JpcGNpb25cIiB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwicmVwb3J0ZS5kZXNjcmlwY2lvblwiIFxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhyZXBvcnRlLmRlc2NyaXBjaW9uKSAmJiBjbGlja0d1YXJkYXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCIhdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKHJlcG9ydGUuZGVzY3JpcGNpb24pICYmIGNsaWNrR3VhcmRhclwiIC8+XG4gICAgICAgICAgICAgICAgICA8bGFiZWw+e3snZGVzY3JpcGNpb24nIHwgdHJhbnNsYXRlIH19ICo8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvcC1mbG9hdExhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyIG1kOmNvbC02XCI+XG4gICAgICAgICAgICAgICAgPHAtZmxvYXRMYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBwSW5wdXRUZXh0IGlkPVwidGl0dWxvXCIgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInJlcG9ydGUudGl0dWxvXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyd0aXR1bG8nIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L3AtZmxvYXRMYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiPlxuICAgICAgICAgICAgICAgIDxwLWZsb2F0TGFiZWw+XG4gICAgICAgICAgICAgICAgICA8aW5wdXQgcElucHV0VGV4dCBpZD1cInByb2NlZGltaWVudG9cIiB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwicmVwb3J0ZS5wcm9jZWRpbWllbnRvXCIgW2Rpc2FibGVkXT1cIiFpc01vZGlmaWNhclJlcG9ydGUoKVwiIC8+XG4gICAgICAgICAgICAgICAgICA8bGFiZWw+e3sncHJvY2VkaW1pZW50bycgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvcC1mbG9hdExhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImlzRnVlbnRlKCkgPyAnZmllbGQgY29sLTEyIG1kOmNvbC02JyA6ICdmaWVsZCBjb2wtMTIgbWQ6Y29sLTInIFwiPlxuICAgICAgICAgICAgICAgIDxwLWZsb2F0TGFiZWw+XG4gICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJsaXN0YVRpcG9cIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlkPVwib3JpZ2VuRnVlbnRlXCIgIFtkaXNhYmxlZF09XCJyZXBvcnRlLmxsYXZlICE9IG51bGwgfHwgIWNvbnRyb2xGdW5jaW9uU2VydmljZS5nZXRDb250cm9sRnVuY2lvbmFsaWRhZCgncmVwb3J0ZTp0aXBvJylcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJlcG9ydGUub3JpZ2VuRnVlbnRlXCIgb3B0aW9uTGFiZWw9XCJub21icmVcIiBvcHRpb25WYWx1ZT1cImNvZGlnb1wiID48L3AtZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgICA8bGFiZWw+e3sndGlwbycgfCB0cmFuc2xhdGUgfX0qPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L3AtZmxvYXRMYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtMTIgbWQ6Y29sLTZcIiAqbmdJZj1cImlzRnVlbnRlKClcIj5cbiAgICAgICAgICAgICAgICA8cC1mbG9hdExhYmVsPlxuICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwibGlzdGFGdWVudGVcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlkPVwiZnVlbnRlRGF0b1wiIFtkaXNhYmxlZF09XCIhaXNNb2RpZmljYXJSZXBvcnRlKClcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhyZXBvcnRlLmZ1ZW50ZURhdG8pICYmIGNsaWNrR3VhcmRhclwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5uZy1pbnZhbGlkXT1cIiF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8ocmVwb3J0ZS5mdWVudGVEYXRvKSAmJiBjbGlja0d1YXJkYXJcIiBcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJyZXBvcnRlLmZ1ZW50ZURhdG9cIiBvcHRpb25MYWJlbD1cImRlc2NyaXBjaW9uXCIgb3B0aW9uVmFsdWU9XCJsbGF2ZVwiPjwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbD57eydmdWVudGUnIHwgdHJhbnNsYXRlIH19ICo8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvcC1mbG9hdExhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyIG1kOmNvbC00XCI+XG4gICAgICAgICAgICAgICAgPHAtZmxvYXRMYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtvcHRpb25zXT1cImxpc3RhTW9tZW50b1wiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgIFsobmdNb2RlbCldPVwicmVwb3J0ZS5tb21lbnRvXCJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uTGFiZWw9XCJub21icmVcIiBvcHRpb25WYWx1ZT1cImNvZGlnb1wiIFtzaG93Q2xlYXJdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgPC9wLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7J21vbWVudG8nIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L3AtZmxvYXRMYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtMlwiPlxuICAgICAgICAgICAgICAgIDxwLWZsb2F0TGFiZWw+XG4gICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJsaXN0YVNpTm9cIiBpZD1cInJlcG9ydGVFeHRlcm5vXCIgWyhuZ01vZGVsKV09XCJyZXBvcnRlLnJlcG9ydGVFeHRlcm5vXCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiIXV0aWxzU2VydmljZS52YWxpZGFyQ2FtcG9PYmxpZ2F0b3JpbyhyZXBvcnRlLnJlcG9ydGVFeHRlcm5vKSAmJiBjbGlja0d1YXJkYXJcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCIhdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKHJlcG9ydGUucmVwb3J0ZUV4dGVybm8pICYmIGNsaWNrR3VhcmRhclwiXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwibm9tYnJlXCIgb3B0aW9uVmFsdWU9XCJjb2RpZ29cIiBbZGlzYWJsZWRdPVwiIWlzTW9kaWZpY2FyUmVwb3J0ZSgpXCIgPlxuICAgICAgICAgICAgICAgICAgPC9wLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7J3JlcG9ydGUnIHwgdHJhbnNsYXRlIH19IHt7J2V4dGVybm8nIHwgdHJhbnNsYXRlIH19ICo8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvcC1mbG9hdExhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNFwiICpuZ0lmPVwiaXNGaWpvKClcIj5cbiAgICAgICAgICAgICAgICA8YXBwLWlucHV0LWhlbHBlci1zZWxlY2Npb24tcGxhbnRpbGxhIFtyZWFkb25seV09XCJmYWxzZVwiIFtzaG93RGlhbG9nXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJyZXBvcnRlLmphc3BlckZpam8gPyByZXBvcnRlLmphc3BlckZpam86ICcnXCIgW21vc3RyYXJYXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW2V4dGVuc2lvbmVzXT1cIidqcnhtbCdcIiBbbW9zdHJhcm9ibGljYXJnb109XCIhKCF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8ocmVwb3J0ZS5qYXNwZXJGaWpvKSAmJiBjbGlja0d1YXJkYXIpXCIgW2xhYmVscmFyXT1cIidqYXNwZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgIChvblNlbGVjdGVkKT1cInNldEphc3BlckZpam8oJGV2ZW50KVwiPjwvYXBwLWlucHV0LWhlbHBlci1zZWxlY2Npb24tcGxhbnRpbGxhPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIGNvbC0xMiBtZDpjb2wtNlwiICpuZ0lmPVwiaXNGaWpvKClcIj5cbiAgICAgICAgICAgICAgICA8cC1mbG9hdExhYmVsPiAgXG4gICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJsaXN0YVRpcG9DaWZyYWRvXCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBbc2hvd0NsZWFyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInJlcG9ydGUuY2lmcmFkb0phc3BlckZpam9cIiBvcHRpb25MYWJlbD1cIm5vbWJyZVwiIG9wdGlvblZhbHVlPVwibGxhdmVUYWJsYVwiPjwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyd0aXBvY2lmcmFkbycgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvcC1mbG9hdExhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgY29sLTEyIG1kOmNvbC0xMlwiICpuZ0lmPVwiaXNTcWwoKSB8fCBpc0Zpam8oKVwiPlxuICAgICAgICAgICAgICAgIDxwLWZsb2F0TGFiZWw+XG4gICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJ3LWZ1bGwgbWluLWgtMTUwIG1heC1oLTMwMFwiIHJvd3M9XCI1XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm5nLWRpcnR5XT1cIiF1dGlsc1NlcnZpY2UudmFsaWRhckNhbXBvT2JsaWdhdG9yaW8ocmVwb3J0ZS5xdWVyeSkgJiYgY2xpY2tHdWFyZGFyICYmIGlzU3FsKClcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCIhdXRpbHNTZXJ2aWNlLnZhbGlkYXJDYW1wb09ibGlnYXRvcmlvKHJlcG9ydGUucXVlcnkpICYmIGNsaWNrR3VhcmRhciAmJiBpc1NxbCgpXCJcbiAgICAgICAgICAgICAgICAgICAgY29scz1cIjMwXCIgcElucHV0VGV4dGFyZWEgWyhuZ01vZGVsKV09XCJyZXBvcnRlLnF1ZXJ5XCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCA+e3snc3FsJyB8IHRyYW5zbGF0ZSB9fSAqPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L3AtZmxvYXRMYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtNiBtZDpjb2wtMTJcIiAqbmdJZj1cImlzRnVlbnRlKClcIj5cbiAgICAgICAgICAgICAgICA8cC1mbG9hdExhYmVsPlxuICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwidy1mdWxsIG1pbi1oLTE1MCBtYXgtaC0zMDBcIiByb3dzPVwiNVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbHM9XCIzMFwiIHBJbnB1dFRleHRhcmVhIFsobmdNb2RlbCldPVwicmVwb3J0ZS53aGVyZVNxbFwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgICAgICA8bGFiZWw+e3snd2hlcmUnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8L3AtZmxvYXRMYWJlbD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBjb2wtNiBtZDpjb2wtMTJcIiAqbmdJZj1cImlzRnVlbnRlKClcIj5cbiAgICAgICAgICAgICAgICA8cC1mbG9hdExhYmVsPlxuICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwidy1mdWxsIG1pbi1oLTE1MCBtYXgtaC0zMDBcIiByb3dzPVwiNVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbHM9XCIzMFwiIHBJbnB1dFRleHRhcmVhIFsobmdNb2RlbCldPVwicmVwb3J0ZS53aGVyZVNxbFJlcG9ydGVcIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7J3doZXJlJyB8IHRyYW5zbGF0ZSB9fSB7eydyZXBvcnRlJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9wLWZsb2F0TGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtYi0zXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHBCdXR0b24gcFJpcHBsZSBjbGFzcz1cIm1sLTIgcC1idXR0b24gcC1idXR0b24tcmFpc2VkXCIgKm5nSWY9XCJpc01vZGlmaWNhclJlcG9ydGUoKVwiXG4gICAgICAgICAgICAgICAgaWNvbj1cImdseXBoaWNvbnMge3tyZXBvcnRlLmxsYXZlID8gJ2dseXBoaWNvbnMtcmVmcmVzaCcgOiAnZ2x5cGhpY29ucy1mbG9wcHktc2F2ZScgfX1cIiBsYWJlbD1cInt7cmVwb3J0ZS5sbGF2ZSA/ICgnbGlua19hY3R1YWxpemFyJyB8IHRyYW5zbGF0ZSkgOiAoJ2xpbmtfZ3VhcmRhcicgfCB0cmFuc2xhdGUpfX1cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3R1YWxpemFyKClcIj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgY2xhc3M9XCJtbC0yIHAtYnV0dG9uLW91dGxpbmVkXCIgaWNvbj1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1iaW5cIiAqbmdJZj1cInJlcG9ydGUubGxhdmUgIT0gbnVsbCAmJiBpc01vZGlmaWNhclJlcG9ydGUoKVwiXG4gICAgICAgICAgICAgICAgbGFiZWw9XCJ7eydsaW5rX2VsaW1pbmFyJyB8IHRyYW5zbGF0ZX19XCIgKGNsaWNrKT1cImVsaW1pbmFyKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInZpc3RhVmlzdWFsaXphciA9PSAnZW50cmFkYSdcIj4gXG4gICAgPGRldGFsbGUtZW50cmFkYS1yZXBvcnRlIFttb2RpZmljYXJSZXBvcnRlXT1cImlzTW9kaWZpY2FyUmVwb3J0ZSgpXCIgW2xsYXZlUmVwb3J0ZV09XCJyZXBvcnRlLmxsYXZlXCI+PC9kZXRhbGxlLWVudHJhZGEtcmVwb3J0ZT5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInZpc3RhVmlzdWFsaXphciA9PSAnY2FtcG8nXCI+XG4gICAgPGRldGFsbGUtY2FtcG8tcmVwb3J0ZSBbcmVwb3J0ZUZ1ZW50ZV09XCJyZXBvcnRlXCI+IDwvZGV0YWxsZS1jYW1wby1yZXBvcnRlPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwidmlzdGFWaXN1YWxpemFyID09ICd0aXBvJ1wiPlxuICAgIDxkZXRhbGxlLXRpcG8tcmVwb3J0ZSBbbGlzdGFGdWVudGVzXT1cImxpc3RhRnVlbnRlXCIgW2xsYXZlUmVwb3J0ZV09XCJyZXBvcnRlLmxsYXZlXCI+PC9kZXRhbGxlLXRpcG8tcmVwb3J0ZT5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInZpc3RhVmlzdWFsaXphciA9PSAnZGlzdHJpYnVjaW9uJ1wiPlxuICAgIDxkZXRhbGxlLWRpc3RyaWJ1Y2lvbi1yZXBvcnRlIFtsbGF2ZVJlcG9ydGVdPVwicmVwb3J0ZS5sbGF2ZVwiPjwvZGV0YWxsZS1kaXN0cmlidWNpb24tcmVwb3J0ZT5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cInZpc3RhVmlzdWFsaXphciA9PSAncHVudG9wcm9jZXNvJ1wiPlxuICAgIDxkZXRhbGxlLXB1bnRvLXByb2Nlc28tcmVwb3J0ZSBbbGxhdmVSZXBvcnRlXT1cInJlcG9ydGUubGxhdmVcIiBbdGlwb1JlY3Vyc29dPVwiJ1InXCI+PC9kZXRhbGxlLXB1bnRvLXByb2Nlc28tcmVwb3J0ZT5cbiAgPC9kaXY+XG5cbiAgPGFwcC1wb3B1cC1yZXBvcnRlIFttb3N0cmFyXT1cIm1vc3RyYXJQb3B1cFJlcG9ydGVcIiBbcmVwb3J0ZV09XCJyZXBvcnRlXCIgW2FwbGljYWNpb25dPVwiXCJcbiAgICAocmVncmVzYXIpPVwicmVncmVzYXJQb3B1cFJlcG9ydGUoJGV2ZW50KVwiPjwvYXBwLXBvcHVwLXJlcG9ydGU+Il19