{"version":3,"sources":["./src/app/app.component.html","./src/app/pages/home/components/cambio-clave/cambio-clave.component.html","./src/app/pages/home/components/dashboard/dashboard.component.html","./src/app/pages/home/components/home/home.component.html","./src/app/pages/home/components/login/login.component.html","./src/app/pages/home/components/recuperar-clave/recuperar-clave.component.html","./src/app/pages/home/components/shared/navbar/navbar.component.html","./src/app/pages/login/components/login-casilla/login-casilla.component.html","./src/app/pages/login/components/login-sifirma/login-sifirma.component.html","./src/app/pages/login/components/login-sigo/login-sigo.component.html","./src/app/pages/login/components/login-sne/login-sne.component.html","./src/app/shared/components/alert/alert.component.html","./src/app/shared/components/buttons/buttton/base-button.component.html","./src/$_lazy_route_resource lazy namespace object","./src/app/Interceptors/auth-interceptor.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/app.routes.ts","./src/app/core/store/actions/app-global-config.action.ts","./src/app/core/store/actions/app-session.action.ts","./src/app/core/store/app.store.model.ts","./src/app/core/store/app.store.ts","./src/app/core/store/store.ts","./src/app/directives/click-stop-propagation.directive.ts","./src/app/enums/form.enum.ts","./src/app/functions/http.helpers.ts","./src/app/functions/string.helpers.ts","./src/app/pages/home/components/blockCopyPasteDirective.ts","./src/app/pages/home/components/cambio-clave/cambio-clave.component.scss","./src/app/pages/home/components/cambio-clave/cambio-clave.component.ts","./src/app/pages/home/components/dashboard/dashboard.component.scss","./src/app/pages/home/components/dashboard/dashboard.component.ts","./src/app/pages/home/components/home/home.component.scss","./src/app/pages/home/components/home/home.component.ts","./src/app/pages/home/components/login/loading.scss","./src/app/pages/home/components/login/loading.ts","./src/app/pages/home/components/login/login.component.scss","./src/app/pages/home/components/login/login.component.ts","./src/app/pages/home/components/onlyNumberDirective.ts","./src/app/pages/home/components/recuperar-clave/recuperar-clave.component.scss","./src/app/pages/home/components/recuperar-clave/recuperar-clave.component.ts","./src/app/pages/home/components/shared/navbar/navbar.component.scss","./src/app/pages/home/components/shared/navbar/navbar.component.ts","./src/app/pages/home/home.module.ts","./src/app/pages/login/components/login-casilla/login-casilla.component.scss","./src/app/pages/login/components/login-casilla/login-casilla.component.ts","./src/app/pages/login/components/login-sifirma/login-sifirma.component.scss","./src/app/pages/login/components/login-sifirma/login-sifirma.component.ts","./src/app/pages/login/components/login-sigo/login-sigo.component.scss","./src/app/pages/login/components/login-sigo/login-sigo.component.ts","./src/app/pages/login/components/login-sne/login-sne.component.scss","./src/app/pages/login/components/login-sne/login-sne.component.ts","./src/app/pages/login/login.module.ts","./src/app/services/casilla-actual.service.ts","./src/app/services/usuarios.service.ts","./src/app/shared/components/alert/alert.component.scss","./src/app/shared/components/alert/alert.component.ts","./src/app/shared/components/buttons/buttton/base-button.component.scss","./src/app/shared/components/buttons/buttton/base-button.component.ts","./src/app/shared/services/alert.service.ts","./src/app/shared/services/toast.service.ts","./src/app/utils/index.ts","./src/app/utils/messages.ts","./src/environments/environment.ts","./src/main.ts","./util.inspect (ignored)","crypto (ignored)"],"names":[],"mappings":"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","file":"main-es2015.js","sourcesContent":["export default \"\"","export default \"\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"logo\\r\\n
\\r\\n
\\r\\n
\\r\\n menu\\r\\n
\\r\\n

PORTAL DE ADMINISTRADOR

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Foto\\r\\n
\\r\\n
\\r\\n {{usuario}}\\r\\n Administrador\\r\\n
\\r\\n \\\"Flecha\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n close\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n

Cambiar Contraseña

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\\"Foto\\r\\n
\\r\\n LUIS ENRIQUE\\r\\n
\\r\\n \\r\\n
\\r\\n edit\\r\\n Editar perfil\\r\\n
\\r\\n
\\r\\n photo\\r\\n Cambiar foto\\r\\n
\\r\\n
\\r\\n logout\\r\\n Cerrar sesión\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"logo\\r\\n
\\r\\n
\\r\\n
\\r\\n menu\\r\\n
\\r\\n

PORTAL DE ADMINISTRADOR

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n close\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n

Estimado usuario, por favor elija el trámite:

\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"Autorizaciones\\\"\\r\\n
\\r\\n
\\r\\n

Registro de Usuarios

\\r\\n

Permite realizar el registro de los usuarios para acceder al portal de servicios. \\r\\n Podrán registrarse empresas nacionales y extranjeras.

\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Manual\\r\\n \\\"Manual\\\"\\r\\n Registro de Usuario\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"Autorizaciones\\\"\\r\\n
\\r\\n
\\r\\n

Autorizaciones

\\r\\n

Permite el otorgamiento de autorizaciones especiales para vehículos que transporten mercancía\\r\\n especial y/o\\r\\n para vehículos especiales.

\\r\\n
\\r\\n
\\r\\n \\\"Ver\\r\\n \\\"Ver\\r\\n Ver video tutorial\\r\\n
\\r\\n
\\r\\n \\\"Manual\\r\\n \\\"Manual\\\"\\r\\n Manual de Usuario\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"Bonificaciones\\\"\\r\\n
\\r\\n
\\r\\n

Bonificaciones

\\r\\n

Módulo para el otorgamiento de bonif icaciones para los vehículos con suspensión neumático y/o\\r\\n neumáticos\\r\\n extra anchos.

\\r\\n
\\r\\n
\\r\\n \\\"Ver\\r\\n \\\"Ver\\r\\n Ver video tutorial\\r\\n
\\r\\n
\\r\\n \\\"Manual\\r\\n \\\"Manual\\\"\\r\\n Manual de Usuario\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"Peaje\\r\\n
\\r\\n
\\r\\n

Peaje Pre-Pago

\\r\\n

Permite la recarga de dinero para el uso prepago en los peajes que administrados por esta entidad.\\r\\n

\\r\\n
\\r\\n
\\r\\n \\\"Ver\\r\\n \\\"Ver\\r\\n Ver video tutorial\\r\\n
\\r\\n
\\r\\n \\\"Manual\\r\\n \\\"Manual\\\"\\r\\n Manual de Usuario\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\\"Foto\\r\\n
\\r\\n LUIS ENRIQUE\\r\\n
\\r\\n \\r\\n
\\r\\n edit\\r\\n Editar perfil\\r\\n
\\r\\n
\\r\\n photo\\r\\n Cambiar foto\\r\\n
\\r\\n
\\r\\n logout\\r\\n Cerrar sesión\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"logo\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

PORTAL DE ADMINISTRADOR

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n ×\\r\\n

\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n

Registre sus Datos

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Gracias por Registrarte al Portal de PROVÍAS NACIONAL
\\r\\n
Hemos enviado sus credenciales de acceso al/los email(s) registrado(s).
\\r\\n
Ingrese al portal a través de este enlace
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n attach_file\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Check\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Check\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Check\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\\"Check\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

1.Tipo

\\r\\n \\r\\n

¿Qué tipo de acceso deseas crear?

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

2. {{lblRepresentante}}

\\r\\n

Ingrese sus datos

\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

3. Datos

\\r\\n

Ingrese sus datos de contacto

\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

3. Datos

\\r\\n

Ingrese sus datos de contacto

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

3. Datos

\\r\\n

Ingrese sus datos de contacto

\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

4. Clave

\\r\\n

Ingrese una contraseña adecuada

\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • La contraseña debe contener como mínimo:
  • \\r\\n
  • - 8 caracteres
  • \\r\\n
  • - 1 letra mayúscula
  • \\r\\n
  • - 1 letra minúscula
  • \\r\\n
  • - 1 número
  • \\r\\n
  • - 1 símbolo
  • \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

5. Confirmar

\\r\\n

Para finalizar confirmar los datos registrados

\\r\\n

{{datosRegistro.razonSocial}}

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Tipo de Documento{{datosRegistro.TipoDocumento}}
Nro de Documento{{datosRegistro.nroDocumento}}
Email{{datosRegistro.resumenCorreo}}
Celular{{datosRegistro.resumenTelefono}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
  • Para continuar, lea los términos y cláusulas
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\\"Foto\\r\\n
\\r\\n LUIS ENRIQUE\\r\\n
\\r\\n \\r\\n
\\r\\n edit\\r\\n Editar perfil\\r\\n
\\r\\n
\\r\\n photo\\r\\n Cambiar foto\\r\\n
\\r\\n
\\r\\n logout\\r\\n Cerrar sesión\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n{{ isLoading }}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n \\r\\n Ingresar\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n

\\r\\n {{errorRepcatcha ? textoErrorRepcatcha : captchaEnteredArray.join('')}}\\r\\n

\\r\\n\\r\\n

\\r\\n \\r\\n

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Recuperar Contraseña

\\r\\n
\\r\\n
\\r\\n

Registrarse

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
RECUPERAR CLAVE
\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \"","export default \"\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\\"logo\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

PORTAL DE ADMINISTRADOR

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Se registró satisfactoriamente su
\\r\\n
cambio de contraseña
\\r\\n
\\r\\n
Hemos enviado sus credenciales de acceso a los emails registrados
\\r\\n
\\r\\n
Ingrese al portal a través de este enlace
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n attach_file\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Check\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\\"Check\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

1. Datos

\\r\\n

Ingrese sus datos de contacto

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

2. Verificación

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

3. Contraseña

\\r\\n

Ingrese una contraseña adecuada

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • La contraseña debe contener como mínimo:
  • \\r\\n
  • - 8 caracteres
  • \\r\\n
  • - 1 letra mayúscula
  • \\r\\n
  • - 1 letra minúscula
  • \\r\\n
  • - 1 número
  • \\r\\n
  • - 1 símbolo
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\\"Foto\\r\\n
\\r\\n LUIS ENRIQUE\\r\\n
\\r\\n \\r\\n
\\r\\n edit\\r\\n Editar perfil\\r\\n
\\r\\n
\\r\\n photo\\r\\n Cambiar foto\\r\\n
\\r\\n
\\r\\n logout\\r\\n Cerrar sesión\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\"","export default \" \"","export default \"

LOGIN CASILLA ELECTRÓNICA

\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Logo\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"Logo\\r\\n

Sistema de Firma de Resoluciones y Documentos

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Ingresar\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Ingresar\\r\\n
\\r\\n
\\r\\n Iniciar sesión\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Logo\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"Logo\\r\\n

Sistema de Bonificaciones y Autorizaciones

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Ingresar\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Ingresar\\r\\n
\\r\\n
\\r\\n Iniciar sesión\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"

LOGIN SISTEMA DE NOTIFICACIONES

\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n error_outline\\r\\n
\\r\\n \\r\\n check_circle_outline\\r\\n \\r\\n cancel\\r\\n \\r\\n error_outline\\r\\n \\r\\n info\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{data.title}}\\r\\n \\r\\n {{data.msg}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \"","export default \"\\r\\n {{icon}} {{label}}\\r\\n\\r\\n\\r\\n\\r\\n {{icon}}\\r\\n\\r\\n\\r\\n\\r\\n {{icon}} {{label}}\\r\\n\\r\\n\\r\\n\\r\\n {{icon}}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n {{icon}}\\r\\n\\r\\n\"","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { Injectable } from \"@angular/core\";\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { CasillaActualService } from \"../services/casilla-actual.service\";\r\n\r\nconst KEYSTORAGE_SESSION = \"PROVIAS_SESION_ACTUAL\";\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n\r\n constructor(private casillaActualService: CasillaActualService) {\r\n }\r\n\r\n intercept(req: HttpRequest,\r\n next: HttpHandler): Observable> {\r\n\r\n const idToken = localStorage.getItem(KEYSTORAGE_SESSION);\r\n\r\n if (idToken) {\r\n const cloned = req.clone({\r\n headers: req.headers.set(\"Authorization\",\r\n \"Bearer \" + idToken)\r\n });\r\n\r\n return next.handle(cloned);\r\n }\r\n else {\r\n return next.handle(req);\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nconst routes: Routes = [\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n\r\n","import { Component } from '@angular/core';\r\nimport { RouterEvent, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n \r\n ngOnInit() {\r\n }\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n//IMPORTACION DE RUTAS\r\nimport { ROUTES } from './app.routes';\r\nimport { HomeModule } from './pages/home/home.module';\r\nimport { CasillaActualService } from './services/casilla-actual.service';\r\nimport { UsuariosService } from './services/usuarios.service';\r\nimport { JwtModule } from \"@auth0/angular-jwt\";\r\nimport { AuthInterceptor } from './Interceptors/auth-interceptor';\r\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { AlertComponent } from './shared/components/alert/alert.component';\r\nimport { MatSnackBarModule, MatDialogModule, MatIconModule, MatProgressSpinnerModule, MatButtonModule, MatTooltipModule } from '@angular/material';\r\nimport { BaseButtonComponent } from './shared/components/buttons/buttton/base-button.component';\r\nimport { ClickStopPropagation } from './directives/click-stop-propagation.directive';\r\nimport { LoginModule } from './pages/login/login.module';\r\n\r\nconst KEYSTORAGE_SESSION = \"PROVIAS_SESION_ACTUAL\";\r\n\r\nexport function tokenGetter() {\r\n const token = localStorage.getItem(KEYSTORAGE_SESSION);\r\n console.log('token', token);\r\n return token;\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n AlertComponent,\r\n BaseButtonComponent,\r\n ClickStopPropagation\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n RouterModule,\r\n RouterModule.forRoot( ROUTES, { useHash: false } ),\r\n HomeModule,\r\n LoginModule,\r\n ReactiveFormsModule,\r\n JwtModule.forRoot({\r\n config: {\r\n tokenGetter: () => {\r\n const token = localStorage.getItem(KEYSTORAGE_SESSION);\r\n return token;\r\n }\r\n } \r\n }),\r\n NoopAnimationsModule,\r\n MatSnackBarModule,\r\n MatDialogModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatButtonModule,\r\n MatTooltipModule\r\n ],\r\n entryComponents: [\r\n AlertComponent\r\n ],\r\n providers: [\r\n UsuariosService,\r\n CasillaActualService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true\r\n }\r\n ],\r\n bootstrap: [AppComponent] \r\n})\r\nexport class AppModule { }\r\n","import {Routes} from '@angular/router';\r\nimport { HomeComponent } from './pages/home/components/home/home.component';\r\nimport { LoginComponent } from './pages/home/components/login/login.component';\r\nimport { DashboardComponent } from './pages/home/components/dashboard/dashboard.component';\r\nimport { RecuperarClaveComponent } from './pages/home/components/recuperar-clave/recuperar-clave.component';\r\nimport { CambioClaveComponent } from './pages/home/components/cambio-clave/cambio-clave.component';\r\nimport { AuthGuard } from './guards/auth-guard';\r\nimport { LoginSifirmaComponent } from './pages/login/components/login-sifirma/login-sifirma.component';\r\nimport { LoginCasillaComponent } from './pages/login/components/login-casilla/login-casilla.component';\r\nimport { LoginSneComponent } from './pages/login/components/login-sne/login-sne.component';\r\nimport { LoginSigoComponent } from './pages/login/components/login-sigo/login-sigo.component';\r\n// import { SearchComponent } from './components/search/search.component';\r\n\r\nexport const ROUTES: Routes = [\r\n { path: '', component: DashboardComponent },\r\n { path: 'loginPortal', component: LoginComponent },\r\n { path: 'loginSifirma', component: LoginSifirmaComponent },\r\n { path: 'loginSigo', component: LoginSigoComponent },\r\n // { path: 'loginSifirma/:id', component: LoginSifirmaComponent },\r\n { path: 'loginCasilla', component: LoginCasillaComponent },\r\n { path: 'loginSne', component: LoginSneComponent },\r\n { path: 'home', component: HomeComponent /*, canActivate: [AuthGuard]*/ },\r\n { path: 'dashboard', component: DashboardComponent/*, canActivate: [AuthGuard] */},\r\n { path: 'recuperar-clave', component: RecuperarClaveComponent/*, canActivate: [AuthGuard]*/ }, \r\n { path: 'cambio-clave', component: CambioClaveComponent/*, canActivate: [AuthGuard]*/ }, \r\n { path: '**', pathMatch: 'full', redirectTo: ''}\r\n]; ","import { IAppGlobalConfig, IServerConfig } from './../app.store.interface';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n\r\n\r\nexport class AppGlobalConfigAction {\r\n\r\n constructor(\r\n private getState: () => IAppGlobalConfig,\r\n private setState: (newState: IAppGlobalConfig) => void,\r\n private http: HttpClient) {\r\n }\r\n\r\n setLoading = (show: boolean) => {\r\n this.setState({ ...this.getState(), isLoading: show });\r\n }\r\n\r\n //=======================================================\r\n //actions que mutan el estado\r\n //=======================================================\r\n\r\n getGlobalBegin = () => {\r\n this.setState({ ...this.getState(), isLoading: true, error: false });\r\n };\r\n\r\n getGlobalConfigSuccess = (configuration: IServerConfig) => {\r\n this.setState({ ...this.getState(), isLoading: false, error: false, configuration: configuration });\r\n };\r\n\r\n getGlobalConfigError = () => {\r\n this.setState({ ...this.getState(), isLoading: false, error: true });\r\n };\r\n\r\n //=======================================================\r\n //actions que obtienen data del estado\r\n //=======================================================\r\n\r\n // buildUrlLoginPunku = (currentUrl: string): string => {\r\n // const { punku } = this.getState().configuration;\r\n // const url = punku.api.loginUrl\r\n // .replace('{0}', punku.guidSistema)\r\n // .replace('{1}', punku.returnUrl)\r\n // .replace('{2}', (currentUrl ? encodeURIComponent(`returnUrl=${currentUrl}`) : ''));\r\n // return url;\r\n // }\r\n\r\n // buildUrlChangePasswordPunku = (token: string) => {\r\n // const { punku } = this.getState().configuration;\r\n // const url = punku.api.changePasswordUrl\r\n // .replace('{0}', token)\r\n // .replace('{1}', punku.returnUrl);\r\n // return url;\r\n // }\r\n\r\n //=======================================================\r\n //async actions\r\n //=======================================================\r\n\r\n asyncGetGlobalConfig = () => {\r\n this.getGlobalBegin();\r\n return new Promise((resolve, reject) => {\r\n this.http.get('/api/Configuration/ConfigurationData').subscribe(config => {\r\n setTimeout(() => {\r\n this.getGlobalConfigSuccess(config);\r\n resolve();\r\n });\r\n }, error => {\r\n setTimeout(() => {\r\n this.getGlobalConfigError();\r\n reject();\r\n /*const config = {\r\n gateway: {\r\n academico: \"https://localhost:44304\"\r\n },\r\n punku: {\r\n guid: \"01E002E4-2794-45AB-A9E3-94FEAC502550\",\r\n returnUrl: \"http://localhost:4200/logging-in\",\r\n api: {\r\n proxyUrl: \"https://auth-proxy.sunedu.gob.pe:4435\",\r\n loginUrl: \"https://auth-app.sunedu.gob.pe:4438/Home/Login?userSystemId={0}&returnUrl={1}&extra={2}\",\r\n logoutUrl: \"https://auth-app.sunedu.gob.pe:4438/Home/Logout?token={0}&returnUrl={1}\",\r\n changePasswordUrl: \"https://auth-app.sunedu.gob.pe:4438/Home/ChangePassword?token={0}&returnUrl={1}\"\r\n }\r\n }\r\n }*/\r\n //this.getGlobalConfigSuccess(config);\r\n });\r\n });\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { JwtHelperService } from \"@auth0/angular-jwt\";\r\nimport { \r\n IAppSession, \r\n IAppUser\r\n} from './../app.store.interface';\r\nimport { IUser } from 'src/app/shared/src/lib/interfaces/user.interface';\r\n\r\nconst jwtHelper = new JwtHelperService();\r\n\r\nconst DEFAULT_MSG_PERIMSSION =\r\n 'No tiene permisos para realizar acciones en esta opción';\r\n\r\nconst SNE_SESSION_KEY = 'SSO_SESION_ACTUAL';\r\n\r\nexport class AppSessionAction {\r\n constructor(\r\n private getState: () => IAppSession,\r\n private setState: (newState: IAppSession) => void\r\n ) {}\r\n\r\n //=======================================================\r\n // ACCIONES QUE MODIFICAN EL ESTADO\r\n //=======================================================\r\n restablecerSesionDeLocalStorage = () => {\r\n const token = localStorage.getItem(SNE_SESSION_KEY);\r\n this.setSesion(token);\r\n }\r\n\r\n isToken = () =>{\r\n const token = localStorage.getItem(SNE_SESSION_KEY);\r\n return token;\r\n }\r\n\r\n login = (token: string) => {\r\n this.setSesion(token);\r\n //console.log('tokenValue', jwtHelper.decodeToken(token));\r\n\r\n localStorage.setItem(SNE_SESSION_KEY, token);\r\n }\r\n\r\n private setSesion = (token: string) => {\r\n const userSesion: IAppUser = jwtHelper.decodeToken(token);\r\n //console.log('userSesion', userSesion);\r\n \r\n let displayUser: IUser = {\r\n fullName: userSesion.Name,\r\n email: userSesion.email,\r\n lastSession: null,\r\n avatarText: userSesion.Name.substr(0, 1),\r\n rolName: null,\r\n defaultRol: {\r\n NOMBRE_ROL: ''\r\n },\r\n roles: null\r\n } \r\n\r\n this.setState({ \r\n ...this.getState(), \r\n token: token,\r\n user: userSesion,\r\n isLoading: true,\r\n displayUser: displayUser\r\n });\r\n }\r\n\r\n logout = () => {\r\n this.setState({\r\n ...this.getState(),\r\n isLoggedIn: false,\r\n user: null,\r\n token: null\r\n });\r\n \r\n localStorage.removeItem(SNE_SESSION_KEY);\r\n };\r\n\r\n getUserSesion = () : IAppUser => {\r\n return this.getState().user;\r\n }\r\n\r\n esSesionValida = () => {\r\n const token = localStorage.getItem(SNE_SESSION_KEY);\r\n\r\n return !jwtHelper.isTokenExpired(token);\r\n }\r\n\r\n //-----------------------------------------\r\n\r\n setSessionFromStorage = (session: IAppSession) => {\r\n this.setState({ ...session, fromStorage: true });\r\n };\r\n\r\n setNewToken = (token: string) => {\r\n this.setState({ ...this.getState(), token });\r\n //this.localStorage.set(SIU_SESSION_KEY, this.getState());\r\n };\r\n\r\n setAuthToken = (token: string, returnUrl: string) => {\r\n this.setState({ ...this.getState(), token: token, returnUrl: returnUrl });\r\n };\r\n\r\n loginBegin = () => {\r\n this.setState({ ...this.getState(), isLoading: true, loginError: false });\r\n };\r\n\r\n loginCompletar = () => {\r\n let state = this.getState();\r\n\r\n this.setState({\r\n ...state,\r\n isLoading: false,\r\n isLoggedIn: true\r\n });\r\n\r\n //console.log(this.getState());\r\n }\r\n\r\n loginSuccess = () => {\r\n // const user = this.buildUser(punkuClaims, siuClaims);\r\n\r\n this.setState({\r\n ...this.getState(),\r\n isLoading: false,\r\n isLoggedIn: true,\r\n //user\r\n });\r\n\r\n // this.localStorage.set(SIU_SESSION_KEY, this.getState());\r\n };\r\n\r\n loginError = () => {\r\n this.setState({ ...this.getState(), isLoading: false, loginError: true });\r\n };\r\n\r\n // setCurrentMenu = (url: string) => {\r\n // const state = this.getState();\r\n // const { MENU, ACCION } = state.claims;\r\n\r\n // let item = MENU.find(x => x.RUTA_RELATIVA == url);\r\n\r\n // if (!item) {\r\n // const urlSplit = url.split('?');\r\n // url = urlSplit[0];\r\n // item = MENU.find(x => x.RUTA_RELATIVA == url);\r\n // }\r\n\r\n // let permissions = {};\r\n // let rolPermissions = {};\r\n\r\n // Object.keys(PUNKU_ACTIONS).forEach(key => {\r\n // permissions[key] = false;\r\n // });\r\n\r\n // if (item) {\r\n // ACCION.filter(x => x.GUID_MENU == item.GUID).forEach(x => {\r\n // rolPermissions[x.NOMBRE] = true;\r\n // });\r\n // }\r\n\r\n // const currentMenu: ICurrentMenu = {\r\n // item: item ? item : null,\r\n // permissions: { ...permissions, ...rolPermissions }\r\n // };\r\n\r\n // this.setState({ ...this.getState(), currentMenu });\r\n // };\r\n\r\n /**\r\n * Cierra la sesión y elimina el usuario\r\n * del storage\r\n */\r\n // logout = () => {\r\n // this.setState({\r\n // ...this.getState(),\r\n // isLoggedIn: false,\r\n // user: null\r\n // });\r\n // this.localStorage.remove(SIU_SESSION_KEY);\r\n // };\r\n\r\n setSessionExpired = () => {\r\n this.setState({ ...this.getState(), sessionExpired: true });\r\n };\r\n\r\n //=======================================================\r\n //actions que obtienen data del estado\r\n //=======================================================\r\n\r\n // checkHasClaim = (claim: IGuardClaim): boolean => {\r\n // switch (claim.type) {\r\n // case ClaimTypeEnum.URL: {\r\n // const state = this.getState();\r\n\r\n // const { MENU } = state.claims;\r\n // const { ACCION } = state.claims;\r\n\r\n // if (!MENU) return false;\r\n\r\n // const menuFound = MENU.find(\r\n // x => x.RUTA_RELATIVA.split('?')[0] == claim.path\r\n // );\r\n\r\n // if (!menuFound) return false;\r\n\r\n // return (\r\n // ACCION.find(\r\n // x => x.GUID_MENU == menuFound.GUID && x.CODIGO == claim.action\r\n // ) != undefined\r\n // );\r\n // }\r\n // case ClaimTypeEnum.GUID:\r\n // const state = this.getState();\r\n\r\n // const { MENU } = state.claims;\r\n // const { ACCION } = state.claims;\r\n\r\n // if (!MENU) return false;\r\n\r\n // let menuFound = state.claims.MENU.find(c => c.GUID == claim.value);\r\n\r\n // if (!menuFound) return false;\r\n\r\n // return (\r\n // ACCION.find(\r\n // c => c.GUID_MENU == menuFound.GUID && c.CODIGO == claim.action\r\n // ) != undefined\r\n // );\r\n // }\r\n\r\n // return true;\r\n // };\r\n\r\n /**\r\n * DEPRECATED\r\n */\r\n getUser = (): IAppUser => {\r\n const state = this.getState();\r\n\r\n return state.user;\r\n };\r\n\r\n //=======================================================\r\n //async actions\r\n //=======================================================\r\n\r\n // asyncLogin = () => {\r\n // this.loginBegin();\r\n // this.punkuService.login().subscribe(\r\n // response => {\r\n // if (response.punkuClaims.HasErrors) {\r\n // this.loginError();\r\n // } else {\r\n // this.loginSuccess(response.punkuClaims, response.siuClaims);\r\n // }\r\n // },\r\n // error => {\r\n // this.loginError();\r\n // }\r\n // );\r\n // };\r\n\r\n // asyncCheckSession = () => {\r\n // return this.punkuService\r\n // .checkSession()\r\n // .pipe(\r\n // map(response => {\r\n // if (!response.authorized) {\r\n // return false;\r\n // }\r\n // return true;\r\n // }),\r\n // catchError(err => {\r\n // console.error(err);\r\n // return throwError(false);\r\n // })\r\n // )\r\n // .toPromise();\r\n // };\r\n\r\n //=======================================================\r\n // HELPERS\r\n //=======================================================\r\n\r\n // private buildUser = (\r\n // claims: IPunkuClaims,\r\n // siuClaims: ISiuClaims\r\n // ): IAppUser => {\r\n // if (!claims) return null;\r\n\r\n // const { USUARIO, SESION, ROL_USUARIO } = claims;\r\n\r\n // if (!USUARIO) return null;\r\n\r\n // const ROLES: IAppUserRol[] = ROL_USUARIO.map(x => ({\r\n // ...x,\r\n // TIPO_ROL_SIU:\r\n // x.DESCRIPCION_TIPO_SEDE == 'Oficina'\r\n // ? TipoRolSiuEnum.INTERNO\r\n // : TipoRolSiuEnum.EXTERNO\r\n // }));\r\n\r\n // const esEntidad = siuClaims && siuClaims.idEntidad;\r\n\r\n // const DEFAULT_ROL: IAppUserRol = ROLES.filter(x => x.POR_DEFECTO).map(\r\n // (x): IAppUserRol => ({\r\n // ...x,\r\n // ID_ENTIDAD: esEntidad ? siuClaims.idEntidad : null,\r\n // PERMISSIONS: esEntidad ? this.buildAppPermissions(siuClaims) : null,\r\n // NOMBRE_ENTIDAD: esEntidad ? siuClaims.nombreEntidad : null,\r\n // TEXTO_AUTORIZACION: esEntidad ? siuClaims.textoAutorizacion : null,\r\n // NOMBRE_SEDE: x.DESCRIPCION_SEDE,\r\n // ID_TBL_TIPO_GESTION: esEntidad ? siuClaims.idTblTipoGestion : null,\r\n // OFICINA:\r\n // siuClaims && siuClaims.abreviaturaSede\r\n // ? siuClaims.abreviaturaSede\r\n // : null\r\n // })\r\n // )[0];\r\n\r\n // const avatarText = `${USUARIO.NOMBRES.substring(\r\n // 0,\r\n // 1\r\n // ).toUpperCase()}${USUARIO.APELLIDO_PATERNO.substring(0, 1).toUpperCase()}`;\r\n\r\n // return {\r\n // fullName: `${USUARIO.NOMBRES}, ${USUARIO.APELLIDO_PATERNO} ${USUARIO.APELLIDO_MATERNO}`,\r\n // email: USUARIO.CORREO_ELECTRONICO,\r\n // lastSession: SESION.FECHA_ULTIMA_SESION,\r\n // avatarText,\r\n // defaultRol: DEFAULT_ROL,\r\n // roles: [...ROLES]\r\n // };\r\n // };\r\n\r\n // private buildAppPermissions = (siuClaims: ISiuClaims): IAppPermissions => {\r\n // let siuPermissions: IAppPermissions = { ...DEFAULT_PERMISSIONS };\r\n\r\n // if (!siuClaims) {\r\n // console.error('Error en el servicio de matríz de permisos.');\r\n // return siuPermissions;\r\n // }\r\n\r\n // siuClaims.rules.forEach(rule => {\r\n // const permission: IAppPermission = {\r\n // msg: rule.desEstado,\r\n // value: rule.estado\r\n // };\r\n\r\n // siuPermissions[rule.desTblAccionMatriz] = permission;\r\n // });\r\n\r\n // return siuPermissions;\r\n // };\r\n}\r\n","import { IAppUi, IAppSession, IAppGlobalConfig, ISesion } from './app.store.interface';\r\n\r\nexport class Sesion implements ISesion {\r\n UODes = null;\r\n UOJer = null;\r\n UOVer = null;\r\n Id = 0;\r\n Name = null;\r\n TDoc = null;\r\n NDoc = null;\r\n UOrg = null;\r\n iss = null;\r\n sub = null;\r\n email = null;\r\n jti = null;\r\n iat = null;\r\n nbf = null;\r\n exp = null;\r\n aud = null;\r\n TPais = null;\r\n Pais = null;\r\n fK_eIdArea = null;\r\n TPerfil = null;\r\n TTipoUsuario = null;\r\n TRepresentante = null;\r\n\r\n TTipoEmpresa = null;\r\n registroMTC = null;\r\n domicilio = null;\r\n telefono = null;\r\n representante = null;\r\n tipDocRepresentante = null;\r\n numDocRepresentante = null;\r\n celularRepre = null;\r\n emailRepre = null\r\n}\r\n\r\nexport class AppStoreModel {\r\n\r\n ui: IAppUi = {\r\n //appTitle: { full: 'Sistema de Notificaciones Electrónicas', mini: 'SNE' },\r\n drawerMini: false,\r\n isMobile: false,\r\n drawerOpen: false,\r\n drawerMobileOpen: false, \r\n isLoading: false,\r\n appMenu: [\r\n // {\r\n // label: 'Demo',\r\n // icon: 'offline_pin',\r\n // items: [\r\n // {\r\n // label: 'Tablas',\r\n // link: '/demo/tablas',\r\n // icon: 'offline_pin',\r\n // },\r\n // {\r\n // label: 'Botones',\r\n // link: '/demo/botones',\r\n // icon: 'offline_pin',\r\n // },\r\n // {\r\n // label: 'Crud',\r\n // link: '/demo/crud',\r\n // icon: 'offline_pin',\r\n // },\r\n // {\r\n // label: 'Tree picker',\r\n // link: '/demo/tree-picker',\r\n // icon: 'offline_pin',\r\n // },\r\n // {\r\n // label: 'Forms',\r\n // link: '/demo/forms',\r\n // icon: 'offline_pin',\r\n // },\r\n // ]\r\n // },\r\n {\r\n label: 'Gestión de Casilla Electrónica',\r\n link: '/casilla/gestion-casilla',\r\n icon: 'how_to_vote',\r\n },\r\n {\r\n label: 'Notificación Piloto',\r\n link: '/notificacion/gestion-notificacion-piloto',\r\n icon: 'notifications_active',\r\n }\r\n // ,\r\n // {\r\n // label: 'Item 3',\r\n // icon: 'offline_pin',\r\n // onSelected: function () {\r\n // console.log('Item 3');\r\n // }\r\n // },\r\n // {\r\n // label: 'Item 4',\r\n // link: '/item-4',\r\n // icon: 'star_rate',\r\n // hidden: true\r\n // }\r\n ]\r\n };\r\n\r\n session: IAppSession = {\r\n isLoading: false,\r\n isLoggedIn: false,\r\n user: null,\r\n token: null,\r\n returnUrl: null,\r\n loginError: false,\r\n fromStorage: false,\r\n sessionExpired: false,\r\n displayUser: null\r\n }; \r\n\r\n globalConfig: IAppGlobalConfig = {\r\n isLoading: false,\r\n configuration: null,\r\n error: false\r\n };\r\n\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { Store } from './store';\r\nimport { AppStoreModel } from './app.store.model';\r\nimport { AppGlobalConfigAction } from './actions/app-global-config.action';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AppSessionAction } from './actions/app-session.action';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppStore extends Store \r\n{\r\n globalConfigAction: AppGlobalConfigAction;\r\n sessionAction: AppSessionAction;\r\n\r\n constructor(private http: HttpClient) {\r\n super(new AppStoreModel());\r\n\r\n this.globalConfigAction = new AppGlobalConfigAction(\r\n this.buildScopedGetState('globalConfig'),\r\n this.buildScopedSetState('globalConfig'),\r\n this.http\r\n );\r\n\r\n this.sessionAction = new AppSessionAction(\r\n this.buildScopedGetState('session'),\r\n this.buildScopedSetState('session')\r\n );\r\n }\r\n\r\n //===============================================================\r\n // ACCIONES QUE MODIFICAN LA UI DE LA APP\r\n //===============================================================\r\n openDrawer = () => {\r\n this.setState({\r\n ...this.state, ui: { ...this.state.ui, drawerOpen: true }\r\n });\r\n }\r\n\r\n closeDrawer = () => {\r\n this.setState({\r\n ...this.state, ui: { ...this.state.ui, drawerOpen: false }\r\n });\r\n }\r\n\r\n openDrawerMobile = () => {\r\n this.setState({\r\n ...this.state, ui: { ...this.state.ui, drawerMobileOpen: true }\r\n });\r\n }\r\n\r\n closeDrawerMobile = () => {\r\n this.setState({\r\n ...this.state, ui: { ...this.state.ui, drawerMobileOpen: false }\r\n });\r\n }\r\n\r\n setIsMobile = (value: boolean) => {\r\n this.setState({\r\n ...this.state, ui: { ...this.state.ui, isMobile: value }\r\n });\r\n }\r\n\r\n \r\n\r\n}\r\n","import { Observable, BehaviorSubject } from 'rxjs';\r\n\r\nexport class Store {\r\n private _state$: BehaviorSubject;\r\n\r\n protected constructor(initialState: T) {\r\n this._state$ = new BehaviorSubject(initialState);\r\n }\r\n\r\n get state$(): Observable {\r\n return this._state$.asObservable();\r\n }\r\n\r\n get state(): T {\r\n return this._state$.getValue();\r\n }\r\n\r\n setState(nextState: T): void {\r\n this._state$.next(nextState);\r\n }\r\n\r\n buildScopedSetState(propName: string) {\r\n return (state: E) => { this.setState({ ...this.state, [ propName ]: state }); };\r\n }\r\n\r\n buildScopedGetState(propName: string) {\r\n return (): E => this.state[ propName ];\r\n }\r\n}\r\n","import {Directive, HostListener} from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[click-stop-propagation]\"\r\n})\r\nexport class ClickStopPropagation\r\n{\r\n @HostListener(\"click\", [\"$event\"])\r\n public onClick(event: any): void\r\n {\r\n event.stopPropagation();\r\n }\r\n}","export enum FormType {\r\n REGISTRAR = 1,\r\n EDITAR = 2,\r\n CONSULTAR = 3,\r\n COPIAR = 4,\r\n ENVIAR = 5,\r\n SUBSANAR = 6,\r\n BUSCAR = 7\r\n }\r\n ","import { isValidObject } from './../utils/index';\r\nimport { arrayToString } from './string.helpers';\r\n// import * as moment from 'moment';\r\n\r\nexport const convertObjectToGetParams = (obj, keyParent = null) => {\r\n let resp = {};\r\n Object.keys(obj).forEach(k => {\r\n const value = obj[k];\r\n const key = keyParent ? `${keyParent}.${k}` : k;\r\n\r\n if (value !== undefined && value !== null) {\r\n if (Array.isArray(value)) {\r\n resp[key] = arrayToString(value);\r\n } else if (isValidObject(value)) {\r\n const children = convertObjectToGetParams(value, key);\r\n resp = { ...resp, ...children };\r\n // } else if (moment.isMoment(value)) {\r\n // resp[key] = value.format('YYYY-MM-DD');\r\n } else {\r\n resp[key] = String(obj[k]);\r\n }\r\n }\r\n });\r\n return resp;\r\n};\r\n\r\nexport const downloadExcel = (\r\n excelResponse,\r\n nameExcel = 'RegistrosTrazabilidad'\r\n) => {\r\n const dataType = excelResponse.type;\r\n const binaryData = [];\r\n binaryData.push(excelResponse);\r\n const downloadLink = document.createElement('a');\r\n downloadLink.href = window.URL.createObjectURL(\r\n new Blob(binaryData, { type: dataType })\r\n );\r\n downloadLink.setAttribute('download', nameExcel);\r\n document.body.appendChild(downloadLink);\r\n downloadLink.click();\r\n};\r\n","import { isObject } from 'util';\r\n\r\nexport const arrayToString = (arr): string => {\r\n let str = '';\r\n if (arr != null) {\r\n arr.forEach((i, index) => {\r\n str += i;\r\n if (index != arr.length - 1) {\r\n str += ',';\r\n }\r\n });\r\n }\r\n return str;\r\n};\r\n\r\nexport const generateRandomString = (lengthOfCode: number = 25) => {\r\n const possible =\r\n '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n let text = '';\r\n for (let i = 0; i < lengthOfCode; i++) {\r\n text += possible.charAt(Math.floor(Math.random() * possible.length));\r\n }\r\n return text;\r\n};\r\n\r\nexport const isNullOrEmptyArray = (val: any) => {\r\n return (Array.isArray(val) && val.length == 0) || val == null;\r\n};\r\n\r\nexport const cleanSpacesString = (cadena: string) => {\r\n return cadena ? cadena.trim().replace(/ +(?= )/g, '') : '';\r\n};\r\n\r\nexport const formatBytesString = (bytes, decimals?) => {\r\n /*if (bytes < 1024) return bytes + \" Bytes\";\r\n else if (bytes < 1048576) return (bytes / 1024).toFixed(0) + \" KB\";\r\n else if (bytes < 1073741824) return (bytes / 1048576).toFixed(2) + \" MB\";\r\n else return (bytes / 1073741824).toFixed(1) + \" GB\";*/\r\n\r\n if (bytes == 0) return '0 Bytes';\r\n const k = 1024,\r\n dm = decimals || 2,\r\n sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],\r\n i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n};\r\n\r\nexport const convertQueryParamsStringToJson = queryParams => {\r\n return queryParams\r\n .split('&')\r\n .map(p => p.split('='))\r\n .reduce((obj, pair) => {\r\n const [key, value] = pair.map(decodeURIComponent);\r\n return { ...obj, [key]: value };\r\n }, {});\r\n};\r\n\r\nexport const getFieldFromCombo = (\r\n list: any,\r\n value: any,\r\n fieldValue = 'value',\r\n fieldName = 'text',\r\n) => {\r\n const found = list.find(x => x[fieldValue] == value);\r\n return found ? found[fieldName] : '';\r\n};\r\n\r\nexport const getObjectProperty = (obj, path) => { //isObject\r\n return path.split(/(\\[|\\]|\\.)/).reduce((x, y) => {\r\n return '[].'.indexOf(y) > -1\r\n ? x\r\n : x === Object(x) && y in x\r\n ? x[y]\r\n : undefined;\r\n }, obj);\r\n};\r\n","import { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appBlockCopyPaste]'\r\n})\r\nexport class BlockCopyPasteDirective {\r\n constructor() { }\r\n\r\n @HostListener('paste', ['$event']) blockPaste(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n @HostListener('copy', ['$event']) blockCopy(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n @HostListener('cut', ['$event']) blockCut(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n}","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2hvbWUvY29tcG9uZW50cy9jYW1iaW8tY2xhdmUvY2FtYmlvLWNsYXZlLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CasillaActualService } from 'src/app/services/casilla-actual.service';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { UsuariosService } from 'src/app/services/usuarios.service';\r\n\r\nimport { AppStore } from 'src/app/core/store/app.store';\r\n\r\n@Component({\r\n selector: 'app-cambio-clave',\r\n templateUrl: './cambio-clave.component.html',\r\n styleUrls: ['./cambio-clave.component.scss']\r\n})\r\nexport class CambioClaveComponent implements OnInit {\r\n\r\n readonly state$ = this.appStore.state$;\r\n\r\n usuario: string\r\n sessionUser = this.appStore.state.session.user;\r\n\r\n datosRegistro: {\r\n clave: string,\r\n claveSeg: string,\r\n claveActual: string\r\n } = {\r\n clave: \"\",\r\n claveSeg: \"\",\r\n claveActual: \"\"\r\n }\r\n\r\n //visor de contraseñas\r\n isTypeP1bol = false; \r\n isTypeP2bol = false; \r\n isTypeP3bol = false;\r\n\r\n //cambie el type de la contraseña\r\n isTypeP1 = null;\r\n isTypeP2 = null;\r\n isTypeP3 = null;\r\n \r\n constructor(\r\n private appStore: AppStore,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private casillaActual: CasillaActualService,\r\n private toast: ToastService,\r\n private usuariosService: UsuariosService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.appStore.sessionAction.esSesionValida()) \r\n {\r\n\r\n this.appStore.sessionAction.restablecerSesionDeLocalStorage();\r\n this.sessionUser = this.appStore.state.session.user;\r\n this.usuario = this.sessionUser.Name;\r\n //this.router.navigate(['/dashboard/']);\r\n }\r\n else \r\n {\r\n let token = this.route.snapshot.queryParamMap.get('token');\r\n //console.log(token);\r\n if(token) {\r\n this.casillaActual.setSesion(token);\r\n \r\n this.router.navigate(['/dashboard/']);\r\n }\r\n else {\r\n this.router.navigate(['/login/']);\r\n //location.href = \"http://localhost:5000/dashboard\"; //environment.loginUrl + window.location.origin;\r\n }\r\n }\r\n\r\n this.isTypeP1 = \"password\";\r\n this.isTypeP2 = \"password\";\r\n this.isTypeP3 = \"password\";\r\n }\r\n\r\n encriptarClave = (dato: string): string => {\r\n return CryptoJS.MD5(dato).toString();\r\n };\r\n\r\n validarContraseña = (clave) => {\r\n let hasNumber = /\\d/.test(clave);\r\n let hasUpper = /[A-Z]/.test(clave);\r\n let hasLower = /[a-z]/.test(clave);\r\n let hasSymbol = /[$@$!%*?&#.]/.test(clave);\r\n // console.log('Num, Upp, Low', hasNumber, hasUpper, hasLower);\r\n const valid = hasNumber && hasUpper && hasLower && hasSymbol;\r\n if (!valid) {\r\n // return what´s not valid\r\n return { strong: true };\r\n }\r\n return false;\r\n }\r\n\r\n handleCerrar = () => {\r\n this.router.navigate(['/dashboard/']);\r\n //console.log(this.selectedTipoRegistro);\r\n }\r\n\r\n handleVisorP = (type) => {\r\n switch (type) {\r\n case 1: this.isTypeP1bol = !this.isTypeP1bol;\r\n if(this.isTypeP1bol)\r\n {\r\n this.isTypeP1 = \"text\";\r\n }\r\n else\r\n {\r\n this.isTypeP1 = \"password\";\r\n }\r\n break;\r\n case 2: this.isTypeP2bol = !this.isTypeP2bol;\r\n if(this.isTypeP2bol)\r\n {\r\n this.isTypeP2 = \"text\";\r\n }\r\n else\r\n {\r\n this.isTypeP2 = \"password\";\r\n }\r\n break;\r\n case 3: this.isTypeP3bol = !this.isTypeP3bol;\r\n if(this.isTypeP3bol)\r\n {\r\n this.isTypeP3 = \"text\";\r\n }\r\n else\r\n {\r\n this.isTypeP3 = \"password\";\r\n }\r\n break;\r\n }\r\n }\r\n\r\n finalizar = () => {\r\n if(this.datosRegistro.claveActual == \"\")\r\n {\r\n this.toast.error(\"Por favor ingresa contraseña actual\");\r\n }\r\n else if(this.datosRegistro.clave == \"\")\r\n {\r\n this.toast.error(\"Por favor ingresa nueva contraseña\");\r\n }\r\n else if(this.datosRegistro.clave == \"\")\r\n {\r\n this.toast.error(\"Por favor repita la contraseña\");\r\n }\r\n else if(this.datosRegistro.clave != this.datosRegistro.claveSeg)\r\n {\r\n this.toast.error(\"Por favor ingresa la misma contraseña\");\r\n }\r\n else if(this.validarContraseña(this.datosRegistro.clave))\r\n {\r\n this.toast.error(\"Contraseña invalida\");\r\n }\r\n else{\r\n \r\n this.cambioClave();\r\n }\r\n }\r\n\r\n cambioClave = () => {\r\n this.usuariosService.cambioClave(this.sessionUser.Id,2,this.encriptarClave(this.datosRegistro.claveActual),this.encriptarClave(this.datosRegistro.clave)).subscribe((response) => {\r\n if(response.rptTipo == 1){\r\n var tipMensaje = \"\";\r\n if(this.sessionUser.TPais == 1){\r\n if(this.sessionUser.TDoc == '8'){\r\n tipMensaje = \"RUC\";\r\n }\r\n else{\r\n tipMensaje = \"DNI\";\r\n }\r\n }\r\n else{\r\n tipMensaje = \"Usuario\";\r\n }\r\n //var mensaje = \"
ACCESO AL PORTAL DEL ADMINISTRADO DE PROVÍAS NACIONAL
Estimados : \"+this.datosRegistro.razonSocial+\"
Su registro fue generado de forma satisfactoria al PORTAL DE SERVICIOS DE PROVÍAS NACIONAL ahora podrá realizar sus trámites en línea
SUS CREDENCIALES
\"+ tipMensaje +\":
\"+this.datosRegistro.nroDocumento+\"
Contraseña:
\"+this.datosRegistro.clave+\"
ACCEDA AL PORTAL
www.pvn.gob.pe

IMPORTANTE
El usuario y contraseña es personal e intransferible y el uso del mismo será bajo su responsabilidad

CONTACTENOS
  • Central Telefónica 615-7800
\";\r\n var mensaje = \"
ACCESO AL PORTAL DEL ADMINISTRADO DE PROVÍAS NACIONAL
Estimados : \"+this.sessionUser.Name+\"
Su registro fue generado de forma satisfactoria al PORTAL DE SERVICIOS DE PROVÍAS NACIONAL ahora podrá realizar sus trámites en línea
SUS CREDENCIALES
\"+ tipMensaje +\"
\"+this.sessionUser.NDoc+\"
Contraseña
\"+this.datosRegistro.clave+\"
ACCEDA AL PORTAL

IMPORTANTE
El usuario y contraseña es personal e intransferible y el uso del mismo sera bajo su responsabilidad

CONTACTENOS
  • Central Telefónica 615-7800
\";\r\n\r\n this.enviarEmailCodigo(this.sessionUser.email, \"Cambio Clave Usuario PROVÍAS\",mensaje,true);\r\n this.toast.error(\"Se realizo el cambio de clave correctamente\");\r\n this.router.navigate(['/dashboard/']);\r\n }\r\n });\r\n }\r\n\r\n enviarEmailCodigo = (login, prueba, cuerpo, flag) => {\r\n this.usuariosService.enviarEmailDatosUsuario(login, prueba,cuerpo, flag).subscribe(\r\n (data) => {\r\n console.log(data) \r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n );\r\n };\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2hvbWUvY29tcG9uZW50cy9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CasillaActualService } from 'src/app/services/casilla-actual.service';\r\n\r\nimport { AppStore } from 'src/app/core/store/app.store';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n readonly state$ = this.appStore.state$;\r\n\r\n usuario: string\r\n sessionUser = this.appStore.state.session.user;\r\n\r\n constructor(\r\n private appStore: AppStore,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private casillaActual: CasillaActualService\r\n ) { }\r\n\r\n ngOnInit() {\r\n \r\n /*if (this.appStore.sessionAction.esSesionValida()) \r\n {\r\n\r\n this.appStore.sessionAction.restablecerSesionDeLocalStorage();\r\n this.sessionUser = this.appStore.state.session.user;\r\n this.usuario = this.sessionUser.Name;\r\n //this.router.navigate(['/dashboard/']);\r\n }\r\n else \r\n {\r\n let token = this.route.snapshot.queryParamMap.get('token');\r\n //console.log(token);\r\n if(token) {\r\n this.casillaActual.setSesion(token);\r\n \r\n this.router.navigate(['/dashboard/']);\r\n }\r\n else {\r\n this.router.navigate(['/login/']);\r\n }\r\n }*/\r\n }\r\n\r\n handleCambioClave = () => {\r\n this.appStore.sessionAction.restablecerSesionDeLocalStorage();\r\n //console.log(this.appStore.sessionAction.getUserSesion());\r\n //console.log(this.appStore.sessionAction.isToken());\r\n let token = this.route.snapshot.queryParamMap.get('token');\r\n //console.log(token);\r\n this.router.navigate(['/cambio-clave/']);\r\n //console.log(this.selectedTipoRegistro);\r\n }\r\n\r\n handleCerrarSeision = () => {\r\n this.appStore.sessionAction.logout();\r\n this.router.navigate(['/login/']);\r\n }\r\n\r\n /*handleSiFirma = () => {\r\n console.log(this.appStore.sessionAction.getUserSesion());\r\n //let token = this.route.snapshot.queryParamMap.get('token');\r\n let token = this.appStore.sessionAction.isToken();\r\n location.href = \"http://sifirmademo.pvn.gob.pe/?token=\" + token; //environment.loginUrl + window.location.origin;\r\n \r\n }*/\r\n}\r\n","export default \"@charset \\\"UTF-8\\\";\\n.gracias-content {\\n margin: 0 auto;\\n text-align: center; }\\n.gracias-titulo {\\n font: 30px var(--font-secondary);\\n color: var(--color-primary); }\\n.gracias-subtitulo {\\n font-size: 20px;\\n color: #444444; }\\n/* tabla */\\n.tabla-resumen {\\n width: 100%;\\n max-width: 100%;\\n font: 14px var(--font-oxygen); }\\n.tabla-resumen table {\\n border-collapse: separate;\\n border-spacing: 1px; }\\n.tabla-resumen table tr th {\\n border: 0.5px solid var(--color-primary);\\n padding: 5px 10px;\\n background-color: var(--color-primary);\\n color: var(--color-white);\\n text-align: left;\\n border-right: 0;\\n width: 50%;\\n text-transform: uppercase; }\\n.tabla-resumen table tr td {\\n border: 0.5px solid var(--color-primary);\\n padding: 5px 10px;\\n color: #4187a5;\\n width: 50%; }\\n/* Términos y condiciones */\\n.t-y-c {\\n font-size: 16px;\\n margin-top: 20px; }\\n.t-y-c a {\\n color: var(--color-primary); }\\n.datos-clave {\\n font-size: 16px;\\n color: #444444;\\n margin-left: 20px; }\\n.datos-clave-list:first-child {\\n margin-bottom: 10px; }\\n.datos-clave-list:not(:first-child) {\\n color: #ff0000;\\n font-family: var(--font-secondary); }\\n.container-botones {\\n margin-top: 20px !important; }\\n.clave-content {\\n position: relative; }\\n.clave-content-button:hover {\\n opacity: 1; }\\n.clave-content-button {\\n position: absolute;\\n top: 10px;\\n right: 2px;\\n cursor: pointer;\\n opacity: 0.7;\\n transition: all .3s ease; }\\n.subtitulo {\\n text-align: center;\\n font-family: var(--font-secondary);\\n font-style: italic;\\n font-size: 20px;\\n line-height: 23px;\\n color: var(--color-secondary-dark);\\n margin-top: 5px;\\n margin-bottom: 40px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvaG9tZS9jb21wb25lbnRzL2hvbWUvaG9tZS5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcGFnZXMvaG9tZS9jb21wb25lbnRzL2hvbWUvRDpcXHRmczIwMjNcXFNJR09cXDIuRnJvbnRFbmRcXFNzby5DbGllbnQvc3JjXFxhcHBcXHBhZ2VzXFxob21lXFxjb21wb25lbnRzXFxob21lXFxob21lLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ2tDaEI7RUFDSSxjQUFjO0VBQ2Qsa0JBQWtCLEVBQUE7QUFFdEI7RUFDSSxnQ0FBZ0M7RUFDaEMsMkJBQTJCLEVBQUE7QUFFL0I7RUFDSSxlQUFlO0VBQ2YsY0FBZSxFQUFBO0FBT25CLFVBQUE7QUFDQTtFQUNJLFdBQVc7RUFDWCxlQUFlO0VBQ2YsNkJBQTZCLEVBQUE7QUFFL0I7RUFDRSx5QkFBeUI7RUFDekIsbUJBQW1CLEVBQUE7QUFFckI7RUFDRSx3Q0FBd0M7RUFDeEMsaUJBQWlCO0VBQ2pCLHNDQUFzQztFQUN0Qyx5QkFBeUI7RUFDekIsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixVQUFVO0VBQ1YseUJBQXlCLEVBQUE7QUFFM0I7RUFDRSx3Q0FBd0M7RUFDeEMsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxVQUFVLEVBQUE7QUFHWiwyQkFBQTtBQUNBO0VBQ0UsZUFBZTtFQUNmLGdCQUFnQixFQUFBO0FBRWxCO0VBQ0UsMkJBQTJCLEVBQUE7QUFJL0I7RUFDSSxlQUFlO0VBQ2YsY0FBYztFQUNkLGlCQUFpQixFQUFBO0FBRXJCO0VBQ0ksbUJBQW1CLEVBQUE7QUFFdkI7RUFDSSxjQUFjO0VBQ2Qsa0NBQWtDLEVBQUE7QUFHdEM7RUFFSSwyQkFBMkIsRUFBQTtBQUkvQjtFQUNJLGtCQUFrQixFQUFBO0FBRXRCO0VBQ0ksVUFBVSxFQUFBO0FBRWQ7RUFDSSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULFVBQVU7RUFDVixlQUFlO0VBQ2YsWUFBWTtFQUNaLHdCQUF3QixFQUFBO0FBSTVCO0VBQ0ksa0JBQWtCO0VBQ2xCLGtDQUFrQztFQUNsQyxrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixrQ0FBa0M7RUFDbEMsZUFBZTtFQUNmLG1CQUFtQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvaG9tZS9jb21wb25lbnRzL2hvbWUvaG9tZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi5ncmFjaWFzLWNvbnRlbnQge1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ncmFjaWFzLXRpdHVsbyB7XG4gIGZvbnQ6IDMwcHggdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cblxuLmdyYWNpYXMtc3VidGl0dWxvIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjb2xvcjogIzQ0NDQ0NDsgfVxuXG4vKiB0YWJsYSAqL1xuLnRhYmxhLXJlc3VtZW4ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250OiAxNHB4IHZhcigtLWZvbnQtb3h5Z2VuKTsgfVxuXG4udGFibGEtcmVzdW1lbiB0YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIGJvcmRlci1zcGFjaW5nOiAxcHg7IH1cblxuLnRhYmxhLXJlc3VtZW4gdGFibGUgdHIgdGgge1xuICBib3JkZXI6IDAuNXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgd2lkdGg6IDUwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGFibGEtcmVzdW1lbiB0YWJsZSB0ciB0ZCB7XG4gIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBjb2xvcjogIzQxODdhNTtcbiAgd2lkdGg6IDUwJTsgfVxuXG4vKiBUw6lybWlub3MgeSBjb25kaWNpb25lcyAqL1xuLnQteS1jIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi50LXktYyBhIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG5cbi5kYXRvcy1jbGF2ZSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM0NDQ0NDQ7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5kYXRvcy1jbGF2ZS1saXN0OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uZGF0b3MtY2xhdmUtbGlzdDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGNvbG9yOiAjZmYwMDAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpOyB9XG5cbi5jb250YWluZXItYm90b25lcyB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDsgfVxuXG4uY2xhdmUtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2xhdmUtY29udGVudC1idXR0b246aG92ZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5jbGF2ZS1jb250ZW50LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuNztcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9XG5cbi5zdWJ0aXR1bG8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlY29uZGFyeSk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjNweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1kYXJrKTtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4iLCIgIFxyXG4vLyAubGlzdC1jYXJwZXRze1xyXG4vLyAgICAgZGlzcGxheTogZmxleDtcclxuLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuLy8gfVxyXG4vLyAuY2FycGV0e1xyXG4vLyAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XHJcbi8vICAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xyXG4vLyAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuLy8gICAgIGRpc3BsYXk6IGZsZXg7XHJcbi8vICAgICBoZWlnaHQ6IDMwcHg7XHJcbi8vICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XHJcbi8vICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vIH1cclxuLy8gLmNhcnBldC1pY29ue1xyXG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgdG9wOiAwO1xyXG4vLyAgICAgbGVmdDogMDtcclxuLy8gfVxyXG4vLyAuY2FycGV0LWRlbGV0ZSBzdmd7XHJcbi8vICAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcclxuLy8gfVxyXG4vLyAuY2FycGV0LWRlbGV0ZSBzdmc6Zmlyc3QtY2hpbGR7XHJcbi8vICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuLy8gfVxyXG4vLyAuY2FycGV0LWRlbGV0ZXtcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIHRvcDogMDtcclxuLy8gICAgIHJpZ2h0OiAwO1xyXG4vLyB9XHJcbi8vIC5jYXJwZXQtbmFtZXsgbWFyZ2luIDogMCAhaW1wb3J0YW50fVxyXG5cclxuLmdyYWNpYXMtY29udGVudHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5ncmFjaWFzLXRpdHVsb3tcclxuICAgIGZvbnQ6IDMwcHggdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xyXG59XHJcbi5ncmFjaWFzLXN1YnRpdHVsb3tcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOiAjNDQ0NDQ0IDtcclxufVxyXG4uZ3JhY2lhcy1saW5re1xyXG5cclxufVxyXG5cclxuXHJcbi8qIHRhYmxhICovXHJcbi50YWJsYS1yZXN1bWVuIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgZm9udDogMTRweCB2YXIoLS1mb250LW94eWdlbik7XHJcbiAgfVxyXG4gIC50YWJsYS1yZXN1bWVuIHRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcbiAgICBib3JkZXItc3BhY2luZzogMXB4O1xyXG4gIH1cclxuICAudGFibGEtcmVzdW1lbiB0YWJsZSB0ciB0aCB7XHJcbiAgICBib3JkZXI6IDAuNXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG4gIC50YWJsYS1yZXN1bWVuIHRhYmxlIHRyIHRkIHtcclxuICAgIGJvcmRlcjogMC41cHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIGNvbG9yOiAjNDE4N2E1O1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICB9XHJcbiAgXHJcbiAgLyogVMOpcm1pbm9zIHkgY29uZGljaW9uZXMgKi9cclxuICAudC15LWMge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICB9XHJcbiAgLnQteS1jIGEge1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xyXG4gIH1cclxuXHJcblxyXG4uZGF0b3MtY2xhdmV7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogIzQ0NDQ0NDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcbi5kYXRvcy1jbGF2ZS1saXN0OmZpcnN0LWNoaWxke1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4uZGF0b3MtY2xhdmUtbGlzdDpub3QoOmZpcnN0LWNoaWxkKXtcclxuICAgIGNvbG9yOiAjZmYwMDAwO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcclxufVxyXG5cclxuLmNvbnRhaW5lci1ib3RvbmVze1xyXG4gICAgXHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4uY2xhdmUtY29udGVudHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uY2xhdmUtY29udGVudC1idXR0b246aG92ZXJ7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcbi5jbGF2ZS1jb250ZW50LWJ1dHRvbntcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTBweDtcclxuICAgIHJpZ2h0OiAycHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XHJcbn1cclxuXHJcblxyXG4uc3VidGl0dWxvIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlY29uZGFyeSk7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjNweDtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZGFyayk7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gIH0iXX0= */\"","import { Component, Directive, OnInit, ElementRef, Renderer } from '@angular/core';\r\nimport { CasillaActualService } from 'src/app/services/casilla-actual.service';\r\nimport { ICasilla, INotificacionBandeja, INotificacionDetalle, IContadorCasilla, IAgrupacionNotificacion } from 'src/app/modelos/casilla.interface';\r\nimport { IAdministrarNotificacionFiltroBuscarRequest } from 'src/app/modelos/filtro-api.interface';\r\nimport { IDataGridPageRequest } from 'src/app/modelos/data-grid.interface';\r\nimport { UsuariosService } from 'src/app/services/usuarios.service';\r\nimport { THIS_EXPR, ThrowStmt } from '@angular/compiler/src/output/output_ast';\r\nimport { Route } from '@angular/compiler/src/core';\r\nimport { Router } from '@angular/router';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { AlertService } from 'src/app/shared/services/alert.service';\r\nimport { config } from 'rxjs';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { PaisModel } from '../home/store/registro-usuario.store.model';\r\nimport { TipoDocumentoPaisModel, PersonaNaturalRequest, DatosEmail } from '../home/store/registro-usuario.store.model';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\n//import {NgbModal, ModalDismissReasons} from '@ng-bootstrap/ng-bootstrap';\r\n \r\n\r\nconst ERROR_GENERAL = \"Ocurrió un error durante la transacción. Comuníquese con el Administrador del Sistema.\";\r\n\r\ndeclare var require: any\r\nconst FileSaver = require('file-saver');\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss']\r\n \r\n})\r\n\r\nexport class HomeComponent implements OnInit \r\n{ \r\n closeResult: string;\r\n\r\n fileUrl;\r\n\r\n datosEmail: DatosEmail;\r\n personaNaturalRequest: PersonaNaturalRequest;\r\n\r\n isShowModalDatos: boolean = false;\r\n isShowModalTC: boolean = true;\r\n isShowModalCPDP: boolean = true;\r\n\r\n isShowEX: boolean = false;\r\n isShowPJ: boolean = false;\r\n isShowPN: boolean = false;\r\n\r\n isShowFin: boolean = true;\r\n isShowProceso: boolean = false;\r\n\r\n //hablitar checks\r\n isDisabledTC: boolean = true;\r\n isDisabledCPDP: boolean = true;\r\n\r\n //valores de los check\r\n chkCPDP: boolean = false;\r\n chkTC: boolean = false;\r\n\r\n //visor de contraseñas\r\n isTypeP1bol = false; \r\n isTypeP2bol = false; \r\n\r\n //cambie el type de la contraseña\r\n isTypeP1 = null;\r\n isTypeP2 = null;\r\n\r\n //bloquear correo y telefono si los trae\r\n isReadonlyC = true;\r\n isReadonlyT = true;\r\n\r\n //bloquear correo y telefono si tiene datos en los registros 1\r\n isReadonlyC2 = true;\r\n isReadonlyT2 = true;\r\n\r\n isReadonlyDni = true;\r\n\r\n caracteres: string;\r\n urlPortal: string;\r\n\r\n lblRepresentante: string = \"\";\r\n \r\n stepTipoRegistro: string = \"\";\r\n stepRepresentante: string = \"\";\r\n stepRegistroDatos: string = \"\";\r\n stepClave: string = \"\";\r\n stepConfirmar: string = \"\";\r\n\r\n stepTipoRegistroL: string = \"\";\r\n stepRepresentanteL: string = \"\";\r\n stepRegistroDatosL: string = \"\";\r\n stepClaveL: string = \"\";\r\n stepConfirmarL: string = \"\";\r\n\r\n selectedTipoRegistro: string=\"\";\r\n\r\n registroUsuarioDatos:{\r\n tipoRegistro: number,\r\n pais: number,\r\n tipoDocumento: number,\r\n uNroDocumento: string,\r\n dRazonSocial: string,\r\n dCorreo1: string,\r\n dCorreo2: string,\r\n dTelefono1: string,\r\n dTelefono2: string,\r\n clave: string,\r\n tipoDocRepresentante: number,\r\n nroDocRepresentante: string,\r\n nombreRepresentante: string,\r\n apPatRepresentante: string,\r\n apMatRepresentante: string,\r\n pkPJ: number\r\n } = {\r\n tipoRegistro: 1,\r\n pais: 1,\r\n tipoDocumento: 13,\r\n uNroDocumento: \"\",\r\n dRazonSocial: \"\",\r\n dCorreo1: \"\",\r\n dCorreo2: \"\",\r\n dTelefono1: \"\",\r\n dTelefono2: \"\",\r\n clave: null,\r\n tipoDocRepresentante: 1,\r\n nroDocRepresentante: \"\",\r\n nombreRepresentante: \"\",\r\n apPatRepresentante: \"\",\r\n apMatRepresentante: \"\",\r\n pkPJ: 0\r\n }\r\n\r\ndatosRegistro: {\r\n nroDocumento: string,\r\n razonSocial: string,\r\n correo1: string,\r\n correo2: string,\r\n telefono1: string,\r\n telefono2: string,\r\n clave: string,\r\n claveSeg: string,\r\n resumenCorreo: string,\r\n resumenTelefono: string,\r\n\r\n pPais: number,\r\n tipDoc: number,\r\n TipoDocumento: string,\r\n nroDocRepresentante: string,\r\n nombresRepresentante: string,\r\n apPatRepresentante: string,\r\n apMatRepresentante: string,\r\n \r\n pkPJ: number\r\n} = {\r\n nroDocumento: \"\",\r\n razonSocial: \"\",\r\n correo1: \"\",\r\n correo2: \"\",\r\n telefono1: \"\",\r\n telefono2: \"\",\r\n clave: \"\",\r\n claveSeg: \"\",\r\n resumenCorreo: \"\",\r\n resumenTelefono: \"\",\r\n\r\n pPais: 1,\r\n tipDoc: 1,\r\n TipoDocumento: \"\",\r\n nroDocRepresentante: \"\",\r\n nombresRepresentante: \"\",\r\n apPatRepresentante: \"\",\r\n apMatRepresentante: \"\",\r\n\r\n pkPJ: 0\r\n}\r\n\r\npaises: PaisModel[]; \r\nselectedPais: number;\r\n\r\ntipoDocumentoPais: TipoDocumentoPaisModel[];\r\nselectedTipDocPais: number;\r\n\r\ntipDocPaso2: TipoDocumentoPaisModel[];\r\nselectTipDocPaso2: number;\r\ntipDocPase: string;\r\n\r\n/*comboLists = {\r\n tipDocPaso2: TipoDocumentoPaisModel[]\r\n};*/\r\n\r\n constructor(\r\n //private modalService: NgbModal,\r\n\r\n private _formBuilder: FormBuilder,\r\n\r\n public casillaActualService: CasillaActualService,\r\n private usuariosService: UsuariosService,\r\n private router: Router,\r\n private toast: ToastService,\r\n private alertService: AlertService\r\n ) { \r\n //this.casillaActual = casillaActualService.getCasillaActual()\r\n /*var events = 'cut copy paste';\r\n events.split(' ').forEach(e => \r\n renderer.listen(el.nativeElement, e, (event) => {\r\n event.preventDefault();\r\n })\r\n );*/\r\n\t \r\n }\r\n\r\n ngOnInit() {\r\n \r\n // this.buscarNotificacionesInicial();\r\n\r\n this.isShowModalDatos = false;\r\n this.isShowModalTC = true;\r\n this.isShowModalCPDP = true;\r\n\r\n this.isShowEX = false;\r\n this.isShowPJ = false;\r\n this.isShowPN = false;\r\n\r\n this.isShowFin = true;\r\n this.isShowProceso = false;\r\n\r\n this.isDisabledTC = true;\r\n this.isDisabledCPDP = true;\r\n \r\n this.chkCPDP = false;\r\n this.chkTC = false;\r\n\r\n this.isTypeP1 = \"password\"\r\n this.isTypeP2 = \"password\"\r\n\r\n this.stepTipoRegistro = \"active\"\r\n this.stepTipoRegistroL = \"\"\r\n this.selectedTipoRegistro = \"\"\r\n\r\n if(this.datosRegistro.correo1 == \"\")\r\n {\r\n this.isReadonlyC = !this.isReadonlyC;\r\n }\r\n\r\n if(this.datosRegistro.telefono1 == \"\")\r\n {\r\n this.isReadonlyT = !this.isReadonlyT;\r\n }\r\n this.selectedPais = 0;\r\n this.selectedTipDocPais = 0;\r\n\r\n this.caracteres = \"!#$%&'()*+,-./:;<=>?@[\\]^_`{|}~.\";\r\n this.urlPortal = environment.loingUrlPortal;\r\n\r\n this.tipDocPase = \"\";\r\n\r\n //Tipos de Documentos para en paso 2\r\n this.listarTipDocPaso2(1);\r\n \r\n\r\n this.listarPais();\r\n this.listarTipoDocumentoPais(0);\r\n //this.setFiltroBandejaInicial();\r\n //this.setFiltroPaginadorInicial(); \r\n\r\n //this.buscarNotificacionesInicial();\r\n //this.listarAgrupacionesNotificaciones();\r\n }\r\n\r\nvaluechange(newValue){\r\n\r\n /*if(newValue == \"\")\r\n {\r\n this.datosRegistro.razonSocial = \"\";\r\n }*/\r\n this.datosRegistro.razonSocial = \"\";\r\n this.datosRegistro.telefono1 = \"\";\r\n this.datosRegistro.telefono2 = \"\";\r\n this.datosRegistro.correo1 = \"\";\r\n this.datosRegistro.correo2 = \"\";\r\n\r\n}\r\n\r\nvaluechangeDni(newValue){\r\n\r\n /*if(newValue == \"\")\r\n {\r\n this.datosRegistro.razonSocial = \"\";\r\n }*/\r\n this.datosRegistro.apMatRepresentante = \"\";\r\n this.datosRegistro.apPatRepresentante = \"\";\r\n this.datosRegistro.nombresRepresentante = \"\";\r\n\r\n}\r\n\r\nhandleSelectTip(event){\r\n //this.tipDocPase = this.tipDocPaso2[this.selectTipDocPaso2].uDescripcion;\r\n if(this.selectTipDocPaso2 == 2)\r\n {\r\n this.isReadonlyDni = true\r\n }\r\n else{\r\n this.isReadonlyDni = false\r\n }\r\n this.tipDocPaso2.forEach(element => {\r\n if(element.eIdDetalle == this.selectTipDocPaso2)\r\n {\r\n this.tipDocPase = element.uDescripcion;\r\n }\r\n });\r\n //console.log(this.tipDocPaso2[this.selectTipDocPaso2].uDescripcion)\r\n \r\n /*this.tipDocPaso2.forEach(element => {\r\n if(parseInt(event.target.value) == element.eIdDetalle){\r\n console.log(element.uDescripcion)\r\n }\r\n });*/\r\n}\r\n\r\ntieneDatosE(newValue){\r\n\r\n let dato = newValue;\r\n if(dato.length == 0)\r\n {\r\n this.isReadonlyC2 = true;\r\n this.datosRegistro.correo2 = \"\";\r\n }\r\n else\r\n {\r\n this.isReadonlyC2 = false;\r\n }\r\n \r\n\r\n}\r\n\r\ntieneDatosT(newValue){\r\n\r\n let dato = newValue;\r\n if(dato.length == 0)\r\n {\r\n this.isReadonlyT2 = true;\r\n this.datosRegistro.telefono2 = \"\";\r\n }\r\n else\r\n {\r\n this.isReadonlyT2 = false;\r\n }\r\n \r\n\r\n}\r\n\r\nlistarPais = () => {\r\n this.usuariosService.listarPais(1).subscribe(data => this.paises = data.result\r\n //,error => console.log(error)\r\n );\r\n}\r\n\r\nhandleChangePais(event) {\r\n this.listarTipoDocumentoPais(this.selectedPais);\r\n}\r\n\r\nlistarTipoDocumentoPais = (idPais: number) => {\r\n this.selectedTipDocPais = 0;\r\n //jclr\r\n this.usuariosService.listarTipoDocumentoPais(idPais, 4).subscribe(data => this.tipoDocumentoPais = data.result\r\n //,error => console.log(error)\r\n );\r\n}\r\n\r\nlistarTipDocPaso2 = (tipo: number) => {\r\n this.selectTipDocPaso2 = 0;\r\n //jclr\r\n this.usuariosService.listarTipoDocumentoPais(1,tipo).subscribe(data => this.tipDocPaso2 = data.result\r\n //,error => console.log(error)\r\n );\r\n}\r\n\r\n encriptarClave = (dato: string): string => {\r\n return CryptoJS.MD5(dato).toString();\r\n };\r\n\r\n enviarEmailDatosUsuario = (login, prueba, cuerpo, flag) => {\r\n this.usuariosService.enviarEmailDatosUsuario(login, prueba,cuerpo, flag).subscribe(\r\n (data) => {\r\n //console.log(data) \r\n },\r\n (error) => {\r\n //console.log(error)\r\n }\r\n );\r\n };\r\n\r\n demorenat(ruc){\r\n this.usuariosService.servicioRenat(ruc).subscribe(\r\n (data) => {\r\n console.log(data) \r\n },\r\n (error) => {\r\n console.log(error)\r\n }\r\n);\r\n }\r\n registroUsuario = () =>\r\n {\r\n if (!this.isShowPJ){\r\n this.registroUsuarioDatos.tipoRegistro = 1;\r\n this.registroUsuarioDatos.pais = 104;\r\n this.registroUsuarioDatos.tipoDocumento = 120; //RUC\r\n this.registroUsuarioDatos.dRazonSocial = this.datosRegistro.razonSocial;\r\n this.registroUsuarioDatos.pkPJ = this.datosRegistro.pkPJ;\r\n }\r\n else if(!this.isShowPN){\r\n this.registroUsuarioDatos.tipoRegistro = 2;\r\n this.registroUsuarioDatos.pais = 104;\r\n this.registroUsuarioDatos.tipoDocumento = this.selectTipDocPaso2; //DNI\r\n this.registroUsuarioDatos.dRazonSocial = \"\";\r\n this.registroUsuarioDatos.pkPJ = 0;\r\n }\r\n else if(!this.isShowEX){\r\n this.registroUsuarioDatos.tipoRegistro = 3;\r\n this.registroUsuarioDatos.pais = this.selectedPais;\r\n this.registroUsuarioDatos.tipoDocumento = this.selectedTipDocPais;\r\n this.registroUsuarioDatos.dRazonSocial = this.datosRegistro.razonSocial;\r\n this.registroUsuarioDatos.pkPJ = 0;\r\n }\r\n \r\n this.registroUsuarioDatos.uNroDocumento = this.datosRegistro.nroDocumento;\r\n \r\n this.registroUsuarioDatos.dCorreo1 = this.datosRegistro.correo1;\r\n if(this.datosRegistro.correo2 == \"\")\r\n {\r\n this.registroUsuarioDatos.dCorreo2 = null;\r\n }\r\n else\r\n {\r\n this.registroUsuarioDatos.dCorreo2 = this.datosRegistro.correo2;\r\n } \r\n this.registroUsuarioDatos.dTelefono1 = this.datosRegistro.telefono1;\r\n if(this.datosRegistro.correo2 == \"\")\r\n {\r\n this.registroUsuarioDatos.dTelefono2 = null;\r\n }\r\n else\r\n {\r\n this.registroUsuarioDatos.dTelefono2 = this.datosRegistro.telefono2;\r\n }\r\n this.registroUsuarioDatos.clave = this.encriptarClave(this.datosRegistro.clave);\r\n\r\n this.registroUsuarioDatos.tipoDocRepresentante = this.selectTipDocPaso2;\r\n this.registroUsuarioDatos.nroDocRepresentante = this.datosRegistro.nroDocRepresentante;\r\n this.registroUsuarioDatos.nombreRepresentante = this.datosRegistro.nombresRepresentante;\r\n this.registroUsuarioDatos.apPatRepresentante = this.datosRegistro.apPatRepresentante;\r\n this.registroUsuarioDatos.apMatRepresentante = this.datosRegistro.apMatRepresentante;\r\n \r\n this.usuariosService.registroUsuarioServicio(this.registroUsuarioDatos).subscribe(\r\n (data) => {\r\n \r\n if(data.success)\r\n {\r\n var tipMensaje = \"\";\r\n if(!this.isShowPJ)\r\n tipMensaje = \"RUC\";\r\n else if(!this.isShowPN)\r\n {\r\n tipMensaje = \"DNI\";\r\n this.datosRegistro.razonSocial = this.datosRegistro.apPatRepresentante.toUpperCase() + \" \" + this.datosRegistro.apMatRepresentante.toUpperCase() + \" \" + this.datosRegistro.nombresRepresentante.toUpperCase();\r\n }\r\n else if(!this.isShowEX)\r\n tipMensaje = \"Usuario\";\r\n\r\n //var mensaje = \"
ACCESO AL PORTAL DEL ADMINISTRADO DE PROVÍAS NACIONAL
Estimados : \"+this.datosRegistro.razonSocial+\"
Su registro fue generado de forma satisfactoria al PORTAL DE SERVICIOS DE PROVÍAS NACIONAL ahora podrá realizar sus trámites en linea
SUS CREDENCIALES
\"+ tipMensaje +\":
\"+this.datosRegistro.nroDocumento+\"
Contraseña:
\"+this.datosRegistro.clave+\"
ACCEDA AL PORTAL
www.pvn.gob.pe

IMPORTANTE
El usuario y contraseña es personal e intransferible y el uso del mismo será bajo su responsabilidad

CONTACTENOS
  • Central Telefónica 615-7800
\";\r\n //var mensaje = \"
ACCESO AL PORTAL DE SERVICIOS DE PROVÍAS NACIONAL
Estimados : \"+this.datosRegistro.razonSocial+\"
Su registro fue generado de forma satisfactoria al PORTAL DE SERVICIOS DE PROVÍAS NACIONAL ahora podrá realizar sus trámites en línea.
SUS CREDENCIALES
\"+ tipMensaje +\"
\"+this.datosRegistro.nroDocumento+\"
Contraseña
\"+this.datosRegistro.clave+\"
ACCEDA AL PORTAL EN

IMPORTANTE
El usuario y contraseña es personal e intransferible y el uso del mismo será bajo su responsabilidad

CONTACTENOS
Central Telefónica 615-7800
\";\r\n\r\n //this.enviarEmailDatosUsuario(this.datosRegistro.correo1, \"Registro de Usuario PROVÍAS\",mensaje,true);\r\n\r\n this.emailRegistro(tipMensaje,this.datosRegistro.nroDocumento,this.datosRegistro.razonSocial,\"\",this.datosRegistro.correo1,\"Registro de Usuario PROVÍAS\",this.datosRegistro.clave)\r\n\r\n if(this.datosRegistro.correo2 != \"\"){\r\n //this.enviarEmailDatosUsuario(this.datosRegistro.correo2, \"Registro de Usuario PROVÍAS\",mensaje,true);\r\n this.emailRegistro(tipMensaje,this.datosRegistro.nroDocumento,this.datosRegistro.razonSocial,\"\",this.datosRegistro.correo2,\"Registro de Usuario PROVÍAS\",this.datosRegistro.clave)\r\n }\r\n\r\n }\r\n },\r\n (error) => {\r\n //console.log(error)\r\n }\r\n )\r\n }\r\n\r\n textoNumerico = (clave) => {\r\n let hasNumber = /\\d/.test(clave);\r\n //let hasUpper = /[A-Z]/.test(clave);\r\n //let hasLower = /[a-z]/.test(clave);\r\n //let hasSymbol = /[!#$%&'()*+,-./:;<=>?@\\^_`{|}~.]/.test(clave);//--!#$%&'()*+,-./:;<=>?@[\\]^_`{|}~.\r\n //let hasSymbol = /^(?=.*\\d)(?=.*[\\u0021-\\u002b\\u003c-\\u0040])(?=.*[A-Z])(?=.*[a-z])\\S{8,20}$/.test(clave);\r\n // console.log('Num, Upp, Low', hasNumber, hasUpper, hasLower);\r\n const valid = hasNumber; // && hasUpper && hasLower && hasSymbol;\r\n if (!valid) {\r\n // return what´s not valid\r\n return { strong: true };\r\n }\r\n return false;\r\n }\r\n\r\n numberOnly(event): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n numberdown(event){\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if(charCode == 9 || charCode == 13){\r\n this.handleValidarPJ();\r\n }\r\n }\r\n\r\n numberdownDni(event){\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if(charCode == 9 || charCode == 13){\r\n this.handleValidarPN();\r\n }\r\n }\r\n\r\n numberOnlyPaste(event): boolean {\r\n let texto = Array.from(event)\r\n let new_texto = \"\"\r\n texto.forEach(element => {\r\n if(element == \"1\" || element == \"2\" || element == \"3\" || element == \"4\"\r\n || element == \"5\" || element == \"6\" || element == \"7\" || element == \"8\"\r\n || element == \"9\" || element == \"0\"){\r\n new_texto = new_texto + element;\r\n }\r\n });\r\n this.datosRegistro.nroDocRepresentante = new_texto;\r\n return true;\r\n }\r\n\r\n leterOnly(event): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if ((charCode >= 65 && charCode <= 90) || \r\n (charCode >= 97 && charCode <= 122) || charCode == 32 || charCode == 39 || \r\n (charCode >= 128 && charCode <= 154) ||\r\n (charCode >= 160 && charCode <= 165) ||\r\n (charCode >= 181 && charCode <= 183) ||\r\n (charCode >= 198 && charCode <= 199) ||\r\n (charCode >= 209 && charCode <= 216) ||\r\n (charCode >= 224 && charCode <= 229)\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n esEmailValido(email: string):boolean {\r\n let mailValido = false;\r\n 'use strict';\r\n\r\n var EMAIL_REGEX = /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\r\n\r\n if (email.match(EMAIL_REGEX)){\r\n mailValido = true;\r\n }\r\n return mailValido;\r\n }\r\n\r\n setradio(e: string): void {\r\n switch(e) {\r\n case \"PJ\": this.isShowPJ = false;\r\n this.isShowPN = true;\r\n this.isShowEX = true;\r\n this.lblRepresentante = \"REPRESENTANTE\";\r\n break;\r\n case \"PN\": this.isShowPJ = true;\r\n this.isShowPN = false;\r\n this.isShowEX = true;\r\n this.lblRepresentante = \"PERSONA\";\r\n break;\r\n case \"EX\": this.isShowPJ = true;\r\n this.isShowPN = true;\r\n this.isShowEX = false;\r\n this.lblRepresentante = \"REPRESENTANTE\";\r\n break;\r\n }\r\n this.selectedTipoRegistro = e;\r\n }\r\n\r\n handleCerrar = () => {\r\n this.router.navigate(['/login/']);\r\n //location.href = environment.loingUrlPortal;\r\n this.urlPortal \r\n }\r\n\r\n handleCancelar = () => {\r\n //this.router.navigate(['/login/']);\r\n //location.href = environment.loingUrlPortal;\r\n location.href = this.urlPortal \r\n }\r\n\r\n handleVisorP = (type) => {\r\n switch (type) {\r\n case 1: this.isTypeP1bol = !this.isTypeP1bol;\r\n if(this.isTypeP1bol)\r\n {\r\n this.isTypeP1 = \"text\";\r\n }\r\n else\r\n {\r\n this.isTypeP1 = \"password\";\r\n }\r\n break;\r\n case 2: this.isTypeP2bol = !this.isTypeP2bol;\r\n if(this.isTypeP2bol)\r\n {\r\n this.isTypeP2 = \"text\";\r\n }\r\n else\r\n {\r\n this.isTypeP2 = \"password\";\r\n }\r\n break;\r\n }\r\n }\r\n\r\n handleValidarPJ = () => {\r\n //let documentoIdentidad = this.form.get('documentoIdentidad').value;\r\n \r\n if(this.datosRegistro.nroDocumento == \"\")\r\n {\r\n this.toast.error(\"Debe ingresar el RUC\");\r\n }\r\n /*else if(this.rucPJ.value.length < 11)\r\n {\r\n this.toast.error(\"El RUC debe tener 11 caracteres\");\r\n }*/\r\n else{\r\n\r\n \r\n this.usuariosService.servicioSunat(this.datosRegistro.nroDocumento).subscribe(\r\n (response) => {\r\n if (response.success){\r\n if(response.data != null){\r\n this.datosRegistro.razonSocial = response.data.uNombreCompleto.trim();\r\n this.datosRegistro.pkPJ = response.data.pkeIdPersona;\r\n }\r\n else{\r\n this.toast.error(\"RUC no se encuentra registrado\");\r\n }\r\n }\r\n else{\r\n this.toast.error(\"RUC no se encuentra registrado\");\r\n } \r\n },\r\n (error) => {\r\n console.log(error)\r\n }) \r\n }\r\n }\r\n\r\n handleValidarPN = () => {\r\n //let documentoIdentidad = this.form.get('documentoIdentidad').value;\r\n if(this.selectTipDocPaso2 != 2)\r\n {\r\n return;\r\n }\r\n if(this.datosRegistro.nroDocRepresentante == \"\")\r\n {\r\n this.toast.error(\"Debe ingresar el Nro Documento\");\r\n }\r\n else{\r\n this.personaNaturalRequest = {\r\n eIdTipoDocumento: this.selectTipDocPaso2,\r\n uNroDocumento : this.datosRegistro.nroDocRepresentante\r\n }\r\n this.usuariosService.servicioDniPide(this.personaNaturalRequest).subscribe(\r\n (response) => {\r\n if (response.success){\r\n if(response.data != null){\r\n this.datosRegistro.nombresRepresentante = response.data.uNombres.trim();\r\n this.datosRegistro.apPatRepresentante = response.data.uApellidoPaterno.trim();\r\n this.datosRegistro.apMatRepresentante = response.data.uApellidoMaterno.trim();\r\n }\r\n else{\r\n this.toast.error(\"Nro Documento no se encuentra registrado\");\r\n }\r\n }\r\n else{\r\n this.toast.error(\"Nro Documento no se encuentra registrado\");\r\n } \r\n },\r\n (error) => {\r\n console.log(error)\r\n })\r\n \r\n }\r\n }\r\n\r\n handleChangeStepBack = (step) => {\r\n switch (step) {\r\n case 1: this.stepTipoRegistro = \"active\";\r\n this.stepRepresentante = \"\";\r\n this.stepRegistroDatos = \"\";\r\n this.stepClave = \"\";\r\n this.stepConfirmar = \"\"; \r\n this.stepTipoRegistroL = \"\";\r\n this.stepRepresentanteL = \"\";\r\n this.stepRegistroDatosL = \"\";\r\n this.stepClaveL = \"\";\r\n break;\r\n\r\n case 2: this.stepTipoRegistro = \"\"; \r\n this.stepRepresentante = \"active\";\r\n this.stepRegistroDatos = \"\";\r\n this.stepClave = \"\";\r\n this.stepConfirmar = \"\"; \r\n this.stepRepresentanteL = \"\";\r\n this.stepRegistroDatosL = \"\";\r\n this.stepClaveL = \"\";\r\n\r\n //limpiar datos ingresados\r\n this.datosRegistro.telefono2 = \"\";\r\n this.datosRegistro.telefono1 = \"\";\r\n this.datosRegistro.correo1 = \"\";\r\n this.datosRegistro.correo2 = \"\";\r\n this.datosRegistro.clave = \"\";\r\n this.datosRegistro.claveSeg = \"\";\r\n this.datosRegistro.razonSocial = \"\";\r\n this.datosRegistro.nroDocumento = \"\";\r\n this.selectedPais = 0;\r\n this.selectedTipDocPais = 0;\r\n break;\r\n\r\n case 3: this.stepTipoRegistro = \"\"; \r\n this.stepRepresentante = \"\";\r\n this.stepRegistroDatos = \"active\";\r\n this.stepClave = \"\";\r\n this.stepConfirmar = \"\"; \r\n this.stepRegistroDatosL = \"\";\r\n this.stepClaveL = \"\";\r\n\r\n //limpiar datos\r\n this.datosRegistro.clave = \"\";\r\n this.datosRegistro.claveSeg = \"\";\r\n break;\r\n\r\n case 4: this.stepTipoRegistro = \"\";\r\n this.stepRepresentante = \"\";\r\n this.stepRegistroDatos = \"\"\r\n this.stepClave = \"active\"; \r\n this.stepConfirmar = \"\";\r\n this.stepClaveL = \"\"; \r\n break;\r\n }\r\n }\r\n\r\n validarContraseña = (clave) => {\r\n let hasNumber = /\\d/.test(clave);\r\n let hasUpper = /[A-Z]/.test(clave);\r\n let hasLower = /[a-z]/.test(clave);\r\n let hasSymbol = /[!#$%&'()*+,-./:;<=>?@\\^_`{[]|}~.]/.test(clave);//--!#$%&'()*+,-./:;<=>?@[\\]^_`{|}~.\r\n //let hasSymbol = /^(?=.*\\d)(?=.*[\\u0021-\\u002b\\u003c-\\u0040])(?=.*[A-Z])(?=.*[a-z])\\S{8,20}$/.test(clave);\r\n // console.log('Num, Upp, Low', hasNumber, hasUpper, hasLower);\r\n const valid = hasNumber && hasUpper && hasLower && hasSymbol;\r\n if (!valid) {\r\n // return what´s not valid\r\n return { strong: true };\r\n }\r\n return false;\r\n }\r\n\r\n\r\n handleChangeStep = (step) => {\r\n \r\n switch (step) {\r\n case 2: \r\n if(this.selectedTipoRegistro == \"\")\r\n {\r\n this.toast.error(\"Debe de seleccionar una opción\");\r\n }\r\n else\r\n {\r\n let pkTipDoc2 = this.selectTipDocPaso2;\r\n if(!this.isShowPN){\r\n this.listarTipDocPaso2(3);\r\n }\r\n else{\r\n this.listarTipDocPaso2(2);\r\n }\r\n this.selectTipDocPaso2 = pkTipDoc2;\r\n this.stepTipoRegistro = \"\"; \r\n this.stepRepresentante = \"active\";\r\n this.stepRegistroDatos = \"\"; \r\n this.stepClave = \"\";\r\n this.stepConfirmar = \"\"; \r\n this.stepTipoRegistroL = \"active\";\r\n }\r\n break;\r\n\r\n case 3:\r\n if(this.selectTipDocPaso2 == 0)\r\n {\r\n this.toast.error(\"Seleccione Tipo de Documento\");\r\n }\r\n else if(this.datosRegistro.nroDocRepresentante == \"\")\r\n {\r\n this.toast.error(\"Ingrese Nro. de Documento\");\r\n }\r\n else if(this.textoNumerico(this.datosRegistro.nroDocRepresentante))\r\n {\r\n this.toast.error(\"El número de documento solo deben números\");\r\n }\r\n else if(this.datosRegistro.nombresRepresentante == \"\")\r\n {\r\n this.toast.error(\"Registra Nombre\");\r\n }\r\n else if(this.datosRegistro.apPatRepresentante == \"\")\r\n {\r\n this.toast.error(\"Registra Apellido Paterno\");\r\n }\r\n else if(this.datosRegistro.apMatRepresentante == \"\")\r\n {\r\n this.toast.error(\"Registra Apellido Materno\");\r\n }\r\n else\r\n {\r\n if(!this.isShowPN){ \r\n this.datosRegistro.nroDocumento = this.datosRegistro.nroDocRepresentante;\r\n }\r\n this.stepTipoRegistro = \"\"; \r\n this.stepRepresentante = \"\";\r\n this.stepRegistroDatos = \"active\";\r\n this.stepClave = \"\";\r\n this.stepConfirmar = \"\"; \r\n this.stepRepresentanteL = \"active\";\r\n }\r\n break;\r\n case 4: \r\n if(!this.isShowEX){\r\n if(this.selectedPais == 0)\r\n {\r\n this.toast.error(\"Por favor selecciona País\");\r\n break;\r\n }\r\n if(this.selectedTipDocPais == 0)\r\n {\r\n this.toast.error(\"Por favor selecciona Tipo de Documento\");\r\n break;\r\n }\r\n }\r\n\r\n if(this.datosRegistro.nroDocumento == \"\")\r\n {\r\n if(!this.isShowPJ) {\r\n this.toast.error(\"Por favor ingresa el RUC\");\r\n }\r\n else if(!this.isShowPN){\r\n this.toast.error(\"Por favor ingresa el DNI\");\r\n }\r\n else if(!this.isShowEX){\r\n this.toast.error(\"Por favor ingresa Nro. de Documento\");\r\n }\r\n break;\r\n }\r\n else\r\n {\r\n let tipo, pais, tipDocPais\r\n if(!this.isShowPJ){\r\n tipo = 1; pais = 104; tipDocPais = 120;\r\n }\r\n else if(!this.isShowPN){\r\n tipo = 2; pais = 104; tipDocPais = this.selectTipDocPaso2;\r\n }\r\n else if(!this.isShowEX){\r\n tipo = 3; pais = this.selectedPais; tipDocPais = this.selectedTipDocPais;\r\n }\r\n this.usuariosService.validarUsuario(tipo, tipDocPais, pais, this.datosRegistro.nroDocumento).subscribe((response) => {\r\n console.log(response)\r\n if(response.rptTipo == 0){ \r\n this.toast.error(response.rptMsg);\r\n }\r\n else{\r\n this.datosRegistro.TipoDocumento = response.cTipoDocumento;\r\n if(!this.isShowPJ) { \r\n if(this.datosRegistro.razonSocial == \"\")\r\n {\r\n this.toast.error(\"Por favor verifique el Nro de Documento ingresado\"); //preguntar mensaje\r\n //this.toast.error(\"NO está registrado como representante legal en el RENAT. No es posible continuar.\");\r\n }\r\n else{\r\n if(this.datosRegistro.correo1 == \"\")\r\n {\r\n this.toast.error(\"Por favor ingresa mínimo un Email\");\r\n }\r\n else if(!this.esEmailValido(this.datosRegistro.correo1))\r\n {\r\n this.toast.error(\"Por favor ingresa un Email válido\");\r\n }\r\n else if(this.datosRegistro.telefono1 == \"\")\r\n {\r\n this.toast.error(\"Por favor ingresa mínimo un número de Celular\");\r\n }\r\n else\r\n {\r\n if(this.datosRegistro.correo2 != \"\" && !this.esEmailValido(this.datosRegistro.correo2))\r\n {\r\n this.toast.error(\"Por favor ingresa un Email 2 válido\");\r\n }\r\n else\r\n {\r\n this.datosRegistro.resumenCorreo = this.datosRegistro.correo1;\r\n if(this.datosRegistro.correo2 != \"\")\r\n {\r\n this.datosRegistro.resumenCorreo = this.datosRegistro.correo1 + \"; \" + this.datosRegistro.correo2;\r\n }\r\n this.datosRegistro.resumenTelefono = this.datosRegistro.telefono1;\r\n if(this.datosRegistro.telefono2 != \"\")\r\n {\r\n this.datosRegistro.resumenTelefono = this.datosRegistro.telefono1 + \"; \" + this.datosRegistro.telefono2;\r\n }\r\n this.stepTipoRegistro = \"\";\r\n this.stepRepresentante = \"\"; \r\n this.stepRegistroDatos = \"\";\r\n this.stepClave = \"active\"; \r\n this.stepConfirmar = \"\";\r\n this.stepRegistroDatosL = \"active\";\r\n \r\n this.isShowModalDatos = !this.isShowModalDatos; \r\n }\r\n }\r\n }\r\n }\r\n else if(!this.isShowEX){\r\n if(this.datosRegistro.razonSocial == \"\")\r\n {\r\n this.toast.error(\"Por favor ingresa Razón Social\");\r\n }\r\n else{\r\n if(this.datosRegistro.correo1 == \"\")\r\n {\r\n this.toast.error(\"Por favor ingresa mínimo un Email\");\r\n }\r\n else if(!this.esEmailValido(this.datosRegistro.correo1))\r\n {\r\n this.toast.error(\"Por favor ingresa un Email válido\");\r\n }\r\n else if(this.datosRegistro.telefono1 == \"\")\r\n {\r\n this.toast.error(\"Por favor ingresa mínimo un número de Celular\");\r\n }\r\n else\r\n {\r\n if(this.datosRegistro.correo2 != \"\" && !this.esEmailValido(this.datosRegistro.correo2))\r\n {\r\n this.toast.error(\"Por favor ingresa un Email 2 válido\");\r\n }\r\n else\r\n {\r\n this.datosRegistro.resumenCorreo = this.datosRegistro.correo1;\r\n if(this.datosRegistro.correo2 != \"\")\r\n {\r\n this.datosRegistro.resumenCorreo = this.datosRegistro.correo1 + \"; \" + this.datosRegistro.correo2;\r\n }\r\n this.datosRegistro.resumenTelefono = this.datosRegistro.telefono1;\r\n if(this.datosRegistro.telefono2 != \"\")\r\n {\r\n this.datosRegistro.resumenTelefono = this.datosRegistro.telefono1 + \"; \" + this.datosRegistro.telefono2;\r\n }\r\n this.stepTipoRegistro = \"\";\r\n this.stepRepresentante = \"\"; \r\n this.stepRegistroDatos = \"\";\r\n this.stepClave = \"active\"; \r\n this.stepConfirmar = \"\";\r\n this.stepRegistroDatosL = \"active\";\r\n \r\n this.isShowModalDatos = !this.isShowModalDatos; \r\n }\r\n }\r\n }\r\n }\r\n else if(!this.isShowPN){\r\n if(this.datosRegistro.correo1 == \"\")\r\n {\r\n this.toast.error(\"Por favor ingresa mínimo un Email\");\r\n }\r\n else if(!this.esEmailValido(this.datosRegistro.correo1))\r\n {\r\n this.toast.error(\"Por favor ingresa un Email válido\");\r\n }\r\n else if(this.datosRegistro.telefono1 == \"\")\r\n {\r\n this.toast.error(\"Por favor ingresa mínimo un número de Celular\");\r\n }\r\n else\r\n {\r\n if(this.datosRegistro.correo2 != \"\" && !this.esEmailValido(this.datosRegistro.correo2))\r\n {\r\n this.toast.error(\"Por favor ingresa un Email 2 válido\");\r\n }\r\n else\r\n {\r\n this.datosRegistro.resumenCorreo = this.datosRegistro.correo1;\r\n if(this.datosRegistro.correo2 != \"\")\r\n {\r\n this.datosRegistro.resumenCorreo = this.datosRegistro.correo1 + \"; \" + this.datosRegistro.correo2;\r\n }\r\n this.datosRegistro.resumenTelefono = this.datosRegistro.telefono1;\r\n if(this.datosRegistro.telefono2 != \"\")\r\n {\r\n this.datosRegistro.resumenTelefono = this.datosRegistro.telefono1 + \"; \" + this.datosRegistro.telefono2;\r\n }\r\n this.stepTipoRegistro = \"\";\r\n this.stepRepresentante = \"\"; \r\n this.stepRegistroDatos = \"\";\r\n this.stepClave = \"active\"; \r\n this.stepConfirmar = \"\";\r\n this.stepRegistroDatosL = \"active\";\r\n \r\n this.isShowModalDatos = !this.isShowModalDatos; \r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n break;\r\n\r\n case 5: if(this.datosRegistro.clave == \"\")\r\n {\r\n this.toast.error(\"Por favor ingresa contraseña\");\r\n }\r\n else if(this.datosRegistro.claveSeg == \"\")\r\n {\r\n this.toast.error(\"Por favor repita la contraseña\");\r\n }\r\n else if(this.datosRegistro.clave != this.datosRegistro.claveSeg)\r\n {\r\n this.toast.error(\"Por favor ingresa la misma contraseña\");\r\n }\r\n else if(this.datosRegistro.clave.length < 8)\r\n {\r\n this.toast.error(\"Por favor la contraseña debe tener mínimo 8 caracteres\");\r\n }\r\n else if(this.validarContraseña(this.datosRegistro.clave))\r\n {\r\n this.toast.error(\"Contraseña inválida\");\r\n }\r\n else\r\n {\r\n this.stepRegistroDatos = \"\";\r\n this.stepRepresentante = \"\";\r\n this.stepTipoRegistro = \"\"; \r\n this.stepClave = \"\"; \r\n this.stepConfirmar = \"active\";\r\n this.stepClaveL = \"active\"; \r\n //console.log(this.datosRegistro);\r\n }\r\n break;\r\n }\r\n } \r\n\r\n finalizar = () => {\r\n if(!this.chkCPDP)\r\n {\r\n this.toast.error(\"Para poder finalizar debes leer y aceptar la Cláusula de Protección de Datos Personales\");\r\n }\r\n else if(!this.chkTC)\r\n {\r\n this.toast.error(\"Para poder finalizar debes leer y aceptar los Términos y Condiciones\");\r\n }\r\n else{\r\n this.isShowFin = !this.isShowFin;\r\n this.isShowProceso = ! this.isShowProceso;\r\n this.registroUsuario();\r\n }\r\n }\r\n downloadPdf = () => {\r\n /*const pdfUrl = './assets/archivos/TerminosCondiciones.pdf';\r\n const pdfName = 'TerminosCondiciones';\r\n FileSaver.open(pdfUrl);*/\r\n }\r\n\r\n checkTC = () => {\r\n this.isShowModalTC = !this.isShowModalTC;\r\n this.isDisabledTC = false;\r\n }\r\n \r\n checkCPDP = () => {\r\n this.isShowModalTC = !this.isShowModalTC;\r\n this.isShowModalCPDP = !this.isShowModalCPDP;\r\n this.isDisabledCPDP = false;\r\n }\r\n \r\n emailRegistro(tipodoc, nrodoc, usuario, codigo, email, titulo, pass){\r\n this.datosEmail = {\r\n empresa: usuario,\r\n tipdoc: tipodoc,\r\n usuario: nrodoc,\r\n clave: pass,\r\n correo: email,\r\n link: environment.loingUrlPortal,\r\n codverifica: \"\",\r\n asunto: titulo\r\n }\r\n \r\n this.usuariosService.emailRegistro(this.datosEmail).subscribe(\r\n (data) => {\r\n //console.log(data) \r\n },\r\n (error) => {\r\n //console.log(error)\r\n }\r\n )\r\n }\r\n \r\n}\r\n","export default \"#spinner {\\n -webkit-animation: frames 1s infinite linear;\\n animation: frames 1s infinite linear;\\n background: transparent;\\n border: 1.75vw solid #FFF;\\n border-radius: 100%;\\n border-top-color: #e12836;\\n width: 20vw;\\n height: 20vw;\\n opacity: .6;\\n padding: 0;\\n position: absolute;\\n z-index: 999; }\\n\\n@-webkit-keyframes frames {\\n 0% {\\n transform: rotate(0deg); }\\n 100% {\\n transform: rotate(359deg); } }\\n\\n@keyframes frames {\\n 0% {\\n transform: rotate(0deg); }\\n 100% {\\n transform: rotate(359deg); } }\\n\\n#pause {\\n display: block;\\n background: rgba(0, 0, 0, 0.66) no-repeat 0 0;\\n width: 100%;\\n height: 100%;\\n position: fixed;\\n bottom: 0;\\n left: 0;\\n z-index: 1000; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvaG9tZS9jb21wb25lbnRzL2xvZ2luL0Q6XFx0ZnMyMDIzXFxTSUdPXFwyLkZyb250RW5kXFxTc28uQ2xpZW50L3NyY1xcYXBwXFxwYWdlc1xcaG9tZVxcY29tcG9uZW50c1xcbG9naW5cXGxvYWRpbmcuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTtFQUNDLDRDQUE0QztFQUM1QyxvQ0FBb0M7RUFDcEMsdUJBQXVCO0VBQ3ZCLHlCQUF5QjtFQUN6QixtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLFdBQVc7RUFDWCxZQUFZO0VBQ1osV0FBVztFQUNYLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsWUFBWSxFQUFBOztBQUViO0VBQ0U7SUFFRCx1QkFBdUIsRUFBQTtFQUV0QjtJQUVELHlCQUF5QixFQUFBLEVBQUE7O0FBUDFCO0VBQ0U7SUFFRCx1QkFBdUIsRUFBQTtFQUV0QjtJQUVELHlCQUF5QixFQUFBLEVBQUE7O0FBSTFCO0VBQ0MsY0FBYztFQUNkLDZDQUdJO0VBQ0osV0FBVztFQUNYLFlBQVk7RUFDWixlQUFlO0VBQ2YsU0FBUztFQUNULE9BQU87RUFDUCxhQUFhLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9ob21lL2NvbXBvbmVudHMvbG9naW4vbG9hZGluZy5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG5cclxuI3NwaW5uZXIge1xyXG5cdC13ZWJraXQtYW5pbWF0aW9uOiBmcmFtZXMgMXMgaW5maW5pdGUgbGluZWFyO1xyXG5cdGFuaW1hdGlvbjogZnJhbWVzIDFzIGluZmluaXRlIGxpbmVhcjtcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRib3JkZXI6IDEuNzV2dyBzb2xpZCAjRkZGO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0Ym9yZGVyLXRvcC1jb2xvcjogI2UxMjgzNjtcclxuXHR3aWR0aDogMjB2dztcclxuXHRoZWlnaHQ6IDIwdnc7XHJcblx0b3BhY2l0eTogLjY7XHJcblx0cGFkZGluZzogMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ei1pbmRleDogOTk5O1xyXG59XHJcbkBrZXlmcmFtZXMgZnJhbWVzIHtcclxuICAwJSB7XHJcblx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuXHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcblx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG5cdHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4jcGF1c2Uge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGJhY2tncm91bmQ6XHJcblx0XHRyZ2JhKDAsIDAsIDAsIDAuNjYpXHJcblx0XHRuby1yZXBlYXRcclxuXHRcdDAgMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcbn1cclxuIl19 */\"","\r\nimport { Component, OnDestroy } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'loading',\r\n\ttemplate: `\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
`,\r\n\tstyleUrls: ['loading.scss']\r\n})\r\n\r\nexport class LoadingComponent {\r\n\r\n}\r\n","export default \"/* Login */\\n@-webkit-keyframes spinner {\\n to {\\n transform: rotate(360deg); } }\\n@keyframes spinner {\\n to {\\n transform: rotate(360deg); } }\\n.spinner:before {\\n content: \\\"\\\";\\n box-sizing: border-box;\\n position: absolute;\\n width: 20px;\\n height: 20px;\\n margin-top: 5px;\\n margin-left: 10px;\\n border-radius: 50%;\\n border: 2px solid #ffffff;\\n border-top-color: #000000;\\n -webkit-animation: spinner 0.8s linear infinite;\\n animation: spinner 0.8s linear infinite; }\\n/*::::::::*/\\n.button--is-eye {\\n border: none;\\n background: none; }\\n.button--is-create {\\n background: #334859;\\n padding: 10px 20px;\\n border-radius: 10px;\\n color: white; }\\n/* cyrillic-ext */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 100;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\\r U+FE2E-FE2F; }\\n/* cyrillic */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 100;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n/* vietnamese */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 100;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,\\r U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,\\r U+1EA0-1EF9, U+20AB; }\\n/* latin-ext */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 100;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,\\r U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n/* latin */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 100;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,\\r U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,\\r U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n/* cyrillic-ext */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 200;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\\r U+FE2E-FE2F; }\\n/* cyrillic */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 200;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n/* vietnamese */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 200;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,\\r U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,\\r U+1EA0-1EF9, U+20AB; }\\n/* latin-ext */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 200;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,\\r U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n/* latin */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 200;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,\\r U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,\\r U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n/* cyrillic-ext */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 300;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\\r U+FE2E-FE2F; }\\n/* cyrillic */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 300;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n/* vietnamese */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 300;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,\\r U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,\\r U+1EA0-1EF9, U+20AB; }\\n/* latin-ext */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 300;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,\\r U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n/* latin */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 300;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,\\r U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,\\r U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n/* cyrillic-ext */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 400;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F,\\r U+FE2E-FE2F; }\\n/* cyrillic */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 400;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }\\n/* vietnamese */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 400;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,\\r U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329,\\r U+1EA0-1EF9, U+20AB; }\\n/* latin-ext */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 400;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF,\\r U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }\\n/* latin */\\n@font-face {\\n font-family: \\\"Montserrat\\\";\\n font-style: normal;\\n font-weight: 400;\\n src: url(https://fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format(\\\"woff2\\\");\\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,\\r U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191,\\r U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }\\n::-moz-selection {\\n background: rgba(255, 255, 255, 0.5);\\n color: #333; }\\n::selection {\\n background: rgba(255, 255, 255, 0.5);\\n color: #333; }\\n::-moz-selection {\\n background: rgba(0, 0, 0, 0.5);\\n color: red; }\\n.mobile-screen {\\n border-radius: 5px;\\n position: absolute;\\n margin: auto;\\n top: 0;\\n bottom: 0;\\n right: 10%;\\n width: 350px;\\n height: 544px;\\n overflow: hidden; }\\n.header {\\n position: relative;\\n margin: 0;\\n padding: 0;\\n width: 100%;\\n height: auto;\\n background: rgba(3, 3, 3, 0.1); }\\nh1 {\\n margin: 0;\\n padding: 10px 0;\\n text-align: center;\\n font-weight: 300;\\n font-size: 21px;\\n color: rgba(255, 255, 255, 0.5); }\\nh2 {\\n margin: 0;\\n padding: 10px 0;\\n text-align: center;\\n font-weight: 200;\\n font-size: 21px;\\n color: rgba(255, 255, 255, 0.5); }\\nh3 {\\n margin: 0;\\n padding: 10px 0;\\n text-align: center;\\n font-weight: 100;\\n font-size: 21px !important;\\n color: rgba(255, 255, 255, 0.5); }\\n.logo {\\n position: relative;\\n top: 0px;\\n width: 150px;\\n height: 150px;\\n margin: auto;\\n background-size: cover;\\n transition: all 0.2s ease-in-out;\\n border-radius: 50%; }\\nform {\\n position: absolute;\\n bottom: 30px;\\n width: 100%; }\\ninput,\\n.login-btn {\\n font-family: \\\"Montserrat\\\", sans-serif !important;\\n position: relative;\\n display: block;\\n border-radius: 10px;\\n margin: 20px auto;\\n padding: 5px;\\n width: 84%; }\\ninput {\\n border-radius: 20px !important;\\n font-family: \\\"Montserrat\\\", sans-serif !important;\\n color: rgba(0, 0, 0, 0.7) !important;\\n font-weight: 300 !important;\\n font-size: 18px !important;\\n transition: all 0.2s ease-in-out !important;\\n background: rgba(255, 255, 255, 0.8);\\n border-color: #ffffff;\\n border-width: initial;\\n border-style: solid; }\\n::-webkit-input-placeholder {\\n color: rgba(0, 0, 0, 0.7) !important;\\n font-family: \\\"Montserrat\\\", sans-serif !important;\\n font-size: 14px !important;\\n font-weight: 400 !important; }\\n::-moz-placeholder {\\n color: rgba(0, 0, 0, 0.7) !important;\\n font-family: \\\"Montserrat\\\", sans-serif !important;\\n font-size: 14px !important;\\n font-weight: 400 !important; }\\n:-ms-input-placeholder {\\n color: rgba(0, 0, 0, 0.7) !important;\\n font-family: \\\"Montserrat\\\", sans-serif !important;\\n font-size: 14px !important;\\n font-weight: 400 !important; }\\n::-ms-input-placeholder {\\n color: rgba(0, 0, 0, 0.7) !important;\\n font-family: \\\"Montserrat\\\", sans-serif !important;\\n font-size: 14px !important;\\n font-weight: 400 !important; }\\n::placeholder {\\n color: rgba(0, 0, 0, 0.7) !important;\\n font-family: \\\"Montserrat\\\", sans-serif !important;\\n font-size: 14px !important;\\n font-weight: 400 !important; }\\ninput:focus {\\n outline: 0 !important;\\n /* background: rgba(225, 40, 54,.2) !important;*/\\n border-radius: 20px !important;\\n border-color: transparent !important;\\n font-family: \\\"Montserrat\\\", sans-serif !important; }\\na {\\n text-decoration: none; }\\n.login-btn {\\n text-align: center;\\n background: #e12836;\\n color: #fff !important;\\n font-family: \\\"Montserrat\\\", sans-serif !important;\\n overflow-x: overlay; }\\n.other-options {\\n position: absolute;\\n width: 100%;\\n height: 30px;\\n bottom: 60px;\\n left: 0; }\\n.option {\\n position: relative;\\n display: block;\\n float: right;\\n width: 45%;\\n margin: auto;\\n box-sizing: border-box;\\n -moz-box-sizing: border-box;\\n -webkit-box-sizing: border-box;\\n background: #092a4d;\\n border-left: 2px solid #e12836;\\n cursor: pointer; }\\n.option:first-child {\\n float: right;\\n left: 3.3%; }\\n.option:last-child {\\n margin-right: 3.3%; }\\n.option-text {\\n position: relative;\\n margin: 0;\\n line-height: 30px;\\n color: #ffffff;\\n font-family: \\\"Montserrat\\\", sans-serif !important;\\n text-align: center;\\n font-size: 12px;\\n font-weight: bold; }\\n#fpass-form,\\n#registration-form {\\n display: none; }\\n/* Change colors container */\\n.change-colors-container {\\n position: absolute;\\n height: 300px;\\n width: 50px;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n margin: auto;\\n /* background: rgba(255,255,255,.5);*/ }\\n@media (max-width: 560px) {\\n .login_logo {\\n display: none; } }\\n.captha_numbers a {\\n text-align: center;\\n font-size: 20px;\\n border: 1px solid #d82534;\\n border-radius: 6px;\\n color: #fff;\\n padding: 4px;\\n text-decoration: none;\\n margin: 3px;\\n background-color: #d82534; }\\n.captha_numbers a.active {\\n background-color: white;\\n color: #000000;\\n border: 1px solid #ffffff; }\\n/* */\\n.button-reload {\\n background-color: #e12836; }\\n.button-reload .icon {\\n width: 20px;\\n height: 20px;\\n transition: all 0.4s ease-in-out; }\\n.button-reload:hover .icon {\\n transform: rotate(360deg) scale(1.2); }\\n/* */\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvaG9tZS9jb21wb25lbnRzL2xvZ2luL0Q6XFx0ZnMyMDIzXFxTSUdPXFwyLkZyb250RW5kXFxTc28uQ2xpZW50L3NyY1xcYXBwXFxwYWdlc1xcaG9tZVxcY29tcG9uZW50c1xcbG9naW5cXGxvZ2luLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9wYWdlcy9ob21lL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBQTtBQUNBO0VBQ0U7SUFDRSx5QkFBeUIsRUFBQSxFQUFBO0FBRjdCO0VBQ0U7SUFDRSx5QkFBeUIsRUFBQSxFQUFBO0FBSTdCO0VBQ0UsV0FBVztFQUNYLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFlBQVk7RUFDWixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQix5QkFBeUI7RUFDekIseUJBQXlCO0VBQ3pCLCtDQUF1QztVQUF2Qyx1Q0FBdUMsRUFBQTtBQUV6QyxXQUFBO0FBRUE7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCLEVBQUE7QUFHbEI7RUFDRSxtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixZQUFZLEVBQUE7QUFFZCxpQkFBQTtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsdUdBQ2lCO0VBQ2pCLHVGQ0hVLEVBQUU7QURPZCxhQUFVO0FDSlY7RURNRSx5QkFBa0I7RUFDbEIsa0JBQWdCO0VBQ2hCLGdCQUFLO0VBRUwsdUdBQW9FO0VDTHBFLG9FQUFvRSxFQUFFO0FEUXhFLGVBQVU7QUNMVjtFRE9FLHlCQUFrQjtFQUNsQixrQkFBZ0I7RUFDaEIsZ0JBQUs7RUFFTCx1R0FBZTtFQ05mLHlLRFdRLEVBQUE7QUNQVixjRFNjO0FDUmQ7RURVRSx5QkFBSztFQUVMLGtCQUFlO0VDVGYsZ0JBQWdCO0VEWWxCLHVHQUFXO0VBQ1gsaUpBQzJC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RWIsWUFBYTtFQUNYLFlBQVU7RUFDVixPQUFNLEVBQUc7QUM5RFg7RURpRUUsa0JBQWE7RUFDYixjQUFZO0VBQ1osWUFBVztFQUNYLFVBQUE7RUMvREEsWUFBWTtFRGtFZCxzQkFBVztFQUNYLDJCQUFtQjtFQUNqQiw4QkFDRDtFQ2pFQyxtQkFBbUI7RURtRXJCLDhCQUE2QjtFQUM3QixlQUFBLEVBQUE7QUNoRUE7RURtRUUsWUFBVztFQUNYLFVBQU8sRUFBQTtBQ2hFVDtFRG1FRSxrQkFBWSxFQUFBO0FDaEVkO0VEb0VBLGtCQUFtQjtFQUNqQixTQUFBO0VDbEVBLGlCRG1FZTtFQ2xFZixjQUFjO0VEc0VoQixnREFBa0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixpQkFBUSxFQUFBO0FDbkVWOztFRHVFRSxhQUFXLEVBQUE7QUNuRWIsNEJEcUV1QjtBQ3BFdkI7RURzRUUsa0JBQWtCO0VDcEVsQixhQUFhO0VEdUVmLFdBQUE7RUFDRSxPQUFBO0VBQ0EsTUFBSztFQUNMLFNBQVE7RUNyRVIsWUFBWTtFRHdFZCx1Q0FBSyxFQUFBO0FDckVMO0VBQ0U7SUR3RUYsYUFBZSxFQUFBLEVBQU07QUNyRXJCO0VEd0VFLGtCQUFZO0VDdEVaLGVBQWU7RUR3RWpCLHlCQUEyQjtFQU8zQixrQkFBSztFQzFFSCxXQUFXO0VBQ1gsWUFBWTtFQUNaLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gseUJBQXlCLEVBQUU7QUFFN0I7RUFDRSx1QkFBdUI7RUFDdkIsY0FBYztFQUNkLHlCQUF5QixFQUFFO0FBRTdCLElBQUk7QUFDSjtFQUNFLHlCQUF5QixFQUFFO0FBRTdCO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixnQ0FBZ0MsRUFBRTtBQUVwQztFQUNFLG9DQUFvQyxFQUFFO0FBRXhDLElBQUkiLCJmaWxlIjoic3JjL2FwcC9wYWdlcy9ob21lL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBMb2dpbiAqL1xyXG5Aa2V5ZnJhbWVzIHNwaW5uZXIge1xyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4uc3Bpbm5lcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbiAgaGVpZ2h0OiAyMHB4O1xyXG4gIG1hcmdpbi10b3A6IDVweDtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcclxuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwMDAwO1xyXG4gIGFuaW1hdGlvbjogc3Bpbm5lciAwLjhzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG4vKjo6Ojo6Ojo6Ki9cclxuXHJcbi5idXR0b24tLWlzLWV5ZSB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuXHJcbi5idXR0b24tLWlzLWNyZWF0ZSB7XHJcbiAgYmFja2dyb3VuZDogIzMzNDg1OTtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICBjb2xvcjogd2hpdGU7XHJcbn1cclxuLyogY3lyaWxsaWMtZXh0ICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1JoeXpiaS53b2ZmMilcclxuICAgIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4OCwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsXHJcbiAgICBVK0ZFMkUtRkUyRjtcclxufVxyXG4vKiBjeXJpbGxpYyAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVcxaHl6Ymkud29mZjIpXHJcbiAgICBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjtcclxufVxyXG4vKiB2aWV0bmFtZXNlICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1poeXpiaS53b2ZmMilcclxuICAgIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSxcclxuICAgIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSxcclxuICAgIFUrMUVBMC0xRUY5LCBVKzIwQUI7XHJcbn1cclxuLyogbGF0aW4tZXh0ICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2RoeXpiaS53b2ZmMilcclxuICAgIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkFGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsXHJcbiAgICBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XHJcbn1cclxuLyogbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogMTAwO1xyXG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXbGh5dy53b2ZmMilcclxuICAgIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsXHJcbiAgICBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsXHJcbiAgICBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDtcclxufVxyXG4vKiBjeXJpbGxpYy1leHQgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogMjAwO1xyXG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXUmh5emJpLndvZmYyKVxyXG4gICAgZm9ybWF0KFwid29mZjJcIik7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzg4LCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RixcclxuICAgIFUrRkUyRS1GRTJGO1xyXG59XHJcbi8qIGN5cmlsbGljICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDIwMDtcclxuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5VzFoeXpiaS53b2ZmMilcclxuICAgIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2O1xyXG59XHJcbi8qIHZpZXRuYW1lc2UgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogMjAwO1xyXG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXWmh5emJpLndvZmYyKVxyXG4gICAgZm9ybWF0KFwid29mZjJcIik7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLFxyXG4gICAgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LFxyXG4gICAgVSsxRUEwLTFFRjksIFUrMjBBQjtcclxufVxyXG4vKiBsYXRpbi1leHQgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogMjAwO1xyXG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXZGh5emJpLndvZmYyKVxyXG4gICAgZm9ybWF0KFwid29mZjJcIik7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQUYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRixcclxuICAgIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjtcclxufVxyXG4vKiBsYXRpbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiAyMDA7XHJcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdsaHl3LndvZmYyKVxyXG4gICAgZm9ybWF0KFwid29mZjJcIik7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSxcclxuICAgIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSxcclxuICAgIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEO1xyXG59XHJcbi8qIGN5cmlsbGljLWV4dCAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdSaHl6Ymkud29mZjIpXHJcbiAgICBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDODgsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLFxyXG4gICAgVStGRTJFLUZFMkY7XHJcbn1cclxuLyogY3lyaWxsaWMgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXMWh5emJpLndvZmYyKVxyXG4gICAgZm9ybWF0KFwid29mZjJcIik7XHJcbiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7XHJcbn1cclxuLyogdmlldG5hbWVzZSAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdaaHl6Ymkud29mZjIpXHJcbiAgICBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsXHJcbiAgICBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksXHJcbiAgICBVKzFFQTAtMUVGOSwgVSsyMEFCO1xyXG59XHJcbi8qIGxhdGluLWV4dCAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdkaHl6Ymkud29mZjIpXHJcbiAgICBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJBRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLFxyXG4gICAgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGO1xyXG59XHJcbi8qIGxhdGluICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2xoeXcud29mZjIpXHJcbiAgICBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLFxyXG4gICAgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLFxyXG4gICAgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XHJcbn1cclxuLyogY3lyaWxsaWMtZXh0ICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1JoeXpiaS53b2ZmMilcclxuICAgIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4OCwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsXHJcbiAgICBVK0ZFMkUtRkUyRjtcclxufVxyXG4vKiBjeXJpbGxpYyAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVcxaHl6Ymkud29mZjIpXHJcbiAgICBmb3JtYXQoXCJ3b2ZmMlwiKTtcclxuICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjtcclxufVxyXG4vKiB2aWV0bmFtZXNlICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V1poeXpiaS53b2ZmMilcclxuICAgIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSxcclxuICAgIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSxcclxuICAgIFUrMUVBMC0xRUY5LCBVKzIwQUI7XHJcbn1cclxuLyogbGF0aW4tZXh0ICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5V2RoeXpiaS53b2ZmMilcclxuICAgIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkFGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsXHJcbiAgICBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XHJcbn1cclxuLyogbGF0aW4gKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXbGh5dy53b2ZmMilcclxuICAgIGZvcm1hdChcIndvZmYyXCIpO1xyXG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsXHJcbiAgICBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsXHJcbiAgICBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDtcclxufVxyXG5cclxuQGltcG9ydCBcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Eb3Npc3xSb2JvdG86MzAwLDQwMFwiO1xyXG46OnNlbGVjdGlvbiB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG4gIGNvbG9yOiAjMzMzO1xyXG59XHJcblxyXG46Oi1tb3otc2VsZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgY29sb3I6IHJlZDtcclxufVxyXG5cclxuLm1vYmlsZS1zY3JlZW4ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcmlnaHQ6IDEwJTtcclxuICB3aWR0aDogMzUwcHg7XHJcbiAgaGVpZ2h0OiA1NDRweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaGVhZGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMywgMywgMywgMC4xKTtcclxufVxyXG5cclxuaDEge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgZm9udC1zaXplOiAyMXB4O1xyXG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbn1cclxuXHJcbmgyIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMTBweCAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXdlaWdodDogMjAwO1xyXG4gIGZvbnQtc2l6ZTogMjFweDtcclxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG59XHJcbmgzIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMTBweCAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXdlaWdodDogMTAwO1xyXG4gIGZvbnQtc2l6ZTogMjFweCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbn1cclxuXHJcbi5sb2dvIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAwcHg7XHJcbiAgd2lkdGg6IDE1MHB4O1xyXG4gIGhlaWdodDogMTUwcHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcbmZvcm0ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDMwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbmlucHV0LFxyXG4ubG9naW4tYnRuIHtcclxuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICBtYXJnaW46IDIwcHggYXV0bztcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgd2lkdGg6IDg0JTtcclxufVxyXG5pbnB1dCB7XHJcbiAgYm9yZGVyLXJhZGl1czogMjBweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNykgIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xyXG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcclxuICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xyXG4gIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcclxuICBib3JkZXItd2lkdGg6IGluaXRpYWw7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxufVxyXG46OnBsYWNlaG9sZGVyIHtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xyXG59XHJcbmlucHV0OmZvY3VzIHtcclxuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XHJcbiAgLyogIGJhY2tncm91bmQ6IHJnYmEoMjI1LCA0MCwgNTQsLjIpICFpbXBvcnRhbnQ7Ki9cclxuICBib3JkZXItcmFkaXVzOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5hIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5sb2dpbi1idG4ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kOiByZ2IoMjI1LCA0MCwgNTQpO1xyXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbiAgb3ZlcmZsb3cteDogb3ZlcmxheTtcclxufVxyXG5cclxuLm90aGVyLW9wdGlvbnMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbiAgYm90dG9tOiA2MHB4O1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5vcHRpb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgd2lkdGg6IDQ1JTtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoOSwgNDIsIDc3LCAxKTtcclxuICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYigyMjUsIDQwLCA1NCk7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ub3B0aW9uOmZpcnN0LWNoaWxkIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgbGVmdDogMy4zJTtcclxufVxyXG5cclxuLm9wdGlvbjpsYXN0LWNoaWxkIHtcclxuICBtYXJnaW4tcmlnaHQ6IDMuMyU7XHJcbn1cclxuXHJcbi5vcHRpb24tdGV4dCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMDtcclxuICBsaW5lLWhlaWdodDogMzBweDtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4jZnBhc3MtZm9ybSxcclxuI3JlZ2lzdHJhdGlvbi1mb3JtIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBDaGFuZ2UgY29sb3JzIGNvbnRhaW5lciAqL1xyXG4uY2hhbmdlLWNvbG9ycy1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IDMwMHB4O1xyXG4gIHdpZHRoOiA1MHB4O1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBtYXJnaW46IGF1dG87XHJcbiAgLyogICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC41KTsqL1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHtcclxuICAubG9naW5fbG9nbyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmNhcHRoYV9udW1iZXJzIGEge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q4MjUzNDtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDZweDtcclxuICAtbW96LWJvcmRlci1yYWRpdXM6IDZweDtcclxuICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgcGFkZGluZzogNHB4O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBtYXJnaW46IDNweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDgyNTM0O1xyXG59XHJcblxyXG4uY2FwdGhhX251bWJlcnMgYS5hY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIGNvbG9yOiAjMDAwMDAwO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XHJcbn1cclxuXHJcbi8qICovXHJcbi5idXR0b24tcmVsb2FkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTEyODM2O1xyXG59XHJcbi5idXR0b24tcmVsb2FkIC5pY29uIHtcclxuICB3aWR0aDogMjBweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLmJ1dHRvbi1yZWxvYWQ6aG92ZXIgLmljb24ge1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgc2NhbGUoMS4yKTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLyogKi8iLCIvKiBMb2dpbiAqL1xuQGltcG9ydCBodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RG9zaXN8Um9ib3RvOjMwMCw0MDA7XG5Aa2V5ZnJhbWVzIHNwaW5uZXIge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi5zcGlubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwMDAwO1xuICBhbmltYXRpb246IHNwaW5uZXIgMC44cyBsaW5lYXIgaW5maW5pdGU7IH1cblxuLyo6Ojo6Ojo6OiovXG4uYnV0dG9uLS1pcy1leWUge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmJ1dHRvbi0taXMtY3JlYXRlIHtcbiAgYmFja2dyb3VuZDogIzMzNDg1OTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBjb2xvcjogd2hpdGU7IH1cblxuLyogY3lyaWxsaWMtZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXUmh5emJpLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzg4LCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RixcciBVK0ZFMkUtRkUyRjsgfVxuXG4vKiBjeXJpbGxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMTAwO1xuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5VzFoeXpiaS53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2OyB9XG5cbi8qIHZpZXRuYW1lc2UgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdaaHl6Ymkud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsXHIgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LFxyIFUrMUVBMC0xRUY5LCBVKzIwQUI7IH1cblxuLyogbGF0aW4tZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXZGh5emJpLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQUYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRixcciBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7IH1cblxuLyogbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdsaHl3LndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSxcciBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsXHIgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7IH1cblxuLyogY3lyaWxsaWMtZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXUmh5emJpLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzg4LCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RixcciBVK0ZFMkUtRkUyRjsgfVxuXG4vKiBjeXJpbGxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMjAwO1xuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5VzFoeXpiaS53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2OyB9XG5cbi8qIHZpZXRuYW1lc2UgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdaaHl6Ymkud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsXHIgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LFxyIFUrMUVBMC0xRUY5LCBVKzIwQUI7IH1cblxuLyogbGF0aW4tZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXZGh5emJpLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQUYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRixcciBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7IH1cblxuLyogbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdsaHl3LndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSxcciBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsXHIgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7IH1cblxuLyogY3lyaWxsaWMtZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXUmh5emJpLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzg4LCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RixcciBVK0ZFMkUtRkUyRjsgfVxuXG4vKiBjeXJpbGxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5VzFoeXpiaS53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2OyB9XG5cbi8qIHZpZXRuYW1lc2UgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdaaHl6Ymkud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsXHIgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LFxyIFUrMUVBMC0xRUY5LCBVKzIwQUI7IH1cblxuLyogbGF0aW4tZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXZGh5emJpLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQUYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRixcciBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7IH1cblxuLyogbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdsaHl3LndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSxcciBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsXHIgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7IH1cblxuLyogY3lyaWxsaWMtZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXUmh5emJpLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzg4LCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RixcciBVK0ZFMkUtRkUyRjsgfVxuXG4vKiBjeXJpbGxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbW9udHNlcnJhdC92MjYvSlRVU2pJZzFfaTZ0OGtDSEttNDU5VzFoeXpiaS53b2ZmMikgZm9ybWF0KFwid29mZjJcIik7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2OyB9XG5cbi8qIHZpZXRuYW1lc2UgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdaaHl6Ymkud29mZjIpIGZvcm1hdChcIndvZmYyXCIpO1xuICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsXHIgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LFxyIFUrMUVBMC0xRUY5LCBVKzIwQUI7IH1cblxuLyogbGF0aW4tZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9tb250c2VycmF0L3YyNi9KVFVTaklnMV9pNnQ4a0NIS200NTlXZGh5emJpLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQUYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRixcciBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7IH1cblxuLyogbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21vbnRzZXJyYXQvdjI2L0pUVVNqSWcxX2k2dDhrQ0hLbTQ1OVdsaHl3LndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSxcciBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsXHIgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7IH1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGNvbG9yOiByZWQ7IH1cblxuLm1vYmlsZS1zY3JlZW4ge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDEwJTtcbiAgd2lkdGg6IDM1MHB4O1xuICBoZWlnaHQ6IDU0NHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYmFja2dyb3VuZDogcmdiYSgzLCAzLCAzLCAwLjEpOyB9XG5cbmgxIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbmgyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbmgzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zaXplOiAyMXB4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLmxvZ28ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMHB4O1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogMTUwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbmZvcm0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMzBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuaW5wdXQsXG4ubG9naW4tYnRuIHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xuICBwYWRkaW5nOiA1cHg7XG4gIHdpZHRoOiA4NCU7IH1cblxuaW5wdXQge1xuICBib3JkZXItcmFkaXVzOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXdpZHRoOiBpbml0aWFsO1xuICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50OyB9XG5cbmlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xuICAvKiAgYmFja2dyb3VuZDogcmdiYSgyMjUsIDQwLCA1NCwuMikgIWltcG9ydGFudDsqL1xuICBib3JkZXItcmFkaXVzOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubG9naW4tYnRuIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZTEyODM2O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteDogb3ZlcmxheTsgfVxuXG4ub3RoZXItb3B0aW9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbiAgYm90dG9tOiA2MHB4O1xuICBsZWZ0OiAwOyB9XG5cbi5vcHRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiA0NSU7XG4gIG1hcmdpbjogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6ICMwOTJhNGQ7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2UxMjgzNjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5vcHRpb246Zmlyc3QtY2hpbGQge1xuICBmbG9hdDogcmlnaHQ7XG4gIGxlZnQ6IDMuMyU7IH1cblxuLm9wdGlvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAzLjMlOyB9XG5cbi5vcHRpb24tdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuI2ZwYXNzLWZvcm0sXG4jcmVnaXN0cmF0aW9uLWZvcm0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIENoYW5nZSBjb2xvcnMgY29udGFpbmVyICovXG4uY2hhbmdlLWNvbG9ycy1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMzAwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICAvKiAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjUpOyovIH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gIC5sb2dpbl9sb2dvIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmNhcHRoYV9udW1iZXJzIGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q4MjUzNDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA2cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkODI1MzQ7IH1cblxuLmNhcHRoYV9udW1iZXJzIGEuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmOyB9XG5cbi8qICovXG4uYnV0dG9uLXJlbG9hZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMTI4MzY7IH1cblxuLmJ1dHRvbi1yZWxvYWQgLmljb24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDsgfVxuXG4uYnV0dG9uLXJlbG9hZDpob3ZlciAuaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgc2NhbGUoMS4yKTsgfVxuXG4vKiAqL1xuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { CasillaActualService } from 'src/app/services/casilla-actual.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { UsuariosService } from 'src/app/services/usuarios.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { PaisModel } from '../home/store/registro-usuario.store.model';\r\nimport { TipoDocumentoPaisModel, LoginPortalRequest } from '../home/store/registro-usuario.store.model';\r\n\r\nimport { AppStore } from 'src/app/core/store/app.store';\r\nimport { LoginSigoRequest } from 'src/app/pages/login/login.store.model';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n isLoading:boolean = false;\r\n VALOR_MAXIMO_REPCATCHA = 4;\r\n errorRepcatcha: boolean = false;\r\n textoErrorRepcatcha: string = \"\";\r\n\r\n captchaTextNumber: any = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];\r\n captchaText: any = []\r\n captchaEnteredArray: any[] = [];\r\n captchaEntered: String = \"\"\r\n\r\n loading = false;\r\n form: FormGroup;\r\n cargando: boolean = true;\r\n private ESTADOCASILLA = {\r\n REGISTRADOR: 1,\r\n ACTIVO: 2\r\n }\r\n\r\n loginPortalRequest: LoginPortalRequest\r\n\r\n isTypeP1bol = false;\r\n isTypeP2bol = false;\r\n isTypeP3bol = false;\r\n\r\n isTypeP1 = \"password\"\r\n isTypeP2 = \"password\"\r\n isTypeP3 = \"password\"\r\n\r\n datosUsuario: {\r\n nroDocumento: string,\r\n clave: string\r\n } = {\r\n nroDocumento: \"\",\r\n clave: \"\"\r\n }\r\n\r\n paises: PaisModel[];\r\n selectedPais: number;\r\n\r\n tipoDocumentoPais: TipoDocumentoPaisModel[];\r\n selectedTipDocPais: number;\r\n\r\n tipDocPN: TipoDocumentoPaisModel[];\r\n selectTipDocPN: number;\r\n\r\n urlReturn: string = \"\";\r\n\r\n loginSigoRequest: LoginSigoRequest;\r\n\r\n constructor(\r\n private appStore: AppStore,\r\n private activedRoute: ActivatedRoute,\r\n\r\n private fb: FormBuilder,\r\n // private casillaService: CasillaService,\r\n private casillaActual: CasillaActualService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private usuariosService: UsuariosService,\r\n private toast: ToastService\r\n ) {\r\n this.addStyleSheet();\r\n }\r\n\r\n save(): void {\r\n // this.loading = true;\r\n this.isLoading = true;\r\n }\r\n\r\n addStyleSheet() {\r\n var headID = document.getElementsByTagName('head')[0];\r\n var link = document.createElement('link');\r\n link.type = 'text/css';\r\n link.rel = 'stylesheet';\r\n link.id = 'widget_styles';\r\n headID.appendChild(link);\r\n link.href = '../assets/css/login/style.css';\r\n }\r\n ngOnInit() {\r\n\r\n console.log('LOGIN PRINCIPAL!!')\r\n var str = this.router.url;\r\n var splitted = str.split(\"ReturnUrl=\", 2);\r\n this.urlReturn = splitted[1];\r\n // this.urlReturn = this.urlReturn.replace(\"%2F%2F\", \"//\");\r\n this.urlReturn = this.urlReturn.replace(/%2F/g, \"/\");\r\n\r\n this.generateCaptcha();\r\n //console.log(\"url\",this.urlReturn);\r\n\r\n // if (this.appStore.sessionAction.esSesionValida()) {\r\n // this.router.navigate(['/dashboard/']);\r\n // }\r\n // else {\r\n // let token = this.route.snapshot.queryParamMap.get('token');\r\n // //console.log(token);\r\n // if (token) {\r\n // this.casillaActual.setSesion(token);\r\n // const sesion = this.casillaActual.getSesion();\r\n // this.router.navigate(['/dashboard/']);\r\n // //location.href = \"http://localhost:5000/dashboard\";\r\n // }\r\n // else {\r\n // this.router.navigate(['/login/']);\r\n // //location.href = \"http://localhost:5000/dashboard\"; //environment.loginUrl + window.location.origin;\r\n // }\r\n // }\r\n\r\n\r\n /*console.log(this.appStore.sessionAction.esSesionValida());\r\n if (this.appStore.sessionAction.esSesionValida()) \r\n {\r\n //this.appStore.sessionAction.restablecerSesionDeLocalStorage();\r\n this.router.navigate(['/dashsboard/']);\r\n } \r\n else \r\n {\r\n const token = this.activedRoute.snapshot.queryParamMap.get('token');\r\n let token2 = this.route.snapshot.queryParamMap.get('token');\r\n console.log(token);\r\n console.log(token2);\r\n if (token) \r\n {\r\n this.appStore.sessionAction.login(token);\r\n\r\n this.router.navigate(['/dashsboard/']);\r\n } \r\n else \r\n {\r\n console.log(location.origin);\r\n location.href = environment.loginUrl + location.origin;\r\n //location.href = 'http://localhost:5000/'\r\n //this.router.navigate(['/dashsboard/']);\r\n }\r\n }*/\r\n\r\n\r\n this.selectedTipDocPais = 0;\r\n this.selectedPais = 0;\r\n\r\n // this.listarPais();\r\n // this.listarTipoDocumentoPais(0);\r\n\r\n // this.listarTipDocPN();\r\n }\r\n\r\n private buildForm() {\r\n this.form = this.fb.group({\r\n tipoDocumento: [2, Validators.required],\r\n documentoIdentidad: [null, Validators.required],\r\n clave: [null, Validators.required]\r\n });\r\n }\r\n\r\n listarPais = () => {\r\n this.usuariosService.listarPais(1).subscribe(data => this.paises = data.result\r\n //,error => console.log(error)\r\n );\r\n }\r\n\r\n handleChangePais(event) {\r\n this.listarTipoDocumentoPais(this.selectedPais);\r\n }\r\n\r\n listarTipoDocumentoPais = (idPais: number) => {\r\n this.selectedTipDocPais = 0;\r\n //jclr\r\n this.usuariosService.listarTipoDocumentoPais(idPais, 4).subscribe(data => this.tipoDocumentoPais = data.result\r\n //,error => console.log(error)\r\n );\r\n }\r\n\r\n listarTipDocPN = () => {\r\n this.selectTipDocPN = 0;\r\n //jclr\r\n this.usuariosService.listarTipoDocumentoPais(1, 2).subscribe(data => this.tipDocPN = data.result\r\n //,error => console.log(error)\r\n );\r\n }\r\n\r\n handleVisorP = (type) => {\r\n switch (type) {\r\n case 1: this.isTypeP1bol = !this.isTypeP1bol;\r\n if (this.isTypeP1bol) {\r\n this.isTypeP1 = \"text\";\r\n }\r\n else {\r\n this.isTypeP1 = \"password\";\r\n }\r\n break;\r\n case 2: this.isTypeP2bol = !this.isTypeP2bol;\r\n if (this.isTypeP2bol) {\r\n this.isTypeP2 = \"text\";\r\n }\r\n else {\r\n this.isTypeP2 = \"password\";\r\n }\r\n break;\r\n case 3: this.isTypeP3bol = !this.isTypeP3bol;\r\n if (this.isTypeP3bol) {\r\n this.isTypeP3 = \"text\";\r\n }\r\n else {\r\n this.isTypeP3 = \"password\";\r\n }\r\n break\r\n }\r\n }\r\n\r\n handleLogin = () => {\r\n if (this.datosUsuario.nroDocumento == \"\") {\r\n this.toast.error(\"Por favor ingrese el número de RUC\");\r\n }\r\n // else if (this.datosUsuario.nroDocumento.length != 11) {\r\n // this.toast.error(\"El RUC ingresado es incorrecto\");\r\n // }\r\n else if (this.datosUsuario.clave == \"\") {\r\n this.toast.error(\"Por favor ingrese su contraseña\");\r\n }\r\n else {\r\n this.loginPortalRequest = {\r\n pnTipo: 1,\r\n pnTipoDocumento: 120,\r\n pnPais: 104,\r\n pcNroDocumento: this.datosUsuario.nroDocumento,\r\n pcClave: this.encriptarClave(this.datosUsuario.clave)\r\n }\r\n //this.usuariosService.validarAcceso('1', '120', '104', this.datosUsuario.nroDocumento, this.encriptarClave(this.datosUsuario.clave)).subscribe((response) => {\r\n this.usuariosService.validarAcceso(this.loginPortalRequest).subscribe((response) => {\r\n debugger;\r\n if (response.pnTipo == 1) {\r\n this.casillaActual.setSesion(response.token);\r\n this.appStore.sessionAction.login(response.token);\r\n const sesion = this.casillaActual.getSesion();\r\n const sesion2 = this.appStore.sessionAction.getUserSesion();\r\n\r\n //console.log(this.appStore.sessionAction.getUserSesion());\r\n let token = this.appStore.sessionAction.isToken();\r\n location.href = this.urlReturn + \"/?token=\" + token;\r\n\r\n }\r\n else {\r\n this.toast.error(response.rptMsg);\r\n }\r\n });\r\n }\r\n }\r\n\r\n handleSigo = () => {\r\n if (this.errorRepcatcha)\r\n return;\r\n\r\n if (this.validateCaptcha()) {\r\n if (this.datosUsuario.nroDocumento == \"\") {\r\n this.toast.error(\"Por favor ingresa el usuario\");\r\n }\r\n else if (this.datosUsuario.clave == \"\") {\r\n this.toast.error(\"Por favor ingresa tu contraseña\");\r\n }\r\n else {\r\n // this.loading = true;\r\n this.isLoading = true;\r\n this.loginSigoRequest = {\r\n pcUsuario: this.datosUsuario.nroDocumento,\r\n pcClave: this.datosUsuario.clave,\r\n pTipo: environment.tipoAcceso\r\n }\r\n //this.usuariosService.validarAccesoSigo(this.datosUsuario.usuario, this.encriptarClave(this.datosUsuario.clave)).subscribe((response) => {\r\n //this.usuariosService.validarAccesoSigo(this.datosUsuario.usuario, this.datosUsuario.clave, environment.tipoAcceso).subscribe((response) => {\r\n this.usuariosService.validarAccesoSigo(this.loginSigoRequest).subscribe((response) => {\r\n if (response.rptTipo == 1 || response.rptTipo == 2) {\r\n this.casillaActual.setSesion(response.token);\r\n this.appStore.sessionAction.login(response.token);\r\n const sesion = this.casillaActual.getSesion();\r\n const sesion2 = this.appStore.sessionAction.getUserSesion();\r\n\r\n //console.log(this.appStore.sessionAction.getUserSesion());\r\n //let token = this.route.snapshot.queryParamMap.get('token');\r\n let token = this.appStore.sessionAction.isToken();\r\n //location.href = \"http://sifirmademo.pvn.gob.pe/?token=\" + token; //environment.loginUrl + window.location.origin;\r\n location.href = this.urlReturn + \"/?token=\" + token;\r\n // this.loading = false;\r\n this.isLoading = false;\r\n }\r\n else {\r\n // this.loading = false;\r\n this.isLoading = false;\r\n this.toast.error(response.rptMsg);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n handleLoginEX = () => {\r\n if (this.selectedPais == 0) {\r\n this.toast.error(\"Por favor selecciona país\");\r\n }\r\n else if (this.selectedTipDocPais == 0) {\r\n this.toast.error(\"Por favor seleccione Tipo de Documento\");\r\n }\r\n else if (this.datosUsuario.nroDocumento == \"\") {\r\n this.toast.error(\"Por favor ingrese el número de documento\");\r\n }\r\n else if (this.datosUsuario.clave == \"\") {\r\n this.toast.error(\"Por favor ingrese su contraseña\");\r\n }\r\n else {\r\n this.loginPortalRequest = {\r\n pnTipo: 3,\r\n pnTipoDocumento: this.selectedTipDocPais,\r\n pnPais: this.selectedPais,\r\n pcNroDocumento: this.datosUsuario.nroDocumento,\r\n pcClave: this.encriptarClave(this.datosUsuario.clave)\r\n }\r\n //this.usuariosService.validarAcceso('3', this.selectedTipDocPais.toString(), this.selectedPais.toString(), this.datosUsuario.nroDocumento, this.encriptarClave(this.datosUsuario.clave)).subscribe((response) => {\r\n this.usuariosService.validarAcceso(this.loginPortalRequest).subscribe((response) => {\r\n if (response.rptTipo == 1 || response.rptTipo == 2) {\r\n this.casillaActual.setSesion(response.token);\r\n this.appStore.sessionAction.login(response.token);\r\n const sesion = this.casillaActual.getSesion();\r\n const sesion2 = this.appStore.sessionAction.getUserSesion();\r\n\r\n //console.log(this.appStore.sessionAction.getUserSesion());\r\n let token = this.appStore.sessionAction.isToken();\r\n // location.href = this.urlReturn + \"/?token=\" + token;\r\n\r\n }\r\n else {\r\n this.toast.error(response.rptMsg);\r\n }\r\n });\r\n }\r\n }\r\n\r\n RegistrarUsuario = () => {\r\n //window.location.replace('https://sgdqa.pvn.gob.pe/Usuario/NuevaCuentaMesaVirtual');\r\n window.open('https://sgd.pvn.gob.pe/Usuario/NuevaCuentaMesaVirtual', \"_blank\");\r\n }\r\n\r\n RecuperarContraseniaUsuario = () => {\r\n window.open('https://sgd.pvn.gob.pe', \"_blank\");\r\n }\r\n\r\n handleLoginPN = () => {\r\n if (this.datosUsuario.nroDocumento == \"\") {\r\n this.toast.error(\"Por favor ingrese el número de documento\");\r\n }\r\n else if (this.selectTipDocPN == 2 && this.datosUsuario.nroDocumento.length != 8) {\r\n this.toast.error(\"El DNI ingresado es incorrecto\");\r\n }\r\n else if (this.datosUsuario.clave == \"\") {\r\n this.toast.error(\"Por favor ingrese su contraseña\");\r\n }\r\n else {\r\n this.loginPortalRequest = {\r\n pnTipo: 2,\r\n pnTipoDocumento: this.selectTipDocPN,\r\n pnPais: 104,\r\n pcNroDocumento: this.datosUsuario.nroDocumento,\r\n pcClave: this.encriptarClave(this.datosUsuario.clave)\r\n }\r\n //this.usuariosService.validarAcceso('2', '2', '104', this.datosUsuario.nroDocumento, this.encriptarClave(this.datosUsuario.clave)).subscribe((response) => {\r\n this.usuariosService.validarAcceso(this.loginPortalRequest).subscribe((response) => {\r\n console.log(response)\r\n if (response.rptTipo == 1 || response.rptTipo == 2) {\r\n this.casillaActual.setSesion(response.token);\r\n this.appStore.sessionAction.login(response.token);\r\n const sesion = this.casillaActual.getSesion();\r\n const sesion2 = this.appStore.sessionAction.getUserSesion();\r\n //console.log(this.appStore.sessionAction.getUserSesion());\r\n let token = this.appStore.sessionAction.isToken();\r\n location.href = this.urlReturn + \"/?token=\" + token;\r\n\r\n }\r\n else {\r\n this.toast.error(response.rptMsg);\r\n }\r\n });\r\n }\r\n }\r\n\r\n encriptarClave = (dato: string): string => {\r\n return CryptoJS.MD5(dato).toString();\r\n };\r\n\r\n makeRandom(lengthOfCode: number, possible: string) {\r\n let text = \"\";\r\n for (let i = 0; i < lengthOfCode; i++) {\r\n text += possible.charAt(Math.floor(Math.random() * possible.length));\r\n }\r\n return text;\r\n }\r\n\r\n generateCaptcha() {\r\n let possible = \"1234567890\"\r\n const lengthOfCode = 1\r\n\r\n for (let i = 0; i < this.VALOR_MAXIMO_REPCATCHA; i++) {\r\n let captchaChar = this.makeRandom(lengthOfCode, possible)\r\n this.captchaText[i] = captchaChar\r\n }\r\n\r\n this.captchaTextNumber = this.shuffleArray(this.captchaTextNumber);\r\n // for (let i = 0; i < 10; i++) {\r\n // let captchaChar = this.makeRandom(lengthOfCode, possible)\r\n // this.captchaTextNumber[i] = captchaChar\r\n // }\r\n }\r\n\r\n validateCaptcha() {\r\n let i = 0\r\n this.captchaEntered = this.captchaEnteredArray.join('').toLocaleUpperCase()\r\n\r\n if (this.captchaEnteredArray.length < this.VALOR_MAXIMO_REPCATCHA) {\r\n this.toast.error(\"Digite el número por favor\");\r\n return false;\r\n }\r\n\r\n for (i; i < this.captchaEnteredArray.length; i++) {\r\n if (this.captchaEntered.charAt(i) != this.captchaText[i]) {\r\n this.textoErrorRepcatcha = this.textoErrorRepcatcha + ' - Vuélvelo a intentar';\r\n this.errorRepcatcha = true;\r\n return false\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n shuffleArray(inputArray: []) {\r\n inputArray.sort(() => Math.random() - 0.5);\r\n\r\n return inputArray;\r\n }\r\n\r\n\r\n handleActionButton(event, value) {\r\n if (!this.errorRepcatcha) {\r\n if (this.captchaEnteredArray.length < this.VALOR_MAXIMO_REPCATCHA) {\r\n const box = document.getElementById(event);\r\n box.classList.add('active');\r\n this.captchaEnteredArray.push(value);\r\n this.textoErrorRepcatcha = this.captchaEnteredArray.join('');\r\n }\r\n } else {\r\n if (this.captchaEnteredArray.length < this.VALOR_MAXIMO_REPCATCHA) {\r\n this.errorRepcatcha = false;\r\n }\r\n }\r\n }\r\n\r\n handleActionRefresh() {\r\n for (let x = 0; x < 10; x++) {\r\n let box = document.getElementById(x + '_repcatcha');\r\n box.classList.remove('active');\r\n }\r\n\r\n this.captchaEnteredArray = [];\r\n this.textoErrorRepcatcha = \"\";\r\n\r\n this.generateCaptcha();\r\n }\r\n\r\n // private buscarCasillaPorDocumento = (tipoDocumento, documentoIdentidad) => {\r\n // this.casillaService.buscarCasillaPorDocumento(tipoDocumento, documentoIdentidad)\r\n // .subscribe((casilla) => {\r\n // console.log('responseCasilla', casilla);\r\n\r\n // let casillaActiva = false;\r\n\r\n // if(casilla && casilla.fK_eIdEstadoCasilla == this.ESTADOCASILLA.ACTIVO)\r\n // {\r\n // this.casillaActual.setCasillaActual(casilla);\r\n // casillaActiva = true;\r\n // }\r\n\r\n // this.router.navigate(['/home/']);\r\n\r\n // // if(casillaActiva) {\r\n // // this.router.navigate(['/home/']);\r\n // // } else {\r\n // // this.casillaActual.limpiarSesion();\r\n // // location.href = environment.loginUrl + window.location.origin + '&msgError=No se encontró la casilla o la misma no esta Activa';\r\n // // }\r\n // });\r\n // }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[OnlyNumber]'\r\n})\r\nexport class OnlyNumber {\r\n\r\n constructor(private el: ElementRef) { }\r\n\r\n @Input() OnlyNumber: boolean;\r\n\r\n @HostListener('keydown', ['$event']) onKeyDown(event) {\r\n let e = event;\r\n if (this.OnlyNumber) {\r\n //console.log(e.keyCode)\r\n if (e.keyCode > 31 \r\n //numeros\r\n && (e.keyCode < 48 || e.keyCode > 57) \r\n //teclado auxiliar\r\n && (e.keyCode < 96 || e.keyCode > 105)\r\n //Allow: home, end, left, right\r\n && (e.keyCode < 35 || e.keyCode > 39)\r\n // Allow: Ctrl+V\r\n && (e.keyCode < 85 || e.keyCode > 87)\r\n )\r\n {\r\n return false;\r\n }\r\n else{\r\n return true;\r\n }\r\n /*if ([46, 8, 9, 27, 13, 110, 190].indexOf(e.keyCode) !== -1 ||\r\n // Allow: Ctrl+A\r\n (e.keyCode === 65 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+C\r\n (e.keyCode === 67 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+V\r\n (e.keyCode === 86 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+X\r\n (e.keyCode === 88 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: home, end, left, right\r\n (e.keyCode >= 35 && e.keyCode <= 39)) {\r\n // let it happen, don't do anything\r\n return false;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {\r\n e.preventDefault();\r\n }*/\r\n }\r\n }\r\n}","export default \"@charset \\\"UTF-8\\\";\\n.gracias-content {\\n margin: 0 auto;\\n text-align: center; }\\n.gracias-titulo {\\n font: 30px var(--font-secondary);\\n color: var(--color-primary); }\\n.gracias-subtitulo {\\n font-size: 20px;\\n color: #444444; }\\n/* tabla */\\n.tabla-resumen {\\n width: 100%;\\n max-width: 100%;\\n font: 14px var(--font-oxygen); }\\n.tabla-resumen table {\\n border-collapse: separate;\\n border-spacing: 1px; }\\n.tabla-resumen table tr th {\\n border: 0.5px solid var(--color-primary);\\n padding: 5px 10px;\\n background-color: var(--color-primary);\\n color: var(--color-white);\\n text-align: left;\\n border-right: 0;\\n width: 50%;\\n text-transform: uppercase; }\\n.tabla-resumen table tr td {\\n border: 0.5px solid var(--color-primary);\\n padding: 5px 10px;\\n color: #4187a5;\\n width: 50%; }\\n/* Términos y condiciones */\\n.t-y-c {\\n font-size: 16px;\\n margin-top: 20px; }\\n.t-y-c a {\\n color: var(--color-primary); }\\n.datos-clave {\\n font-size: 16px;\\n color: #444444;\\n margin-left: 20px; }\\n.datos-clave-list:first-child {\\n margin-bottom: 10px; }\\n.datos-clave-list:not(:first-child) {\\n color: #ff0000;\\n font-family: var(--font-secondary); }\\n.container-botones {\\n margin-top: 20px !important; }\\n.clave-content {\\n position: relative; }\\n.clave-content-button:hover {\\n opacity: 1; }\\n.clave-content-button {\\n position: absolute;\\n top: 10px;\\n right: 2px;\\n cursor: pointer;\\n opacity: 0.7;\\n transition: all .3s ease; }\\n.subtitulo {\\n text-align: center;\\n font-family: var(--font-secondary);\\n font-style: italic;\\n font-size: 20px;\\n line-height: 23px;\\n color: var(--color-secondary-dark);\\n margin-top: 5px;\\n margin-bottom: 40px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvaG9tZS9jb21wb25lbnRzL3JlY3VwZXJhci1jbGF2ZS9yZWN1cGVyYXItY2xhdmUuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3BhZ2VzL2hvbWUvY29tcG9uZW50cy9yZWN1cGVyYXItY2xhdmUvRDpcXHRmczIwMjNcXFNJR09cXDIuRnJvbnRFbmRcXFNzby5DbGllbnQvc3JjXFxhcHBcXHBhZ2VzXFxob21lXFxjb21wb25lbnRzXFxyZWN1cGVyYXItY2xhdmVcXHJlY3VwZXJhci1jbGF2ZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNDaEI7RUFDSSxjQUFjO0VBQ2Qsa0JBQWtCLEVBQUE7QUFFdEI7RUFDSSxnQ0FBZ0M7RUFDaEMsMkJBQTJCLEVBQUE7QUFFL0I7RUFDSSxlQUFlO0VBQ2YsY0FBZSxFQUFBO0FBT25CLFVBQUE7QUFDQTtFQUNJLFdBQVc7RUFDWCxlQUFlO0VBQ2YsNkJBQTZCLEVBQUE7QUFFL0I7RUFDRSx5QkFBeUI7RUFDekIsbUJBQW1CLEVBQUE7QUFFckI7RUFDRSx3Q0FBd0M7RUFDeEMsaUJBQWlCO0VBQ2pCLHNDQUFzQztFQUN0Qyx5QkFBeUI7RUFDekIsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixVQUFVO0VBQ1YseUJBQXlCLEVBQUE7QUFFM0I7RUFDRSx3Q0FBd0M7RUFDeEMsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxVQUFVLEVBQUE7QUFHWiwyQkFBQTtBQUNBO0VBQ0UsZUFBZTtFQUNmLGdCQUFnQixFQUFBO0FBRWxCO0VBQ0UsMkJBQTJCLEVBQUE7QUFJL0I7RUFDSSxlQUFlO0VBQ2YsY0FBYztFQUNkLGlCQUFpQixFQUFBO0FBRXJCO0VBQ0ksbUJBQW1CLEVBQUE7QUFFdkI7RUFDSSxjQUFjO0VBQ2Qsa0NBQWtDLEVBQUE7QUFHdEM7RUFFSSwyQkFBMkIsRUFBQTtBQUkvQjtFQUNJLGtCQUFrQixFQUFBO0FBRXRCO0VBQ0ksVUFBVSxFQUFBO0FBRWQ7RUFDSSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULFVBQVU7RUFDVixlQUFlO0VBQ2YsWUFBWTtFQUNaLHdCQUF3QixFQUFBO0FBSTVCO0VBQ0ksa0JBQWtCO0VBQ2xCLGtDQUFrQztFQUNsQyxrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixrQ0FBa0M7RUFDbEMsZUFBZTtFQUNmLG1CQUFtQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvcGFnZXMvaG9tZS9jb21wb25lbnRzL3JlY3VwZXJhci1jbGF2ZS9yZWN1cGVyYXItY2xhdmUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4uZ3JhY2lhcy1jb250ZW50IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZ3JhY2lhcy10aXR1bG8ge1xuICBmb250OiAzMHB4IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG5cbi5ncmFjaWFzLXN1YnRpdHVsbyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY29sb3I6ICM0NDQ0NDQ7IH1cblxuLyogdGFibGEgKi9cbi50YWJsYS1yZXN1bWVuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udDogMTRweCB2YXIoLS1mb250LW94eWdlbik7IH1cblxuLnRhYmxhLXJlc3VtZW4gdGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBib3JkZXItc3BhY2luZzogMXB4OyB9XG5cbi50YWJsYS1yZXN1bWVuIHRhYmxlIHRyIHRoIHtcbiAgYm9yZGVyOiAwLjVweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIHdpZHRoOiA1MCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRhYmxhLXJlc3VtZW4gdGFibGUgdHIgdGQge1xuICBib3JkZXI6IDAuNXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6ICM0MTg3YTU7XG4gIHdpZHRoOiA1MCU7IH1cblxuLyogVMOpcm1pbm9zIHkgY29uZGljaW9uZXMgKi9cbi50LXktYyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4udC15LWMgYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgfVxuXG4uZGF0b3MtY2xhdmUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNDQ0NDQ0O1xuICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG4uZGF0b3MtY2xhdmUtbGlzdDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmRhdG9zLWNsYXZlLWxpc3Q6bm90KDpmaXJzdC1jaGlsZCkge1xuICBjb2xvcjogI2ZmMDAwMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTsgfVxuXG4uY29udGFpbmVyLWJvdG9uZXMge1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmNsYXZlLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNsYXZlLWNvbnRlbnQtYnV0dG9uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uY2xhdmUtY29udGVudC1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjc7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTsgfVxuXG4uc3VidGl0dWxvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktZGFyayk7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuIiwiXHJcbi5ncmFjaWFzLWNvbnRlbnR7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4uZ3JhY2lhcy10aXR1bG97XHJcbiAgICBmb250OiAzMHB4IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcclxufVxyXG4uZ3JhY2lhcy1zdWJ0aXR1bG97XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBjb2xvcjogIzQ0NDQ0NCA7XHJcbn1cclxuLmdyYWNpYXMtbGlua3tcclxuXHJcbn1cclxuXHJcblxyXG4vKiB0YWJsYSAqL1xyXG4udGFibGEtcmVzdW1lbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGZvbnQ6IDE0cHggdmFyKC0tZm9udC1veHlnZW4pO1xyXG4gIH1cclxuICAudGFibGEtcmVzdW1lbiB0YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDFweDtcclxuICB9XHJcbiAgLnRhYmxhLXJlc3VtZW4gdGFibGUgdHIgdGgge1xyXG4gICAgYm9yZGVyOiAwLjVweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxuICAudGFibGEtcmVzdW1lbiB0YWJsZSB0ciB0ZCB7XHJcbiAgICBib3JkZXI6IDAuNXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICBjb2xvcjogIzQxODdhNTtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzICovXHJcbiAgLnQteS1jIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgfVxyXG4gIC50LXktYyBhIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcclxuICB9XHJcblxyXG5cclxuLmRhdG9zLWNsYXZle1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY29sb3I6ICM0NDQ0NDQ7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxufVxyXG4uZGF0b3MtY2xhdmUtbGlzdDpmaXJzdC1jaGlsZHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuLmRhdG9zLWNsYXZlLWxpc3Q6bm90KDpmaXJzdC1jaGlsZCl7XHJcbiAgICBjb2xvcjogI2ZmMDAwMDtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlY29uZGFyeSk7XHJcbn1cclxuXHJcbi5jb250YWluZXItYm90b25lc3tcclxuICAgIFxyXG4gICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLmNsYXZlLWNvbnRlbnR7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLmNsYXZlLWNvbnRlbnQtYnV0dG9uOmhvdmVye1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG4uY2xhdmUtY29udGVudC1idXR0b257XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICByaWdodDogMnB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG59XHJcblxyXG5cclxuLnN1YnRpdHVsbyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZWNvbmRhcnkpO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWRhcmspO1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICB9Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport { PaisModel } from '../home/store/registro-usuario.store.model';\r\nimport { TipoDocumentoPaisModel, DatosEmail } from '../home/store/registro-usuario.store.model';\r\nimport { UsuariosService } from 'src/app/services/usuarios.service';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-recuperar-clave',\r\n templateUrl: './recuperar-clave.component.html',\r\n styleUrls: ['./recuperar-clave.component.scss']\r\n})\r\nexport class RecuperarClaveComponent implements OnInit {\r\n\r\n stepTipoRegistroL: string = \"\";\r\n stepClaveL: string = \"\";\r\n\r\n stepTipoRegistro: string = \"\";\r\n stepVerificacion: string = \"\";\r\n stepClave: string = \"\";\r\n\r\n isShowFin: boolean = true;\r\n isShowProceso: boolean = false;\r\n\r\n paises: PaisModel[]; \r\n selectedPais: number;\r\n\r\n tipoDocumentoPais: TipoDocumentoPaisModel[];\r\n selectedTipDocPais: number;\r\n\r\n datosEmail: DatosEmail;\r\n //visor de contraseñas\r\n isTypeP1bol = false; \r\n isTypeP2bol = false; \r\n\r\n //cambie el type de la contraseña\r\n isTypeP1 = null;\r\n isTypeP2 = null;\r\n\r\n caracteres: string;\r\n urlPortal: string;\r\n\r\n datosRegistro: {\r\n nroDocumento: string,\r\n razonSocial: string,\r\n correo1: string,\r\n correo2: string,\r\n clave: string,\r\n claveSeg: string,\r\n codigo: string,\r\n codigoSeg: string,\r\n cPais: string,\r\n cTipoDocumento: string,\r\n pPais: number,\r\n tipDoc: number,\r\n pk: number\r\n } = {\r\n nroDocumento: \"\",\r\n razonSocial: \"\",\r\n correo1: \"\",\r\n correo2: \"\",\r\n clave: \"\",\r\n claveSeg: \"\",\r\n codigo: \"\",\r\n codigoSeg: \"\",\r\n cPais: \"\",\r\n cTipoDocumento: \"\",\r\n pPais: 1,\r\n tipDoc: 1,\r\n pk: 0\r\n }\r\n\r\n constructor(\r\n private usuariosService: UsuariosService,\r\n private router: Router,\r\n private toast: ToastService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.stepTipoRegistroL = \"\"\r\n this.stepTipoRegistro = \"active\"\r\n //this.stepVerificacionL = \"\"\r\n //this.stepClaveL = \"\"\r\n this.isShowFin = true;\r\n this.isShowProceso = false;\r\n\r\n this.selectedPais = 0;\r\n this.selectedTipDocPais = 0;\r\n\r\n this.isTypeP1 = \"password\"\r\n this.isTypeP2 = \"password\"\r\n\r\n this.caracteres = \".$@¡!%*¿?&\";\r\n this.urlPortal = environment.loingUrlPortal;\r\n\r\n this.listarPais();\r\n this.selectedPais = 104;\r\n this.listarTipoDocumentoPais(104);\r\n \r\n }\r\n\r\n listarPais = () => {\r\n this.usuariosService.listarPais(0).subscribe(data => this.paises = data.result\r\n //,error => console.log(error)\r\n );\r\n }\r\n\r\n handleChangePais(event) {\r\n this.listarTipoDocumentoPais(this.selectedPais);\r\n }\r\n\r\n listarTipoDocumentoPais = (idPais: number) => {\r\n this.selectedTipDocPais = 0;\r\n //jclr\r\n this.usuariosService.listarTipoDocumentoPais(idPais,1).subscribe(data => this.tipoDocumentoPais = data.result\r\n //,error => console.log(error)\r\n );\r\n }\r\n\r\n handleCerrar = () => {\r\n //this.router.navigate(['/login/']);\r\n location.href = environment.loingUrlPortal;\r\n }\r\n\r\n encriptarClave = (dato: string): string => {\r\n return CryptoJS.MD5(dato).toString();\r\n };\r\n\r\n numberOnly(event): boolean {\r\n const charCode = (event.which) ? event.which : event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n numberRandom = () =>{\r\n //const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';\r\n const chars = '0123456789';\r\n const stringLength = 8;\r\n let randomstring = '';\r\n for (let i = 0; i < stringLength; i++) {\r\n const rnum = Math.floor(Math.random() * chars.length);\r\n randomstring += chars.substring(rnum, rnum + 1);\r\n }\r\n return randomstring;\r\n }\r\n\r\n handleVisorP = (type) => {\r\n switch (type) {\r\n case 1: this.isTypeP1bol = !this.isTypeP1bol;\r\n if(this.isTypeP1bol)\r\n {\r\n this.isTypeP1 = \"text\";\r\n }\r\n else\r\n {\r\n this.isTypeP1 = \"password\";\r\n }\r\n break;\r\n case 2: this.isTypeP2bol = !this.isTypeP2bol;\r\n if(this.isTypeP2bol)\r\n {\r\n this.isTypeP2 = \"text\";\r\n }\r\n else\r\n {\r\n this.isTypeP2 = \"password\";\r\n }\r\n break;\r\n }\r\n }\r\n\r\n enviarEmailCodigo = (login, prueba, cuerpo, flag) => {\r\n this.usuariosService.enviarEmailDatosUsuario(login, prueba,cuerpo, flag).subscribe(\r\n (data) => {\r\n //console.log(data) \r\n },\r\n (error) => {\r\n //console.log(error)\r\n }\r\n );\r\n };\r\n\r\n handleChangeStepBack = (step) => {\r\n switch (step) {\r\n case 1: this.stepTipoRegistro = \"active\";\r\n this.stepClave = \"\";\r\n this.stepTipoRegistroL = \"\";\r\n this.stepClaveL = \"\";\r\n this.stepVerificacion = \"\";\r\n\r\n //limpiar datos ingresados\r\n this.datosRegistro.correo1 = \"\";\r\n this.datosRegistro.correo2 = \"\";\r\n this.datosRegistro.clave = \"\";\r\n this.datosRegistro.claveSeg = \"\";\r\n this.datosRegistro.razonSocial = \"\";\r\n this.datosRegistro.nroDocumento = \"\";\r\n this.datosRegistro.codigo = \"\";\r\n this.selectedPais = 0;\r\n this.selectedTipDocPais = 0;\r\n this.listarTipoDocumentoPais(0);\r\n break;\r\n\r\n case 2: this.stepTipoRegistro = \"\"; \r\n this.stepClave = \"\";\r\n this.stepClaveL = \"\";\r\n this.stepVerificacion = \"active\";\r\n\r\n //limpiar datos ingresados\r\n this.datosRegistro.correo1 = \"\";\r\n this.datosRegistro.correo2 = \"\";\r\n this.datosRegistro.clave = \"\";\r\n this.datosRegistro.claveSeg = \"\";\r\n this.datosRegistro.razonSocial = \"\";\r\n this.datosRegistro.nroDocumento = \"\";\r\n this.datosRegistro.codigo = \"\";\r\n this.selectedPais = 0;\r\n this.selectedTipDocPais = 0;\r\n this.listarTipoDocumentoPais(0);\r\n break;\r\n }\r\n }\r\n\r\n handleChangeStep = (step) => {\r\n switch (step) {\r\n case 2: \r\n if(this.selectedPais == 0){\r\n this.toast.error(\"Por favor selecciona el País\");\r\n break;\r\n }\r\n if(this.selectedTipDocPais == 0){\r\n this.toast.error(\"Por favor selecciona el Tipo de Documento\");\r\n break;\r\n }\r\n if(this.datosRegistro.nroDocumento == \"\"){\r\n this.toast.error(\"Por favor ingresa el número de documento\");\r\n break;\r\n }\r\n let tipo\r\n if(this.selectedPais == 104){\r\n if(this.selectedTipDocPais == 120){\r\n tipo = 1; \r\n }\r\n else{\r\n tipo = 2;\r\n }\r\n }\r\n else{\r\n tipo = 3;\r\n }\r\n this.datosRegistro.codigoSeg = this.numberRandom();\r\n this.usuariosService.validarRecuperar(tipo, this.selectedTipDocPais, this.selectedPais, this.datosRegistro.nroDocumento, this.encriptarClave(this.datosRegistro.codigoSeg)).subscribe((response) => {\r\n if(response.rptTipo == 0){ \r\n this.toast.error(response.rptMsg);\r\n }\r\n else{\r\n this.datosRegistro.correo1 = response.uDesContacto;\r\n this.datosRegistro.correo2 = response.uDesContacto;\r\n var str = this.datosRegistro.correo2; \r\n var splitted = str.split(\"@\", 2); \r\n var dato1 = splitted[0];\r\n var dato2 = splitted[1];\r\n dato1 = dato1.substring(0,1) + \"***\";\r\n this.datosRegistro.correo2 = dato1 +\"@\"+ dato2;\r\n this.datosRegistro.razonSocial = response.uNombreCompleto;\r\n this.datosRegistro.cPais = response.cPais;\r\n this.datosRegistro.cTipoDocumento = response.cTipoDocumento;\r\n this.datosRegistro.pk = response.pK_eIdPersona;\r\n \r\n //var mensaje = \"
PROVÍAS NACIONAL

Estimados : \"+this.datosRegistro.razonSocial+\"

Para seguir con su solicitud, ingrese este código de verificación en la web.

TU CÓDIGO DE VERIFICACIÓN ES
\"+this.datosRegistro.codigoSeg+\"
\";\r\n\r\n //this.enviarEmailCodigo(this.datosRegistro.correo1, \"Código verficación PROVÍAS\",mensaje,true);\r\n this.emailCodigo(this.datosRegistro.razonSocial,this.datosRegistro.codigoSeg,this.datosRegistro.correo1, \"Código verficación PROVÍAS\")\r\n\r\n this.stepTipoRegistro = \"\"; \r\n this.stepVerificacion = \"active\";\r\n this.stepClave = \"\";\r\n this.stepTipoRegistroL = \"active\";\r\n }\r\n });\r\n break;\r\n case 3: if(this.datosRegistro.codigo == \"\"){\r\n this.toast.error(\"Por favor ingresa el código de verificación\");\r\n }\r\n else if(this.datosRegistro.codigoSeg != this.datosRegistro.codigo){\r\n this.toast.error(\"Código de verificación inválido\");\r\n }\r\n else {\r\n this.stepTipoRegistro = \"\"; \r\n this.stepVerificacion = \"\";\r\n this.stepClave = \"active\";\r\n this.stepTipoRegistroL = \"active\";\r\n this.stepClaveL = \"active\";\r\n }\r\n break;\r\n }\r\n }\r\n\r\n finalizar = () => {\r\n if(this.datosRegistro.clave == \"\")\r\n {\r\n this.toast.error(\"Por favor ingresa contraseña\");\r\n }\r\n else if(this.datosRegistro.claveSeg == \"\")\r\n {\r\n this.toast.error(\"Por favor repita la contraseña\");\r\n }\r\n else if(this.datosRegistro.clave != this.datosRegistro.claveSeg)\r\n {\r\n this.toast.error(\"Por favor ingresa la misma contraseña\");\r\n }\r\n else if(this.datosRegistro.clave.length < 8)\r\n {\r\n this.toast.error(\"Por favor la contraseña debe tener mínimo 8 caracteres\");\r\n }\r\n else if(this.validarContraseña(this.datosRegistro.clave))\r\n {\r\n this.toast.error(\"Contraseña invalida\");\r\n }\r\n else{\r\n this.isShowFin = !this.isShowFin;\r\n this.isShowProceso = ! this.isShowProceso;\r\n\r\n this.cambioClave();\r\n }\r\n }\r\n\r\n cambioClave = () => {\r\n this.usuariosService.cambioClave(this.datosRegistro.pk,1,this.encriptarClave(this.datosRegistro.clave),\"\").subscribe((response) => {\r\n if(response.rptTipo == 1){\r\n var tipMensaje = \"\";\r\n if(this.selectedPais == 104){\r\n if(this.selectedTipDocPais == 120){\r\n tipMensaje = \"RUC\";\r\n }\r\n else{\r\n tipMensaje = \"DNI\";\r\n }\r\n }\r\n else{\r\n tipMensaje = \"Usuario\";\r\n }\r\n //var mensaje = \"
ACCESO AL PORTAL DEL ADMINISTRADO DE PROVÍAS NACIONAL
Estimados : \"+this.datosRegistro.razonSocial+\"
Su registro fue generado de forma satisfactoria al PORTAL DE SERVICIOS DE PROVÍAS NACIONAL ahora podrá realizar sus trámites en línea
SUS CREDENCIALES
\"+ tipMensaje +\":
\"+this.datosRegistro.nroDocumento+\"
Contraseña:
\"+this.datosRegistro.clave+\"
ACCEDA AL PORTAL
www.pvn.gob.pe

IMPORTANTE
El usuario y contraseña es personal e intransferible y el uso del mismo será bajo su responsabilidad

CONTACTENOS
  • Central Telefónica 615-7800
\";\r\n //var mensaje = \"
ACCESO AL PORTAL DE SERVICIOS DE PROVÍAS NACIONAL
Estimados : \"+this.datosRegistro.razonSocial+\"
Su registro fue generado de forma satisfactoria al PORTAL DE SERVICIOS DE PROVÍAS NACIONAL ahora podrá realizar sus trámites en línea.
SUS CREDENCIALES
\"+ tipMensaje +\"
\"+this.datosRegistro.nroDocumento+\"
Contraseña
\"+this.datosRegistro.clave+\"
ACCEDA AL PORTAL EN

IMPORTANTE
El usuario y contraseña es personal e intransferible y el uso del mismo será bajo su responsabilidad

CONTACTENOS
Central Telefónica 615-7800
\";\r\n\r\n //this.enviarEmailCodigo(this.datosRegistro.correo1, \"Recuperar Clave Usuario PROVÍAS\",mensaje,true);\r\n\r\n this.emailRegistro(tipMensaje,this.datosRegistro.nroDocumento,this.datosRegistro.razonSocial,\"\",this.datosRegistro.correo1,\"Recuperar Clave Usuario PROVÍAS\",this.datosRegistro.clave)\r\n \r\n }\r\n });\r\n }\r\n\r\n validarContraseña = (clave) => {\r\n let hasNumber = /\\d/.test(clave);\r\n let hasUpper = /[A-Z]/.test(clave);\r\n let hasLower = /[a-z]/.test(clave);\r\n let hasSymbol = /[!#$%&'()*+,-./:;<=>?@\\^_`{[]|}~.]/.test(clave);\r\n //let hasSymbol = /^(?=.*\\d)(?=.*[\\u0021-\\u002b\\u003c-\\u0040])(?=.*[A-Z])(?=.*[a-z])\\S{8,20}$/.test(clave);\r\n // console.log('Num, Upp, Low', hasNumber, hasUpper, hasLower);\r\n const valid = hasNumber && hasUpper && hasLower && hasSymbol;\r\n if (!valid) {\r\n // return what´s not valid\r\n return { strong: true };\r\n }\r\n return false;\r\n }\r\n\r\n encriptarClaveCorreo = (dato: string): string => { \r\n var key = CryptoJS.enc.Utf8.parse('7061737323313233');\r\n var iv = CryptoJS.enc.Utf8.parse('7061737323313233');\r\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(dato), key,\r\n {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return encrypted.toString();\r\n };\r\n\r\n emailRegistro(tipodoc, nrodoc, usuario, codigo, email, titulo, pass){\r\n this.datosEmail = {\r\n empresa: usuario,\r\n tipdoc: tipodoc,\r\n usuario: nrodoc,\r\n clave: pass,\r\n correo: email,\r\n link: environment.loingUrlPortal,\r\n codverifica: \"\",\r\n asunto: titulo\r\n }\r\n \r\n this.usuariosService.emailRegistro(this.datosEmail).subscribe(\r\n (data) => {\r\n //console.log(data) \r\n },\r\n (error) => {\r\n //console.log(error)\r\n }\r\n )\r\n }\r\n\r\n emailCodigo(usuario, codigo, email, titulo){\r\n this.datosEmail = {\r\n empresa: usuario,\r\n tipdoc: \"\",\r\n usuario: \"\",\r\n clave: \"\",\r\n correo: email,\r\n link: environment.loingUrlPortal,\r\n codverifica: codigo,\r\n asunto: titulo\r\n }\r\n \r\n this.usuariosService.emailCodigo(this.datosEmail).subscribe(\r\n (data) => {\r\n //console.log(data) \r\n },\r\n (error) => {\r\n //console.log(error)\r\n }\r\n )\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2hvbWUvY29tcG9uZW50cy9zaGFyZWQvbmF2YmFyL25hdmJhci5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.scss']\r\n})\r\n\r\n\r\nexport class NavbarComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HomeComponent } from './components/home/home.component';\r\nimport { DashboardComponent} from './components/dashboard/dashboard.component';\r\nimport { NavbarComponent } from './components/shared/navbar/navbar.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { RecuperarClaveComponent } from './components/recuperar-clave/recuperar-clave.component';\r\nimport { CambioClaveComponent } from './components/cambio-clave/cambio-clave.component';\r\nimport { BlockCopyPasteDirective } from './components/blockCopyPasteDirective';\r\nimport { OnlyNumber } from './components/onlyNumberDirective';\r\nimport { LoadingComponent } from './components/login/loading';\r\n\r\n@NgModule({\r\n declarations: [\r\n HomeComponent,\r\n DashboardComponent,\r\n NavbarComponent,\r\n LoginComponent,\r\n RecuperarClaveComponent,\r\n CambioClaveComponent,\r\n BlockCopyPasteDirective,\r\n OnlyNumber,\r\n LoadingComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ]\r\n})\r\nexport class HomeModule { }\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2xvZ2luL2NvbXBvbmVudHMvbG9naW4tY2FzaWxsYS9sb2dpbi1jYXNpbGxhLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-login-casilla',\r\n templateUrl: './login-casilla.component.html',\r\n styleUrls: ['./login-casilla.component.scss']\r\n})\r\nexport class LoginCasillaComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2xvZ2luL2NvbXBvbmVudHMvbG9naW4tc2lmaXJtYS9sb2dpbi1zaWZpcm1hLmNvbXBvbmVudC5zY3NzIn0= */\"","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { CasillaActualService } from 'src/app/services/casilla-actual.service';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { UsuariosService } from 'src/app/services/usuarios.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { AppStore } from 'src/app/core/store/app.store';\r\nimport {LoginSiFirmaRequest} from \"../../login.store.model\";\r\n\r\n@Component({\r\n selector: 'app-login-sifirma',\r\n templateUrl: './login-sifirma.component.html',\r\n styleUrls: ['./login-sifirma.component.scss']\r\n})\r\nexport class LoginSifirmaComponent implements OnInit {\r\n\r\n form: FormGroup;\r\n urlReturn: string = \"\";\r\n datosUsuario: {\r\n usuario: string,\r\n clave: string\r\n } = {\r\n usuario: \"\",\r\n clave: \"\"\r\n }\r\n\r\n loginSiFirmaRequest: LoginSiFirmaRequest;\r\n\r\n registroUsuarioDatos:{\r\n tipoRegistro: number,\r\n pais: number,\r\n tipoDocumento: number,\r\n uNroDocumento: string,\r\n dRazonSocial: string\r\n } = {\r\n tipoRegistro: 1,\r\n pais: 1,\r\n tipoDocumento: 13,\r\n uNroDocumento: \"\",\r\n dRazonSocial: \"\"\r\n }\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private appStore: AppStore,\r\n private casillaActual: CasillaActualService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private usuariosService: UsuariosService,\r\n private toast: ToastService\r\n ) {\r\n // this.addStyleSheet();\r\n // console.log('RUTA:', router.url);\r\n // console.log('RUTA_PARAM:', route.snapshot.params.returnUrl); // to print only path eg:\"/login\"\r\n }\r\n\r\n ngOnInit() {\r\n //this.buildForm();\r\n var str = this.router.url; \r\n var splitted = str.split(\"ReturnUrl=\", 2); \r\n this.urlReturn = splitted[1];\r\n this.urlReturn = this.urlReturn.replace(\"%2F%2F\", \"//\");\r\n //console.log(\"url\",this.urlReturn );\r\n }\r\n\r\n private buildForm() {\r\n this.form = this.fb.group({\r\n tipoDocumento: [document.createElement('txtPassword'), Validators.required],\r\n documentoIdentidad: [null, Validators.required],\r\n clave: [document.createElement('txtUserName'), Validators.required]\r\n });\r\n //console.log(this.form);\r\n }\r\n\r\n handleSiFirma = () => {\r\n if (this.datosUsuario.usuario == \"\") {\r\n this.toast.error(\"Por favor ingresa el usuario\");\r\n }\r\n else if (this.datosUsuario.clave == \"\") {\r\n this.toast.error(\"Por favor ingresa tu contraseña\");\r\n }\r\n else {\r\n this.loginSiFirmaRequest = {\r\n pcUsuario: this.datosUsuario.usuario,\r\n pcClave: this.datosUsuario.clave\r\n }\r\n //this.usuariosService.validarAccesoSiFirma(this.datosUsuario.usuario, this.encriptarClave(this.datosUsuario.clave)).subscribe((response) => {\r\n //this.usuariosService.validarAccesoSiFirma(this.datosUsuario.usuario, this.datosUsuario.clave).subscribe((response) => {\r\n this.usuariosService.validarAccesoSiFirma(this.loginSiFirmaRequest).subscribe((response) => {\r\n if (response.rptTipo == 1) {\r\n this.casillaActual.setSesion(response.token);\r\n this.appStore.sessionAction.login(response.token);\r\n const sesion = this.casillaActual.getSesion();\r\n const sesion2 = this.appStore.sessionAction.getUserSesion();\r\n //this.router.navigate(['/dashboard/']);\r\n\r\n //console.log(this.appStore.sessionAction.getUserSesion());\r\n //let token = this.route.snapshot.queryParamMap.get('token');\r\n let token = this.appStore.sessionAction.isToken();\r\n //location.href = \"http://sifirmademo.pvn.gob.pe/?token=\" + token; //environment.loginUrl + window.location.origin;\r\n location.href = this.urlReturn + \"/?token=\" + token;\r\n }\r\n else {\r\n this.toast.error(response.rptMsg);\r\n }\r\n });\r\n }\r\n }\r\n\r\n encriptarClave = (dato: string): string => { \r\n var key = CryptoJS.enc.Utf8.parse('7061737323313233');\r\n var iv = CryptoJS.enc.Utf8.parse('7061737323313233');\r\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(dato), key,\r\n {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return encrypted.toString();\r\n };\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2xvZ2luL2NvbXBvbmVudHMvbG9naW4tc2lnby9sb2dpbi1zaWdvLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { CasillaActualService } from 'src/app/services/casilla-actual.service';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { UsuariosService } from 'src/app/services/usuarios.service';\r\nimport { ToastService } from 'src/app/shared/services/toast.service';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { AppStore } from 'src/app/core/store/app.store';\r\nimport {LoginSigoRequest} from \"../../login.store.model\";\r\n\r\n@Component({\r\n selector: 'app-login-sigo',\r\n templateUrl: './login-sigo.component.html',\r\n styleUrls: ['./login-sigo.component.scss']\r\n})\r\nexport class LoginSigoComponent implements OnInit {\r\n\r\n urlReturn: string = \"\";\r\n datosUsuario: {\r\n usuario: string,\r\n clave: string\r\n } = {\r\n usuario: \"\",\r\n clave: \"\"\r\n }\r\n\r\n loginSigoRequest: LoginSigoRequest;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private appStore: AppStore,\r\n private casillaActual: CasillaActualService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private usuariosService: UsuariosService,\r\n private toast: ToastService\r\n ) { }\r\n\r\n ngOnInit() {\r\n var str = this.router.url; \r\n var splitted = str.split(\"ReturnUrl=\", 2); \r\n this.urlReturn = splitted[1];\r\n // this.urlReturn = this.urlReturn.replace(\"%2F%2F\", \"//\");\r\n this.urlReturn = this.urlReturn.replace(/%2F/g, \"/\");\r\n //console.log(\"url\",this.urlReturn);\r\n }\r\n\r\n handleSigo = () => {\r\n if (this.datosUsuario.usuario == \"\") {\r\n this.toast.error(\"Por favor ingresa el usuario\");\r\n }\r\n else if (this.datosUsuario.clave == \"\") {\r\n this.toast.error(\"Por favor ingresa tu contraseña\");\r\n }\r\n else {\r\n this.loginSigoRequest = {\r\n pcUsuario: this.datosUsuario.usuario,\r\n pcClave: this.datosUsuario.clave,\r\n pTipo: environment.tipoAcceso\r\n }\r\n //this.usuariosService.validarAccesoSigo(this.datosUsuario.usuario, this.encriptarClave(this.datosUsuario.clave)).subscribe((response) => {\r\n //this.usuariosService.validarAccesoSigo(this.datosUsuario.usuario, this.datosUsuario.clave, environment.tipoAcceso).subscribe((response) => {\r\n this.usuariosService.validarAccesoSigo(this.loginSigoRequest).subscribe((response) => {\r\n if (response.rptTipo == 1) {\r\n this.casillaActual.setSesion(response.token);\r\n this.appStore.sessionAction.login(response.token);\r\n const sesion = this.casillaActual.getSesion();\r\n const sesion2 = this.appStore.sessionAction.getUserSesion();\r\n\r\n //console.log(this.appStore.sessionAction.getUserSesion());\r\n //let token = this.route.snapshot.queryParamMap.get('token');\r\n let token = this.appStore.sessionAction.isToken();\r\n //location.href = \"http://sifirmademo.pvn.gob.pe/?token=\" + token; //environment.loginUrl + window.location.origin;\r\n location.href = this.urlReturn + \"/?token=\" + token;\r\n }\r\n else {\r\n this.toast.error(response.rptMsg);\r\n }\r\n });\r\n }\r\n }\r\n\r\n encriptarClave = (dato: string): string => { \r\n var key = CryptoJS.enc.Utf8.parse('7061737323313233');\r\n var iv = CryptoJS.enc.Utf8.parse('7061737323313233');\r\n var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(dato), key,\r\n {\r\n keySize: 128 / 8,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n return encrypted.toString();\r\n };\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL2xvZ2luL2NvbXBvbmVudHMvbG9naW4tc25lL2xvZ2luLXNuZS5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-login-sne',\r\n templateUrl: './login-sne.component.html',\r\n styleUrls: ['./login-sne.component.scss']\r\n})\r\nexport class LoginSneComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoginSifirmaComponent } from './components/login-sifirma/login-sifirma.component';\r\nimport { LoginSneComponent } from './components/login-sne/login-sne.component';\r\nimport { LoginCasillaComponent } from './components/login-casilla/login-casilla.component';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { LoginRoutingModule } from './login-routing.module';\r\nimport { LoginSigoComponent } from './components/login-sigo/login-sigo.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n LoginSifirmaComponent, \r\n LoginSneComponent, \r\n LoginCasillaComponent, LoginSigoComponent],\r\n imports: [\r\n // LoginRoutingModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n FormsModule\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ]\r\n})\r\nexport class LoginModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { ICasilla, ISesion } from '../modelos/casilla.interface';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CasillaActualService {\r\n private KEYSTORAGE = \"PROVIAS_CASILLA_ACTUAL\";\r\n private KEYSTORAGE_SESSION = \"PROVIAS_SESION_ACTUAL\";\r\n private casillaActual: ICasilla;\r\n private sesionActual: ISesion;\r\n\r\n constructor(private jwtHelper: JwtHelperService) {\r\n\r\n }\r\n\r\n getCasillaActual() {\r\n if(!this.casillaActual) {\r\n let casillaActualTexto = localStorage.getItem(this.KEYSTORAGE);\r\n this.casillaActual = JSON.parse(casillaActualTexto);\r\n }\r\n\r\n return this.casillaActual;\r\n }\r\n\r\n setCasillaActual(casilla: ICasilla) {\r\n this.casillaActual = casilla;\r\n\r\n localStorage.setItem(this.KEYSTORAGE, JSON.stringify(this.casillaActual));\r\n }\r\n\r\n setSesion = (token: string) => {\r\n let sesion : ISesion = this.jwtHelper.decodeToken(token);\r\n //console.log(sesion);\r\n localStorage.setItem(this.KEYSTORAGE_SESSION, token);\r\n this.sesionActual = sesion;\r\n }\r\n\r\n getSesion = () : ISesion => {\r\n return this.sesionActual;\r\n }\r\n\r\n esSesionValida = () => {\r\n let token = localStorage.getItem(this.KEYSTORAGE_SESSION);\r\n let casillaActual = localStorage.getItem(this.KEYSTORAGE);\r\n return !this.jwtHelper.isTokenExpired(token) && casillaActual;\r\n }\r\n\r\n limpiarSesion = () => {\r\n this.sesionActual = null;\r\n this.casillaActual = null;\r\n localStorage.removeItem(this.KEYSTORAGE);\r\n localStorage.removeItem(this.KEYSTORAGE_SESSION);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { mergeMap, catchError, map } from 'rxjs/operators';\r\n\r\nimport { IDataGridPageRequest } from '../modelos/data-grid.interface';\r\nimport { IAdministrarNotificacionFiltroBuscarRequest, IGenerarAgrupacionRequest, IEditarAgrupacionRequest, IDeleteAgrupacionRequest, IActualizarMarcarNotificacionRequest } from '../modelos/filtro-api.interface';\r\nimport { convertObjectToGetParams } from '../functions/http.helpers';\r\nimport { ToastService } from '../shared/services/toast.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nconst KEYSTORAGE_SESSION = \"PROVIAS_SESION_ACTUAL\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UsuariosService {\r\n\r\n private urlCasilla: string = environment.gatewayUrl + `/c/v1/CasillaElectronica/`;\r\n private urlNotificacion: string = environment.gatewayUrl + `/c/v1/Notificacion/`; \r\n private urlUbigeo: string = environment.gatewayUrl + `/t/v1/Ubigeo/`;\r\n private urlApiGateway: string = environment.gatewayUrl + `/api/v1`;\r\n private urlApiSeguridad: string = environment.gatewayUrl+ `/sso/v1`;\r\n \r\n constructor(\r\n private http: HttpClient,\r\n private toast: ToastService \r\n ) { }\r\n\r\n registroUsuarioServicio = (\r\n registroUsuario\r\n ): Observable => {\r\n return this.http.post(`${this.urlApiSeguridad}/Usuarios/Insertar-UsuarioPortal`, registroUsuario)\r\n .pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n );\r\n };\r\n\r\n enviarEmailDatosUsuario = (dato1: string, dato2: string, dato3: string, dato4): Observable => {\r\n \r\n return this.http.post(`${this.urlApiGateway}/CasillaElectronica/enviar-email`, {}, {\r\n params: {\r\n correo: dato1, sujeto: dato2, texto: dato3, usarHtml: dato4\r\n }\r\n });\r\n };\r\n \r\n servicioRenat = (ruc: string): Observable => {\r\n \r\n return this.http.post(`${this.urlApiGateway}/Seguridad/buscar-por-ruc`, {}, {\r\n params: {\r\n request: ruc\r\n }\r\n }).pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n );;\r\n };\r\n\r\n servicioSunat = (ruc: string): Observable => {\r\n \r\n return this.http.post(`${this.urlApiGateway}/Seguridad/buscar-ruc-sunat`, {}, {\r\n params: {\r\n request: ruc\r\n }\r\n }).pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n );;\r\n };\r\n\r\n servicioDniPide = (request): Observable => {\r\n //return this.http.post(`${this.urlApiSeguridad}/Usuarios/Insertar-UsuarioPortal`, registroUsuario)\r\n return this.http.post(`${this.urlApiGateway}/Seguridad/buscar-dni`, request).pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n );;\r\n };\r\n\r\n validarUsuario = (\r\n pnTipo: number,\r\n pnTipoDocumento: number,\r\n pnPais: number,\r\n pcNroDocumento: string\r\n ): Observable => \r\n {\r\n const params = convertObjectToGetParams({ pnTipo, pnTipoDocumento, pnPais, pcNroDocumento });\r\n console.log('validar USUARIO', params);\r\n debugger;\r\n return this.http.get(`${this.urlApiSeguridad}/Usuarios/ValidarUsuario`, { params })\r\n .pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n );\r\n };\r\n\r\n validarAcceso = (dato): Observable => {\r\n \r\n /*return this.http.post(`${this.urlApiSeguridad}/Usuarios/ValidarAcceso`, {}, {\r\n params: {\r\n pnTipo: dato1, pnTipoDocumento: dato2, pnPais: dato3, pcNroDocumento: dato4, pcClave: dato5\r\n }\r\n });*/\r\n return this.http.post(`${this.urlApiSeguridad}/Usuarios/ValidarAcceso`, dato).pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n );; \r\n };\r\n\r\n /*validarAccesoSiFirma = (dato1: string, dato2: string): Observable => {\r\n \r\n return this.http.post(`${this.urlApiSeguridad}/Usuarios/ValidarAccesoSiFirma`, {}, {\r\n params: {\r\n pcUsuario: dato1, pcClave: dato2\r\n }\r\n });\r\n };*/\r\n \r\n validarAccesoSiFirma = (dato): Observable => {\r\n \r\n /*return this.http.post(`${this.urlApiSeguridad}/Usuarios/ValidarAccesoSiFirma`, dato\r\n });*/\r\n return this.http.post(`${this.urlApiSeguridad}/Usuarios/ValidarAccesoSiFirma`, dato).pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n );;\r\n };\r\n\r\n validarAccesoSigo = (dato): Observable => {\r\n \r\n return this.http.post(`${this.urlApiSeguridad}/Usuarios/ValidarAccesoSigo`, dato).pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n );;\r\n }; \r\n \r\n validarRecuperar = (\r\n pnTipo: number,\r\n pnTipoDocumento: number,\r\n pnPais: number,\r\n pcNroDocumento: string,\r\n pcCodigo: string\r\n ): Observable => \r\n {\r\n const params = convertObjectToGetParams({ pnTipo, pnTipoDocumento, pnPais, pcNroDocumento, pcCodigo });\r\n return this.http.get(`${this.urlApiSeguridad}/Usuarios/ValidarRecuperar`, { params })\r\n .pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n );\r\n };\r\n\r\n cambioClave = (\r\n pnPk: number,\r\n pnTipo: number,\r\n pcClave: string,\r\n pcClaveNew: string\r\n ): Observable => \r\n {\r\n const params = convertObjectToGetParams({ pnPk, pnTipo, pcClave, pcClaveNew });\r\n return this.http.get(`${this.urlApiSeguridad}/Usuarios/PortalCambioClave`, { params })\r\n .pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n );\r\n };\r\n\r\n listarPais = (pnTipo: number): Observable => \r\n {\r\n const params = convertObjectToGetParams({ pnTipo});\r\n return this.http.get(`${this.urlApiSeguridad}/Usuarios/Listar-Pais`, { params });\r\n };\r\n\r\n listarTipoDocumentoPais = (pkPais: number, pnTipo: number): Observable => \r\n {\r\n const params = convertObjectToGetParams({ pkPais, pnTipo});\r\n return this.http.get(`${this.urlApiSeguridad}/Usuarios/Listar-TipoDocumento-Pais`, { params });\r\n };\r\n\r\n validarRuc1 = (\r\n uRuc: string\r\n ): Observable => \r\n {\r\n const url = \"https://api.sunat.cloud/ruc/\"+uRuc; // site that doesn’t send Access-Control-*\r\n fetch(url)\r\n .then(response => response.text())\r\n .then(contents => console.log(contents))\r\n .catch(() => console.log(\"Can’t access \" + url + \" response. Blocked by browser?\"))\r\n \r\n return this.http.get(`https://api.sunat.cloud/ruc/`+uRuc, { });\r\n }\r\n validarRuc = (\r\n uRuc: string\r\n ): Observable => \r\n {\r\n const params = convertObjectToGetParams({ uRuc });\r\n return this.http.get(`${this.urlApiGateway}/Bonficacion/buscar-razon-social`, { \r\n })\r\n .pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n )\r\n }\r\n \r\n descargarArchivoNotificacion = (\r\n rutaArchivo: string,\r\n nombreArchivoSinExtension: string\r\n ) => \r\n {\r\n const params = convertObjectToGetParams({ rutaArchivo, nombreArchivoSinExtension });\r\n //headers:headers\r\n this.http.get(`${this.urlApiGateway}descargar-archivo-notificacion`,{\r\n params,\r\n responseType: 'arraybuffer'\r\n } \r\n )\r\n .pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n catchError(this.handleErrorResponse)\r\n )\r\n .subscribe(\r\n (response) => {\r\n //console.log('Archivo', response);\r\n this.downLoadFile(response, \"application/octet-stream\", nombreArchivoSinExtension + '.pdf')\r\n },\r\n (error) => {\r\n alert('No se encontró el archivo.')\r\n });\r\n }\r\n\r\n emailRegistro = (\r\n registroMovimiento\r\n ): Observable => {\r\n return this.http.post(`${this.urlApiGateway}/Seguridad/enviar-email-registro`, registroMovimiento)\r\n .pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n //catchError(this.handleErrorResponse)\r\n );\r\n };\r\n\r\n emailCodigo = (\r\n registroMovimiento\r\n ): Observable => {\r\n return this.http.post(`${this.urlApiGateway}/Seguridad/enviar-codigo-verifica`, registroMovimiento)\r\n .pipe(\r\n map(response => {\r\n return response;\r\n }),\r\n //catchError(this.handleErrorResponse)\r\n );\r\n };\r\n \r\n private downLoadFile(data: any, type: string, fileName: string) {\r\n let blob = new Blob([data], { type: type});\r\n let url = window.URL.createObjectURL(blob);\r\n \r\n var downloadLink = document.createElement(\"a\");\r\n downloadLink.href = url;\r\n downloadLink.download = fileName;\r\n\r\n document.body.appendChild(downloadLink);\r\n downloadLink.click();\r\n document.body.removeChild(downloadLink);\r\n } \r\n\r\n private obtenerAuthHeaders = () => {\r\n let headers = new HttpHeaders();\r\n headers.append('Authorization', 'Bearer ' + localStorage.getItem(KEYSTORAGE_SESSION));\r\n\r\n return headers;\r\n }\r\n\r\n private handleErrorResponse = (error: HttpErrorResponse) => {\r\n if (error.status == 401)\r\n {\r\n this.toast.error(\"Su sesión ha expirado. Por favor recargue la página para continuar.\");\r\n }\r\n\r\n return Observable.throw(error);\r\n }\r\n\r\n}\r\n","export default \".icon-container {\\n font-size: 5rem;\\n text-align: center; }\\n\\n.icon_success {\\n color: #a5dc86; }\\n\\n.icon_error {\\n color: #f27474; }\\n\\n.icon_warning {\\n color: #f8bb86; }\\n\\n.icon_info {\\n color: #3fc3ee; }\\n\\n.alert-content {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding-top: 15px; }\\n\\n.text-center {\\n text-align: center; }\\n\\n.buttons-container {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding-bottom: 20px; }\\n\\n.text-msg {\\n color: #3f3f3f;\\n font-size: 1.125em;\\n font-weight: 300;\\n line-height: normal; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbXBvbmVudHMvYWxlcnQvRDpcXHRmczIwMjNcXFNJR09cXDIuRnJvbnRFbmRcXFNzby5DbGllbnQvc3JjXFxhcHBcXHNoYXJlZFxcY29tcG9uZW50c1xcYWxlcnRcXGFsZXJ0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0ksZUFBZTtFQUNmLGtCQUFrQixFQUFBOztBQUlwQjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixvQkFBb0IsRUFBQTs7QUFHdEI7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixtQkFBbUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG4uaWNvbi1jb250YWluZXIge1xyXG4gICAgZm9udC1zaXplOiA1cmVtO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy8gaGVpZ2h0OiAxMjVweDtcclxuICB9XHJcbiAgXHJcbiAgLmljb25fc3VjY2VzcyB7XHJcbiAgICBjb2xvcjogI2E1ZGM4NjtcclxuICB9XHJcbiAgXHJcbiAgLmljb25fZXJyb3Ige1xyXG4gICAgY29sb3I6ICNmMjc0NzQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5pY29uX3dhcm5pbmcge1xyXG4gICAgY29sb3I6ICNmOGJiODY7XHJcbiAgfVxyXG4gIFxyXG4gIC5pY29uX2luZm8ge1xyXG4gICAgY29sb3I6ICMzZmMzZWU7XHJcbiAgfVxyXG4gIFxyXG4gIC5hbGVydC1jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICB9XHJcbiAgXHJcbiAgLnRleHQtY2VudGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgLmJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICB9XHJcbiAgXHJcbiAgLnRleHQtbXNnIHtcclxuICAgIGNvbG9yOiAjM2YzZjNmO1xyXG4gICAgZm9udC1zaXplOiAxLjEyNWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG4gICJdfQ== */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\r\nimport { IAlertData } from '../../services/alert.service';\r\n\r\n@Component({\r\n selector: 'siu-alert',\r\n templateUrl: './alert.component.html',\r\n styleUrls: [ './alert.component.scss' ]\r\n})\r\nexport class AlertComponent implements OnInit {\r\n\r\n okConfirmText: string = 'Confirmar';\r\n cancelConfirmText: string = 'Cancelar';\r\n okAlertText: string = 'Ok';\r\n\r\n constructor(private dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: IAlertData) {\r\n if (data.config.okAlertText)\r\n this.okAlertText = data.config.okAlertText;\r\n\r\n if (data.config.okConfirmText)\r\n this.okConfirmText = data.config.okConfirmText;\r\n\r\n if (data.config.cancelConfirmText)\r\n this.cancelConfirmText = data.config.cancelConfirmText;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n handleClose = (confirm: boolean = false) => {\r\n this.dialogRef.close({ confirm: confirm });\r\n }\r\n\r\n}\r\n","export default \".siu-base-button {\\n margin-left: 5px;\\n margin-right: 5px; }\\n\\n.siu-base-button-min {\\n line-height: 10px;\\n height: 26px;\\n min-width: 28px;\\n width: 28px;\\n padding: 0px;\\n margin: 0px;\\n margin-left: 3px;\\n margin-right: 3px;\\n font-size: 10px; }\\n\\n.siu-base-button-fullwidth {\\n width: 100%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2NvbXBvbmVudHMvYnV0dG9ucy9idXR0dG9uL0Q6XFx0ZnMyMDIzXFxTSUdPXFwyLkZyb250RW5kXFxTc28uQ2xpZW50L3NyY1xcYXBwXFxzaGFyZWRcXGNvbXBvbmVudHNcXGJ1dHRvbnNcXGJ1dHR0b25cXGJhc2UtYnV0dG9uLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osZUFBZTtFQUNmLFdBQVc7RUFDWCxZQUFZO0VBQ1osV0FBVztFQUNYLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsZUFBZSxFQUFBOztBQUdqQjtFQUNFLFdBQVcsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9jb21wb25lbnRzL2J1dHRvbnMvYnV0dHRvbi9iYXNlLWJ1dHRvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zaXUtYmFzZS1idXR0b24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIH1cclxuICBcclxuICAuc2l1LWJhc2UtYnV0dG9uLW1pbiB7XHJcbiAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgIGhlaWdodDogMjZweDtcclxuICAgIG1pbi13aWR0aDogMjhweDtcclxuICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgbWFyZ2luOiAwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5zaXUtYmFzZS1idXR0b24tZnVsbHdpZHRoIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAiXX0= */\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nenum VARIANTS {\r\n NORMAL = 'normal',\r\n ICON = 'icon',\r\n BASIC = 'basic',\r\n STROKED = 'stroked',\r\n FAB = 'fab'\r\n}\r\nenum TOOLTIP_POSITION {\r\n AFTER = 'after',\r\n BEFORE = 'before',\r\n ABOVE = 'above',\r\n BELOW = 'below',\r\n LEFT = 'left',\r\n RIGHT = 'right'\r\n}\r\n@Component({\r\n selector: 'siu-base-button',\r\n templateUrl: './base-button.component.html',\r\n styleUrls: [ './base-button.component.scss' ]\r\n})\r\nexport class BaseButtonComponent implements OnInit {\r\n\r\n variants = VARIANTS;\r\n tooltipPositionEnum = TOOLTIP_POSITION;\r\n\r\n\r\n @Input() variant: VARIANTS = this.variants.NORMAL;\r\n @Input() label: string;\r\n @Input() buttonType: string = \"button\";\r\n @Input() icon: string;\r\n @Input() color: string;\r\n @Input() tooltip: string;\r\n @Input() tooltipPosition: string = this.tooltipPositionEnum.ABOVE;\r\n @Input() disabled: boolean = false;\r\n @Output('on-click') onClickEvent: EventEmitter = new EventEmitter();\r\n @Input() fullWidth: boolean = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n handleClick() {\r\n if (this.disabled) return false;\r\n this.onClickEvent.emit();\r\n }\r\n\r\n}\r\n","import { AlertComponent } from './../components/alert/alert.component';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material';\r\n\r\nexport interface IAlertConfig {\r\n icon?: 'success' | 'error' | 'warning' | 'info' | 'loading';\r\n confirm?: boolean;\r\n onClose?: Function;\r\n onConfirm?: Function;\r\n width?: string;\r\n okAlertText?: string;\r\n okConfirmText?: string;\r\n cancelConfirmText?: string;\r\n};\r\n\r\nconst alertConfig: IAlertConfig = {\r\n icon: null,\r\n confirm: false,\r\n onClose: null,\r\n onConfirm: null,\r\n width: null,\r\n okAlertText: null,\r\n okConfirmText: null,\r\n cancelConfirmText: null\r\n};\r\n\r\nexport interface IAlertData {\r\n msg: string;\r\n title: string;\r\n config: IAlertConfig;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AlertService {\r\n\r\n constructor(private dialog: MatDialog) {\r\n }\r\n\r\n open = (msg: string, title: string = null, config = alertConfig) => {\r\n const _config: MatDialogConfig = {\r\n data: {\r\n msg,\r\n title,\r\n config\r\n },\r\n disableClose: true,\r\n width: config.width || '450px'\r\n };\r\n\r\n const dialogRef = this.dialog.open(AlertComponent, _config);\r\n\r\n return new Promise((resolve, reject) => {\r\n dialogRef.afterClosed().subscribe(x => {\r\n resolve(x.confirm);\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material';\r\n\r\ninterface GenericMessage {\r\n type: number;\r\n hasErrors: boolean;\r\n hasWarnings: boolean;\r\n messages: any[];\r\n}\r\nexport enum GenericMessageType {\r\n Info = 1,\r\n Warning = 2,\r\n Error = 3,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ToastService {\r\n\r\n constructor(private snackBar: MatSnackBar) {\r\n }\r\n\r\n success = (msg, closeLabel = 'Cerrar', config: MatSnackBarConfig = null) => {\r\n this.snackBar.open(msg, closeLabel, { panelClass: 'success', duration: 4000, ...config });\r\n }\r\n\r\n warning = (msg, closeLabel = 'Cerrar', config: MatSnackBarConfig = null) => {\r\n this.snackBar.open(msg, closeLabel, { panelClass: 'warning', duration: 4000, ...config });\r\n }\r\n\r\n error = (msg, closeLabel = 'Cerrar', config: MatSnackBarConfig = null) => {\r\n this.snackBar.open(msg, closeLabel, { panelClass: 'error', duration: 4000, ...config });\r\n }\r\n\r\n info = (msg, closeLabel = 'Cerrar', config: MatSnackBarConfig = null) => {\r\n this.snackBar.open(msg, closeLabel, { panelClass: 'info', duration: 4000, ...config });\r\n }\r\n\r\n show = (resp: GenericMessage) => {\r\n if (resp.hasErrors) {\r\n this.snackBar.open(resp.messages.map(x => x.message).join(','), 'Cerrar', { panelClass: 'error' });\r\n } else if (resp.hasWarnings) {\r\n this.snackBar.open(resp.messages.map(x => x.message).join(','), 'Cerrar', { panelClass: 'warning' });\r\n } else {\r\n this.snackBar.open(resp.messages.map(x => x.message).join(','), 'Cerrar', { panelClass: 'info' });\r\n }\r\n }\r\n\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport {\r\n IFormModelField,\r\n IFormActions,\r\n IComboList\r\n} from './../interfaces/forms.interface';\r\nimport { FormType } from './../enums/form.enum';\r\nimport { isArray } from 'util';\r\nimport { getObjectProperty } from '../functions/string.helpers';\r\n// import * as moment from 'moment';\r\nexport * from './messages';\r\n\r\nexport const isConstructor = f => {\r\n try {\r\n Reflect.construct(String, [], f);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nexport const isValidObject = obj => {\r\n return (\r\n typeof obj === 'object' &&\r\n obj &&\r\n !isArray(obj) &&\r\n // !moment.isMoment(obj) &&\r\n isConstructor(obj.constructor)\r\n );\r\n};\r\n\r\nexport class FormModelField implements IFormModelField {\r\n private disableWhen: (() => boolean)[] = [];\r\n\r\n constructor(\r\n public value: any,\r\n public loading: boolean,\r\n public disabled: boolean,\r\n public valid: boolean,\r\n public errors: any[],\r\n public rules: any[],\r\n public fieldName: string,\r\n public fieldLabel: string,\r\n public parentPrefix: string\r\n ) {}\r\n\r\n setValue = (value: any) => {\r\n this.value = value;\r\n };\r\n\r\n setValidator = (validator: any[]) => {\r\n this.rules = validator;\r\n };\r\n setErrors = (errors: any[]) => {\r\n this.errors = errors;\r\n this.valid = false;\r\n };\r\n clearErrors = () => {\r\n this.errors = [];\r\n this.valid = true;\r\n };\r\n setFieldLabel = label => {\r\n this.fieldLabel = label;\r\n };\r\n\r\n addDisableWhen = (disableWhen: () => boolean) => {\r\n this.disableWhen.push(disableWhen);\r\n };\r\n\r\n get isDisabled(): boolean {\r\n let neededDisabled = false;\r\n if (this.disableWhen.length > 0) {\r\n neededDisabled = this.disableWhen\r\n ? !this.disableWhen.map(f => f()).every(b => !b)\r\n : false;\r\n }\r\n return this.disabled || neededDisabled;\r\n }\r\n\r\n validate = () => {\r\n if (this.rules) {\r\n this.valid = true;\r\n this.errors = [];\r\n this.rules.forEach(rule => {\r\n if (rule) {\r\n const ret = rule({}, this.fieldName, this.value, this.fieldLabel);\r\n if (!ret.valid) {\r\n this.errors.push(ret.msg);\r\n }\r\n }\r\n });\r\n this.valid = this.errors.length === 0;\r\n }\r\n };\r\n}\r\n\r\nexport interface ISubmitOptions {\r\n submitParams: any;\r\n}\r\n\r\nexport interface IFormModelOptions {\r\n confirmOnSave?: () => Promise;\r\n onSave?: (formValue, options: ISubmitOptions) => Observable;\r\n onUpdate?: (formValue, options: ISubmitOptions) => Observable;\r\n onSearch?: (formValue, options: ISubmitOptions) => Observable | void;\r\n onGet?: () => Observable;\r\n validateOnSave?: () => boolean;\r\n disableFields?: { fields: string[] | string; when: () => boolean }[];\r\n disableOnGet?: boolean;\r\n disableOnSave?: boolean;\r\n disableOnUpdate?: boolean;\r\n}\r\n\r\nexport class FormModel {\r\n public loading;\r\n public model: { [prop: string]: IFormModelField } = {};\r\n private options: IFormModelOptions = {\r\n confirmOnSave: null,\r\n onSave: null,\r\n onUpdate: null,\r\n onGet: null,\r\n onSearch: null,\r\n disableOnGet: true,\r\n disableOnSave: true,\r\n disableOnUpdate: true\r\n };\r\n\r\n private defaultModel: T = null;\r\n\r\n constructor(\r\n private formType: FormType,\r\n defaultModel: T,\r\n validators = null,\r\n options: IFormModelOptions = null\r\n ) {\r\n this.defaultModel = JSON.parse(JSON.stringify(defaultModel));\r\n\r\n this.setModel(defaultModel);\r\n\r\n if (options) {\r\n this.setOptions(options);\r\n }\r\n\r\n if (validators) {\r\n this.setValidators(validators);\r\n }\r\n\r\n if (this.options.disableFields) {\r\n this.setDisableFieldsToModel();\r\n }\r\n\r\n if (\r\n this.options.onGet &&\r\n (formType === FormType.CONSULTAR || formType === FormType.EDITAR)\r\n ) {\r\n setTimeout(() => {\r\n this.GetData();\r\n });\r\n }\r\n }\r\n\r\n private buildModel = (model, parentPrefix) => { \r\n const newModel: { [prop: string]: IFormModelField | any } = {};\r\n Object.keys(model).forEach(x => {\r\n if (isValidObject(model[x])) {\r\n newModel[x] = this.buildModel(\r\n model[x],\r\n `${parentPrefix}${parentPrefix ? '.' : ''}${x}`\r\n );\r\n } else {\r\n newModel[x] = new FormModelField(\r\n model[x],\r\n false,\r\n false,\r\n true,\r\n [],\r\n null,\r\n x,\r\n null,\r\n parentPrefix\r\n );\r\n }\r\n });\r\n\r\n return newModel;\r\n };\r\n\r\n private setModel = (model: T) => {\r\n this.model = this.buildModel(model, '');\r\n // Object.keys(model).forEach(x => {\r\n // if (\r\n // typeof model[x] === 'object' &&\r\n // model[x] &&\r\n // model[x].constructor === Object\r\n // ) {\r\n // console.log(model[x]);\r\n // } else {\r\n // this.model[x] = new FormModelField(\r\n // model[x],\r\n // false,\r\n // false,\r\n // true,\r\n // [],\r\n // null,\r\n // x,\r\n // null,\r\n // );\r\n // }\r\n\r\n // this.model[ x ] = {\r\n // value: model[ x ],\r\n // loading: false,\r\n // disabled: false,\r\n // valid: true,\r\n // errors: [],\r\n // rules: null,\r\n // fieldName: x,\r\n // setValue: (value) => { this.model[ x ].value = value; },\r\n // setValidator: (validator: any[]) => { this.model[ x ].rules = validator; },\r\n // setErrors: (errors: any[]) => { this.model[ x ].valid = false; this.model[ x ].errors = errors; },\r\n // clearErrors: () => { this.model[ x ].valid = true; this.model[ x ].errors = []; }\r\n // }\r\n };\r\n\r\n private setValidators = validators => {\r\n Object.keys(validators).forEach(k => {\r\n if (validators[k]) {\r\n const field = getObjectProperty(this.model, k);\r\n if (field !== undefined) {\r\n field.setValidator(validators[k]);\r\n }\r\n }\r\n });\r\n };\r\n\r\n get value(): T {\r\n // Object.keys(this.model).forEach(x => {\r\n // ret[x] = this.model[x].value;\r\n // });\r\n return this.buildValue(this.model) as any;\r\n }\r\n\r\n private buildValue = (model: any) => {\r\n const obj = {};\r\n Object.keys(model).forEach(x => {\r\n if (model[x] !== undefined) {\r\n if (model[x] instanceof FormModelField) {\r\n obj[x] = model[x].value;\r\n } else {\r\n obj[x] = this.buildValue(model[x]);\r\n }\r\n }\r\n });\r\n\r\n return obj;\r\n };\r\n\r\n /**\r\n * Realiza la validación de los campos indicados en la propiedad \"validators\"\r\n *\r\n */\r\n validate = () => {\r\n const { value: formValue } = this;\r\n\r\n const validateModel = model => {\r\n Object.keys(model).forEach(k => {\r\n if (model[k] !== undefined) {\r\n if (model[k] instanceof FormModelField) {\r\n if (model[k].rules) {\r\n model[k].valid = true;\r\n model[k].errors = [];\r\n model[k].rules.forEach(rule => {\r\n if (rule) {\r\n const ret = rule(\r\n formValue,\r\n model[k].fieldName,\r\n model[k].value,\r\n model[k].fieldLabel\r\n );\r\n if (!ret.valid) {\r\n model[k].errors.push(ret.msg);\r\n }\r\n }\r\n });\r\n model[k].valid = model[k].errors.length === 0;\r\n }\r\n } else {\r\n validateModel(model[k]);\r\n }\r\n }\r\n });\r\n };\r\n validateModel(this.model);\r\n // Object.keys(this.model)\r\n // .filter(k => this.model[k].rules)\r\n // .forEach(k => {\r\n // this.model[k].valid = true;\r\n // this.model[k].errors = [];\r\n // // const rules = this.model[ k ].rules.split(\"|\");\r\n\r\n // // rules.forEach(rule => {\r\n // // const ret = ValidateRule(this.value, k, this.model[ k ].value, rule);\r\n // // if (!ret.valid) {\r\n // // this.model[ k ].errors.push(ret.msg);\r\n // // }\r\n // // });\r\n // this.model[k].rules.forEach(rule => {\r\n // if (rule) {\r\n // const ret = rule(\r\n // formValue,\r\n // this.model[k].fieldName,\r\n // this.model[k].value,\r\n // this.model[k].fieldLabel,\r\n // );\r\n // if (!ret.valid) {\r\n // this.model[k].errors.push(ret.msg);\r\n // }\r\n // }\r\n // });\r\n\r\n // this.model[k].valid = this.model[k].errors.length === 0;\r\n // });\r\n };\r\n\r\n get valid() {\r\n const isModelValid = model => {\r\n return (\r\n Object.keys(model).filter(k => {\r\n if (model[k] instanceof FormModelField) {\r\n return !model[k].valid;\r\n } else {\r\n return !isModelValid(model[k]);\r\n }\r\n }).length === 0\r\n );\r\n };\r\n return isModelValid(this.model);\r\n }\r\n\r\n public submit(params: any = null) {\r\n this.validate();\r\n\r\n const customValid = this.options.validateOnSave\r\n ? this.options.validateOnSave()\r\n : true;\r\n\r\n if (!this.valid || !customValid) {\r\n return false;\r\n }\r\n\r\n const _submit = () => {\r\n if (this.formType === FormType.REGISTRAR) {\r\n this.loading = true;\r\n if (this.options.disableOnSave) {\r\n this.disable();\r\n }\r\n const obs = this.options.onSave(this.value, { submitParams: params });\r\n if (obs) {\r\n obs.subscribe(\r\n () => {\r\n if (this.options.disableOnSave) {\r\n this.enable();\r\n }\r\n this.loading = false;\r\n },\r\n error => {\r\n if (this.options.disableOnSave) {\r\n this.enable();\r\n }\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n if (this.formType === FormType.EDITAR) {\r\n this.loading = true;\r\n if (this.options.disableOnUpdate) {\r\n this.disable();\r\n }\r\n const obs = this.options.onUpdate(this.value, { submitParams: params });\r\n if (obs) {\r\n obs.subscribe(\r\n () => {\r\n if (this.options.disableOnUpdate) {\r\n this.enable();\r\n }\r\n this.loading = false;\r\n },\r\n error => {\r\n if (this.options.disableOnUpdate) {\r\n this.enable();\r\n }\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n if (this.formType === FormType.BUSCAR) {\r\n this.loading = true;\r\n this.disable();\r\n const obs = this.options.onSearch(this.value, { submitParams: params });\r\n if (obs) {\r\n obs.subscribe(\r\n () => {\r\n this.enable();\r\n this.loading = false;\r\n },\r\n error => {\r\n this.enable();\r\n this.loading = false;\r\n }\r\n );\r\n } else {\r\n this.loading = false;\r\n this.enable();\r\n }\r\n }\r\n };\r\n\r\n if (this.options.confirmOnSave) {\r\n this.options.confirmOnSave().then(c => {\r\n if (c) {\r\n _submit();\r\n }\r\n });\r\n } else {\r\n _submit();\r\n }\r\n }\r\n\r\n /*private setValuesToModel = (model: T) => {\r\n Object.keys(model).forEach(x => {\r\n if (this.model[x] !== undefined) {\r\n this.model[x].value = model[x];\r\n }\r\n });\r\n };*/\r\n\r\n public GetData = () => {\r\n if (this.options.onGet) {\r\n if (this.options.disableOnGet) {\r\n this.disable();\r\n }\r\n this.loading = true;\r\n this.options.onGet().subscribe(\r\n value => {\r\n if (value) {\r\n this.patchValue(value);\r\n }\r\n if (this.formType === FormType.EDITAR) {\r\n if (this.options.disableOnGet) {\r\n this.enable();\r\n }\r\n }\r\n this.loading = false;\r\n },\r\n error => {\r\n if (this.options.disableOnGet) {\r\n this.enable();\r\n }\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n };\r\n\r\n private getObjectKeys = (model, parentProp = '') => {\r\n let keys = [];\r\n\r\n Object.keys(model).forEach(k => {\r\n if (model[k] !== undefined) {\r\n if (model[k] instanceof FormModelField) {\r\n keys.push(`${parentProp}${k}`);\r\n } else {\r\n keys = [\r\n ...keys,\r\n ...this.getObjectKeys(model[k], `${parentProp}${k}.`)\r\n ];\r\n }\r\n }\r\n });\r\n return keys;\r\n };\r\n\r\n public disable = (fields: string[] = null) => {\r\n if (!fields) {\r\n fields = this.getObjectKeys(this.model);\r\n }\r\n\r\n fields.forEach(k => {\r\n this.get(k).disabled = true;\r\n });\r\n };\r\n\r\n public enable = (fields: string[] = null) => {\r\n if (!fields) {\r\n fields = this.getObjectKeys(this.model);\r\n }\r\n\r\n fields.forEach(k => {\r\n this.get(k).disabled = false;\r\n });\r\n };\r\n\r\n public setOptions = (options: IFormModelOptions) => {\r\n this.options = { ...this.options, ...options };\r\n };\r\n\r\n private setValuesFromObject = (obj, model) => {\r\n Object.keys(obj).forEach(k => {\r\n if (model[k] !== undefined) {\r\n if (isValidObject(obj[k])) {\r\n if (!(model[k] instanceof FormModelField)) {\r\n this.setValuesFromObject(obj[k], model[k]);\r\n }\r\n } else {\r\n model[k].setValue(obj[k]);\r\n }\r\n }\r\n });\r\n };\r\n\r\n public patchValue = value => {\r\n this.setValuesFromObject(value, this.model);\r\n };\r\n\r\n public setValue = value => {\r\n this.reset();\r\n this.patchValue(value);\r\n };\r\n\r\n /**\r\n * Obtiene el control con sus metodos, segun el campo indicado\r\n */\r\n public get = (fieldName: string): IFormModelField => {\r\n return getObjectProperty(this.model, fieldName);\r\n };\r\n\r\n /**\r\n * Obtiene el valor del control indicado\r\n */\r\n public getValue = (fieldName = null) => {\r\n if (fieldName) {\r\n const field = this.get(fieldName);\r\n if (field instanceof FormModelField) {\r\n return field.value;\r\n } else if (field !== undefined) {\r\n return this.buildValue(field);\r\n }\r\n return field;\r\n }\r\n return this.value;\r\n };\r\n\r\n public reset = () => {\r\n this.setValuesFromObject(this.defaultModel, this.model);\r\n };\r\n\r\n private setDisableFieldsToModel = () => {\r\n let fields = [];\r\n this.options.disableFields.forEach(x => {\r\n if (typeof x.fields === 'string') {\r\n if (x.fields === '*') {\r\n fields = this.getObjectKeys(this.model);\r\n }\r\n } else {\r\n fields = [...(x.fields as string[])];\r\n }\r\n fields.forEach(f => {\r\n const field = this.get(f);\r\n if (field !== undefined && field instanceof FormModelField) {\r\n field.addDisableWhen(x.when);\r\n }\r\n });\r\n });\r\n };\r\n\r\n // public getSelectedValue = fieldName => {\r\n // return null;\r\n // // if (this.model[fieldName] === undefined) {\r\n // // return null;\r\n // // }\r\n // // return this.model[fieldName].selectedValue;\r\n // };\r\n\r\n public clearErrors = (fields: string[] = null) => {\r\n if (!fields) {\r\n const clearModelErrors = (model: { [prop: string]: IFormModelField }) => {\r\n Object.keys(model).forEach(k => {\r\n if (model[k] !== undefined) {\r\n if (model[k] instanceof FormModelField) {\r\n if (!model[k].valid) {\r\n model[k].clearErrors();\r\n }\r\n } else {\r\n clearModelErrors(model[k] as any);\r\n }\r\n }\r\n });\r\n };\r\n clearModelErrors(this.model);\r\n } else {\r\n fields.forEach(f => {\r\n const formField = this.get(f);\r\n if (formField) {\r\n formField.clearErrors();\r\n }\r\n });\r\n }\r\n };\r\n}\r\n\r\nexport class ComboList implements IComboList {\r\n list: any[];\r\n loading: boolean;\r\n constructor(value, loading = false) {\r\n this.list = value;\r\n this.loading = loading;\r\n }\r\n}\r\n","export const DEFAULT_MESSAGES = {\r\n CONFIRM_CIERRA_FORM: 'Se va a cerrar el formulario ¿Continuar?',\r\n CONFIRM_ELIMINA_REGISTRO: 'Se va a eliminar el registro ¿Continuar?',\r\n CONFIRM_GUARDA_REGISTRO: msg => `¿Está seguro de ${msg} el registro?`,\r\n REGISTRO_ACTUALIZADO: 'El registro se ha actualizado correctamente.',\r\n REGISTRO_GUARDADO: 'El registro se ha guardado correctamente.',\r\n REGISTRO_ELIMINADO: 'El registro se ha eliminado correctamente.',\r\n REGISTRO_AGREGADO: 'El registro se agregó correctamente.',\r\n DESCARGA_EXCEL: 'Ha iniciado la exportación de archivo Excel, por favor espere',\r\n SIN_PERMISOS_MATRIZ: 'No tiene permisos para realizar acciones en esta opción',\r\n SIN_PERMISOS_MENU: 'No tiene permisos para acceder a esta opción.'\r\n };\r\n ","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\n//******** DESARROLLO *****/\r\n// export const environment = {\r\n// production: false,\r\n// loginUrl: 'https://snedesa.pvn.gob.pe/Account/Login?ReturnUrl=',\r\n// loingUrlPortal: 'https://snedesa.pvn.gob.pe//loginPortal?ReturnUrl=https://sigodesa.pvn.gob.pe',\r\n// gatewayUrl: 'https://apigatewaydesa.pvn.gob.pe',\r\n// tipoAcceso: '1'\r\n// };\r\n\r\n//******** PRODUCCION *****/\r\nexport const environment = {\r\n production: false,\r\n loginUrl: 'https://webseguridad.pvn.gob.pe/Account/Login?ReturnUrl=',\r\n loingUrlPortal: 'https://webseguridad.pvn.gob.pe//loginPortal?ReturnUrl=https://sigo.pvn.gob.pe',\r\n gatewayUrl: 'https://wsgatewaysigo.pvn.gob.pe',\r\n tipoAcceso: '1'\r\n};\r\n\r\n// // //******** QA *****/\r\n// export const environment = {\r\n// production: false,\r\n// loginUrl: 'https://webseguridadqa.pvn.gob.pe/Account/Login?ReturnUrl=',\r\n// loingUrlPortal: 'https://webseguridadqa.pvn.gob.pe//loginPortal?ReturnUrl=https://sigoqa.pvn.gob.pe',\r\n// gatewayUrl: 'https://wsgatewaysigoqa.pvn.gob.pe',\r\n// tipoAcceso: '1'\r\n// };\r\n\r\n//******** LOCAL ****/\r\n// export const environment = {\r\n// production: false,\r\n// loginUrl: 'https://localhost:44328/Account/Login?ReturnUrl=',\r\n// loingUrlPortal: 'https://localhost:44328//loginPortal?ReturnUrl=https://localhost:44339/autorizaciones/autorizacion-aprob-online',\r\n// gatewayUrl: 'https://localhost:44351',\r\n// tipoAcceso: '1'\r\n// };\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}