xonecode 0.38.15 → 0.38.31
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/apps/web/dist/assets/{EditorDeFichero-C9BEoDWh.js → EditorDeFichero-CT2vAqMI.js} +1 -1
- package/apps/web/dist/assets/index-DjZ3hYu-.js +506 -0
- package/apps/web/dist/assets/index-oppsOrF4.css +1 -0
- package/apps/web/dist/assets/{php-DIdt3Vgn.js → php-B5s63fYs.js} +1 -1
- package/apps/web/dist/assets/{ruby-DYEvg0Dr.js → ruby-D9QLqlM3.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/dist/agent/conectores/gestorJira.js +118 -1
- package/dist/agent/conectores/gestorJira.js.map +1 -1
- package/dist/agent/dispositivos/decodificarImagen.js +8 -0
- package/dist/agent/dispositivos/decodificarImagen.js.map +1 -1
- package/dist/agent/dispositivos/juezVisual.js +43 -40
- package/dist/agent/dispositivos/juezVisual.js.map +1 -1
- package/dist/agent/grafo/aprendido.js +60 -0
- package/dist/agent/grafo/aprendido.js.map +1 -0
- package/dist/agent/grafo/criticaVisual.js +17 -5
- package/dist/agent/grafo/criticaVisual.js.map +1 -1
- package/dist/agent/grafo/xoneAgent.js +2 -0
- package/dist/agent/grafo/xoneAgent.js.map +1 -1
- package/dist/agent/motores/trueforge/capacidades.js +4 -2
- package/dist/agent/motores/trueforge/capacidades.js.map +1 -1
- package/dist/agent/motores/trueforge/convertirAP.js +86 -0
- package/dist/agent/motores/trueforge/convertirAP.js.map +1 -0
- package/dist/agent/motores/trueforge/sesionTrueforge.js +197 -11
- package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
- package/dist/agent/motores/trueforge/traerDeStitch.js +65 -5
- package/dist/agent/motores/trueforge/traerDeStitch.js.map +1 -1
- package/dist/agent/subagentes/agentesEnDisco.js +28 -3
- package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
- package/dist/agent/subagentes/escrituraExterna.js +8 -1
- package/dist/agent/subagentes/escrituraExterna.js.map +1 -1
- package/dist/agent/subagentes/pluginDeSkills.js +31 -6
- package/dist/agent/subagentes/pluginDeSkills.js.map +1 -1
- package/dist/agent/subagentes/subagenteExterno.js +28 -9
- package/dist/agent/subagentes/subagenteExterno.js.map +1 -1
- package/dist/agent/tareas/aumentador.js +13 -2
- package/dist/agent/tareas/aumentador.js.map +1 -1
- package/dist/agent/tareas/juezDeTarea.js +13 -8
- package/dist/agent/tareas/juezDeTarea.js.map +1 -1
- package/dist/agent/tareas/reflejoEnElGestor.js +120 -0
- package/dist/agent/tareas/reflejoEnElGestor.js.map +1 -0
- package/dist/agent/tareas/sondeoDelGestor.js +201 -0
- package/dist/agent/tareas/sondeoDelGestor.js.map +1 -0
- package/dist/agent/turno/resumenDeTool.js +2 -0
- package/dist/agent/turno/resumenDeTool.js.map +1 -1
- package/dist/agent/turno/turnoReal.js +1 -0
- package/dist/agent/turno/turnoReal.js.map +1 -1
- package/dist/cli/consola.js.map +1 -1
- package/dist/cli/main.js +5 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/core/agentes.js +87 -2
- package/dist/core/agentes.js.map +1 -1
- package/dist/core/aprendido.js +68 -0
- package/dist/core/aprendido.js.map +1 -0
- package/dist/core/comandoExterno.js +29 -0
- package/dist/core/comandoExterno.js.map +1 -1
- package/dist/core/compararCapturas.js +62 -4
- package/dist/core/compararCapturas.js.map +1 -1
- package/dist/core/config.js +29 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/convertirAP.js +87 -0
- package/dist/core/convertirAP.js.map +1 -0
- package/dist/core/entrega.js +78 -10
- package/dist/core/entrega.js.map +1 -1
- package/dist/core/geometriaDePantalla.js +107 -5
- package/dist/core/geometriaDePantalla.js.map +1 -1
- package/dist/core/gestorDeTareas.js +2 -0
- package/dist/core/gestorDeTareas.js.map +1 -1
- package/dist/core/idiomaDeLaRespuesta.js +43 -0
- package/dist/core/idiomaDeLaRespuesta.js.map +1 -1
- package/dist/core/metodoDeComparacionVisual.js +71 -0
- package/dist/core/metodoDeComparacionVisual.js.map +1 -0
- package/dist/core/notify.js +4 -0
- package/dist/core/notify.js.map +1 -1
- package/dist/core/nucleoXone.js +42 -0
- package/dist/core/nucleoXone.js.map +1 -1
- package/dist/core/paqueteDeSoporte.js +2 -0
- package/dist/core/paqueteDeSoporte.js.map +1 -1
- package/dist/core/ports.js +36 -2
- package/dist/core/ports.js.map +1 -1
- package/dist/core/stitch.js +43 -0
- package/dist/core/stitch.js.map +1 -1
- package/dist/core/tareas.js.map +1 -1
- package/dist/core/tareasEnElGestor.js +197 -0
- package/dist/core/tareasEnElGestor.js.map +1 -0
- package/dist/core/textos.js +10 -3
- package/dist/core/textos.js.map +1 -1
- package/dist/web/servidor/arranque.js +483 -42
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/consolaDeTarea.js +5 -6
- package/dist/web/servidor/consolaDeTarea.js.map +1 -1
- package/dist/web/servidor/corredorDeTareas.js +33 -4
- package/dist/web/servidor/corredorDeTareas.js.map +1 -1
- package/dist/web/servidor/transporte.js +11 -0
- package/dist/web/servidor/transporte.js.map +1 -1
- package/package.json +2 -2
- package/skills/xone-development/lib/aUtf8.mjs +68 -0
- package/skills/xone-development/references/css/selectores-unidades-colores.md +2 -0
- package/skills/xone-development/scripts/xone-a-utf8 +60 -0
- package/apps/web/dist/assets/index-BpDt_1vN.js +0 -506
- package/apps/web/dist/assets/index-D_Z-V9n1.css +0 -1
package/dist/core/entrega.js
CHANGED
|
@@ -10,6 +10,29 @@ export const EXTENSIONES_DE_DOCUMENTACION = new Set([".md", ".markdown"]);
|
|
|
10
10
|
export function soloDocumentacion(rutas) {
|
|
11
11
|
return rutas.length > 0 && rutas.every((r) => EXTENSIONES_DE_DOCUMENTACION.has(extensionDe(r)));
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Lo que un TURNO puede decir de sí mismo, y que hasta ahora se tiraba.
|
|
15
|
+
*
|
|
16
|
+
* **Este tipo existe por una deuda medida.** `EjecutorDeTurno` devolvía `Promise<void>` y
|
|
17
|
+
* `crearEjecutorReal` (`cli/main.ts`) descartaba el retorno de `sesion.turno`, así que el
|
|
18
|
+
* `cortadoPorTope` que sabe que quedaron escrituras sin aplicar no salía de ahí. Medido
|
|
19
|
+
* con las tareas autónomas: cuatro ficheros escritos, una escritura abandonada al agotarse
|
|
20
|
+
* el tope de rondas, el verificador sin correr ni una vez, y el kanban diciendo
|
|
21
|
+
* «terminada». Sin abrir este canal, la condición `pendientes: 0` no tiene con qué
|
|
22
|
+
* medirse.
|
|
23
|
+
*
|
|
24
|
+
* Nada de aquí lleva contenido de ficheros: el estado del verificador, cuántas escrituras
|
|
25
|
+
* quedaron colgando, y los hallazgos en la misma forma que ya viaja en el evento
|
|
26
|
+
* `verificacion` —código, severidad, mensaje, fichero RELATIVO y línea—.
|
|
27
|
+
*/
|
|
28
|
+
/** Cuánto de la pregunta entra en el motivo: se pinta en el kanban, y la pregunta entera se ve en su chat. */
|
|
29
|
+
export const TOPE_DE_PREGUNTA_EN_EL_MOTIVO = 300;
|
|
30
|
+
/** El motivo de una tarea aparcada porque el agente pregunta. Se contesta con el feedback de la tarea. */
|
|
31
|
+
export function motivoDePreguntaPendiente(pregunta) {
|
|
32
|
+
const limpia = pregunta.replace(/\s+/g, " ").trim();
|
|
33
|
+
const corta = limpia.length <= TOPE_DE_PREGUNTA_EN_EL_MOTIVO ? limpia : `${limpia.slice(0, TOPE_DE_PREGUNTA_EN_EL_MOTIVO - 1)}…`;
|
|
34
|
+
return `el agente pregunta: «${corta}». Contéstale con tu respuesta como feedback`;
|
|
35
|
+
}
|
|
13
36
|
/**
|
|
14
37
|
* La medida a partir de lo que el turno informó. **Ausente no es vacío.**
|
|
15
38
|
*
|
|
@@ -89,7 +112,11 @@ export function condicionesDeEntrega(medida) {
|
|
|
89
112
|
* llegaron. Tratarlo como solo lectura entregaría el caso al revés.
|
|
90
113
|
*/
|
|
91
114
|
const nadaAterrizo = medida.escribio === false && (medida.autorizadas ?? 0) > 0;
|
|
115
|
+
const criticos = [];
|
|
116
|
+
/** Los fallos que NO son críticos: van como observaciones al cierre (`cierreDeLaEntrega`). */
|
|
117
|
+
const observaciones = [];
|
|
92
118
|
if (nadaAterrizo) {
|
|
119
|
+
criticos.push(`autorizó ${medida.autorizadas} escritura(s) y git no ve ningún cambio en el proyecto`);
|
|
93
120
|
fallos.push(`el turno autorizó ${medida.autorizadas} escritura(s) y git no ve ningún cambio en el ` +
|
|
94
121
|
"proyecto: o las rechazó una guarda de ruta, o escribieron lo que ya estaba");
|
|
95
122
|
}
|
|
@@ -110,27 +137,40 @@ export function condicionesDeEntrega(medida) {
|
|
|
110
137
|
fallos.push(errores > 0
|
|
111
138
|
? `el verificador dejó ${errores} error(es) sin corregir`
|
|
112
139
|
: "el verificador acabó en rojo");
|
|
140
|
+
observaciones.push(fallos.at(-1));
|
|
113
141
|
}
|
|
114
142
|
else if (medida.verificador === "no-corrio" && medida.topeAgotado === undefined) {
|
|
115
143
|
// Cortado por el tope, el «no corrió» es consecuencia del corte y se dice con él, abajo.
|
|
116
144
|
fallos.push(`el verificador no corrió en este turno${medida.motivoSinVerificar === undefined ? "" : ` (${medida.motivoSinVerificar})`}`);
|
|
145
|
+
observaciones.push(fallos.at(-1));
|
|
117
146
|
}
|
|
118
147
|
if (medida.topeAgotado !== undefined) {
|
|
148
|
+
criticos.push(criticoDeTopeAgotado(medida.topeAgotado, medida.pendientes));
|
|
119
149
|
fallos.push(motivoDeTopeAgotado(medida.topeAgotado, medida.pendientes));
|
|
120
150
|
}
|
|
121
151
|
else if (medida.pendientes > 0) {
|
|
122
152
|
fallos.push(`quedaron ${medida.pendientes} escritura(s) esperando aprobación, y no se aplicaron`);
|
|
153
|
+
observaciones.push(fallos.at(-1));
|
|
123
154
|
}
|
|
124
155
|
if (!medida.revisable) {
|
|
125
156
|
fallos.push("no se puede revisar lo que ha escrito: la sesión no dejó marca de git con la que comparar");
|
|
157
|
+
observaciones.push(fallos.at(-1));
|
|
126
158
|
}
|
|
159
|
+
for (const b of medida.bloqueantesVisuales ?? [])
|
|
160
|
+
criticos.push(`pantalla: ${b}`);
|
|
161
|
+
for (const b of medida.omisionesExplicadas ?? [])
|
|
162
|
+
observaciones.push(`pantalla, omitido y explicado en su resumen: ${b}`);
|
|
163
|
+
for (const b of medida.bloqueantesDesfasados ?? [])
|
|
164
|
+
observaciones.push(`pantalla, de una crítica ANTERIOR a los últimos cambios (sin comprobar después): ${b}`);
|
|
165
|
+
const conCriticos = { ...(criticos.length === 0 ? {} : { criticos }), ...(observaciones.length === 0 ? {} : { observaciones }) };
|
|
127
166
|
if (fallos.length === 0) {
|
|
128
167
|
return {
|
|
129
168
|
entregable: true,
|
|
130
169
|
...(nadaQueVerificar ? { salvedad: SALVEDAD_SIN_ESCRITURAS } : soloDocs ? { salvedad: SALVEDAD_SOLO_DOCUMENTACION } : {}),
|
|
170
|
+
...conCriticos,
|
|
131
171
|
};
|
|
132
172
|
}
|
|
133
|
-
return { entregable: false, motivo: fallos.join("; ") };
|
|
173
|
+
return { entregable: false, motivo: fallos.join("; "), ...conCriticos };
|
|
134
174
|
}
|
|
135
175
|
/**
|
|
136
176
|
* La decisión final: las condiciones Y el juez.
|
|
@@ -148,28 +188,49 @@ export function decisionDeEntrega(medida, veredicto) {
|
|
|
148
188
|
const condiciones = condicionesDeEntrega(medida);
|
|
149
189
|
if (!condiciones.entregable)
|
|
150
190
|
return condiciones;
|
|
191
|
+
const conCriticos = condiciones.criticos === undefined ? {} : { criticos: condiciones.criticos };
|
|
192
|
+
const conObservacion = (o) => ({ observaciones: [...(condiciones.observaciones ?? []), o] });
|
|
151
193
|
if (veredicto === undefined) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
motivo: "no hay veredicto del juez de QA, y sin él una tarea no se entrega",
|
|
155
|
-
};
|
|
194
|
+
const motivo = "no hay veredicto del juez de QA, y sin él una tarea no se entrega";
|
|
195
|
+
return { entregable: false, motivo, ...conCriticos, ...conObservacion(motivo) };
|
|
156
196
|
}
|
|
157
197
|
if (veredicto.veredicto !== "verde") {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
198
|
+
const motivo = `el juez de QA dijo «${veredicto.veredicto}»: ${veredicto.resumen}`;
|
|
199
|
+
/**
|
|
200
|
+
* **Una tarea que NO hizo el trabajo es crítica**: no cambió ningún fichero (según git) y el juez no la da por
|
|
201
|
+
* cumplida. Medido en Maset: paró sin escribir nada y se cerró con simples observaciones. «Completada con
|
|
202
|
+
* problemas» no es crítico; sin hacer, sí.
|
|
203
|
+
*/
|
|
204
|
+
const sinHacer = medida.escribio === false ? [CRITICO_SIN_HACER] : [];
|
|
205
|
+
const criticos = [...(condiciones.criticos ?? []), ...sinHacer];
|
|
206
|
+
return { entregable: false, motivo, ...(criticos.length === 0 ? {} : { criticos }), ...conObservacion(motivo) };
|
|
162
207
|
}
|
|
163
208
|
// La salvedad de las condiciones viaja hasta aquí: es la entrega la que hay que poder
|
|
164
209
|
// leer, no un paso intermedio. Con el verificador fuera de juego, el veredicto del juez
|
|
165
210
|
// es la única condición de CONTENIDO que quedaba, y eso es lo que dice.
|
|
166
|
-
return { entregable: true, ...(condiciones.salvedad === undefined ? {} : { salvedad: condiciones.salvedad }) };
|
|
211
|
+
return { entregable: true, ...(condiciones.salvedad === undefined ? {} : { salvedad: condiciones.salvedad }), ...conCriticos };
|
|
167
212
|
}
|
|
168
213
|
/**
|
|
169
214
|
* El motivo de una tarea que agotó su tope de rondas de escritura: qué pasó, qué no se aplicó y cómo seguir. Medido en una
|
|
170
215
|
* tarea real (Maset), el motivo de antes —«quedaron 3 escritura(s) esperando aprobación»— no decía que el turno se había
|
|
171
216
|
* cortado ni qué hacer con una ventana casi lista.
|
|
172
217
|
*/
|
|
218
|
+
/** El crítico de una tarea que no hizo el trabajo (`decisionDeEntrega`). */
|
|
219
|
+
export const CRITICO_SIN_HACER = "no hizo el trabajo: no cambió ningún fichero del proyecto y el juez no la da por cumplida";
|
|
220
|
+
/**
|
|
221
|
+
* ¿Explica el agente este bloqueante en su respuesta final? Cuando TODO lo que el bloqueante cita entre «» aparece en
|
|
222
|
+
* ella (sin mirar mayúsculas): lo nombra, así que lo decidió o dice por qué no está. Sin nada citado, no. Puro.
|
|
223
|
+
*/
|
|
224
|
+
export function omisionExplicada(bloqueante, respuestaFinal) {
|
|
225
|
+
const citas = [...bloqueante.matchAll(/«([^»]+)»/g)].map((m) => m[1].trim().toLowerCase()).filter((c) => c !== "");
|
|
226
|
+
if (citas.length === 0)
|
|
227
|
+
return false;
|
|
228
|
+
const texto = respuestaFinal.toLowerCase();
|
|
229
|
+
return citas.every((c) => texto.includes(c));
|
|
230
|
+
}
|
|
231
|
+
/** El tope agotado dicho para el `## CRITICAL` de una tarea que se CIERRA: sin «Continuar», que una cerrada no tiene. */
|
|
232
|
+
export const criticoDeTopeAgotado = (tope, pendientes) => `se cortó al agotar el tope de ${tope} rondas de escritura: el trabajo quedó a medias` +
|
|
233
|
+
(pendientes > 0 ? ` (las últimas ${pendientes} escritura(s) no se aplicaron)` : "");
|
|
173
234
|
export const motivoDeTopeAgotado = (tope, pendientes) => `agotó el tope de ${tope} rondas de escritura de una tarea` +
|
|
174
235
|
(pendientes > 0 ? `; las últimas ${pendientes} escritura(s) no se aplicaron` : "") +
|
|
175
236
|
", y el verificador no llegó a correr. Pulsa «Continuar» para que siga donde lo dejó";
|
|
@@ -190,4 +251,11 @@ export function lineaDeComprobacion(quien, sobre, texto, tope = 300) {
|
|
|
190
251
|
const cuerpo = dicho.length > tope ? `${dicho.slice(0, tope)}…` : dicho;
|
|
191
252
|
return `${quien}${sobre === undefined ? "" : ` sobre ${sobre}`}: ${cuerpo === "" ? "(sin texto)" : cuerpo}`;
|
|
192
253
|
}
|
|
254
|
+
export function cierreDeLaEntrega(entrega, veredicto) {
|
|
255
|
+
const delJuez = veredicto !== undefined && veredicto.veredicto !== "verde" ? (veredicto.hallazgos ?? []) : [];
|
|
256
|
+
const criticos = entrega.criticos ?? [];
|
|
257
|
+
// Una entrega que no se pudo evaluar (el juez no contestó, o reventó) solo trae su motivo: ese ES la observación.
|
|
258
|
+
const propias = entrega.observaciones ?? (!entrega.entregable && criticos.length === 0 && entrega.motivo !== undefined ? [entrega.motivo] : []);
|
|
259
|
+
return { criticos, observaciones: [...propias, ...delJuez] };
|
|
260
|
+
}
|
|
193
261
|
//# sourceMappingURL=entrega.js.map
|
package/dist/core/entrega.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entrega.js","sourceRoot":"","sources":["../../src/core/entrega.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;AAE/F,gHAAgH;AAChH,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC;
|
|
1
|
+
{"version":3,"file":"entrega.js","sourceRoot":"","sources":["../../src/core/entrega.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,15 @@ const DISTANCIA_PARA_ICONOS = 0.08;
|
|
|
36
36
|
* una franja vacía a la derecha que ni las filas ni los anchos relativos veían.
|
|
37
37
|
*/
|
|
38
38
|
const ENCAJE = 0.04;
|
|
39
|
+
/**
|
|
40
|
+
* Cuántas veces puede cambiar el TAMAÑO de una imagen respecto a la pantalla (su ancho entre el de la pantalla, en la
|
|
41
|
+
* maqueta y en el aparato) antes de decirlo. Medido en Maset: los iconos salieron unas 2,6 veces más pequeños —se
|
|
42
|
+
* copiaron los px de la maqueta como `p`— y nada lo dijo, porque el tamaño solo se comparaba RELATIVO a las vecinas de
|
|
43
|
+
* fila, y con todos los iconos igual de pequeños (o solos junto a un texto) no había vecina distinta.
|
|
44
|
+
*/
|
|
45
|
+
const FACTOR_DE_TAMAÑO_DE_IMAGEN = 1.5;
|
|
46
|
+
/** Cuánto (en fracción del ancho de la maqueta) puede separarse una cifra de su etiqueta para ser su CONTADOR. */
|
|
47
|
+
const VECINDAD_DE_CONTADOR = 0.12;
|
|
39
48
|
// ---------------------------------------------------------------- el árbol del aparato
|
|
40
49
|
/** Los controles del árbol de `getAllElements` (lista anidada de nodos con `bounds`), aplanados. */
|
|
41
50
|
export function controlesDelArbol(arbol) {
|
|
@@ -341,8 +350,46 @@ export function compararConMaqueta(m, g, modo = {}) {
|
|
|
341
350
|
return cx >= x0 && cx <= x1 && cy >= y0 && cy <= y1;
|
|
342
351
|
});
|
|
343
352
|
};
|
|
353
|
+
/**
|
|
354
|
+
* ¿Va esta cifra JUNTO a una etiqueta que sí está en el aparato? Entonces es un CONTADOR («12» sobre «pend.») y su
|
|
355
|
+
* sitio no puede quedar vacío, aunque el número sea de ejemplo. Medido en Maset (MAS-3): «12» y «0» salían como «datos
|
|
356
|
+
* de ejemplo, no faltan» con sus etiquetas («pend.», la píldora de INCIDENCIAS) en el aparato y el número sin pintar.
|
|
357
|
+
*/
|
|
358
|
+
const emparejadas = new Set(parejas.map((p) => p.maqueta));
|
|
359
|
+
const etiquetaVecina = (e) => {
|
|
360
|
+
const [cx, cy] = [e.caja.x + e.caja.ancho / 2, e.caja.y + e.caja.alto / 2];
|
|
361
|
+
return [...emparejadas]
|
|
362
|
+
.filter((o) => tieneLetras(textoParaEmparejar(o.texto)))
|
|
363
|
+
.map((o) => ({ o, dx: Math.abs(o.caja.x + o.caja.ancho / 2 - cx), dy: Math.abs(o.caja.y + o.caja.alto / 2 - cy) }))
|
|
364
|
+
.filter(({ dx, dy }) => dx <= VECINDAD_DE_CONTADOR * m.ancho && dy <= Math.max(2 * e.caja.alto, VECINDAD_DE_CONTADOR * m.ancho))
|
|
365
|
+
.sort((a, b) => a.dx + a.dy - (b.dx + b.dy))[0]?.o;
|
|
366
|
+
};
|
|
367
|
+
/**
|
|
368
|
+
* ¿Hay en el aparato una CIFRA junto a la pareja de esa etiqueta? Entonces el contador SÍ se pinta, con otro valor:
|
|
369
|
+
* medido en Maset, «12» de la maqueta junto a «pend.» salía como «no se pinta» con «51» encima de «pend.» en el
|
|
370
|
+
* aparato, y el orquestador encargó comprobarlo en otra vuelta.
|
|
371
|
+
*/
|
|
372
|
+
const cifraJuntoA = (vecina) => {
|
|
373
|
+
const suya = parejas.find((p) => p.maqueta === vecina)?.aparato;
|
|
374
|
+
if (suya === undefined)
|
|
375
|
+
return false;
|
|
376
|
+
const [cx, cy] = [suya.caja.x + suya.caja.ancho / 2, suya.caja.y + suya.caja.alto / 2];
|
|
377
|
+
return g.controles.some((c) => {
|
|
378
|
+
const t = textoParaEmparejar(c.texto ?? "");
|
|
379
|
+
if (c === suya || t === "" || tieneLetras(t))
|
|
380
|
+
return false;
|
|
381
|
+
const dx = Math.abs(c.caja.x + c.caja.ancho / 2 - cx);
|
|
382
|
+
const dy = Math.abs(c.caja.y + c.caja.alto / 2 - cy);
|
|
383
|
+
return dx <= VECINDAD_DE_CONTADOR * g.pantalla.ancho && dy <= Math.max(2 * suya.caja.alto, VECINDAD_DE_CONTADOR * g.pantalla.ancho);
|
|
384
|
+
});
|
|
385
|
+
};
|
|
344
386
|
for (const e of sinPareja) {
|
|
345
|
-
|
|
387
|
+
const candidata = !aproximada && e.boton !== true && textoParaEmparejar(e.texto) !== "" && !tieneLetras(textoParaEmparejar(e.texto)) ? etiquetaVecina(e) : undefined;
|
|
388
|
+
const vecina = candidata !== undefined && !cifraJuntoA(candidata) ? candidata : undefined;
|
|
389
|
+
if (vecina !== undefined) {
|
|
390
|
+
diferencias.push(`${etiqueta(e)} de ${laMaqueta}, junto a ${etiqueta(vecina)}, no se pinta en ${elAparato}: su etiqueta está y el número no (su valor puede ser de ejemplo; que su sitio quede vacío, no).`);
|
|
391
|
+
}
|
|
392
|
+
else if (!aproximada && e.boton !== true && textoParaEmparejar(e.texto) !== "" && !tieneLetras(textoParaEmparejar(e.texto))) {
|
|
346
393
|
datos.push(etiqueta(e));
|
|
347
394
|
}
|
|
348
395
|
else if (!aproximada && textoParaEmparejar(e.texto) !== "" && dentroDeUnaImagen(e)) {
|
|
@@ -370,6 +417,34 @@ export function compararConMaqueta(m, g, modo = {}) {
|
|
|
370
417
|
if (sinFila.length > 0) {
|
|
371
418
|
notas.push(`sin el mismo texto en ${elAparato}, ni en su fila: ${sinFila.slice(0, 5).join(", ")}${sinFila.length > 5 ? "…" : ""} (si son datos de ejemplo de un visor, es normal).`);
|
|
372
419
|
}
|
|
420
|
+
// TAMAÑO de cada IMAGEN respecto a su pantalla: no necesita vecinas, así que va antes del corte de «menos de dos».
|
|
421
|
+
// Solo con las dos medidas (una maqueta descrita no tiene un ancho de pantalla de verdad) y solo imágenes: la caja
|
|
422
|
+
// de un texto es el hueco del layout, no lo que se pinta. Las que cambian lo mismo van en UNA línea.
|
|
423
|
+
if (!aproximada) {
|
|
424
|
+
const porFactor = new Map();
|
|
425
|
+
for (const p of parejas) {
|
|
426
|
+
// Solo IMÁGENES: las dos cajas son lo que se pinta. Medido en Maset, con los botones no valía: la caja del aparato
|
|
427
|
+
// era la de la tarjeta entera y la de la maqueta la de su título («ENTREGAS sale 2,3 veces mayor», y no).
|
|
428
|
+
if (p.aparato.clase !== "IMG" || p.maqueta.sinAncho === true || p.maqueta.caja.ancho <= 0 || p.aparato.caja.ancho <= 0)
|
|
429
|
+
continue;
|
|
430
|
+
const rm = p.maqueta.caja.ancho / m.ancho;
|
|
431
|
+
const ra = p.aparato.caja.ancho / g.pantalla.ancho;
|
|
432
|
+
const factor = ra / rm;
|
|
433
|
+
if (factor >= 1 / FACTOR_DE_TAMAÑO_DE_IMAGEN && factor <= FACTOR_DE_TAMAÑO_DE_IMAGEN)
|
|
434
|
+
continue;
|
|
435
|
+
const como = factor < 1 ? `${veces(1 / factor)} veces MENOR` : `${veces(factor)} veces MAYOR`;
|
|
436
|
+
const grupo = porFactor.get(como) ?? { nombres: [], enAparato: ra, enMaqueta: rm };
|
|
437
|
+
grupo.nombres.push(etiqueta(p.maqueta));
|
|
438
|
+
porFactor.set(como, grupo);
|
|
439
|
+
}
|
|
440
|
+
const porcentaje = (x) => `${(x * 100).toFixed(1).replace(".", ",")} %`;
|
|
441
|
+
for (const [como, { nombres, enAparato, enMaqueta }] of porFactor) {
|
|
442
|
+
const varias = nombres.length > 1;
|
|
443
|
+
diferencias.push(`${varias ? `${nombres.length} imágenes (${nombres.slice(0, 5).join(", ")}${nombres.length > 5 ? "…" : ""}) salen` : `${mayuscula(nombres[0])} sale`} ` +
|
|
444
|
+
`a un tamaño unas ${como} que en ${laMaqueta}: ${varias ? "la primera ocupa" : "ocupa"} el ${porcentaje(enAparato)} del ancho de la pantalla en ${elAparato} ` +
|
|
445
|
+
`y el ${porcentaje(enMaqueta)} en ${laMaqueta}.`);
|
|
446
|
+
}
|
|
447
|
+
}
|
|
373
448
|
if (parejas.length < 2) {
|
|
374
449
|
notas.push("con menos de dos controles emparejados no hay filas ni tamaños que comparar.");
|
|
375
450
|
return { bloqueantes, diferencias, notas };
|
|
@@ -454,18 +529,32 @@ export function compararConMaqueta(m, g, modo = {}) {
|
|
|
454
529
|
}
|
|
455
530
|
});
|
|
456
531
|
}
|
|
532
|
+
// El tamaño frente a la PANTALLA de un control cuyo ancho frente a su FILA ya se dijo es la misma noticia: fuera.
|
|
533
|
+
if (!aproximada) {
|
|
534
|
+
const yaDichos = new Set(diferencias.filter((d) => d.includes("veces el ancho")).map((d) => d.split(" mide ")[0]));
|
|
535
|
+
for (let k = diferencias.length - 1; k >= 0; k--) {
|
|
536
|
+
const d = diferencias[k];
|
|
537
|
+
if (/^.+ sale a un tamaño unas /.test(d) && [...yaDichos].some((n) => d.toLowerCase().startsWith(n.toLowerCase())))
|
|
538
|
+
diferencias.splice(k, 1);
|
|
539
|
+
}
|
|
540
|
+
}
|
|
457
541
|
// PROPORCIÓN de cada control (alto entre ancho): una tecla aplastada o estirada. Si su ANCHO ya se ha
|
|
458
|
-
// dicho, la proporción es la misma noticia contada otra vez.
|
|
542
|
+
// dicho, la proporción es la misma noticia contada otra vez. **Solo de un BOTÓN de la maqueta**: la caja de un texto
|
|
543
|
+
// suelto —o de los de una tarjeta, que se parte— es lo que ocupan sus letras, y en XOne la etiqueta ocupa el ancho
|
|
544
|
+
// que se le da. Medido en Maset: «ENTREGAS», «LIQUIDACIÓN» e «INCIDENCIAS» salían «aplastados» y el orquestador
|
|
545
|
+
// mandó otra vuelta al desarrollador por ello.
|
|
459
546
|
if (aproximada)
|
|
460
547
|
return { bloqueantes, diferencias, notas };
|
|
461
548
|
const yaDichos = new Set(diferencias.filter((d) => d.includes("veces el ancho")).map((d) => d.split(" mide ")[0]));
|
|
462
549
|
parejas.forEach((p, i) => {
|
|
463
|
-
if (!comparable(i) || yaDichos.has(etiqueta(p.maqueta)))
|
|
550
|
+
if (!comparable(i) || yaDichos.has(etiqueta(p.maqueta)) || p.maqueta.boton !== true)
|
|
464
551
|
return;
|
|
465
552
|
const pm = p.maqueta.caja.alto / p.maqueta.caja.ancho;
|
|
466
553
|
const pa = p.aparato.caja.alto / p.aparato.caja.ancho;
|
|
467
554
|
if (pm > 0 && Math.abs(pa / pm - 1) > CAMBIO_DE_TAMAÑO && (pa < pm ? pm / pa : pa / pm) > 1.4) {
|
|
468
|
-
|
|
555
|
+
// Con un decimal dos proporciones distintas pueden salir iguales («0,2 y 0,2, más estirado»): entonces, con dos.
|
|
556
|
+
const fmt = (x) => (veces(pa) === veces(pm) ? x.toFixed(2).replace(".", ",") : veces(x));
|
|
557
|
+
diferencias.push(`${etiqueta(p.maqueta)} tiene otra PROPORCIÓN: alto/ancho ${fmt(pa)} en el aparato y ${fmt(pm)} en la maqueta (${pa < pm ? "más aplastado" : "más estirado"}).`);
|
|
469
558
|
}
|
|
470
559
|
});
|
|
471
560
|
return { bloqueantes, diferencias, notas };
|
|
@@ -482,6 +571,18 @@ export function hallazgosDeGeometria(g, m) {
|
|
|
482
571
|
notas: unico([...aparato.notas, ...maqueta.notas]),
|
|
483
572
|
};
|
|
484
573
|
}
|
|
574
|
+
/**
|
|
575
|
+
* La marca de una línea BLOQUEANTE en el informe del crítico: la lee el cierre de una tarea (`bloqueantesDelInforme`) para
|
|
576
|
+
* su `## CRITICAL`, y le dice al agente qué es lo grave entre las diferencias.
|
|
577
|
+
*/
|
|
578
|
+
export const MARCA_DE_BLOQUEANTE = "BLOQUEANTE · ";
|
|
579
|
+
/** Las líneas bloqueantes de un informe del crítico, sin la marca. Puro. */
|
|
580
|
+
export function bloqueantesDelInforme(informe) {
|
|
581
|
+
return informe
|
|
582
|
+
.split("\n")
|
|
583
|
+
.filter((l) => l.startsWith(`- ${MARCA_DE_BLOQUEANTE}`))
|
|
584
|
+
.map((l) => l.slice(2 + MARCA_DE_BLOQUEANTE.length).trim());
|
|
585
|
+
}
|
|
485
586
|
/** El bloque de texto que ve el agente (y que se le da al crítico como HECHOS). */
|
|
486
587
|
export function informeDeGeometria(h, conMaqueta) {
|
|
487
588
|
const lineas = [
|
|
@@ -491,8 +592,9 @@ export function informeDeGeometria(h, conMaqueta) {
|
|
|
491
592
|
];
|
|
492
593
|
if (h.bloqueantes.length === 0 && h.diferencias.length === 0)
|
|
493
594
|
lineas.push("- Nada: ningún control tapado, fuera de la pantalla o solapado" + (conMaqueta ? ", y la estructura cuadra con la maqueta." : "."));
|
|
595
|
+
// Con su marca: es lo que el cierre de una tarea lee como CRÍTICO (`MARCA_DE_BLOQUEANTE`).
|
|
494
596
|
for (const b of h.bloqueantes)
|
|
495
|
-
lineas.push(`- ${b}`);
|
|
597
|
+
lineas.push(`- ${MARCA_DE_BLOQUEANTE}${b}`);
|
|
496
598
|
for (const d of h.diferencias)
|
|
497
599
|
lineas.push(`- ${d}`);
|
|
498
600
|
for (const n of h.notas)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometriaDePantalla.js","sourceRoot":"","sources":["../../src/core/geometriaDePantalla.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geometriaDePantalla.js","sourceRoot":"","sources":["../../src/core/geometriaDePantalla.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAsEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,0GAA0G;AAC1G,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,4EAA4E;AAC5E,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,uGAAuG;AACvG,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC;;;;GAIG;AACH,MAAM,MAAM,GAAG,IAAI,CAAC;AACpB;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,kHAAkH;AAClH,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAGlC,wFAAwF;AAExF,oGAAoG;AACpG,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,KAAc,EAAQ,EAAE;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO;QAChD,MAAM,IAAI,GAAG,CAA4B,CAAC;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAwC,CAAC;QAChE,IACE,CAAC,KAAK,SAAS;YACf,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK;YACzB,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ;YAC7B,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ;YAC5B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ;YAC9B,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ;YAC/B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACd,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACf,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,YAAY,IAAI,CAAC,CAAC;YAClB,MAAM,EAAE,GAAG,YAAY,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC;gBACV,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;gBACzC,GAAG,CAAC,eAAe,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrG,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;gBAClC,GAAG,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAW,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAW,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAW,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAW,EAAE;aAClH,CAAC,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7F,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAClG,CAAC,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,4HAA4H;AAC5H,sHAAsH;AACtH,MAAM,MAAM,GAAG,CAAC,CAAoB,EAAW,EAAE,CAC/C,CAAC,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;AAE3H,kGAAkG;AAClG,SAAS,OAAO,CAAC,CAAoB;IACnC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;IACzF,OAAO,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,uBAAuB,CAAC,CAAC;AACxF,CAAC;AAED,4FAA4F;AAE5F,MAAM,UAAU,mBAAmB,CAAC,CAAsB;IACxD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC;IACjC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC;IAChC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IAEhH,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACrC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACxC,IAAI,GAAG,KAAK,SAAS,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;YACpG,WAAW,CAAC,IAAI,CACd,GAAG,OAAO,CAAC,CAAC,CAAC,wDAAwD,KAAK,4BAA4B,GAAG,CAAC,MAAM,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,cAAc,CACtJ,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,eAAe,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/I,WAAW,CAAC,IAAI,CACd,GAAG,OAAO,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,IAAI,CAAC,CAAC,0BAA0B,MAAM,CAAC,KAAK,GAAG,CACrH,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3G,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,OAAO,IAAI,KAAK,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;QAC7J,CAAC;IACH,CAAC;IAED,kHAAkH;IAClH,uHAAuH;IACvH,oHAAoH;IACpH,sHAAsH;IACtH,mCAAmC;IACnC,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAClJ,MAAM,UAAU,GAAG,CAAC,CAAoB,EAA0C,EAAE;QAClF,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;gBAAE,SAAS;YACpE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;YAC5B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAE,SAAS;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3D,iFAAiF;YACjF,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI;gBAAE,SAAS;YAC3C,IAAI,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG;gBAAE,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,cAAc,CAAC,CAAC;QACtH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,8FAA8F;AAE9F,mDAAmD;AACnD,MAAM,KAAK,GAA2B,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC3F,0FAA0F;AAC1F,MAAM,OAAO,GAAG,SAAS,CAAC;AAE1B;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,qFAAqF;IACrF,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACzF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvI,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,KAAK;SACT,KAAK,CAAC,EAAE,CAAC;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACzB,IAAI,CAAC,EAAE,CAAC;SACR,WAAW,EAAE,CAAC;AACnB,CAAC;AAWD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACzF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,wDAAwD;AACxD,MAAM,MAAM,GAAG,CAAC,CAAO,EAAE,KAAa,EAAE,IAAY,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAEpI;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,CAAgB,EAChB,CAAsB;AACtB,wHAAwH;AACxH,SAAS,GAAG,KAAK;IAEjB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,SAAS,GAAG,CAAC,CAAoB,EAAE,CAAoB,EAAU,EAAE;QACvE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAM,UAAU,GAA0C,EAAE,CAAC;IAC7D,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO;QACrB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC/C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,QAAQ,GAA0C,EAAE,CAAC;QAC3D,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC9C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACrB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAAE,OAAO;gBACjG,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,IAAI,qBAAqB;oBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC/C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,kGAAkG;IAClG,2CAA2C;IAC3C,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAI,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO;QACxC,qHAAqH;QACrH,wDAAwD;QACxD,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAAE,OAAO;QAC5D,IAAI,KAA2C,CAAC;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAO;YACpD,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;gBAAE,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QACxI,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,0IAA0I;AAC1I,MAAM,UAAU,KAAK,CAAC,KAAsB;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3G,MAAM,IAAI,GAAG,IAAI,KAAK,CAAS,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;IAChB,IAAI,UAAoD,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxG,MAAM,IAAI,CAAC,CAAC;YACZ,UAAU,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,EAAqB,EAAU,EAAE;IAChD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC;AAC1H,CAAC,CAAC;AACF,MAAM,QAAQ,GAAG,CAAC,CAAoB,EAAU,EAAE;IAChD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACzB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC;AAC/F,CAAC,CAAC;AACF,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpE,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAahF,MAAM,UAAU,kBAAkB,CAAC,CAAgB,EAAE,CAAsB,EAAE,OAA0B,EAAE;IACvG,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IACpH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,SAAS,UAAU,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,SAAS,mFAAmF,CAAC,CAAC;QACtM,CAAC;QACD,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,SAAS,UAAU,SAAS,0BAA0B,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,YAAY,mDAAmD,CAAC,CAAC;IACjN,CAAC;IAED;;;;OAIG;IACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B;;;OAGG;IACH,MAAM,iBAAiB,GAAG,CAAC,CAAoB,EAAW,EAAE;QAC1D,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;gBAAE,OAAO,KAAK,CAAC;YACxD,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3E,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5G,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF;;;;OAIG;IACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,CAAC,CAAoB,EAAiC,EAAE;QAC7E,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,WAAW,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;aAClH,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,oBAAoB,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;aAC/H,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;IACF;;;;OAIG;IACH,MAAM,WAAW,GAAG,CAAC,MAAyB,EAAW,EAAE;QACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC;QAChE,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACrC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,MAAM,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACtD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,IAAI,oBAAoB,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtI,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,SAAS,GACb,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrJ,MAAM,MAAM,GAAG,SAAS,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1F,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CACd,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,SAAS,aAAa,QAAQ,CAAC,MAAM,CAAC,oBAAoB,SAAS,kGAAkG,CAC3L,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9H,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,SAAS,oDAAoD,SAAS,yBAAyB,CAAC,CAAC;QACpJ,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,SAAS,uBAAuB,SAAS,4DAA4D,CAAC,CAAC;;gBAC1K,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;;YAAM,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,SAAS,eAAe,SAAS,kCAAkC,CAAC,CAAC;IACpH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,6CAA6C,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/H,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,uBAAuB,SAAS,oBAAoB,SAAS,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,gDAAgD,CAAC,CAAC;IAC3L,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,yBAAyB,SAAS,oBAAoB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,oDAAoD,CAAC,CAAC;IACvL,CAAC;IACD,mHAAmH;IACnH,mHAAmH;IACnH,qGAAqG;IACrG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuE,CAAC;QACjG,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,mHAAmH;YACnH,0GAA0G;YAC1G,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;gBAAE,SAAS;YACjI,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAC1C,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACnD,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC;YACvB,IAAI,MAAM,IAAI,CAAC,GAAG,0BAA0B,IAAI,MAAM,IAAI,0BAA0B;gBAAE,SAAS;YAC/F,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;YAC9F,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YACnF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACxC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;QAChF,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAClC,WAAW,CAAC,IAAI,CACd,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,cAAc,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,GAAG;gBACtJ,oBAAoB,IAAI,WAAW,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,OAAO,UAAU,CAAC,SAAS,CAAC,gCAAgC,SAAS,GAAG;gBAC9J,QAAQ,UAAU,CAAC,SAAS,CAAC,OAAO,SAAS,GAAG,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAC3F,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAExD,sGAAsG;IACtG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5F,MAAM,OAAO,GAAG,OAAO;aACpB,KAAK,EAAE;aACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;aACvE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvB,uEAAuE;YACvE,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/E,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,SAAS,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC9K,SAAS;QACX,CAAC;QACD,0DAA0D;QAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACjJ,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,SAAS,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7J,CAAC;IAED,+GAA+G;IAC/G,6GAA6G;IAC7G,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC5C,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YACjC,MAAM,KAAK,GAAG,CAAC,IAA2B,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;gBAC7D,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;gBACtE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;aACtG,CAAC,CAAC;YACH,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAE,CAAC,OAAO,CAAC,CAAC;YACxI,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,SAAS,WAAW,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACvJ,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,SAAS,WAAW,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrJ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAChH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QACrK,CAAC;IACH,CAAC;IAED,sGAAsG;IACtG,yGAAyG;IACzG,wFAAwF;IACxF,MAAM,UAAU,GAAG,CAAC,CAAS,EAAW,EAAE;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,CAAC;IACjE,CAAC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QAC5F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YAAE,SAAS;QACrC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC;YAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC;YAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,CAAC;gBAC7C,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC,yCAAyC,SAAS,KAAK,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAC1I,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kHAAkH;IAClH,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnH,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;YAC1B,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChJ,CAAC;IACH,CAAC;IACD,sGAAsG;IACtG,qHAAqH;IACrH,mHAAmH;IACnH,gHAAgH;IAChH,+CAA+C;IAC/C,IAAI,UAAU;QAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO;QAC5F,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,gBAAgB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;YAC9F,iHAAiH;YACjH,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACjG,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,sCAAsC,GAAG,CAAC,EAAE,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC;QACpL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,oBAAoB,CAAC,CAAsB,EAAE,CAAiB;IAC5E,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7G,MAAM,KAAK,GAAG,CAAC,EAAY,EAAY,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,CAAC,EAAY,EAAY,EAAE,CACzC,EAAE,CAAC,MAAM,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,GAAG,iBAAiB,sBAAsB,CAAC,CAAC;IACxI,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7E,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7E,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;KACnD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAEnD,4EAA4E;AAC5E,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,mBAAmB,EAAE,CAAC,CAAC;SACvD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,kBAAkB,CAAC,CAAuB,EAAE,UAAmB;IAC7E,MAAM,MAAM,GAAG;QACb,UAAU;YACR,CAAC,CAAC,+GAA+G;YACjH,CAAC,CAAC,sHAAsH;KAC3H,CAAC;IACF,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,gEAAgE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9M,2FAA2F;IAC3F,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW;QAAE,MAAM,CAAC,IAAI,CAAC,KAAK,mBAAmB,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3E,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW;QAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAoB,EAAE,CAAsB;IAC3E,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC/D,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAClJ,MAAM,IAAI,GAAG,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS;SACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACvG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACvH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAClF,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAsB;IACpD,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IACvD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACxH,CAAC"}
|
|
@@ -162,8 +162,10 @@ const TOPE_DEL_RESUMEN_DE_CIERRE = 1500;
|
|
|
162
162
|
*/
|
|
163
163
|
export function comentarioDeCierre(datos) {
|
|
164
164
|
const secciones = [
|
|
165
|
+
...((datos.criticos ?? []).length > 0 ? [`## CRITICAL\n\n${datos.criticos.map((c) => `- ${c}`).join("\n")}`] : []),
|
|
165
166
|
seccionQueCambio(datos.ficheros, datos.commits, datos.atribucion),
|
|
166
167
|
seccionVerificacion(datos.veredicto),
|
|
168
|
+
...((datos.observaciones ?? []).length > 0 ? [`## Observaciones\n\n${datos.observaciones.map((o) => `- ${o}`).join("\n")}`] : []),
|
|
167
169
|
];
|
|
168
170
|
if (datos.plan !== undefined && datos.plan.trim() !== "")
|
|
169
171
|
secciones.push(`## Plan\n\n${datos.plan.trim()}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gestorDeTareas.js","sourceRoot":"","sources":["../../src/core/gestorDeTareas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gestorDeTareas.js","sourceRoot":"","sources":["../../src/core/gestorDeTareas.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,4 +35,47 @@ export function textoDeReescritura(peticion) {
|
|
|
35
35
|
"en el idioma en que te escribe el usuario, sin cambiar su contenido, sin añadir nada y sin llamar a ninguna herramienta. " +
|
|
36
36
|
`Su mensaje empezaba así: «${cita}»`);
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* **Lo que el raíz escribe ENTRE herramientas, en INGLÉS cuando el usuario no escribe en inglés.** Medido en Maset
|
|
40
|
+
* (MAS-3): en una tarea larga `deepseek-flash` pasó a escribir en inglés lo que la persona lee («Round 2 written. Let
|
|
41
|
+
* me validate…»), con `IDIOMA_DE_LA_RESPUESTA` en su prompt. Como con el chino, es una deriva y el arreglo es código:
|
|
42
|
+
* se DETECTA por palabras vacías —las más frecuentes de cada idioma, que no dependen del tema— y se le recuerda el
|
|
43
|
+
* idioma antes de su siguiente llamada. No se reescribe lo ya dicho: entre herramientas no hay respuesta que rehacer.
|
|
44
|
+
*/
|
|
45
|
+
const VACIAS_EN = new Set("the and to of is it that this with for now let me i i'll let's will then so we what on in are be have has was not can should".split(" "));
|
|
46
|
+
const VACIAS_ES = new Set("el la los las de del que y en un una es lo se por para con no al como más pero sus su ya voy ahora esto este esta hay".split(" "));
|
|
47
|
+
/** Cuántas palabras vacías de un idioma hacen falta para decir nada: un mensaje de una línea no se juzga. */
|
|
48
|
+
export const MINIMO_DE_VACIAS = 6;
|
|
49
|
+
function cuentaVacias(texto) {
|
|
50
|
+
// Fuera el código y las rutas: un `the_value` o un `/de/` no son el idioma de quien escribe.
|
|
51
|
+
const limpio = texto.replace(/```[\s\S]*?```/g, " ").replace(/`[^`]*`/g, " ").toLowerCase();
|
|
52
|
+
const palabras = limpio.match(/[a-záéíóúñü']+/g) ?? [];
|
|
53
|
+
let en = 0;
|
|
54
|
+
let es = 0;
|
|
55
|
+
for (const p of palabras) {
|
|
56
|
+
if (VACIAS_EN.has(p))
|
|
57
|
+
en++;
|
|
58
|
+
if (VACIAS_ES.has(p))
|
|
59
|
+
es++;
|
|
60
|
+
}
|
|
61
|
+
return { en, es };
|
|
62
|
+
}
|
|
63
|
+
/** ¿Está este texto en inglés y quien pide NO escribe en inglés? Las dos medidas, con margen: dudoso es «no». */
|
|
64
|
+
export function textoEnInglesSinPedirlo(texto, peticion) {
|
|
65
|
+
const t = cuentaVacias(texto);
|
|
66
|
+
if (t.en < MINIMO_DE_VACIAS || t.en < 2 * t.es)
|
|
67
|
+
return false;
|
|
68
|
+
const p = cuentaVacias(peticion);
|
|
69
|
+
return p.es > p.en;
|
|
70
|
+
}
|
|
71
|
+
/** Cuántas veces por turno se le recuerda: si no hace caso, insistir no lo arregla y gasta. */
|
|
72
|
+
export const TOPE_DE_RECORDATORIOS_DE_IDIOMA = 2;
|
|
73
|
+
/** El recordatorio, como mensaje de usuario antes de su siguiente llamada. */
|
|
74
|
+
export function textoDeRecordatorioDeIdioma(peticion) {
|
|
75
|
+
const cita = peticion.trim().slice(0, TOPE_DE_CITA_DEL_USUARIO);
|
|
76
|
+
return ("[Aviso del harness] Lo que escribes entre herramientas está saliendo en inglés, y el usuario no escribe en inglés. " +
|
|
77
|
+
"Desde ahora escribe TODO lo que el usuario lee —mensajes entre herramientas y respuesta final— en su idioma. Tu " +
|
|
78
|
+
`razonamiento puede seguir como quieras. No comentes este aviso ni digas que cambias de idioma: sigue con tu trabajo. ` +
|
|
79
|
+
`Su mensaje empezaba así: «${cita}»`);
|
|
80
|
+
}
|
|
38
81
|
//# sourceMappingURL=idiomaDeLaRespuesta.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idiomaDeLaRespuesta.js","sourceRoot":"","sources":["../../src/core/idiomaDeLaRespuesta.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+GAA+G;AAC/G,MAAM,GAAG,GAAG,YAAY,CAAC;AACzB,kFAAkF;AAClF,MAAM,KAAK,GAAG,SAAS,CAAC;AAExB,mGAAmG;AACnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,yGAAyG;AACzG,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAC/C,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC;AAC9D,CAAC;AAED,uHAAuH;AACvH,MAAM,UAAU,0BAA0B,CAAC,SAAiB,EAAE,QAAgB;IAC5E,MAAM,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,CAAC,GAAG,GAAG,oBAAoB,IAAI,CAAC,CAAC,UAAU,GAAG,mBAAmB;QAAE,OAAO,KAAK,CAAC;IACrF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,4HAA4H;AAC5H,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAChE,OAAO,CACL,uHAAuH;QACvH,2HAA2H;QAC3H,6BAA6B,IAAI,GAAG,CACrC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"idiomaDeLaRespuesta.js","sourceRoot":"","sources":["../../src/core/idiomaDeLaRespuesta.ts"],"names":[],"mappings":"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"}
|