dmencu 3.2.21 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -42
- package/ayuda/asignacion.md +16 -0
- package/ayuda/circuito-encuesta.md +27 -0
- package/ayuda/control.md +13 -0
- package/ayuda/dm-cambiar-modo.md +16 -0
- package/ayuda/dm-relevamiento.md +20 -0
- package/ayuda/dm-sincronizar.md +18 -0
- package/ayuda/fin-de-campo.md +14 -0
- package/ayuda/metadatos.md +14 -0
- package/ayuda/procesar.md +13 -0
- package/ayuda/recepcion.md +20 -0
- package/ayuda/supervision.md +9 -0
- package/ayuda/usuarios.md +12 -0
- package/ayuda/varios.md +23 -0
- package/dist/client/client/client.js +101 -4
- package/dist/client/client/css/menu.styl +29 -0
- package/dist/client/unlogged/abrir-formulario.js +1 -1
- package/dist/client/unlogged/bypass-formulario.d.ts +6 -42
- package/dist/client/unlogged/bypass-formulario.js +84 -219
- package/dist/client/unlogged/calculos-encuesta.js +112 -38
- package/dist/client/unlogged/css/formulario-react.styl +9 -0
- package/dist/client/unlogged/helpers-casilleros.d.ts +1 -1
- package/dist/client/unlogged/helpers-casilleros.js +12 -18
- package/dist/client/unlogged/helpers-formulario.d.ts +16 -0
- package/dist/client/unlogged/helpers-formulario.js +88 -0
- package/dist/client/unlogged/redux-formulario.d.ts +1 -2
- package/dist/client/unlogged/redux-formulario.js +21 -31
- package/dist/client/unlogged/render-config.d.ts +5 -1
- package/dist/client/unlogged/render-config.js +14 -1
- package/dist/client/unlogged/render-formulario.d.ts +3 -6
- package/dist/client/unlogged/render-formulario.js +71 -69
- package/dist/client/unlogged/render-formulario.tsx +100 -57
- package/dist/client/unlogged/render-general.d.ts +2 -0
- package/dist/client/unlogged/render-general.js +2 -1
- package/dist/client/unlogged/render-general.tsx +2 -1
- package/dist/client/unlogged/render-init.d.ts +1 -0
- package/dist/client/unlogged/render-init.js +9 -2
- package/dist/client/unlogged/tipos.d.ts +93 -41
- package/dist/client/unlogged/tipos.js +1 -1
- package/dist/server/app-dmencu.d.ts +1435 -0
- package/dist/server/app-dmencu.js +1091 -0
- package/dist/server/ayuda.d.ts +19 -0
- package/dist/server/ayuda.js +224 -0
- package/dist/server/def-config.d.ts +1 -0
- package/dist/server/def-config.js +123 -0
- package/dist/server/procedures-dmencu.d.ts +43 -0
- package/dist/server/procedures-dmencu.js +2313 -0
- package/dist/server/server/app-dmencu.d.ts +49 -91
- package/dist/server/server/app-dmencu.js +151 -52
- package/dist/server/server/ayuda.d.ts +19 -0
- package/dist/server/server/ayuda.js +224 -0
- package/dist/server/server/procedures-dmencu.d.ts +34 -2
- package/dist/server/server/procedures-dmencu.js +93 -51
- package/dist/server/server/setters-rea-no-rea.d.ts +13 -0
- package/dist/server/server/setters-rea-no-rea.js +35 -0
- package/dist/server/server/table-areas.js +4 -4
- package/dist/server/server/table-areas_asignacion_general.js +2 -1
- package/dist/server/server/table-control_campo.js +4 -4
- package/dist/server/server/table-no_rea.js +4 -2
- package/dist/server/server/table-no_rea_sup.js +7 -3
- package/dist/server/server/table-personal.js +1 -1
- package/dist/server/server/table-tareas_tem.js +2 -2
- package/dist/server/server/table-tem.js +2 -2
- package/dist/server/server/types-dmencu.d.ts +53 -2
- package/dist/server/server/types-dmencu.js +2 -1
- package/dist/server/setters-rea-no-rea.d.ts +13 -0
- package/dist/server/setters-rea-no-rea.js +35 -0
- package/dist/server/table-acciones.d.ts +2 -0
- package/dist/server/table-acciones.js +45 -0
- package/dist/server/table-area_enc_proximas.d.ts +2 -0
- package/dist/server/table-area_enc_proximas.js +30 -0
- package/dist/server/table-areas.d.ts +4 -0
- package/dist/server/table-areas.js +112 -0
- package/dist/server/table-areas_asignacion_general.d.ts +2 -0
- package/dist/server/table-areas_asignacion_general.js +86 -0
- package/dist/server/table-barrios.d.ts +2 -0
- package/dist/server/table-barrios.js +35 -0
- package/dist/server/table-comunas.d.ts +2 -0
- package/dist/server/table-comunas.js +33 -0
- package/dist/server/table-control_campo.d.ts +12 -0
- package/dist/server/table-control_campo.js +119 -0
- package/dist/server/table-control_dias_carga.d.ts +2 -0
- package/dist/server/table-control_dias_carga.js +63 -0
- package/dist/server/table-control_resumen.d.ts +2 -0
- package/dist/server/table-control_resumen.js +19 -0
- package/dist/server/table-diccionario.d.ts +2 -0
- package/dist/server/table-diccionario.js +32 -0
- package/dist/server/table-dictra.d.ts +2 -0
- package/dist/server/table-dictra.js +46 -0
- package/dist/server/table-dicvar.d.ts +2 -0
- package/dist/server/table-dicvar.js +32 -0
- package/dist/server/table-encuestadores.d.ts +13 -0
- package/dist/server/table-encuestadores.js +75 -0
- package/dist/server/table-estados.d.ts +2 -0
- package/dist/server/table-estados.js +47 -0
- package/dist/server/table-estados_acciones.d.ts +2 -0
- package/dist/server/table-estados_acciones.js +40 -0
- package/dist/server/table-fracciones.d.ts +2 -0
- package/dist/server/table-fracciones.js +37 -0
- package/dist/server/table-grilla_hoja_ruta.d.ts +2 -0
- package/dist/server/table-grilla_hoja_ruta.js +93 -0
- package/dist/server/table-historial_tem.d.ts +2 -0
- package/dist/server/table-historial_tem.js +57 -0
- package/dist/server/table-hogares.d.ts +2 -0
- package/dist/server/table-hogares.js +156 -0
- package/dist/server/table-hogares_sup.d.ts +2 -0
- package/dist/server/table-hogares_sup.js +191 -0
- package/dist/server/table-inconsistencias_cumplen_condicion.d.ts +2 -0
- package/dist/server/table-inconsistencias_cumplen_condicion.js +33 -0
- package/dist/server/table-manzanas.d.ts +2 -0
- package/dist/server/table-manzanas.js +36 -0
- package/dist/server/table-mis_encuestadores.d.ts +2 -0
- package/dist/server/table-mis_encuestadores.js +77 -0
- package/dist/server/table-mis_tareas.d.ts +2 -0
- package/dist/server/table-mis_tareas.js +18 -0
- package/dist/server/table-mis_tareas_areas.d.ts +2 -0
- package/dist/server/table-mis_tareas_areas.js +20 -0
- package/dist/server/table-modos_dm.d.ts +2 -0
- package/dist/server/table-modos_dm.js +28 -0
- package/dist/server/table-no_rea.js +38 -0
- package/dist/server/table-no_rea_sup.js +36 -0
- package/dist/server/table-operaciones.d.ts +2 -0
- package/dist/server/table-operaciones.js +30 -0
- package/dist/server/table-parametros.d.ts +2 -0
- package/dist/server/table-parametros.js +40 -0
- package/dist/server/table-permisos.d.ts +2 -0
- package/dist/server/table-permisos.js +31 -0
- package/dist/server/table-personal.d.ts +5 -0
- package/dist/server/table-personal.js +62 -0
- package/dist/server/table-personal_rol.d.ts +2 -0
- package/dist/server/table-personal_rol.js +42 -0
- package/dist/server/table-personas.d.ts +2 -0
- package/dist/server/table-personas.js +448 -0
- package/dist/server/table-personas_sup.d.ts +2 -0
- package/dist/server/table-personas_sup.js +93 -0
- package/dist/server/table-radios.d.ts +2 -0
- package/dist/server/table-radios.js +37 -0
- package/dist/server/table-rea.d.ts +2 -0
- package/dist/server/table-rea.js +38 -0
- package/dist/server/table-rea_sup.d.ts +2 -0
- package/dist/server/table-rea_sup.js +38 -0
- package/dist/server/table-recepcionistas.d.ts +2 -0
- package/dist/server/table-recepcionistas.js +18 -0
- package/dist/server/table-recuperadores.d.ts +2 -0
- package/dist/server/table-recuperadores.js +18 -0
- package/dist/server/table-roles.d.ts +2 -0
- package/dist/server/table-roles.js +33 -0
- package/dist/server/table-roles_permisos.d.ts +2 -0
- package/dist/server/table-roles_permisos.js +36 -0
- package/dist/server/table-roles_subordinados.d.ts +2 -0
- package/dist/server/table-roles_subordinados.js +31 -0
- package/dist/server/table-semanas.d.ts +2 -0
- package/dist/server/table-semanas.js +42 -0
- package/dist/server/table-sincronizaciones.d.ts +2 -0
- package/dist/server/table-sincronizaciones.js +30 -0
- package/dist/server/table-supervisores.d.ts +2 -0
- package/dist/server/table-supervisores.js +18 -0
- package/dist/server/table-tareas.d.ts +2 -0
- package/dist/server/table-tareas.js +48 -0
- package/dist/server/table-tareas_areas.d.ts +7 -0
- package/dist/server/table-tareas_areas.js +112 -0
- package/dist/server/table-tareas_proximas.d.ts +2 -0
- package/dist/server/table-tareas_proximas.js +48 -0
- package/dist/server/table-tareas_tem.d.ts +14 -0
- package/dist/server/table-tareas_tem.js +206 -0
- package/dist/server/table-tareas_tem_analisis_campo.d.ts +2 -0
- package/dist/server/table-tareas_tem_analisis_campo.js +31 -0
- package/dist/server/table-tareas_tem_fin_campo.d.ts +3 -0
- package/dist/server/table-tareas_tem_fin_campo.js +56 -0
- package/dist/server/table-tareas_tem_ingreso.d.ts +2 -0
- package/dist/server/table-tareas_tem_ingreso.js +31 -0
- package/dist/server/table-tareas_tem_procesamiento.d.ts +2 -0
- package/dist/server/table-tareas_tem_procesamiento.js +34 -0
- package/dist/server/table-tareas_tem_recepcion.d.ts +6 -0
- package/dist/server/table-tareas_tem_recepcion.js +59 -0
- package/dist/server/table-tem.d.ts +3 -0
- package/dist/server/table-tem.js +247 -0
- package/dist/server/table-tem_asignacion.d.ts +2 -0
- package/dist/server/table-tem_asignacion.js +50 -0
- package/dist/server/table-tem_borradas.d.ts +2 -0
- package/dist/server/table-tem_borradas.js +35 -0
- package/dist/server/table-usuarios.d.ts +2 -0
- package/dist/server/table-usuarios.js +63 -0
- package/dist/server/table-visitas.d.ts +2 -0
- package/dist/server/table-visitas.js +91 -0
- package/dist/server/table-visitas_sup.d.ts +2 -0
- package/dist/server/table-visitas_sup.js +91 -0
- package/dist/server/table-viviendas.d.ts +2 -0
- package/dist/server/table-viviendas.js +299 -0
- package/dist/server/types-dmencu.d.ts +114 -0
- package/dist/server/types-dmencu.js +34 -0
- package/dist/server/unlogged/tipos.d.ts +93 -41
- package/dist/server/unlogged/tipos.js +1 -1
- package/dist/test/app-para-tests.d.ts +1117 -0
- package/dist/test/app-para-tests.js +95 -0
- package/dist/test/test-ayuda.d.ts +1 -0
- package/dist/test/test-ayuda.js +183 -0
- package/dist/test/test-caches-rea.d.ts +1 -0
- package/dist/test/test-caches-rea.js +243 -0
- package/dist/test/test-helpers-casilleros.d.ts +1 -0
- package/dist/test/test-helpers-casilleros.js +154 -0
- package/dist/test/test-helpers-formulario.d.ts +1 -0
- package/dist/test/test-helpers-formulario.js +95 -0
- package/dist/test/test-impacto-rea-no-rea-en-bd.d.ts +1 -0
- package/dist/test/test-impacto-rea-no-rea-en-bd.js +243 -0
- package/dist/test/test-menu-segun-rol.d.ts +1 -0
- package/dist/test/test-menu-segun-rol.js +170 -0
- package/dist/test/test-setters-rea-no-rea.d.ts +1 -0
- package/dist/test/test-setters-rea-no-rea.js +95 -0
- package/dist/test/test.d.ts +7 -0
- package/dist/test/test.js +9 -2
- package/dist/unlogged/helpers-casilleros.d.ts +1 -1
- package/dist/unlogged/helpers-casilleros.js +12 -18
- package/dist/unlogged/helpers-formulario.d.ts +16 -0
- package/dist/unlogged/helpers-formulario.js +88 -0
- package/dist/unlogged/tipos.d.ts +20 -2
- package/dist/unlogged/tipos.js +1 -1
- package/dist/unlogged/unlogged/abrir-formulario.js +1 -1
- package/dist/unlogged/unlogged/bypass-formulario.d.ts +6 -42
- package/dist/unlogged/unlogged/bypass-formulario.js +84 -219
- package/dist/unlogged/unlogged/css/formulario-react.styl +9 -0
- package/dist/unlogged/unlogged/helpers-casilleros.js +7 -14
- package/dist/unlogged/unlogged/helpers-formulario.d.ts +16 -0
- package/dist/unlogged/unlogged/helpers-formulario.js +88 -0
- package/dist/unlogged/unlogged/redux-formulario.d.ts +1 -2
- package/dist/unlogged/unlogged/redux-formulario.js +21 -31
- package/dist/unlogged/unlogged/render-config.d.ts +5 -1
- package/dist/unlogged/unlogged/render-config.js +14 -1
- package/dist/unlogged/unlogged/render-formulario.d.ts +3 -6
- package/dist/unlogged/unlogged/render-formulario.js +71 -69
- package/dist/unlogged/unlogged/render-formulario.tsx +100 -57
- package/dist/unlogged/unlogged/render-general.d.ts +2 -0
- package/dist/unlogged/unlogged/render-general.js +2 -1
- package/dist/unlogged/unlogged/render-general.tsx +2 -1
- package/dist/unlogged/unlogged/render-init.d.ts +1 -0
- package/dist/unlogged/unlogged/render-init.js +9 -2
- package/dist/unlogged/unlogged/tipos.d.ts +93 -41
- package/dist/unlogged/unlogged/tipos.js +1 -1
- package/dist/unlogged/unlogged/unlogged.js +15 -2
- package/install/accion_cumple_condicion.sql +1 -1
- package/install/generador_accion_cumple_condicion.sql +2 -2
- package/install/tarea_cumple_condicion.sql +1 -1
- package/install/xcalcular_resultado_trg.sql +1 -1
- package/package.json +24 -18
- package/dist/server/server/table-no_rea copy.js +0 -38
- package/dist/server/server/table-no_rea_sup copy.js +0 -36
- package/dist/unlogged/bypass-formulario.d.ts +0 -198
- package/dist/unlogged/bypass-formulario.js +0 -1226
- package/dist/unlogged/redux-formulario.d.ts +0 -440
- package/dist/unlogged/redux-formulario.js +0 -324
- package/dist/unlogged/render-config.d.ts +0 -52
- package/dist/unlogged/render-config.js +0 -161
- package/dist/unlogged/unlogged/bypass-formulario copy.d.ts +0 -198
- package/dist/unlogged/unlogged/bypass-formulario copy.js +0 -1226
- package/dist/unlogged/unlogged/helpers.d.ts +0 -14
- package/dist/unlogged/unlogged/helpers.js +0 -129
- /package/dist/server/{server/table-no_rea copy.d.ts → table-no_rea.d.ts} +0 -0
- /package/dist/server/{server/table-no_rea_sup copy.d.ts → table-no_rea_sup.d.ts} +0 -0
|
@@ -4,13 +4,12 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports"
|
|
7
|
+
define(["require", "exports"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.buscarReaNoReaEnRespuestas = buscarReaNoReaEnRespuestas;
|
|
13
|
-
const likeAr = require("like-ar");
|
|
14
13
|
const estrategiasCondicion = {
|
|
15
14
|
'rea': {
|
|
16
15
|
getCondicion: (item) => item.condicion_js,
|
|
@@ -45,6 +44,38 @@
|
|
|
45
44
|
getTarea: (_item) => null,
|
|
46
45
|
}
|
|
47
46
|
};
|
|
47
|
+
// Caché en memoria para no volver a analizar la estructura teórica en cada cambio de input
|
|
48
|
+
const cacheDiccionarioRutas = new WeakMap();
|
|
49
|
+
/**
|
|
50
|
+
* Mapea toda la estructura de UAs produciendo un diccionario O(1):
|
|
51
|
+
* { "viviendas" -> Set("viviendas", "hogares", "personas", "visitas"), "hogares" -> Set("hogares", "personas") }
|
|
52
|
+
*/
|
|
53
|
+
function obtenerDiccionarioRutas(uaRaiz) {
|
|
54
|
+
let mapa = cacheDiccionarioRutas.get(uaRaiz);
|
|
55
|
+
if (mapa)
|
|
56
|
+
return mapa;
|
|
57
|
+
mapa = new Map();
|
|
58
|
+
function mapearNodo(nodo) {
|
|
59
|
+
const descendientes = new Set();
|
|
60
|
+
if (nodo === null || nodo === void 0 ? void 0 : nodo.unidad_analisis) {
|
|
61
|
+
descendientes.add(nodo.unidad_analisis);
|
|
62
|
+
}
|
|
63
|
+
const hijas = nodo === null || nodo === void 0 ? void 0 : nodo.hijas;
|
|
64
|
+
if (hijas) {
|
|
65
|
+
for (const key in hijas) {
|
|
66
|
+
const descHija = mapearNodo(hijas[key]);
|
|
67
|
+
descHija.forEach((d) => descendientes.add(d));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (nodo === null || nodo === void 0 ? void 0 : nodo.unidad_analisis) {
|
|
71
|
+
mapa.set(nodo.unidad_analisis, descendientes);
|
|
72
|
+
}
|
|
73
|
+
return descendientes;
|
|
74
|
+
}
|
|
75
|
+
mapearNodo(uaRaiz);
|
|
76
|
+
cacheDiccionarioRutas.set(uaRaiz, mapa);
|
|
77
|
+
return mapa;
|
|
78
|
+
}
|
|
48
79
|
function itemCumpleCondicion(item, respuestas, estrategia, evaluarExpresion) {
|
|
49
80
|
const condicion = estrategia.getCondicion(item);
|
|
50
81
|
if (condicion !== null) {
|
|
@@ -57,37 +88,65 @@
|
|
|
57
88
|
const valor = estrategia.getValor(item);
|
|
58
89
|
return !!variable && variable in respuestas && respuestas[variable] == valor;
|
|
59
90
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const respuestasPlanas = {};
|
|
67
|
-
for (const [key, value] of Object.keys(respuestas)) {
|
|
68
|
-
if (!Array.isArray(value)) {
|
|
69
|
-
respuestasPlanas[key] = value;
|
|
91
|
+
function fusionarRespuestasPlanas(contextoAcumulado, respuestas) {
|
|
92
|
+
const res = Object.assign({}, contextoAcumulado);
|
|
93
|
+
for (const key in respuestas) {
|
|
94
|
+
const val = respuestas[key];
|
|
95
|
+
if (!Array.isArray(val)) {
|
|
96
|
+
res[key] = val;
|
|
70
97
|
}
|
|
71
98
|
}
|
|
72
|
-
|
|
99
|
+
return res;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Recolecta el contexto completo de TODAS las instancias de targetUaNombre en la encuesta.
|
|
103
|
+
* Usa el diccionario precalculado para filtrar ramas en O(1) sin hacer recursión innecesaria.
|
|
104
|
+
*/
|
|
105
|
+
function obtenerTodasLasInstanciasDeUa(unidadAnalisis, respuestas, targetUaNombre, diccionarioRutas, contextoAcumulado = {}) {
|
|
106
|
+
const contextoActual = fusionarRespuestasPlanas(contextoAcumulado, respuestas);
|
|
73
107
|
if ((unidadAnalisis === null || unidadAnalisis === void 0 ? void 0 : unidadAnalisis.unidad_analisis) === targetUaNombre) {
|
|
74
|
-
return [contextoActual];
|
|
108
|
+
return { completa: true, instancias: [contextoActual] };
|
|
109
|
+
}
|
|
110
|
+
const hijas = unidadAnalisis === null || unidadAnalisis === void 0 ? void 0 : unidadAnalisis.hijas;
|
|
111
|
+
if (!hijas) {
|
|
112
|
+
return { completa: false, instancias: [] };
|
|
75
113
|
}
|
|
76
|
-
const
|
|
77
|
-
for (const
|
|
114
|
+
const instanciasResultantes = [];
|
|
115
|
+
for (const key in hijas) {
|
|
116
|
+
const uaHija = hijas[key];
|
|
78
117
|
const nombreUaHija = uaHija === null || uaHija === void 0 ? void 0 : uaHija.unidad_analisis;
|
|
79
|
-
if (nombreUaHija
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
118
|
+
if (!nombreUaHija)
|
|
119
|
+
continue;
|
|
120
|
+
// CONSULTA DICCIONARIO O(1): ¿Esta rama contiene a la UA que buscamos?
|
|
121
|
+
const descendientesDeHija = diccionarioRutas.get(nombreUaHija);
|
|
122
|
+
if (!descendientesDeHija || !descendientesDeHija.has(targetUaNombre)) {
|
|
123
|
+
continue; // Ignora ramas como 'visitas' instantáneamente
|
|
124
|
+
}
|
|
125
|
+
const arregloHijas = respuestas[nombreUaHija];
|
|
126
|
+
// Integridad estructural: rama válida pero sin array o vacío
|
|
127
|
+
if (!Array.isArray(arregloHijas) || arregloHijas.length === 0) {
|
|
128
|
+
return { completa: false, instancias: [] };
|
|
129
|
+
}
|
|
130
|
+
for (let i = 0; i < arregloHijas.length; i++) {
|
|
131
|
+
const respuestasHija = arregloHijas[i];
|
|
132
|
+
const res = obtenerTodasLasInstanciasDeUa(uaHija, respuestasHija, targetUaNombre, diccionarioRutas, contextoActual);
|
|
133
|
+
if (!res.completa) {
|
|
134
|
+
return { completa: false, instancias: [] };
|
|
135
|
+
}
|
|
136
|
+
for (let j = 0; j < res.instancias.length; j++) {
|
|
137
|
+
instanciasResultantes.push(res.instancias[j]);
|
|
83
138
|
}
|
|
84
139
|
}
|
|
85
140
|
}
|
|
86
|
-
return
|
|
141
|
+
return {
|
|
142
|
+
completa: instanciasResultantes.length > 0,
|
|
143
|
+
instancias: instanciasResultantes,
|
|
144
|
+
};
|
|
87
145
|
}
|
|
88
|
-
function buscarRecursivo(uaRaiz, respuestasRaiz, unidadAnalisisActual, respuestasActuales, listaOrdenada, tipo, tarea, evaluarExpresion) {
|
|
146
|
+
function buscarRecursivo(uaRaiz, respuestasRaiz, unidadAnalisisActual, respuestasActuales, listaOrdenada, tipo, tarea, evaluarExpresion, diccionarioRutas) {
|
|
89
147
|
const estrategia = estrategiasCondicion[tipo];
|
|
90
|
-
for (
|
|
148
|
+
for (let i = 0; i < listaOrdenada.length; i++) {
|
|
149
|
+
const item = listaOrdenada[i];
|
|
91
150
|
const itemTarea = estrategia.getTarea(item);
|
|
92
151
|
if (itemTarea && itemTarea !== tarea) {
|
|
93
152
|
continue;
|
|
@@ -98,12 +157,20 @@
|
|
|
98
157
|
if (esReaPositiva) {
|
|
99
158
|
const nombreUaActual = unidadAnalisisActual === null || unidadAnalisisActual === void 0 ? void 0 : unidadAnalisisActual.unidad_analisis;
|
|
100
159
|
if (nombreUaActual) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
160
|
+
const resInstancias = obtenerTodasLasInstanciasDeUa(uaRaiz, respuestasRaiz, nombreUaActual, diccionarioRutas);
|
|
161
|
+
if (!resInstancias.completa) {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
if (resInstancias.instancias.length > 1) {
|
|
165
|
+
let todasCumplen = true;
|
|
166
|
+
for (let k = 0; k < resInstancias.instancias.length; k++) {
|
|
167
|
+
if (!itemCumpleCondicion(item, resInstancias.instancias[k], estrategia, evaluarExpresion)) {
|
|
168
|
+
todasCumplen = false;
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
105
172
|
if (!todasCumplen) {
|
|
106
|
-
continue;
|
|
173
|
+
continue;
|
|
107
174
|
}
|
|
108
175
|
}
|
|
109
176
|
}
|
|
@@ -114,14 +181,19 @@
|
|
|
114
181
|
};
|
|
115
182
|
}
|
|
116
183
|
}
|
|
117
|
-
const hijas =
|
|
118
|
-
|
|
119
|
-
const
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
184
|
+
const hijas = unidadAnalisisActual === null || unidadAnalisisActual === void 0 ? void 0 : unidadAnalisisActual.hijas;
|
|
185
|
+
if (hijas) {
|
|
186
|
+
for (const key in hijas) {
|
|
187
|
+
const uaHija = hijas[key];
|
|
188
|
+
const nombreUaHija = uaHija === null || uaHija === void 0 ? void 0 : uaHija.unidad_analisis;
|
|
189
|
+
if (nombreUaHija && Array.isArray(respuestasActuales[nombreUaHija])) {
|
|
190
|
+
const arregloHijas = respuestasActuales[nombreUaHija];
|
|
191
|
+
for (let i = 0; i < arregloHijas.length; i++) {
|
|
192
|
+
const respuestasHija = arregloHijas[i];
|
|
193
|
+
const res = buscarRecursivo(uaRaiz, respuestasRaiz, uaHija, Object.assign({}, respuestasActuales, respuestasHija), listaOrdenada, tipo, tarea, evaluarExpresion, diccionarioRutas);
|
|
194
|
+
if (res.codigo !== null) {
|
|
195
|
+
return res;
|
|
196
|
+
}
|
|
125
197
|
}
|
|
126
198
|
}
|
|
127
199
|
}
|
|
@@ -132,8 +204,10 @@
|
|
|
132
204
|
if (!estrategiasCondicion[tipo]) {
|
|
133
205
|
throw new Error(`Tipo de condición desconocido: ${tipo}`);
|
|
134
206
|
}
|
|
207
|
+
// Obtiene o crea el diccionario de rutas para la estructura recibida
|
|
208
|
+
const diccionarioRutas = obtenerDiccionarioRutas(unidadAnalisis);
|
|
135
209
|
const listaOrdenada = [...lista].sort((a, b) => { var _a, _b; return ((_a = a.orden) !== null && _a !== void 0 ? _a : 0) - ((_b = b.orden) !== null && _b !== void 0 ? _b : 0); });
|
|
136
|
-
return buscarRecursivo(unidadAnalisis, respuestas, unidadAnalisis, respuestas, listaOrdenada, tipo, tarea, evaluarExpresion);
|
|
210
|
+
return buscarRecursivo(unidadAnalisis, respuestas, unidadAnalisis, respuestas, listaOrdenada, tipo, tarea, evaluarExpresion, diccionarioRutas);
|
|
137
211
|
}
|
|
138
212
|
});
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3Vsb3MtZW5jdWVzdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvY2FsY3Vsb3MtZW5jdWVzdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFnTUEsZ0VBd0JDO0lBeE5ELGtDQUFtQztJQUtuQyxNQUFNLG9CQUFvQixHQVN0QjtRQUNBLEtBQUssRUFBRTtZQUNILFlBQVksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUUsSUFBWSxDQUFDLFlBQVk7WUFDbEQsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDdkIsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDcEIsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBRSxJQUFZLENBQUMsR0FBRztZQUN0QyxZQUFZLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFFLElBQVksQ0FBQyxXQUFXO1lBQ2pELFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLFdBQUMsT0FBQSxNQUFDLElBQVksQ0FBQyxLQUFLLG1DQUFJLElBQUksQ0FBQSxFQUFBO1NBQ2xEO1FBQ0QsUUFBUSxFQUFFO1lBQ04sWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDeEIsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBRSxJQUFjLENBQUMsUUFBUTtZQUMvQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFFLElBQWMsQ0FBQyxLQUFLO1lBQ3pDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUUsSUFBYyxDQUFDLE1BQU07WUFDM0MsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDeEIsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJO1NBQzVCO1FBQ0QsU0FBUyxFQUFFO1lBQ1AsWUFBWSxFQUFFLENBQUMsSUFBSSxFQUFFLEVB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Y2VzQ29udGVudCI6WyJpbXBvcnQgbGlrZUFyID0gcmVxdWlyZShcImxpa2UtYXJcIik7XG5pbXBvcnQgeyBJZFZhcmlhYmxlLCBNYXBlb1RpcG9JdGVtLCBOb1JlYSwgTm9SZWFTdXAsIFJlYSwgUmVhU3VwLCBSZXNwdWVzdGFzLCBUaXBvQ29uZGljaW9uLCBVbmlkYWRBbmFsaXNpcyB9IGZyb20gXCIuL3RpcG9zXCI7XG5cbmV4cG9ydCB0eXBlIEV2YWx1YWRvckV4cHJlc2lvbiA9IChjb25kaWNpb25Kczogc3RyaW5nLCByZXNwdWVzdGFzOiBSZXNwdWVzdGFzKSA9PiBib29sZWFuO1xuXG5jb25zdCBlc3RyYXRlZ2lhc0NvbmRpY2lvbjoge1xuICAgIFtLIGluIFRpcG9Db25kaWNpb25dOiB7XG4gICAgICAgIGdldENvbmRpY2lvbjogKGl0ZW06IE1hcGVvVGlwb0l0ZW1bS10pID0+IHN0cmluZyB8IG51bGw7XG4gICAgICAgIGdldFZhcmlhYmxlOiAoaXRlbTogTWFwZW9UaXBvSXRlbVtLXSkgPT4gc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgZ2V0VmFsb3I6IChpdGVtOiBNYXBlb1RpcG9JdGVtW0tdKSA9PiBzdHJpbmcgfCBudWxsO1xuICAgICAgICBnZXRDb2RpZ286IChpdGVtOiBNYXBlb1RpcG9JdGVtW0tdKSA9PiBudW1iZXI7XG4gICAgICAgIGdldFJlc3VsdGFkbzogKGl0ZW06IE1hcGVvVGlwb0l0ZW1bS10pID0+IGJvb2xlYW47XG4gICAgICAgIGdldFRhcmVhOiAoaXRlbTogTWFwZW9UaXBvSXRlbVtLXSkgPT4gc3RyaW5nIHwgbnVsbDtcbiAgICB9XG59ID0ge1xuICAgICdyZWEnOiB7XG4gICAgICAgIGdldENvbmRpY2lvbjogKGl0ZW0pID0+IChpdGVtIGFzIFJlYSkuY29uZGljaW9uX2pzLFxuICAgICAgICBnZXRWYXJpYWJsZTogKCkgPT4gbnVsbCxcbiAgICAgICAgZ2V0VmFsb3I6ICgpID0+IG51bGwsXG4gICAgICAgIGdldENvZGlnbzogKGl0ZW0pID0+IChpdGVtIGFzIFJlYSkucmVhLFxuICAgICAgICBnZXRSZXN1bHRhZG86IChpdGVtKSA9PiAoaXRlbSBhcyBSZWEpLmVzX3Bvc2l0aXZhLFxuICAgICAgICBnZXRUYXJlYTogKGl0ZW0pID0+IChpdGVtIGFzIFJlYSkudGFyZWEgPz8gbnVsbCxcbiAgICB9LFxuICAgICdub19yZWEnOiB7XG4gICAgICAgIGdldENvbmRpY2lvbjogKCkgPT4gbnVsbCxcbiAgICAgICAgZ2V0VmFyaWFibGU6IChpdGVtKSA9PiAoaXRlbSBhcyBOb1JlYSkudmFyaWFibGUsXG4gICAgICAgIGdldFZhbG9yOiAoaXRlbSkgPT4gKGl0ZW0gYXMgTm9SZWEpLnZhbG9yLFxuICAgICAgICBnZXRDb2RpZ286IChpdGVtKSA9PiAoaXRlbSBhcyBOb1JlYSkubm9fcmVhLFxuICAgICAgICBnZXRSZXN1bHRhZG86ICgpID0+IHRydWUsXG4gICAgICAgIGdldFRhcmVhOiAoX2l0ZW0pID0+IG51bGwsXG4gICAgfSxcbiAgICAncmVhX3N1cCc6IHtcbiAgICAgICAgZ2V0Q29uZGljaW9uOiAoaXRlbSkgPT4gKGl0ZW0gYXMgUmVhU3VwKS5jb25kaWNpb25fanMsXG4gICAgICAgIGdldFZhcmlhYmxlOiAoKSA9PiBudWxsLFxuICAgICAgICBnZXRWYWxvcjogKCkgPT4gbnVsbCxcbiAgICAgICAgZ2V0Q29kaWdvOiAoaXRlbSkgPT4gKGl0ZW0gYXMgUmVhU3VwKS5yZWFfc3VwLFxuICAgICAgICBnZXRSZXN1bHRhZG86IChpdGVtKSA9PiAoaXRlbSBhcyBSZWFTdXApLmVzX3Bvc2l0aXZhLFxuICAgICAgICBnZXRUYXJlYTogKGl0ZW0pID0+IChpdGVtIGFzIFJlYVN1cCkudGFyZWEgPz8gbnVsbCxcbiAgICB9LFxuICAgICdub19yZWFfc3VwJzoge1xuICAgICAgICBnZXRDb25kaWNpb246ICgpID0+IG51bGwsXG4gICAgICAgIGdldFZhcmlhYmxlOiAoaXRlbSkgPT4gKGl0ZW0gYXMgTm9SZWFTdXApLnZhcmlhYmxlX3N1cCxcbiAgICAgICAgZ2V0VmFsb3I6IChpdGVtKSA9PiAoaXRlbSBhcyBOb1JlYVN1cCkudmFsb3Jfc3VwLFxuICAgICAgICBnZXRDb2RpZ286IChpdGVtKSA9PiAoaXRlbSBhcyBOb1JlYVN1cCkubm9fcmVhX3N1cCxcbiAgICAgICAgZ2V0UmVzdWx0YWRvOiAoKSA9PiB0cnVlLFxuICAgICAgICBnZXRUYXJlYTogKF9pdGVtKSA9PiBudWxsLFxuICAgIH1cbn07XG5cbmV4cG9ydCB0eXBlIFJlc3VsdGFkb0J1c3F1ZWRhID0ge1xuICAgIGNvZGlnbzogbnVtYmVyIHwgbnVsbDtcbiAgICByZXN1bHRhZG86IGJvb2xlYW47XG59O1xuXG5mdW5jdGlvbiBpdGVtQ3VtcGxlQ29uZGljaW9uPFQgZXh0ZW5kcyBUaXBvQ29uZGljaW9uPihcbiAgICBpdGVtOiBNYXBlb1RpcG9JdGVtW1RdLFxuICAgIHJlc3B1ZXN0YXM6IFJlc3B1ZXN0YXMsXG4gICAgZXN0cmF0ZWdpYTogdHlwZW9mIGVzdHJhdGVnaWFzQ29uZGljaW9uW1RdLFxuICAgIGV2YWx1YXJFeHByZXNpb246IEV2YWx1YWRvckV4cHJlc2lvbiB8IHVuZGVmaW5lZFxuKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29uZGljaW9uID0gZXN0cmF0ZWdpYS5nZXRDb25kaWNpb24oaXRlbSk7XG4gICAgaWYgKGNvbmRpY2lvbiAhPT0gbnVsbCkge1xuICAgICAgICBpZiAoIWV2YWx1YXJFeHByZXNpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU2UgcmVxdWllcmUgZXZhbHVhckV4cHJlc2lvbiBwYXJhIGV2YWx1YXIgdW5hIGNvbmRpY2lvbiBKUycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBldmFsdWFyRXhwcmVzaW9uKGNvbmRpY2lvbiwgcmVzcHVlc3Rhcyk7XG4gICAgfVxuICAgIGNvbnN0IHZhcmlhYmxlID0gZXN0cmF0ZWdpYS5nZXRWYXJpYWJsZShpdGVtKTtcbiAgICBjb25zdCB2YWxvciA9IGVzdHJhdGVnaWEuZ2V0VmFsb3IoaXRlbSk7XG4gICAgcmV0dXJuICEhdmFyaWFibGUgJiYgdmFyaWFibGUgaW4gcmVzcHVlc3RhcyAmJiByZXNwdWVzdGFzW3ZhcmlhYmxlIGFzIElkVmFyaWFibGVdID09IHZhbG9yO1xufVxuXG4vKipcbiAqIFJlY29ycmUgbGEgZXN0cnVjdHVyYSBjb21wbGV0YSBkZXNkZSBsYSByYcOteiB5IGV4dHJhZSBlbCBjb250ZXh0byBjb21iaW5hZG8gZGVcbiAqIFRPREFTIGxhcyBpbnN0YW5jaWFzIGRlIGxhIFVBICd0YXJnZXRVYU5vbWJyZScgKGhlcm1hbmFzLCBwcmltYXMsIGV0Yy4pLlxuICovXG5mdW5jdGlvbiBvYnRlbmVyVG9kYXNMYXNJbnN0YW5jaWFzRGVVYShcbiAgICB1bmlkYWRBbmFsaXNpczogVW5pZGFkQW5hbGlzaXMsXG4gICAgcmVzcHVlc3RhczogUmVzcHVlc3RhcyxcbiAgICB0YXJnZXRVYU5vbWJyZTogc3RyaW5nLFxuICAgIGNvbnRleHRvQWN1bXVsYWRvID0ge30gYXMgUmVzcHVlc3Rhc1xuKTogUmVzcHVlc3Rhc1tdIHtcbiAgICBjb25zdCByZXN1bHRhZG9zOiBSZXNwdWVzdGFzW10gPSBbXTtcblxuICAgIGNvbnN0IHJlc3B1ZXN0YXNQbGFuYXMgPSB7fSBhcyBSZXNwdWVzdGFzO1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5rZXlzKHJlc3B1ZXN0YXMpKSB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJlc3B1ZXN0YXNQbGFuYXNba2V5IGFzIElkVmFyaWFibGVdID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgY29udGV4dG9BY3R1YWwgPSB7IC4uLmNvbnRleHRvQWN1bXVsYWRvLCAuLi5yZXNwdWVzdGFzUGxhbmFzIH07XG5cbiAgICBpZiAodW5pZGFkQW5hbGlzaXM/LnVuaWRhZF9hbmFsaXNpcyA9PT0gdGFyZ2V0VWFOb21icmUpIHtcbiAgICAgICAgcmV0dXJuIFtjb250ZXh0b0FjdHVhbF07XG4gICAgfVxuXG4gICAgY29uc3QgaGlqYXMgPSBsaWtlQXIodW5pZGFkQW5hbGlzaXM/LmhpamFzKS5hcnJheSgpO1xuICAgIGZvciAoY29uc3QgdWFIaWphIG9mIGhpamFzKSB7XG4gICAgICAgIGNvbnN0IG5vbWJyZVVhSGlqYSA9IHVhSGlqYT8udW5pZGFkX2FuYWxpc2lzO1xuICAgICAgICBpZiAobm9tYnJlVWFIaWphICYmIEFycmF5LmlzQXJyYXkocmVzcHVlc3Rhc1tub21icmVVYUhpamFdKSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCByZXNwdWVzdGFzSGlqYSBvZiByZXNwdWVzdGFzW25vbWJyZVVhSGlqYV0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBvYnRlbmVyVG9kYXNMYXNJbnN0YW5jaWFzRGVVYShcbiAgICAgICAgICAgICAgICAgICAgdWFIaWphLFxuICAgICAgICAgICAgICAgICAgICByZXNwdWVzdGFzSGlqYSxcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0VWFOb21icmUsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHRvQWN0dWFsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXN1bHRhZG9zLnB1c2goLi4ucmVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRhZG9zO1xufVxuXG5mdW5jdGlvbiBidXNjYXJSZWN1cnNpdm88VCBleHRlbmRzIFRpcG9Db25kaWNpb24+KFxuICAgIHVhUmFpejogVW5pZGFkQW5hbGlzaXMsXG4gICAgcmVzcHVlc3Rhc1JhaXo6IFJlc3B1ZXN0YXMsXG4gICAgdW5pZGFkQW5hbGlzaXNBY3R1YWw6IFVuaWRhZEFuYWxpc2lzLFxuICAgIHJlc3B1ZXN0YXNBY3R1YWxlczogUmVzcHVlc3RhcyxcbiAgICBsaXN0YU9yZGVuYWRhOiBNYXBlb1RpcG9JdGVtW1RdW10sXG4gICAgdGlwbzogVCxcbiAgICB0YXJlYTogc3RyaW5nLFxuICAgIGV2YWx1YXJFeHByZXNpb246IEV2YWx1YWRvckV4cHJlc2lvbiB8IHVuZGVmaW5lZFxuKTogUmVzdWx0YWRvQnVzcXVlZGEge1xuXG4gICAgY29uc3QgZXN0cmF0ZWdpYSA9IGVzdHJhdGVnaWFzQ29uZGljaW9uW3RpcG9dO1xuXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGxpc3RhT3JkZW5hZGEpIHtcbiAgICAgICAgY29uc3QgaXRlbVRhcmVhID0gZXN0cmF0ZWdpYS5nZXRUYXJlYShpdGVtKTtcbiAgICAgICAgaWYgKGl0ZW1UYXJlYSAmJiBpdGVtVGFyZWEgIT09IHRhcmVhKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpdGVtQ3VtcGxlQ29uZGljaW9uKGl0ZW0sIHJlc3B1ZXN0YXNBY3R1YWxlcywgZXN0cmF0ZWdpYSwgZXZhbHVhckV4cHJlc2lvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdGFkbyA9IGVzdHJhdGVnaWEuZ2V0UmVzdWx0YWRvKGl0ZW0pO1xuICAgICAgICAgICAgY29uc3QgZXNSZWFQb3NpdGl2YSA9ICh0aXBvID09PSAncmVhJyB8fCB0aXBvID09PSAncmVhX3N1cCcpICYmIHJlc3VsdGFkbyA9PT0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKGVzUmVhUG9zaXRpdmEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBub21icmVVYUFjdHVhbCA9IHVuaWRhZEFuYWxpc2lzQWN0dWFsPy51bmlkYWRfYW5hbGlzaXM7XG4gICAgICAgICAgICAgICAgaWYgKG5vbWJyZVVhQWN0dWFsKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIE9idGVuZXIgdG9kYXMgbGFzIHBlcnNvbmFzL2hvZ2FyZXMgZGUgbGEgZW5jdWVzdGEgKGhlcm1hbmFzICsgcHJpbWFzKVxuICAgICAgICAgICAgICAgICAgICBjb25zdCB0b2Rhc0xhc0luc3RhbmNpYXMgPSBvYnRlbmVyVG9kYXNMYXNJbnN0YW5jaWFzRGVVYShcbiAgICAgICAgICAgICAgICAgICAgICAgIHVhUmFpeixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3B1ZXN0YXNSYWl6LFxuICAgICAgICAgICAgICAgICAgICAgICAgbm9tYnJlVWFBY3R1YWxcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodG9kYXNMYXNJbnN0YW5jaWFzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvZGFzQ3VtcGxlbiA9IHRvZGFzTGFzSW5zdGFuY2lhcy5ldmVyeSgoaW5zdGFuY2lhQ29udGV4dG8pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbUN1bXBsZUNvbmRpY2lvbihpdGVtLCBpbnN0YW5jaWFDb250ZXh0bywgZXN0cmF0ZWdpYSwgZXZhbHVhckV4cHJlc2lvbilcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdG9kYXNDdW1wbGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7IC8vIFNpIGFsZ3VuYSBoZXJtYW5hIG8gcHJpbWEgbm8gY3VtcGxlLCBzZSBkZXNjYXJ0YSBlc3RlIGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb2RpZ286IGVzdHJhdGVnaWEuZ2V0Q29kaWdvKGl0ZW0pLFxuICAgICAgICAgICAgICAgIHJlc3VsdGFkbyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBoaWphcyA9IGxpa2VBcih1bmlkYWRBbmFsaXNpc0FjdHVhbD8uaGlqYXMpLmFycmF5KCk7XG4gICAgZm9yIChjb25zdCB1YUhpamEgb2YgaGlqYXMpIHtcbiAgICAgICAgY29uc3Qgbm9tYnJlVWFIaWphID0gdWFIaWphPy51bmlkYWRfYW5hbGlzaXM7XG4gICAgICAgIGlmIChub21icmVVYUhpamEgJiYgQXJyYXkuaXNBcnJheShyZXNwdWVzdGFzQWN0dWFsZXNbbm9tYnJlVWFIaWphXSkpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcmVzcHVlc3Rhc0hpamEgb2YgcmVzcHVlc3Rhc0FjdHVhbGVzW25vbWJyZVVhSGlqYV0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBidXNjYXJSZWN1cnNpdm8oXG4gICAgICAgICAgICAgICAgICAgIHVhUmFpeixcbiAgICAgICAgICAgICAgICAgICAgcmVzcHVlc3Rhc1JhaXosXG4gICAgICAgICAgICAgICAgICAgIHVhSGlqYSxcbiAgICAgICAgICAgICAgICAgICAgeyAuLi5yZXNwdWVzdGFzQWN0dWFsZXMsIC4uLnJlc3B1ZXN0YXNIaWphIH0sXG4gICAgICAgICAgICAgICAgICAgIGxpc3RhT3JkZW5hZGEsXG4gICAgICAgICAgICAgICAgICAgIHRpcG8sXG4gICAgICAgICAgICAgICAgICAgIHRhcmVhLFxuICAgICAgICAgICAgICAgICAgICBldmFsdWFyRXhwcmVzaW9uXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGlnbyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGNvZGlnbzogbnVsbCwgcmVzdWx0YWRvOiBmYWxzZSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVzY2FyUmVhTm9SZWFFblJlc3B1ZXN0YXM8VCBleHRlbmRzIFRpcG9Db25kaWNpb24+KFxuICAgIHVuaWRhZEFuYWxpc2lzOiBVbmlkYWRBbmFsaXNpcyxcbiAgICByZXNwdWVzdGFzOiBSZXNwdWVzdGFzLFxuICAgIGxpc3RhOiBNYXBlb1RpcG9JdGVtW1RdW10sXG4gICAgdGlwbzogVCxcbiAgICB0YXJlYTogc3RyaW5nLFxuICAgIGV2YWx1YXJFeHByZXNpb24/OiBFdmFsdWFkb3JFeHByZXNpb25cbik6IFJlc3VsdGFkb0J1c3F1ZWRhIHtcblxuICAgIGlmICghZXN0cmF0ZWdpYXNDb25kaWNpb25bdGlwb10pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaXBvIGRlIGNvbmRpY2nDs24gZGVzY29ub2NpZG86ICR7dGlwb31gKTtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0YU9yZGVuYWRhID0gWy4uLmxpc3RhXS5zb3J0KChhLCBiKSA9PiAoYS5vcmRlbiA/PyAwKSAtIChiLm9yZGVuID8/IDApKTtcbiAgICByZXR1cm4gYnVzY2FyUmVjdXJzaXZvKFxuICAgICAgICB1bmlkYWRBbmFsaXNpcyxcbiAgICAgICAgcmVzcHVlc3RhcyxcbiAgICAgICAgdW5pZGFkQW5hbGlzaXMsXG4gICAgICAgIHJlc3B1ZXN0YXMsXG4gICAgICAgIGxpc3RhT3JkZW5hZGEsXG4gICAgICAgIHRpcG8sXG4gICAgICAgIHRhcmVhLFxuICAgICAgICBldmFsdWFyRXhwcmVzaW9uXG4gICAgKTtcbn0iXX0=
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3Vsb3MtZW5jdWVzdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvY2FsY3Vsb3MtZW5jdWVzdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUEwUkEsZ0VBNEJDO0lBbFRELE1BQU0sb0JBQW9CLEdBU3RCO1FBQ0EsS0FBSyxFQUFFO1lBQ0gsWUFBWSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBRSxJQUFZLENBQUMsWUFBWTtZQUNsRCxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUN2QixRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUNwQixTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFFLElBQVksQ0FBQyxHQUFHO1lBQ3RDLFlBQVksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUUsSUFBWSxDQUFDLFdBQVc7WUFDakQsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsV0FBQyxPQUFBLE1BQUMsSUFBWSxDQUFDLEtBQUssbUNBQUksSUFBSSxDQUFBLEVBQUE7U0FDbEQ7UUFDRCxRQUFRLEVBQUU7WUFDTixZQUFZLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUN4QixXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFFLElBQWMsQ0FBQyxRQUFRO1lBQy9DLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUUsSUFBYyxDQUFDLEtBQUs7WUFDekMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBRSxJQUFjLENBQUMsTUFBTTtZQUMzQyxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUN4QixRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUk7U0FDNUI7UUFDRCxTQUFTLEVBQUU7WUFDUCxZQUFZLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFFLElBQWUs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ZW0sIE5vUmVhLCBOb1JlYVN1cCwgUmVhLCBSZWFTdXAsIFJlc3B1ZXN0YXMsIFRpcG9Db25kaWNpb24sIFVuaWRhZEFuYWxpc2lzLCBWYWxvciB9IGZyb20gXCIuL3RpcG9zXCI7XG5cbmV4cG9ydCB0eXBlIEV2YWx1YWRvckV4cHJlc2lvbiA9IChjb25kaWNpb25Kczogc3RyaW5nLCByZXNwdWVzdGFzOiBSZXNwdWVzdGFzKSA9PiBib29sZWFuO1xuXG5jb25zdCBlc3RyYXRlZ2lhc0NvbmRpY2lvbjoge1xuICAgIFtLIGluIFRpcG9Db25kaWNpb25dOiB7XG4gICAgICAgIGdldENvbmRpY2lvbjogKGl0ZW06IE1hcGVvVGlwb0l0ZW1bS10pID0+IHN0cmluZyB8IG51bGw7XG4gICAgICAgIGdldFZhcmlhYmxlOiAoaXRlbTogTWFwZW9UaXBvSXRlbVtLXSkgPT4gc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgZ2V0VmFsb3I6IChpdGVtOiBNYXBlb1RpcG9JdGVtW0tdKSA9PiBzdHJpbmcgfCBudWxsO1xuICAgICAgICBnZXRDb2RpZ286IChpdGVtOiBNYXBlb1RpcG9JdGVtW0tdKSA9PiBudW1iZXI7XG4gICAgICAgIGdldFJlc3VsdGFkbzogKGl0ZW06IE1hcGVvVGlwb0l0ZW1bS10pID0+IGJvb2xlYW47XG4gICAgICAgIGdldFRhcmVhOiAoaXRlbTogTWFwZW9UaXBvSXRlbVtLXSkgPT4gc3RyaW5nIHwgbnVsbDtcbiAgICB9XG59ID0ge1xuICAgICdyZWEnOiB7XG4gICAgICAgIGdldENvbmRpY2lvbjogKGl0ZW0pID0+IChpdGVtIGFzIFJlYSkuY29uZGljaW9uX2pzLFxuICAgICAgICBnZXRWYXJpYWJsZTogKCkgPT4gbnVsbCxcbiAgICAgICAgZ2V0VmFsb3I6ICgpID0+IG51bGwsXG4gICAgICAgIGdldENvZGlnbzogKGl0ZW0pID0+IChpdGVtIGFzIFJlYSkucmVhLFxuICAgICAgICBnZXRSZXN1bHRhZG86IChpdGVtKSA9PiAoaXRlbSBhcyBSZWEpLmVzX3Bvc2l0aXZhLFxuICAgICAgICBnZXRUYXJlYTogKGl0ZW0pID0+IChpdGVtIGFzIFJlYSkudGFyZWEgPz8gbnVsbCxcbiAgICB9LFxuICAgICdub19yZWEnOiB7XG4gICAgICAgIGdldENvbmRpY2lvbjogKCkgPT4gbnVsbCxcbiAgICAgICAgZ2V0VmFyaWFibGU6IChpdGVtKSA9PiAoaXRlbSBhcyBOb1JlYSkudmFyaWFibGUsXG4gICAgICAgIGdldFZhbG9yOiAoaXRlbSkgPT4gKGl0ZW0gYXMgTm9SZWEpLnZhbG9yLFxuICAgICAgICBnZXRDb2RpZ286IChpdGVtKSA9PiAoaXRlbSBhcyBOb1JlYSkubm9fcmVhLFxuICAgICAgICBnZXRSZXN1bHRhZG86ICgpID0+IHRydWUsXG4gICAgICAgIGdldFRhcmVhOiAoX2l0ZW0pID0+IG51bGwsXG4gICAgfSxcbiAgICAncmVhX3N1cCc6IHtcbiAgICAgICAgZ2V0Q29uZGljaW9uOiAoaXRlbSkgPT4gKGl0ZW0gYXMgUmVhU3VwKS5jb25kaWNpb25fanMsXG4gICAgICAgIGdldFZhcmlhYmxlOiAoKSA9PiBudWxsLFxuICAgICAgICBnZXRWYWxvcjogKCkgPT4gbnVsbCxcbiAgICAgICAgZ2V0Q29kaWdvOiAoaXRlbSkgPT4gKGl0ZW0gYXMgUmVhU3VwKS5yZWFfc3VwLFxuICAgICAgICBnZXRSZXN1bHRhZG86IChpdGVtKSA9PiAoaXRlbSBhcyBSZWFTdXApLmVzX3Bvc2l0aXZhLFxuICAgICAgICBnZXRUYXJlYTogKGl0ZW0pID0+IChpdGVtIGFzIFJlYVN1cCkudGFyZWEgPz8gbnVsbCxcbiAgICB9LFxuICAgICdub19yZWFfc3VwJzoge1xuICAgICAgICBnZXRDb25kaWNpb246ICgpID0+IG51bGwsXG4gICAgICAgIGdldFZhcmlhYmxlOiAoaXRlbSkgPT4gKGl0ZW0gYXMgTm9SZWFTdXApLnZhcmlhYmxlX3N1cCxcbiAgICAgICAgZ2V0VmFsb3I6IChpdGVtKSA9PiAoaXRlbSBhcyBOb1JlYVN1cCkudmFsb3Jfc3VwLFxuICAgICAgICBnZXRDb2RpZ286IChpdGVtKSA9PiAoaXRlbSBhcyBOb1JlYVN1cCkubm9fcmVhX3N1cCxcbiAgICAgICAgZ2V0UmVzdWx0YWRvOiAoKSA9PiB0cnVlLFxuICAgICAgICBnZXRUYXJlYTogKF9pdGVtKSA9PiBudWxsLFxuICAgIH1cbn07XG5cbmV4cG9ydCB0eXBlIFJlc3VsdGFkb0J1c3F1ZWRhID0ge1xuICAgIGNvZGlnbzogbnVtYmVyIHwgbnVsbDtcbiAgICByZXN1bHRhZG86IGJvb2xlYW47XG59O1xuXG4vLyBDYWNow6kgZW4gbWVtb3JpYSBwYXJhIG5vIHZvbHZlciBhIGFuYWxpemFyIGxhIGVzdHJ1Y3R1cmEgdGXDs3JpY2EgZW4gY2FkYSBjYW1iaW8gZGUgaW5wdXRcbmNvbnN0IGNhY2hlRGljY2lvbmFyaW9SdXRhcyA9IG5ldyBXZWFrTWFwPFVuaWRhZEFuYWxpc2lzLCBNYXA8c3RyaW5nLCBTZXQ8c3RyaW5nPj4+KCk7XG5cbi8qKlxuICogTWFwZWEgdG9kYSBsYSBlc3RydWN0dXJhIGRlIFVBcyBwcm9kdWNpZW5kbyB1biBkaWNjaW9uYXJpbyBPKDEpOlxuICogeyBcInZpdmllbmRhc1wiIC0+IFNldChcInZpdmllbmRhc1wiLCBcImhvZ2FyZXNcIiwgXCJwZXJzb25hc1wiLCBcInZpc2l0YXNcIiksIFwiaG9nYXJlc1wiIC0+IFNldChcImhvZ2FyZXNcIiwgXCJwZXJzb25hc1wiKSB9XG4gKi9cbmZ1bmN0aW9uIG9idGVuZXJEaWNjaW9uYXJpb1J1dGFzKHVhUmFpejogVW5pZGFkQW5hbGlzaXMpOiBNYXA8c3RyaW5nLCBTZXQ8c3RyaW5nPj4ge1xuICAgIGxldCBtYXBhID0gY2FjaGVEaWNjaW9uYXJpb1J1dGFzLmdldCh1YVJhaXopO1xuICAgIGlmIChtYXBhKSByZXR1cm4gbWFwYTtcblxuICAgIG1hcGEgPSBuZXcgTWFwPHN0cmluZywgU2V0PHN0cmluZz4+KCk7XG5cbiAgICBmdW5jdGlvbiBtYXBlYXJOb2RvKG5vZG86IFVuaWRhZEFuYWxpc2lzKTogU2V0PHN0cmluZz4ge1xuICAgICAgICBjb25zdCBkZXNjZW5kaWVudGVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIGlmIChub2RvPy51bmlkYWRfYW5hbGlzaXMpIHtcbiAgICAgICAgICAgIGRlc2NlbmRpZW50ZXMuYWRkKG5vZG8udW5pZGFkX2FuYWxpc2lzKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBoaWphcyA9IG5vZG8/LmhpamFzO1xuICAgICAgICBpZiAoaGlqYXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGhpamFzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVzY0hpamEgPSBtYXBlYXJOb2RvKGhpamFzW2tleSBhcyBJZFVuaWRhZEFuYWxpc2lzXSEpO1xuICAgICAgICAgICAgICAgIGRlc2NIaWphLmZvckVhY2goKGQpID0+IGRlc2NlbmRpZW50ZXMuYWRkKGQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kbz8udW5pZGFkX2FuYWxpc2lzKSB7XG4gICAgICAgICAgICBtYXBhIS5zZXQobm9kby51bmlkYWRfYW5hbGlzaXMsIGRlc2NlbmRpZW50ZXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZXNjZW5kaWVudGVzO1xuICAgIH1cblxuICAgIG1hcGVhck5vZG8odWFSYWl6KTtcbiAgICBjYWNoZURpY2Npb25hcmlvUnV0YXMuc2V0KHVhUmFpeiwgbWFwYSk7XG4gICAgcmV0dXJuIG1hcGE7XG59XG5cbmZ1bmN0aW9uIGl0ZW1DdW1wbGVDb25kaWNpb248VCBleHRlbmRzIFRpcG9Db25kaWNpb24+KFxuICAgIGl0ZW06IE1hcGVvVGlwb0l0ZW1bVF0sXG4gICAgcmVzcHVlc3RhczogUmVzcHVlc3RhcyxcbiAgICBlc3RyYXRlZ2lhOiB0eXBlb2YgZXN0cmF0ZWdpYXNDb25kaWNpb25bVF0sXG4gICAgZXZhbHVhckV4cHJlc2lvbjogRXZhbHVhZG9yRXhwcmVzaW9uIHwgdW5kZWZpbmVkXG4pOiBib29sZWFuIHtcbiAgICBjb25zdCBjb25kaWNpb24gPSBlc3RyYXRlZ2lhLmdldENvbmRpY2lvbihpdGVtKTtcbiAgICBpZiAoY29uZGljaW9uICE9PSBudWxsKSB7XG4gICAgICAgIGlmICghZXZhbHVhckV4cHJlc2lvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTZSByZXF1aWVyZSBldmFsdWFyRXhwcmVzaW9uIHBhcmEgZXZhbHVhciB1bmEgY29uZGljaW9uIEpTJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV2YWx1YXJFeHByZXNpb24oY29uZGljaW9uLCByZXNwdWVzdGFzKTtcbiAgICB9XG4gICAgY29uc3QgdmFyaWFibGUgPSBlc3RyYXRlZ2lhLmdldFZhcmlhYmxlKGl0ZW0pO1xuICAgIGNvbnN0IHZhbG9yID0gZXN0cmF0ZWdpYS5nZXRWYWxvcihpdGVtKTtcbiAgICByZXR1cm4gISF2YXJpYWJsZSAmJiB2YXJpYWJsZSBpbiByZXNwdWVzdGFzICYmIHJlc3B1ZXN0YXNbdmFyaWFibGUgYXMgSWRWYXJpYWJsZV0gPT0gdmFsb3I7XG59XG5cbmZ1bmN0aW9uIGZ1c2lvbmFyUmVzcHVlc3Rhc1BsYW5hcyhjb250ZXh0b0FjdW11bGFkbzogUmVzcHVlc3RhcywgcmVzcHVlc3RhczogUmVzcHVlc3Rhcyk6IFJlc3B1ZXN0YXMge1xuICAgIGNvbnN0IHJlczogUmVzcHVlc3RhcyA9IE9iamVjdC5hc3NpZ24oe30sIGNvbnRleHRvQWN1bXVsYWRvKTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiByZXNwdWVzdGFzKSB7XG4gICAgICAgIGNvbnN0IHZhbCA9IHJlc3B1ZXN0YXNba2V5IGFzIElkVmFyaWFibGVdO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgcmVzW2tleSBhcyBJZFZhcmlhYmxlXSA9IHZhbCBhcyBWYWxvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuXG50eXBlIFJlc3VsdGFkb0luc3RhbmNpYXMgPSB7XG4gICAgY29tcGxldGE6IGJvb2xlYW47XG4gICAgaW5zdGFuY2lhczogUmVzcHVlc3Rhc1tdO1xufTtcblxuLyoqXG4gKiBSZWNvbGVjdGEgZWwgY29udGV4dG8gY29tcGxldG8gZGUgVE9EQVMgbGFzIGluc3RhbmNpYXMgZGUgdGFyZ2V0VWFOb21icmUgZW4gbGEgZW5jdWVzdGEuXG4gKiBVc2EgZWwgZGljY2lvbmFyaW8gcHJlY2FsY3VsYWRvIHBhcmEgZmlsdHJhciByYW1hcyBlbiBPKDEpIHNpbiBoYWNlciByZWN1cnNpw7NuIGlubmVjZXNhcmlhLlxuICovXG5mdW5jdGlvbiBvYnRlbmVyVG9kYXNMYXNJbnN0YW5jaWFzRGVVYShcbiAgICB1bmlkYWRBbmFsaXNpczogVW5pZGFkQW5hbGlzaXMsXG4gICAgcmVzcHVlc3RhczogUmVzcHVlc3RhcyxcbiAgICB0YXJnZXRVYU5vbWJyZTogc3RyaW5nLFxuICAgIGRpY2Npb25hcmlvUnV0YXM6IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PixcbiAgICBjb250ZXh0b0FjdW11bGFkbyA9IHt9IGFzIFJlc3B1ZXN0YXNcbik6IFJlc3VsdGFkb0luc3RhbmNpYXMge1xuICAgIGNvbnN0IGNvbnRleHRvQWN0dWFsID0gZnVzaW9uYXJSZXNwdWVzdGFzUGxhbmFzKGNvbnRleHRvQWN1bXVsYWRvLCByZXNwdWVzdGFzKTtcblxuICAgIGlmICh1bmlkYWRBbmFsaXNpcz8udW5pZGFkX2FuYWxpc2lzID09PSB0YXJnZXRVYU5vbWJyZSkge1xuICAgICAgICByZXR1cm4geyBjb21wbGV0YTogdHJ1ZSwgaW5zdGFuY2lhczogW2NvbnRleHRvQWN0dWFsXSB9O1xuICAgIH1cblxuICAgIGNvbnN0IGhpamFzID0gdW5pZGFkQW5hbGlzaXM/LmhpamFzO1xuICAgIGlmICghaGlqYXMpIHtcbiAgICAgICAgcmV0dXJuIHsgY29tcGxldGE6IGZhbHNlLCBpbnN0YW5jaWFzOiBbXSB9O1xuICAgIH1cblxuICAgIGNvbnN0IGluc3RhbmNpYXNSZXN1bHRhbnRlczogUmVzcHVlc3Rhc1tdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBoaWphcykge1xuICAgICAgICBjb25zdCB1YUhpamEgPSBoaWphc1trZXkgYXMgSWRVbmlkYWRBbmFsaXNpc107XG4gICAgICAgIGNvbnN0IG5vbWJyZVVhSGlqYSA9IHVhSGlqYT8udW5pZGFkX2FuYWxpc2lzO1xuICAgICAgICBpZiAoIW5vbWJyZVVhSGlqYSkgY29udGludWU7XG5cbiAgICAgICAgLy8gQ09OU1VMVEEgRElDQ0lPTkFSSU8gTygxKTogwr9Fc3RhIHJhbWEgY29udGllbmUgYSBsYSBVQSBxdWUgYnVzY2Ftb3M/XG4gICAgICAgIGNvbnN0IGRlc2NlbmRpZW50ZXNEZUhpamEgPSBkaWNjaW9uYXJpb1J1dGFzLmdldChub21icmVVYUhpamEpO1xuICAgICAgICBpZiAoIWRlc2NlbmRpZW50ZXNEZUhpamEgfHwgIWRlc2NlbmRpZW50ZXNEZUhpamEuaGFzKHRhcmdldFVhTm9tYnJlKSkge1xuICAgICAgICAgICAgY29udGludWU7IC8vIElnbm9yYSByYW1hcyBjb21vICd2aXNpdGFzJyBpbnN0YW50w6FuZWFtZW50ZVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXJyZWdsb0hpamFzID0gcmVzcHVlc3Rhc1tub21icmVVYUhpamEgYXMgSWRWYXJpYWJsZV07XG5cbiAgICAgICAgLy8gSW50ZWdyaWRhZCBlc3RydWN0dXJhbDogcmFtYSB2w6FsaWRhIHBlcm8gc2luIGFycmF5IG8gdmFjw61vXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShhcnJlZ2xvSGlqYXMpIHx8IGFycmVnbG9IaWphcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB7IGNvbXBsZXRhOiBmYWxzZSwgaW5zdGFuY2lhczogW10gfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyZWdsb0hpamFzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCByZXNwdWVzdGFzSGlqYSA9IGFycmVnbG9IaWphc1tpXSBhcyBSZXNwdWVzdGFzO1xuICAgICAgICAgICAgY29uc3QgcmVzID0gb2J0ZW5lclRvZGFzTGFzSW5zdGFuY2lhc0RlVWEoXG4gICAgICAgICAgICAgICAgdWFIaWphLFxuICAgICAgICAgICAgICAgIHJlc3B1ZXN0YXNIaWphLFxuICAgICAgICAgICAgICAgIHRhcmdldFVhTm9tYnJlLFxuICAgICAgICAgICAgICAgIGRpY2Npb25hcmlvUnV0YXMsXG4gICAgICAgICAgICAgICAgY29udGV4dG9BY3R1YWxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIXJlcy5jb21wbGV0YSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBsZXRhOiBmYWxzZSwgaW5zdGFuY2lhczogW10gfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgcmVzLmluc3RhbmNpYXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBpbnN0YW5jaWFzUmVzdWx0YW50ZXMucHVzaChyZXMuaW5zdGFuY2lhc1tqXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBjb21wbGV0YTogaW5zdGFuY2lhc1Jlc3VsdGFudGVzLmxlbmd0aCA+IDAsXG4gICAgICAgIGluc3RhbmNpYXM6IGluc3RhbmNpYXNSZXN1bHRhbnRlcyxcbiAgICB9O1xufVxuXG5mdW5jdGlvbiBidXNjYXJSZWN1cnNpdm88VCBleHRlbmRzIFRpcG9Db25kaWNpb24+KFxuICAgIHVhUmFpejogVW5pZGFkQW5hbGlzaXMsXG4gICAgcmVzcHVlc3Rhc1JhaXo6IFJlc3B1ZXN0YXMsXG4gICAgdW5pZGFkQW5hbGlzaXNBY3R1YWw6IFVuaWRhZEFuYWxpc2lzLFxuICAgIHJlc3B1ZXN0YXNBY3R1YWxlczogUmVzcHVlc3RhcyxcbiAgICBsaXN0YU9yZGVuYWRhOiBNYXBlb1RpcG9JdGVtW1RdW10sXG4gICAgdGlwbzogVCxcbiAgICB0YXJlYTogc3RyaW5nLFxuICAgIGV2YWx1YXJFeHByZXNpb246IEV2YWx1YWRvckV4cHJlc2lvbiB8IHVuZGVmaW5lZCxcbiAgICBkaWNjaW9uYXJpb1J1dGFzOiBNYXA8c3RyaW5nLCBTZXQ8c3RyaW5nPj5cbik6IFJlc3VsdGFkb0J1c3F1ZWRhIHtcblxuICAgIGNvbnN0IGVzdHJhdGVnaWEgPSBlc3RyYXRlZ2lhc0NvbmRpY2lvblt0aXBvXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdGFPcmRlbmFkYS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBpdGVtID0gbGlzdGFPcmRlbmFkYVtpXTtcbiAgICAgICAgY29uc3QgaXRlbVRhcmVhID0gZXN0cmF0ZWdpYS5nZXRUYXJlYShpdGVtKTtcbiAgICAgICAgaWYgKGl0ZW1UYXJlYSAmJiBpdGVtVGFyZWEgIT09IHRhcmVhKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpdGVtQ3VtcGxlQ29uZGljaW9uKGl0ZW0sIHJlc3B1ZXN0YXNBY3R1YWxlcywgZXN0cmF0ZWdpYSwgZXZhbHVhckV4cHJlc2lvbikpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdGFkbyA9IGVzdHJhdGVnaWEuZ2V0UmVzdWx0YWRvKGl0ZW0pO1xuICAgICAgICAgICAgY29uc3QgZXNSZWFQb3NpdGl2YSA9ICh0aXBvID09PSAncmVhJyB8fCB0aXBvID09PSAncmVhX3N1cCcpICYmIHJlc3VsdGFkbyA9PT0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKGVzUmVhUG9zaXRpdmEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBub21icmVVYUFjdHVhbCA9IHVuaWRhZEFuYWxpc2lzQWN0dWFsPy51bmlkYWRfYW5hbGlzaXM7XG4gICAgICAgICAgICAgICAgaWYgKG5vbWJyZVVhQWN0dWFsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc0luc3RhbmNpYXMgPSBvYnRlbmVyVG9kYXNMYXNJbnN0YW5jaWFzRGVVYShcbiAgICAgICAgICAgICAgICAgICAgICAgIHVhUmFpeixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3B1ZXN0YXNSYWl6LFxuICAgICAgICAgICAgICAgICAgICAgICAgbm9tYnJlVWFBY3R1YWwsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaWNjaW9uYXJpb1J1dGFzXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNJbnN0YW5jaWFzLmNvbXBsZXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXNJbnN0YW5jaWFzLmluc3RhbmNpYXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRvZGFzQ3VtcGxlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBrID0gMDsgayA8IHJlc0luc3RhbmNpYXMuaW5zdGFuY2lhcy5sZW5ndGg7IGsrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXRlbUN1bXBsZUNvbmRpY2lvbihpdGVtLCByZXNJbnN0YW5jaWFzLmluc3RhbmNpYXNba10sIGVzdHJhdGVnaWEsIGV2YWx1YXJFeHByZXNpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZGFzQ3VtcGxlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdG9kYXNDdW1wbGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgY29kaWdvOiBlc3RyYXRlZ2lhLmdldENvZGlnbyhpdGVtKSxcbiAgICAgICAgICAgICAgICByZXN1bHRhZG8sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgaGlqYXMgPSB1bmlkYWRBbmFsaXNpc0FjdHVhbD8uaGlqYXM7XG4gICAgaWYgKGhpamFzKSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGhpamFzKSB7XG4gICAgICAgICAgICBjb25zdCB1YUhpamEgPSBoaWphc1trZXkgYXMgSWRVbmlkYWRBbmFsaXNpc107XG4gICAgICAgICAgICBjb25zdCBub21icmVVYUhpamEgPSB1YUhpamE/LnVuaWRhZF9hbmFsaXNpcztcbiAgICAgICAgICAgIGlmIChub21icmVVYUhpamEgJiYgQXJyYXkuaXNBcnJheShyZXNwdWVzdGFzQWN0dWFsZXNbbm9tYnJlVWFIaWphIGFzIElkVmFyaWFibGVdKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFycmVnbG9IaWphcyA9IHJlc3B1ZXN0YXNBY3R1YWxlc1tub21icmVVYUhpamEgYXMgSWRWYXJpYWJsZV0gYXMgdW5rbm93biBhcyBSZXNwdWVzdGFzW107XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJlZ2xvSGlqYXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzcHVlc3Rhc0hpamEgPSBhcnJlZ2xvSGlqYXNbaV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGJ1c2NhclJlY3Vyc2l2byhcbiAgICAgICAgICAgICAgICAgICAgICAgIHVhUmFpeixcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3B1ZXN0YXNSYWl6LFxuICAgICAgICAgICAgICAgICAgICAgICAgdWFIaWphLFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgcmVzcHVlc3Rhc0FjdHVhbGVzLCByZXNwdWVzdGFzSGlqYSksXG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0YU9yZGVuYWRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGlwbyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmVhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZhbHVhckV4cHJlc2lvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpY2Npb25hcmlvUnV0YXNcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5jb2RpZ28gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBjb2RpZ286IG51bGwsIHJlc3VsdGFkbzogZmFsc2UgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1c2NhclJlYU5vUmVhRW5SZXNwdWVzdGFzPFQgZXh0ZW5kcyBUaXBvQ29uZGljaW9uPihcbiAgICB1bmlkYWRBbmFsaXNpczogVW5pZGFkQW5hbGlzaXMsXG4gICAgcmVzcHVlc3RhczogUmVzcHVlc3RhcyxcbiAgICBsaXN0YTogTWFwZW9UaXBvSXRlbVtUXVtdLFxuICAgIHRpcG86IFQsXG4gICAgdGFyZWE6IHN0cmluZyxcbiAgICBldmFsdWFyRXhwcmVzaW9uPzogRXZhbHVhZG9yRXhwcmVzaW9uXG4pOiBSZXN1bHRhZG9CdXNxdWVkYSB7XG5cbiAgICBpZiAoIWVzdHJhdGVnaWFzQ29uZGljaW9uW3RpcG9dKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVGlwbyBkZSBjb25kaWNpw7NuIGRlc2Nvbm9jaWRvOiAke3RpcG99YCk7XG4gICAgfVxuXG4gICAgLy8gT2J0aWVuZSBvIGNyZWEgZWwgZGljY2lvbmFyaW8gZGUgcnV0YXMgcGFyYSBsYSBlc3RydWN0dXJhIHJlY2liaWRhXG4gICAgY29uc3QgZGljY2lvbmFyaW9SdXRhcyA9IG9idGVuZXJEaWNjaW9uYXJpb1J1dGFzKHVuaWRhZEFuYWxpc2lzKTtcblxuICAgIGNvbnN0IGxpc3RhT3JkZW5hZGEgPSBbLi4ubGlzdGFdLnNvcnQoKGEsIGIpID0+IChhLm9yZGVuID8/IDApIC0gKGIub3JkZW4gPz8gMCkpO1xuICAgIHJldHVybiBidXNjYXJSZWN1cnNpdm8oXG4gICAgICAgIHVuaWRhZEFuYWxpc2lzLFxuICAgICAgICByZXNwdWVzdGFzLFxuICAgICAgICB1bmlkYWRBbmFsaXNpcyxcbiAgICAgICAgcmVzcHVlc3RhcyxcbiAgICAgICAgbGlzdGFPcmRlbmFkYSxcbiAgICAgICAgdGlwbyxcbiAgICAgICAgdGFyZWEsXG4gICAgICAgIGV2YWx1YXJFeHByZXNpb24sXG4gICAgICAgIGRpY2Npb25hcmlvUnV0YXNcbiAgICApO1xufSJdfQ==
|
|
@@ -830,6 +830,15 @@ div#mini-console
|
|
|
830
830
|
.btn.boton-pregunta-borrar
|
|
831
831
|
margin-top 4px
|
|
832
832
|
|
|
833
|
+
// ayuda en línea del dispositivo (PantallaAyuda en render-formulario.tsx)
|
|
834
|
+
.ayuda-contenido
|
|
835
|
+
line-height 1.5
|
|
836
|
+
table
|
|
837
|
+
border-collapse collapse
|
|
838
|
+
th, td
|
|
839
|
+
border 1px solid #ccc
|
|
840
|
+
padding 2px 6px
|
|
841
|
+
|
|
833
842
|
.div-loading-over
|
|
834
843
|
position absolute
|
|
835
844
|
left 0px
|
|
@@ -3,7 +3,7 @@ export declare const helpersCasilleros: {
|
|
|
3
3
|
div0err(numerador: number, denominador: number, pk: string): number;
|
|
4
4
|
funs: {
|
|
5
5
|
blanco(x: any): boolean;
|
|
6
|
-
hoy():
|
|
6
|
+
hoy(): string;
|
|
7
7
|
fecha_valida(x: string): boolean;
|
|
8
8
|
mesanio_valido(x: string): boolean;
|
|
9
9
|
informado(x: any): boolean;
|
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports"], factory);
|
|
7
|
+
define(["require", "exports", "best-globals"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.helpersCasilleros = void 0;
|
|
13
|
+
const best_globals_1 = require("best-globals");
|
|
13
14
|
exports.helpersCasilleros = {
|
|
14
15
|
null2zero(posibleNull) {
|
|
15
16
|
if (posibleNull == null) {
|
|
@@ -28,25 +29,18 @@
|
|
|
28
29
|
return x !== 0 && !x;
|
|
29
30
|
},
|
|
30
31
|
hoy() {
|
|
31
|
-
return date.today().toDmy();
|
|
32
|
+
return best_globals_1.date.today().toDmy();
|
|
32
33
|
},
|
|
33
34
|
fecha_valida(x) {
|
|
34
35
|
var formato_valido = /^([1-9]|0[1-9]|[12]\d|3[01])\/([1-9]|0[1-9]|1[012])\/20\d\d$/.test(x);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
conversionOk = true;
|
|
38
|
-
if (formato_valido) {
|
|
39
|
-
const [d, m, y] = x.split('/');
|
|
40
|
-
try {
|
|
41
|
-
xDate = new Date(`${y}/${m}/${d}`);
|
|
42
|
-
}
|
|
43
|
-
catch (err) {
|
|
44
|
-
conversionOk = false;
|
|
45
|
-
}
|
|
36
|
+
if (!formato_valido) {
|
|
37
|
+
return false;
|
|
46
38
|
}
|
|
47
|
-
;
|
|
39
|
+
const [d, m, y] = x.split('/').map(Number);
|
|
40
|
+
// new Date no falla con fechas inexistentes (31/02 pasa a 03/03), hay que verificar que no se corra
|
|
41
|
+
var xDate = new Date(y, m - 1, d);
|
|
48
42
|
//faltaria validar que no sea una fecha futura y que sea una fecha en el rango del operativo
|
|
49
|
-
return
|
|
43
|
+
return xDate.getFullYear() == y && xDate.getMonth() == m - 1 && xDate.getDate() == d;
|
|
50
44
|
},
|
|
51
45
|
mesanio_valido(x) {
|
|
52
46
|
var formato_valido = /^([1-9]|0[1-9]|1[012])\/(19|20)\d\d$/.test(x);
|
|
@@ -72,10 +66,10 @@
|
|
|
72
66
|
};
|
|
73
67
|
var partesRealizacion = fechaRealizacionDDMMYYYY.split("/");
|
|
74
68
|
//@ts-ignore las partes corresponden a una fecha válida
|
|
75
|
-
var today = date.ymd(Number(partesRealizacion[2]), Number(partesRealizacion[1]), Number(partesRealizacion[0]));
|
|
69
|
+
var today = best_globals_1.date.ymd(Number(partesRealizacion[2]), Number(partesRealizacion[1]), Number(partesRealizacion[0]));
|
|
76
70
|
var partesMesAnnio = mesAnnio.split('/');
|
|
77
71
|
//@ts-ignore las partes corresponden a una fecha válida
|
|
78
|
-
var nacimiento = date.ymd(Number(partesMesAnnio[1]), Number(partesMesAnnio[0]), 1);
|
|
72
|
+
var nacimiento = best_globals_1.date.ymd(Number(partesMesAnnio[1]), Number(partesMesAnnio[0]), 1);
|
|
79
73
|
//@ts-ignore RealDate es Date y se puede restar
|
|
80
74
|
var diferenciaMeses = mesesDiferencia(nacimiento, today);
|
|
81
75
|
var edadDecimales = diferenciaMeses / 12; //ej 36.5
|
|
@@ -126,4 +120,4 @@
|
|
|
126
120
|
}
|
|
127
121
|
};
|
|
128
122
|
});
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1jYXNpbGxlcm9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VubG9nZ2VkL2hlbHBlcnMtY2FzaWxsZXJvcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFDYSxRQUFBLGlCQUFpQixHQUFHO1FBQzdCLFNBQVMsQ0FBQyxXQUFnQjtZQUN0QixJQUFJLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdEIsT0FBTyxDQUFDLENBQUM7WUFDYixDQUFDO1lBQ0QsT0FBTyxXQUFXLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sQ0FBQyxTQUFpQixFQUFFLFdBQW1CLEVBQUUsRUFBVTtZQUN0RCxJQUFJLFdBQVcsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLEdBQUcsRUFBRSxHQUFHLHdCQUF3QixHQUFHLFNBQVMsQ0FBQyxDQUFDO1lBQzdFLENBQUM7WUFDRCxPQUFPLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDbkMsQ0FBQztRQUNELElBQUksRUFBRTtZQUNGLE1BQU0sQ0FBQyxDQUFNO2dCQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtZQUN4QixDQUFDO1lBQ0QsR0FBRztnQkFDQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUMvQixDQUFDO1lBQ0QsWUFBWSxDQUFDLENBQVM7Z0JBQ2xCLElBQUksY0FBYyxHQUFHLDhEQUE4RCxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFDM0YsSUFBSSxLQUFXLENBQUM7Z0JBQ2hCLElBQUksWUFBcUIsQ0FBQztnQkFDMUIsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDcEIsSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDakIsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxD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QUFJLFlBQVk7b0JBQ2pELGFBQWEsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDLG1CQUFtQjtpQkFDaEQsQ0FBQTtZQUNMLENBQUM7WUFDRCxxSUFBcUk7WUFDckksMklBQTJJO1lBQzNJLCtGQUErRjtZQUMvRixHQUFHO1lBQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2dCQW1DSTtTQUNQO0tBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgY29uc3QgaGVscGVyc0Nhc2lsbGVyb3MgPSB7XHJcbiAgICBudWxsMnplcm8ocG9zaWJsZU51bGw6IGFueSkge1xyXG4gICAgICAgIGlmIChwb3NpYmxlTnVsbCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaWJsZU51bGw7XHJcbiAgICB9LFxyXG4gICAgZGl2MGVycihudW1lcmFkb3I6IG51bWJlciwgZGVub21pbmFkb3I6IG51bWJlciwgcGs6IHN0cmluZykge1xyXG4gICAgICAgIGlmIChkZW5vbWluYWRvciA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVycm9yIGVuIFwiICsgcGsgKyBcIiBkaXZpc2lvbiBwb3IgY2VybyBkZSBcIiArIG51bWVyYWRvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudW1lcmFkb3IgLyBkZW5vbWluYWRvcjtcclxuICAgIH0sXHJcbiAgICBmdW5zOiB7XHJcbiAgICAgICAgYmxhbmNvKHg6IGFueSkge1xyXG4gICAgICAgICAgICByZXR1cm4geCAhPT0gMCAmJiAheFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaG95KCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZGF0ZS50b2RheSgpLnRvRG15KClcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZlY2hhX3ZhbGlkYSh4OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgdmFyIGZvcm1hdG9fdmFsaWRvID0gL14oWzEtOV18MFsxLTldfFsxMl1cXGR8M1swMV0pXFwvKFsxLTldfDBbMS05XXwxWzAxMl0pXFwvMjBcXGRcXGQkLy50ZXN0KHgpXHJcbiAgICAgICAgICAgIHZhciB4RGF0ZTogRGF0ZTtcclxuICAgICAgICAgICAgdmFyIGNvbnZlcnNpb25PazogYm9vbGVhbjtcclxuICAgICAgICAgICAgY29udmVyc2lvbk9rID0gdHJ1ZTtcclxuICAgICAgICAgICAgaWYgKGZvcm1hdG9fdmFsaWRvKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBbZCwgbSwgeV0gPSB4LnNwbGl0KCcvJyk7XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIHhEYXRlID0gbmV3IERhdGUoYCR7eX0vJHttfS8ke2R9YCk7XHJcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb252ZXJzaW9uT2sgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgLy9mYWx0YXJpYSB2YWxpZGFyIHF1ZSBubyBzZWEgdW5hIGZlY2hhIGZ1dHVyYSB5IHF1ZSBzZWEgdW5hIGZlY2hhIGVuIGVsIHJhbmdvIGRlbCBvcGVyYXRpdm9cclxuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdG9fdmFsaWRvICYmIGNvbnZlcnNpb25Pa1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWVzYW5pb192YWxpZG8oeDogc3RyaW5nKSB7XHJcbiAgICAgICAgICAgIHZhciBmb3JtYXRvX3ZhbGlkbyA9IC9eKFsxLTldfDBbMS05XXwxWzAxMl0pXFwvKDE5fDIwKVxcZFxcZCQvLnRlc3QoeClcclxuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdG9fdmFsaWRvXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbmZvcm1hZG8oeDogYW55KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB4ICE9PSB1bmRlZmluZWQgJiYgeCAhPT0gbnVsbCAmJiAoISh4IGluc3RhbmNlb2YgQXJyYXkpIHx8IHgubGVuZ3RoICE9PSAwKVxyXG4gICAgICAgICAgICAgICAgJiYgKCEoeCBpbnN0YW5jZW9mIE9iamVjdCkgfHwgT2JqZWN0LmtleXMoeCkubGVuZ3RoICE9PSAwKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbnNuYyh4OiBhbnkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHggPT0gLTlcclxuICAgICAgICB9LFxyXG4gICAgICAgIHBhcih4OiBudW1iZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHggJSAyID09IDBcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVkYWRfbWVzX2FubmlvX3ZhbGlkbyhlZGFkOiBudW1iZXIsIG1lc0FubmlvOiBzdHJpbmcsIGZlY2hhUmVhbGl6YWNpb25ERE1NWVlZWTogc3RyaW5nKSB7XHJcbiAgICAgICAgICAgIHZhciBtZXNlc0RpZmVyZW5jaWEgPSAoZDE6IERhdGUsIGQyOiBEYXRlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YXIgbW9udGhzO1xyXG4gICAgICAgICAgICAgICAgbW9udGhzID0gKGQyLmdldEZ1bGxZZWFyKCkgLSBkMS5nZXRGdWxsWWVhcigpKSAqIDEyO1xyXG4gICAgICAgICAgICAgICAgbW9udGhzIC09IGQxLmdldE1vbnRoKCk7XHJcbiAgICAgICAgICAgICAgICBtb250aHMgKz0gZDIuZ2V0TW9udGgoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBtb250aHMgPD0gMCA/IDAgOiBtb250aHM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdmFyIHBhcnRlc1JlYWxpemFjaW9uID0gZmVjaGFSZWFsaXphY2lvbkRETU1ZWVlZLnNwbGl0KFwiL1wiKTtcclxuICAgICAgICAgICAgLy9AdHMtaWdub3JlIGxhcyBwYXJ0ZXMgY29ycmVzcG9uZGVuIGEgdW5hIGZlY2hhIHbDoWxpZGFcclxuICAgICAgICAgICAgdmFyIHRvZGF5ID0gZGF0ZS55bWQoTnVtYmVyKHBhcnRlc1JlYWxpemFjaW9uWzJdKSwgTnVtYmVyKHBhcnRlc1JlYWxpemFjaW9uWzFdKSwgTnVtYmVyKHBhcnRlc1JlYWxpemFjaW9uWzBdKSlcclxuICAgICAgICAgICAgdmFyIHBhcnRlc01lc0FubmlvID0gbWVzQW5uaW8uc3BsaXQoJy8nKTtcclxuICAgICAgICAgICAgLy9AdHMtaWdub3JlIGxhcyBwYXJ0ZXMgY29ycmVzcG9uZGVuIGEgdW5hIGZlY2hhIHbDoWxpZGFcclxuICAgICAgICAgICAgdmFyIG5hY2ltaWVudG8gPSBkYXRlLnltZChOdW1iZXIocGFydGVzTWVzQW5uaW9bMV0pLCBOdW1iZXIocGFydGVzTWVzQW5uaW9bMF0pLCAxKVxyXG4gICAgICAgICAgICAvL0B0cy1pZ25vcmUgUmVhbERhdGUgZXMgRGF0ZSB5IHNlIHB1ZWRlIHJlc3RhclxyXG4gICAgICAgICAgICB2YXIgZGlmZXJlbmNpYU1lc2VzID0gbWVzZXNEaWZlcmVuY2lhKG5hY2ltaWVudG8sIHRvZGF5KTtcclxuICAgICAgICAgICAgdmFyIGVkYWREZWNpbWFsZXMgPSBkaWZlcmVuY2lhTWVzZXMgLyAxMjsgLy9laiAzNi41XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICBNYXRoLmZsb29yKGVkYWREZWNpbWFsZXMpID09IGVkYWQgfHwgLy9taXNtYSBlZGFkXHJcbiAgICAgICAgICAgICAgICBlZGFkRGVjaW1hbGVzID09IGVkYWQgKyAxIC8vbWVzIGRlIHRvbGVyYW5jaWFcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy9jb3BpYXJfY2FtcG9fdWFfcmFtYShyZXNwdWVzdGFzT3JpZ2VuOlJlc3B1ZXN0YXNbXSwgcG9zaWNpb246bnVtYmVyLCB2YXJpYWJsZU9yaWdlbjogSWRWYXJpYWJsZSwgY2FtaW5vOnN0cmluZywgY29uZGljaW9uOmJvb2xlYW4pe1xyXG4gICAgICAgIC8vICAgIHJldHVybiBjb25kaWNpb24/KHJlc3B1ZXN0YXNPcmlnZW4gJiYgcmVzcHVlc3Rhc09yaWdlbltwb3NpY2lvbi0xXSAmJiByZXNwdWVzdGFzT3JpZ2VuW3Bvc2ljaW9uLTFdW2Ake2NhbWlub31gXVt2YXJpYWJsZU9yaWdlbl0pOm51bGxcclxuICAgICAgICAvLyAgICByZXR1cm4gY29uZGljaW9uP2V2YWwoYHJlc3B1ZXN0YXNPcmlnZW5bJHtwb3NpY2lvbi0xfV0uYCtjYW1pbm8rJy4nK3ZhcmlhYmxlT3JpZ2VuKTpudWxsO1xyXG4gICAgICAgIC8vfVxyXG4gICAgICAgIC8qXHJcbiAgICAgICAgZGJvOntcclxuICAgICAgICAgICAgZGF0b0ZhbWlsaWFyKGVuY3U6c3RyaW5nLGhvZzpudW1iZXIscGVyOm51bWJlciwgZGF0bzpzdHJpbmcpe1xyXG4gICAgICAgICAgICAgICAgdmFyIHhwZXJzb25hcz1wZXJzb25hcztcclxuICAgICAgICAgICAgICAgIHJldHVybiBlbmN1PT1lbmMgJiYgaG9nPT1ob2dhciAmJiBpbmZvcm1hZG8oeHBlcnNvbmFzKSAmJiBwZXI8PSB4cGVyc29uYXMubGVuZ3RoICYmIHBlcj49MSAmJiAhIXhwZXJzb25hc1twZXItMV1bZGF0b10/IHhwZXJzb25hc1twZXItMV1bZGF0b106bnVsbFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlZGFkZmFtaWxpYXIoZW5jdTpzdHJpbmcsaG9nOm51bWJlcixwZXI6bnVtYmVyKXtcclxuICAgICAgICAgICAgICAgIHZhciB4cGVyc29uYXM9cGVyc29uYXM7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0b0ZhbWlsaWFyKGVuY3U6c3RyaW5nLGhvZzpudW1iZXIscGVyOm51bWJlciwnZWRhZCcpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGV4aXN0ZWluZGl2aWR1YWwoZW5jdTpzdHJpbmcsaG9nOm51bWJlcixwZXI6bnVtYmVyKXtcclxuICAgICAgICAgICAgICAgIHZhciB4cGVyc29uYXM9cGVyc29uYXM7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZW5jdT09ZW5jICYmIGhvZz09aG9nYXIgJiYgISFwZXJzb25hcyAmJiBwZXI8PSBwZXJzb25hcy5sZW5ndGggJiYgcGVyPj0xICYmICEhcGVyc29uYXNbcGVyLTFdWydlbnRyZWFpbmQnXVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBleGlzdGVtaWVtYnJvKGVuY3U6c3RyaW5nLGhvZzpudW1iZXIscGVyOm51bWJlcil7XHJcbiAgICAgICAgICAgICAgICB2YXIgeHBlcnNvbmFzPXBlcnNvbmFzO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVuY3U9PWVuYyAmJiBob2c9PWhvZ2FyICYmICEhcGVyc29uYXMgJiYgcGVyPD0gcGVyc29uYXMubGVuZ3RoICYmIHBlcj49MVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBucm9jb255dWdlcyhlbmN1OnN0cmluZyxob2c6bnVtYmVyKXtcclxuICAgICAgICAgICAgICAgIHZhciB4cGVyc29uYXM9cGVyc29uYXNcclxuICAgICAgICAgICAgICAgIHJldHVybiB4cGVyc29uYXMuZmlsdGVyKCBwZXItPnBlci5wND09MikubGVuZ3RoXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIG5yb2plZmVzKGVuY3U6c3RyaW5nLGhvZzpudW1iZXIscGVyOm51bWJlcil7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcGVyc29uYXMuZmlsdGVyKCBwZXItPnBlci5wND09MSkubGVuZ3RoXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHBhcmVudGVzY29mYW1pbGlhcihlbmN1OnN0cmluZyxob2c6bnVtYmVyLHBlcjpudW1iZXIpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdG9GYW1pbGlhcihlbmN1OnN0cmluZyxob2c6bnVtYmVyLHBlcjpudW1iZXIsJ3A0JylcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc2V4b2ZhbWlsaWFyKGVuY3U6c3RyaW5nLGhvZzpudW1iZXIscGVyOm51bWJlcil7XHJcbiAgICAgICAgICAgICAgICB2YXIgeHBlcnNvbmFzPXBlcnNvbmFzO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVuY3U9PWVuYyAmJiBob2c9PWhvZ2FyICYmICEheHBlcnNvbmFzICYmIHBlcjw9IHhwZXJzb25hcy5sZW5ndGggJiYgcGVyPj0xICYmICEheHBlcnNvbmFzW3Blci0xXS5zZXhvPyB4cGVyc29uYXNbcGVyLTFdWydzZXhvJ106bnVsbFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzaXRjb255amVmZShlbmN1OnN0cmluZyxob2c6bnVtYmVyKXtcclxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRvRmFtaWxpYXIoZW5jdTpzdHJpbmcsaG9nOm51bWJlciwxLCdwNScpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ICovXHJcbiAgICB9XHJcbn07Il19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1jYXNpbGxlcm9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VubG9nZ2VkL2hlbHBlcnMtY2FzaWxsZXJvcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFDQSwrQ0FBb0M7SUFFdkIsUUFBQSxpQkFBaUIsR0FBRztRQUM3QixTQUFTLENBQUMsV0FBZ0I7WUFDdEIsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sQ0FBQyxDQUFDO1lBQ2IsQ0FBQztZQUNELE9BQU8sV0FBVyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLENBQUMsU0FBaUIsRUFBRSxXQUFtQixFQUFFLEVBQVU7WUFDdEQsSUFBSSxXQUFXLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxHQUFHLEVBQUUsR0FBRyx3QkFBd0IsR0FBRyxTQUFTLENBQUMsQ0FBQztZQUM3RSxDQUFDO1lBQ0QsT0FBTyxTQUFTLEdBQUcsV0FBVyxDQUFDO1FBQ25DLENBQUM7UUFDRCxJQUFJLEVBQUU7WUFDRixNQUFNLENBQUMsQ0FBTTtnQkFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDeEIsQ0FBQztZQUNELEdBQUc7Z0JBQ0MsT0FBTyxtQkFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQy9CLENBQUM7WUFDRCxZQUFZLENBQUMsQ0FBUztnQkFDbEIsSUFBSSxjQUFjLEdBQUcsOERBQThELENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUMzRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ2xCLE9BQU8sS0FBSyxDQUFDO2dCQUNqQixDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxD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SSxJQUFJLElBQUksWUFBWTtvQkFDakQsYUFBYSxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsbUJBQW1CO2lCQUNoRCxDQUFBO1lBQ0wsQ0FBQztZQUNELHFJQUFxSTtZQUNySSwySUFBMkk7WUFDM0ksK0ZBQStGO1lBQy9GLEdBQUc7WUFDSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0JBbUNJO1NBQ1A7S0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBkYXRlIH0gZnJvbSBcImJlc3QtZ2xvYmFsc1wiO1xuXG5leHBvcnQgY29uc3QgaGVscGVyc0Nhc2lsbGVyb3MgPSB7XG4gICAgbnVsbDJ6ZXJvKHBvc2libGVOdWxsOiBhbnkpIHtcbiAgICAgICAgaWYgKHBvc2libGVOdWxsID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb3NpYmxlTnVsbDtcbiAgICB9LFxuICAgIGRpdjBlcnIobnVtZXJhZG9yOiBudW1iZXIsIGRlbm9taW5hZG9yOiBudW1iZXIsIHBrOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGRlbm9taW5hZG9yID09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVycm9yIGVuIFwiICsgcGsgKyBcIiBkaXZpc2lvbiBwb3IgY2VybyBkZSBcIiArIG51bWVyYWRvcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bWVyYWRvciAvIGRlbm9taW5hZG9yO1xuICAgIH0sXG4gICAgZnVuczoge1xuICAgICAgICBibGFuY28oeDogYW55KSB7XG4gICAgICAgICAgICByZXR1cm4geCAhPT0gMCAmJiAheFxuICAgICAgICB9LFxuICAgICAgICBob3koKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS50b2RheSgpLnRvRG15KClcbiAgICAgICAgfSxcbiAgICAgICAgZmVjaGFfdmFsaWRhKHg6IHN0cmluZykge1xuICAgICAgICAgICAgdmFyIGZvcm1hdG9fdmFsaWRvID0gL14oWzEtOV18MFsxLTldfFsxMl1cXGR8M1swMV0pXFwvKFsxLTldfDBbMS05XXwxWzAxMl0pXFwvMjBcXGRcXGQkLy50ZXN0KHgpXG4gICAgICAgICAgICBpZiAoIWZvcm1hdG9fdmFsaWRvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgW2QsIG0sIHldID0geC5zcGxpdCgnLycpLm1hcChOdW1iZXIpO1xuICAgICAgICAgICAgLy8gbmV3IERhdGUgbm8gZmFsbGEgY29uIGZlY2hhcyBpbmV4aXN0ZW50ZXMgKDMxLzAyIHBhc2EgYSAwMy8wMyksIGhheSBxdWUgdmVyaWZpY2FyIHF1ZSBubyBzZSBjb3JyYVxuICAgICAgICAgICAgdmFyIHhEYXRlID0gbmV3IERhdGUoeSwgbSAtIDEsIGQpO1xuICAgICAgICAgICAgLy9mYWx0YXJpYSB2YWxpZGFyIHF1ZSBubyBzZWEgdW5hIGZlY2hhIGZ1dHVyYSB5IHF1ZSBzZWEgdW5hIGZlY2hhIGVuIGVsIHJhbmdvIGRlbCBvcGVyYXRpdm9cbiAgICAgICAgICAgIHJldHVybiB4RGF0ZS5nZXRGdWxsWWVhcigpID09IHkgJiYgeERhdGUuZ2V0TW9udGgoKSA9PSBtIC0gMSAmJiB4RGF0ZS5nZXREYXRlKCkgPT0gZFxuICAgICAgICB9LFxuICAgICAgICBtZXNhbmlvX3ZhbGlkbyh4OiBzdHJpbmcpIHtcbiAgICAgICAgICAgIHZhciBmb3JtYXRvX3ZhbGlkbyA9IC9eKFsxLTldfDBbMS05XXwxWzAxMl0pXFwvKDE5fDIwKVxcZFxcZCQvLnRlc3QoeClcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRvX3ZhbGlkb1xuICAgICAgICB9LFxuICAgICAgICBpbmZvcm1hZG8oeDogYW55KSB7XG4gICAgICAgICAgICByZXR1cm4geCAhPT0gdW5kZWZpbmVkICYmIHggIT09IG51bGwgJiYgKCEoeCBpbnN0YW5jZW9mIEFycmF5KSB8fCB4Lmxlbmd0aCAhPT0gMClcbiAgICAgICAgICAgICAgICAmJiAoISh4IGluc3RhbmNlb2YgT2JqZWN0KSB8fCBPYmplY3Qua2V5cyh4KS5sZW5ndGggIT09IDApXG4gICAgICAgIH0sXG4gICAgICAgIG5zbmMoeDogYW55KSB7XG4gICAgICAgICAgICByZXR1cm4geCA9PSAtOVxuICAgICAgICB9LFxuICAgICAgICBwYXIoeDogbnVtYmVyKSB7XG4gICAgICAgICAgICByZXR1cm4geCAlIDIgPT0gMFxuICAgICAgICB9LFxuICAgICAgICBlZGFkX21lc19hbm5pb192YWxpZG8oZWRhZDogbnVtYmVyLCBtZXNBbm5pbzogc3RyaW5nLCBmZWNoYVJlYWxpemFjaW9uRERNTVlZWVk6IHN0cmluZykge1xuICAgICAgICAgICAgdmFyIG1lc2VzRGlmZXJlbmNpYSA9IChkMTogRGF0ZSwgZDI6IERhdGUpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgbW9udGhzO1xuICAgICAgICAgICAgICAgIG1vbnRocyA9IChkMi5nZXRGdWxsWWVhcigpIC0gZDEuZ2V0RnVsbFllYXIoKSkgKiAxMjtcbiAgICAgICAgICAgICAgICBtb250aHMgLT0gZDEuZ2V0TW9udGgoKTtcbiAgICAgICAgICAgICAgICBtb250aHMgKz0gZDIuZ2V0TW9udGgoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbW9udGhzIDw9IDAgPyAwIDogbW9udGhzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHBhcnRlc1JlYWxpemFjaW9uID0gZmVjaGFSZWFsaXphY2lvbkRETU1ZWVlZLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgICAgIC8vQHRzLWlnbm9yZSBsYXMgcGFydGVzIGNvcnJlc3BvbmRlbiBhIHVuYSBmZWNoYSB2w6FsaWRhXG4gICAgICAgICAgICB2YXIgdG9kYXkgPSBkYXRlLnltZChOdW1iZXIocGFydGVzUmVhbGl6YWNpb25bMl0pLCBOdW1iZXIocGFydGVzUmVhbGl6YWNpb25bMV0pLCBOdW1iZXIocGFydGVzUmVhbGl6YWNpb25bMF0pKVxuICAgICAgICAgICAgdmFyIHBhcnRlc01lc0FubmlvID0gbWVzQW5uaW8uc3BsaXQoJy8nKTtcbiAgICAgICAgICAgIC8vQHRzLWlnbm9yZSBsYXMgcGFydGVzIGNvcnJlc3BvbmRlbiBhIHVuYSBmZWNoYSB2w6FsaWRhXG4gICAgICAgICAgICB2YXIgbmFjaW1pZW50byA9IGRhdGUueW1kKE51bWJlcihwYXJ0ZXNNZXNBbm5pb1sxXSksIE51bWJlcihwYXJ0ZXNNZXNBbm5pb1swXSksIDEpXG4gICAgICAgICAgICAvL0B0cy1pZ25vcmUgUmVhbERhdGUgZXMgRGF0ZSB5IHNlIHB1ZWRlIHJlc3RhclxuICAgICAgICAgICAgdmFyIGRpZmVyZW5jaWFNZXNlcyA9IG1lc2VzRGlmZXJlbmNpYShuYWNpbWllbnRvLCB0b2RheSk7XG4gICAgICAgICAgICB2YXIgZWRhZERlY2ltYWxlcyA9IGRpZmVyZW5jaWFNZXNlcyAvIDEyOyAvL2VqIDM2LjVcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgTWF0aC5mbG9vcihlZGFkRGVjaW1hbGVzKSA9PSBlZGFkIHx8IC8vbWlzbWEgZWRhZFxuICAgICAgICAgICAgICAgIGVkYWREZWNpbWFsZXMgPT0gZWRhZCArIDEgLy9tZXMgZGUgdG9sZXJhbmNpYVxuICAgICAgICAgICAgKVxuICAgICAgICB9LFxuICAgICAgICAvL2NvcGlhcl9jYW1wb191YV9yYW1hKHJlc3B1ZXN0YXNPcmlnZW46UmVzcHVlc3Rhc1tdLCBwb3NpY2lvbjpudW1iZXIsIHZhcmlhYmxlT3JpZ2VuOiBJZFZhcmlhYmxlLCBjYW1pbm86c3RyaW5nLCBjb25kaWNpb246Ym9vbGVhbil7XG4gICAgICAgIC8vICAgIHJldHVybiBjb25kaWNpb24/KHJlc3B1ZXN0YXNPcmlnZW4gJiYgcmVzcHVlc3Rhc09yaWdlbltwb3NpY2lvbi0xXSAmJiByZXNwdWVzdGFzT3JpZ2VuW3Bvc2ljaW9uLTFdW2Ake2NhbWlub31gXVt2YXJpYWJsZU9yaWdlbl0pOm51bGxcbiAgICAgICAgLy8gICAgcmV0dXJuIGNvbmRpY2lvbj9ldmFsKGByZXNwdWVzdGFzT3JpZ2VuWyR7cG9zaWNpb24tMX1dLmArY2FtaW5vKycuJyt2YXJpYWJsZU9yaWdlbik6bnVsbDtcbiAgICAgICAgLy99XG4gICAgICAgIC8qXG4gICAgICAgIGRibzp7XG4gICAgICAgICAgICBkYXRvRmFtaWxpYXIoZW5jdTpzdHJpbmcsaG9nOm51bWJlcixwZXI6bnVtYmVyLCBkYXRvOnN0cmluZyl7XG4gICAgICAgICAgICAgICAgdmFyIHhwZXJzb25hcz1wZXJzb25hcztcbiAgICAgICAgICAgICAgICByZXR1cm4gZW5jdT09ZW5jICYmIGhvZz09aG9nYXIgJiYgaW5mb3JtYWRvKHhwZXJzb25hcykgJiYgcGVyPD0geHBlcnNvbmFzLmxlbmd0aCAmJiBwZXI+PTEgJiYgISF4cGVyc29uYXNbcGVyLTFdW2RhdG9dPyB4cGVyc29uYXNbcGVyLTFdW2RhdG9dOm51bGxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlZGFkZmFtaWxpYXIoZW5jdTpzdHJpbmcsaG9nOm51bWJlcixwZXI6bnVtYmVyKXtcbiAgICAgICAgICAgICAgICB2YXIgeHBlcnNvbmFzPXBlcnNvbmFzO1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRvRmFtaWxpYXIoZW5jdTpzdHJpbmcsaG9nOm51bWJlcixwZXI6bnVtYmVyLCdlZGFkJylcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleGlzdGVpbmRpdmlkdWFsKGVuY3U6c3RyaW5nLGhvZzpudW1iZXIscGVyOm51bWJlcil7XG4gICAgICAgICAgICAgICAgdmFyIHhwZXJzb25hcz1wZXJzb25hcztcbiAgICAgICAgICAgICAgICByZXR1cm4gZW5jdT09ZW5jICYmIGhvZz09aG9nYXIgJiYgISFwZXJzb25hcyAmJiBwZXI8PSBwZXJzb25hcy5sZW5ndGggJiYgcGVyPj0xICYmICEhcGVyc29uYXNbcGVyLTFdWydlbnRyZWFpbmQnXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4aXN0ZW1pZW1icm8oZW5jdTpzdHJpbmcsaG9nOm51bWJlcixwZXI6bnVtYmVyKXtcbiAgICAgICAgICAgICAgICB2YXIgeHBlcnNvbmFzPXBlcnNvbmFzO1xuICAgICAgICAgICAgICAgIHJldHVybiBlbmN1PT1lbmMgJiYgaG9nPT1ob2dhciAmJiAhIXBlcnNvbmFzICYmIHBlcjw9IHBlcnNvbmFzLmxlbmd0aCAmJiBwZXI+PTFcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBucm9jb255dWdlcyhlbmN1OnN0cmluZyxob2c6bnVtYmVyKXtcbiAgICAgICAgICAgICAgICB2YXIgeHBlcnNvbmFzPXBlcnNvbmFzXG4gICAgICAgICAgICAgICAgcmV0dXJuIHhwZXJzb25hcy5maWx0ZXIoIHBlci0+cGVyLnA0PT0yKS5sZW5ndGhcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBucm9qZWZlcyhlbmN1OnN0cmluZyxob2c6bnVtYmVyLHBlcjpudW1iZXIpe1xuICAgICAgICAgICAgICAgIHJldHVybiBwZXJzb25hcy5maWx0ZXIoIHBlci0+cGVyLnA0PT0xKS5sZW5ndGhcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYXJlbnRlc2NvZmFtaWxpYXIoZW5jdTpzdHJpbmcsaG9nOm51bWJlcixwZXI6bnVtYmVyKXtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0b0ZhbWlsaWFyKGVuY3U6c3RyaW5nLGhvZzpudW1iZXIscGVyOm51bWJlciwncDQnKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNleG9mYW1pbGlhcihlbmN1OnN0cmluZyxob2c6bnVtYmVyLHBlcjpudW1iZXIpe1xuICAgICAgICAgICAgICAgIHZhciB4cGVyc29uYXM9cGVyc29uYXM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVuY3U9PWVuYyAmJiBob2c9PWhvZ2FyICYmICEheHBlcnNvbmFzICYmIHBlcjw9IHhwZXJzb25hcy5sZW5ndGggJiYgcGVyPj0xICYmICEheHBlcnNvbmFzW3Blci0xXS5zZXhvPyB4cGVyc29uYXNbcGVyLTFdWydzZXhvJ106bnVsbFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNpdGNvbnlqZWZlKGVuY3U6c3RyaW5nLGhvZzpudW1iZXIpe1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRvRmFtaWxpYXIoZW5jdTpzdHJpbmcsaG9nOm51bWJlciwxLCdwNScpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gKi9cbiAgICB9XG59OyJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { IdComodin, IdFormulario, IdVariable } from "./tipos";
|
|
2
|
+
export declare const REGEX_SPLIT_COMODINES: RegExp;
|
|
3
|
+
export declare const IS_TEM_PATTERN: RegExp;
|
|
4
|
+
export declare const IS_VARIABLE_HASH_PATTERN: RegExp;
|
|
5
|
+
export declare const IS_COMODIN_REDUX_PATTERN: RegExp;
|
|
6
|
+
/** Extrae nombres de comodines estándar (@comodin@) */
|
|
7
|
+
export declare function extraerComodinesRedux(text: string): IdComodin[];
|
|
8
|
+
/** Extrae nombres de variables dinámicas (@#variable@) */
|
|
9
|
+
export declare function extraerVariablesInteres(text: string): string[];
|
|
10
|
+
export declare function getBFVarNames(salto: string | null): {
|
|
11
|
+
listo: IdVariable;
|
|
12
|
+
agregar: IdVariable;
|
|
13
|
+
idFormulario: IdFormulario;
|
|
14
|
+
};
|
|
15
|
+
export declare function replaceSpecialWords(text: string, nombre: string, apellido: string, resultado: string): string;
|
|
16
|
+
export declare function numberOrStringIncIfArray(numberOrString: number | string, object: object | any[]): (number | string);
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// Funciones puras del formulario, sin dependencias de React, Redux ni del navegador
|
|
2
|
+
// (para poder testearlas en node)
|
|
3
|
+
(function (factory) {
|
|
4
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
5
|
+
var v = factory(require, exports);
|
|
6
|
+
if (v !== undefined) module.exports = v;
|
|
7
|
+
}
|
|
8
|
+
else if (typeof define === "function" && define.amd) {
|
|
9
|
+
define(["require", "exports"], factory);
|
|
10
|
+
}
|
|
11
|
+
})(function (require, exports) {
|
|
12
|
+
"use strict";
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.IS_COMODIN_REDUX_PATTERN = exports.IS_VARIABLE_HASH_PATTERN = exports.IS_TEM_PATTERN = exports.REGEX_SPLIT_COMODINES = void 0;
|
|
15
|
+
exports.extraerComodinesRedux = extraerComodinesRedux;
|
|
16
|
+
exports.extraerVariablesInteres = extraerVariablesInteres;
|
|
17
|
+
exports.getBFVarNames = getBFVarNames;
|
|
18
|
+
exports.replaceSpecialWords = replaceSpecialWords;
|
|
19
|
+
exports.numberOrStringIncIfArray = numberOrStringIncIfArray;
|
|
20
|
+
// RegEx principal para dividir el texto conservando los tokens delimitados por @...@
|
|
21
|
+
exports.REGEX_SPLIT_COMODINES = /(@(?:#?[\w-]+|\$[tT][eE][mM][^@]*)@)/g;
|
|
22
|
+
// Sub-RegExs para identificar el tipo de comodín
|
|
23
|
+
exports.IS_TEM_PATTERN = /^@\$(tem[^@]*)@$/i;
|
|
24
|
+
exports.IS_VARIABLE_HASH_PATTERN = /^@#([\w-]+)@$/;
|
|
25
|
+
exports.IS_COMODIN_REDUX_PATTERN = /^@([\w-]+)@$/;
|
|
26
|
+
/** Extrae nombres de comodines estándar (@comodin@) */
|
|
27
|
+
function extraerComodinesRedux(text) {
|
|
28
|
+
if (!text || !text.includes('@'))
|
|
29
|
+
return [];
|
|
30
|
+
const matches = text.match(/@([a-zA-Z0-9_-]+)@/g);
|
|
31
|
+
if (!matches)
|
|
32
|
+
return [];
|
|
33
|
+
const ids = [];
|
|
34
|
+
for (const m of matches) {
|
|
35
|
+
if (!m.startsWith('@#') && !m.startsWith('@$')) {
|
|
36
|
+
const id = m.slice(1, -1);
|
|
37
|
+
if (!ids.includes(id))
|
|
38
|
+
ids.push(id);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return ids;
|
|
42
|
+
}
|
|
43
|
+
/** Extrae nombres de variables dinámicas (@#variable@) */
|
|
44
|
+
function extraerVariablesInteres(text) {
|
|
45
|
+
if (!text)
|
|
46
|
+
return [];
|
|
47
|
+
const matches = text.match(/@#([\w-]+)@/g);
|
|
48
|
+
if (!matches)
|
|
49
|
+
return [];
|
|
50
|
+
const vars = [];
|
|
51
|
+
for (const m of matches) {
|
|
52
|
+
const varName = m.slice(2, -1); // Remueve '@#' y '@'
|
|
53
|
+
if (!vars.includes(varName))
|
|
54
|
+
vars.push(varName);
|
|
55
|
+
}
|
|
56
|
+
return vars;
|
|
57
|
+
}
|
|
58
|
+
function getBFVarNames(salto) {
|
|
59
|
+
const armoNomSalto = (salto === null || salto === void 0 ? void 0 : salto.substring(0, 2)) == 'F:' ? salto.slice(2) : salto;
|
|
60
|
+
return {
|
|
61
|
+
listo: '$B.F:' + armoNomSalto,
|
|
62
|
+
agregar: '$B.F:' + armoNomSalto + '_agregar',
|
|
63
|
+
idFormulario: 'F:' + armoNomSalto
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function replaceSpecialWords(text, nombre, apellido, resultado) {
|
|
67
|
+
function capitalizeFirstLetter(text) {
|
|
68
|
+
return text.charAt(0).toUpperCase() + text.slice(1);
|
|
69
|
+
}
|
|
70
|
+
var simplificatedChars = {
|
|
71
|
+
"#nombre": capitalizeFirstLetter(nombre),
|
|
72
|
+
"#apellido": capitalizeFirstLetter(apellido),
|
|
73
|
+
"#resultado": resultado,
|
|
74
|
+
};
|
|
75
|
+
var re = new RegExp(Object.keys(simplificatedChars).join("|"), "gi");
|
|
76
|
+
return text.replace(re, function (matched) {
|
|
77
|
+
return simplificatedChars[matched.toLowerCase()];
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function numberOrStringIncIfArray(numberOrString, object) {
|
|
81
|
+
// @ts-expect-error estoy usando isNaN para ver si es o no un número sumable
|
|
82
|
+
if (isNaN(numberOrString)) {
|
|
83
|
+
return numberOrString;
|
|
84
|
+
}
|
|
85
|
+
return Number(numberOrString) + (object instanceof Array ? 1 : 0);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1mb3JtdWxhcmlvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VubG9nZ2VkL2hlbHBlcnMtZm9ybXVsYXJpby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvRkFBb0Y7QUFDcEYsa0NBQWtDOzs7Ozs7Ozs7Ozs7O0lBYWxDLHNEQWFDO0lBR0QsMERBV0M7SUFFRCxzQ0FPQztJQUVELGtEQWNDO0lBRUQsNERBTUM7SUFyRUQscUZBQXFGO0lBQ3hFLFFBQUEscUJBQXFCLEdBQUcsdUNBQXVDLENBQUM7SUFFN0UsaURBQWlEO0lBQ3BDLFFBQUEsY0FBYyxHQUFHLG1CQUFtQixDQUFDO0lBQ3JDLFFBQUEsd0JBQXdCLEdBQUcsZUFBZSxDQUFDO0lBQzNDLFFBQUEsd0JBQXdCLEdBQUcsY0FBYyxDQUFDO0lBRXZELHVEQUF1RDtJQUN2RCxTQUFnQixxQkFBcUIsQ0FBQyxJQUFZO1FBQzlDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXhCLE1BQU0sR0FBRyxHQUFnQixFQUFFLENBQUM7UUFDNUIsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQWMsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCwwREFBMEQ7SUFDMUQsU0FBZ0IsdUJBQXVCLENBQUMsSUFBWTtRQUNoRCxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUV4QixNQUFNLElBQUksR0FBYSxFQUFFLENBQUM7UUFDMUIsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUN0QixNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsU0FBZ0IsYUFBYSxDQUFDLEtBQW9CO1FBQzlDLE1BQU0sWUFBWSxHQUFHLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDN0UsT0FBTztZQUNILEtBQUssRUFBRSxPQUFPLEdBQUcsWUFBMEI7WUFDM0MsT0FBTyxFQUFFLE9BQU8sR0FBRyxZQUFZLEdBQUcsVUFBd0I7WUFDMUQsWUFBWSxFQUFFLElBQUksR0FBRyxZQUE0QjtTQUNwRCxDQUFDO0lBQ04sQ0FBQztJQUVELFNBQWdCLG1CQUFtQixDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsUUFBZ0IsRUFBRSxTQUFpQjtRQUNqRyxTQUFTLHFCQUFxQixDQUFDLElBQVk7WUFDdkMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELElBQUksa0JBQWtCLEdBQTRCO1lBQzlDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7WUFDeEMsV0FBVyxFQUFFLHFCQUFxQixDQUFDLFFBQVEsQ0FBQztZQUM1QyxZQUFZLEVBQUUsU0FBUztTQUMxQixDQUFDO1FBQ0YsSUFBSSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVyRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLFVBQVUsT0FBTztZQUNyQyxPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQWdCLHdCQUF3QixDQUFDLGNBQStCLEVBQUUsTUFBc0I7UUFDNUYsNEVBQTRFO1FBQzVFLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxjQUFjLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsTUFBTSxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRnVuY2lvbmVzIHB1cmFzIGRlbCBmb3JtdWxhcmlvLCBzaW4gZGVwZW5kZW5jaWFzIGRlIFJlYWN0LCBSZWR1eCBuaSBkZWwgbmF2ZWdhZG9yXG4vLyAocGFyYSBwb2RlciB0ZXN0ZWFybGFzIGVuIG5vZGUpXG5cbmltcG9ydCB0eXBlIHsgSWRDb21vZGluLCBJZEZvcm11bGFyaW8sIElkVmFyaWFibGUgfSBmcm9tIFwiLi90aXBvc1wiO1xuXG4vLyBSZWdFeCBwcmluY2lwYWwgcGFyYSBkaXZpZGlyIGVsIHRleHRvIGNvbnNlcnZhbmRvIGxvcyB0b2tlbnMgZGVsaW1pdGFkb3MgcG9yIEAuLi5AXG5leHBvcnQgY29uc3QgUkVHRVhfU1BMSVRfQ09NT0RJTkVTID0gLyhAKD86Iz9bXFx3LV0rfFxcJFt0VF1bZUVdW21NXVteQF0qKUApL2c7XG5cbi8vIFN1Yi1SZWdFeHMgcGFyYSBpZGVudGlmaWNhciBlbCB0aXBvIGRlIGNvbW9kw61uXG5leHBvcnQgY29uc3QgSVNfVEVNX1BBVFRFUk4gPSAvXkBcXCQodGVtW15AXSopQCQvaTtcbmV4cG9ydCBjb25zdCBJU19WQVJJQUJMRV9IQVNIX1BBVFRFUk4gPSAvXkAjKFtcXHctXSspQCQvO1xuZXhwb3J0IGNvbnN0IElTX0NPTU9ESU5fUkVEVVhfUEFUVEVSTiA9IC9eQChbXFx3LV0rKUAkLztcblxuLyoqIEV4dHJhZSBub21icmVzIGRlIGNvbW9kaW5lcyBlc3TDoW5kYXIgKEBjb21vZGluQCkgKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWVyQ29tb2RpbmVzUmVkdXgodGV4dDogc3RyaW5nKTogSWRDb21vZGluW10ge1xuICAgIGlmICghdGV4dCB8fCAhdGV4dC5pbmNsdWRlcygnQCcpKSByZXR1cm4gW107XG4gICAgY29uc3QgbWF0Y2hlcyA9IHRleHQubWF0Y2goL0AoW2EtekEtWjAtOV8tXSspQC9nKTtcbiAgICBpZiAoIW1hdGNoZXMpIHJldHVybiBbXTtcblxuICAgIGNvbnN0IGlkczogSWRDb21vZGluW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IG0gb2YgbWF0Y2hlcykge1xuICAgICAgICBpZiAoIW0uc3RhcnRzV2l0aCgnQCMnKSAmJiAhbS5zdGFydHNXaXRoKCdAJCcpKSB7XG4gICAgICAgICAgICBjb25zdCBpZCA9IG0uc2xpY2UoMSwgLTEpIGFzIElkQ29tb2RpbjtcbiAgICAgICAgICAgIGlmICghaWRzLmluY2x1ZGVzKGlkKSkgaWRzLnB1c2goaWQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpZHM7XG59XG5cbi8qKiBFeHRyYWUgbm9tYnJlcyBkZSB2YXJpYWJsZXMgZGluw6FtaWNhcyAoQCN2YXJpYWJsZUApICovXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFlclZhcmlhYmxlc0ludGVyZXModGV4dDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGlmICghdGV4dCkgcmV0dXJuIFtdO1xuICAgIGNvbnN0IG1hdGNoZXMgPSB0ZXh0Lm1hdGNoKC9AIyhbXFx3LV0rKUAvZyk7XG4gICAgaWYgKCFtYXRjaGVzKSByZXR1cm4gW107XG5cbiAgICBjb25zdCB2YXJzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbSBvZiBtYXRjaGVzKSB7XG4gICAgICAgIGNvbnN0IHZhck5hbWUgPSBtLnNsaWNlKDIsIC0xKTsgLy8gUmVtdWV2ZSAnQCMnIHkgJ0AnXG4gICAgICAgIGlmICghdmFycy5pbmNsdWRlcyh2YXJOYW1lKSkgdmFycy5wdXNoKHZhck5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gdmFycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJGVmFyTmFtZXMoc2FsdG86IHN0cmluZyB8IG51bGwpIHtcbiAgICBjb25zdCBhcm1vTm9tU2FsdG8gPSBzYWx0bz8uc3Vic3RyaW5nKDAsIDIpID09ICdGOicgPyBzYWx0by5zbGljZSgyKSA6IHNhbHRvO1xuICAgIHJldHVybiB7XG4gICAgICAgIGxpc3RvOiAnJEIuRjonICsgYXJtb05vbVNhbHRvIGFzIElkVmFyaWFibGUsXG4gICAgICAgIGFncmVnYXI6ICckQi5GOicgKyBhcm1vTm9tU2FsdG8gKyAnX2FncmVnYXInIGFzIElkVmFyaWFibGUsXG4gICAgICAgIGlkRm9ybXVsYXJpbzogJ0Y6JyArIGFybW9Ob21TYWx0byBhcyBJZEZvcm11bGFyaW9cbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZVNwZWNpYWxXb3Jkcyh0ZXh0OiBzdHJpbmcsIG5vbWJyZTogc3RyaW5nLCBhcGVsbGlkbzogc3RyaW5nLCByZXN1bHRhZG86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgZnVuY3Rpb24gY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHRleHQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGV4dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHRleHQuc2xpY2UoMSk7XG4gICAgfVxuICAgIHZhciBzaW1wbGlmaWNhdGVkQ2hhcnM6IHsgW2s6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAgICAgICBcIiNub21icmVcIjogY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKG5vbWJyZSksXG4gICAgICAgIFwiI2FwZWxsaWRvXCI6IGNhcGl0YWxpemVGaXJzdExldHRlcihhcGVsbGlkbyksXG4gICAgICAgIFwiI3Jlc3VsdGFkb1wiOiByZXN1bHRhZG8sXG4gICAgfTtcbiAgICB2YXIgcmUgPSBuZXcgUmVnRXhwKE9iamVjdC5rZXlzKHNpbXBsaWZpY2F0ZWRDaGFycykuam9pbihcInxcIiksIFwiZ2lcIik7XG5cbiAgICByZXR1cm4gdGV4dC5yZXBsYWNlKHJlLCBmdW5jdGlvbiAobWF0Y2hlZCkge1xuICAgICAgICByZXR1cm4gc2ltcGxpZmljYXRlZENoYXJzW21hdGNoZWQudG9Mb3dlckNhc2UoKV07XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBudW1iZXJPclN0cmluZ0luY0lmQXJyYXkobnVtYmVyT3JTdHJpbmc6IG51bWJlciB8IHN0cmluZywgb2JqZWN0OiBvYmplY3QgfCBhbnlbXSk6IChudW1iZXIgfCBzdHJpbmcpIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGVzdG95IHVzYW5kbyBpc05hTiBwYXJhIHZlciBzaSBlcyBvIG5vIHVuIG7Dum1lcm8gc3VtYWJsZVxuICAgIGlmIChpc05hTihudW1iZXJPclN0cmluZykpIHtcbiAgICAgICAgcmV0dXJuIG51bWJlck9yU3RyaW5nO1xuICAgIH1cbiAgICByZXR1cm4gTnVtYmVyKG51bWJlck9yU3RyaW5nKSArIChvYmplY3QgaW5zdGFuY2VvZiBBcnJheSA/IDEgOiAwKTtcbn1cbiJdfQ==
|
|
@@ -361,7 +361,7 @@ export declare const dispatchers: import("redux-typed-reducer").ReturnsTheSameTh
|
|
|
361
361
|
}) => (state: CasoState) => CasoState;
|
|
362
362
|
CAMBIAR_COMODINES: (payload: Record<IdComodin, string>) => (state: CasoState) => CasoState;
|
|
363
363
|
}, "payload">;
|
|
364
|
-
export
|
|
364
|
+
export { replaceSpecialWords } from "./helpers-formulario";
|
|
365
365
|
export declare function gotoConsistir(operativo: IdOperativo, tarea: IdTarea, enc: IdEnc): void;
|
|
366
366
|
export declare function adaptarEstructura(estructuraBackend: any): Estructura;
|
|
367
367
|
export declare function crearStoreFormulario(opts: {
|
|
@@ -437,4 +437,3 @@ export declare function crearStoreFormulario(opts: {
|
|
|
437
437
|
payload: Record<IdComodin, string>;
|
|
438
438
|
})>>;
|
|
439
439
|
export declare function getStoreFormulario(): Store<unknown, import("redux").Action<any>> | null;
|
|
440
|
-
export {};
|