smart-thinking-mcp 10.0.0 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -575,7 +575,7 @@ class ThoughtGraph {
575
575
  */
576
576
  inferRelationsByPatterns(confidenceThreshold) {
577
577
  let newRelationsCount = 0;
578
- // Détecter les clusters de pensées fortement connectées
578
+ // Détecter des clusters de pensées fortement connectées
579
579
  const clusters = this.detectClusters();
580
580
  // Pour chaque cluster, créer des hyperliens entre les membres
581
581
  for (const cluster of clusters) {
@@ -984,23 +984,127 @@ class ThoughtGraph {
984
984
  */
985
985
  async suggestNextSteps(limit = 3, sessionId) {
986
986
  const sessionThoughts = this.getAllThoughts(sessionId);
987
+ // Si aucune pensée n'existe dans la session, retourner un tableau vide
987
988
  if (sessionThoughts.length === 0) {
988
- return [{
989
- description: "Commencez par définir le problème ou la question à explorer dans cette session",
990
- type: 'regular',
991
- confidence: 0.9,
992
- reasoning: "Une définition claire du problème est essentielle pour un raisonnement efficace"
993
- }];
989
+ return [];
994
990
  }
991
+ // Recueillir un contexte riche pour le LLM
992
+ // 1. Obtenir la pensée initiale (probablement la première de la session)
993
+ const initialThought = sessionThoughts.length > 0 ?
994
+ sessionThoughts.reduce((earliest, current) => new Date(earliest.metadata?.timestamp || 0) <= new Date(current.metadata?.timestamp || 0) ? earliest : current, sessionThoughts[0]) : null;
995
+ const initialThoughtSummary = initialThought ?
996
+ `[${initialThought.type}] ${initialThought.content.substring(0, 150)}...` :
997
+ 'Non identifié';
998
+ // 2. Identifier les nœuds clés
999
+ // Hypothèses récentes
1000
+ const hypotheses = sessionThoughts.filter(t => t.type === 'hypothesis');
1001
+ const recentHypotheses = hypotheses
1002
+ .sort((a, b) => new Date(b.metadata?.timestamp || 0).getTime() - new Date(a.metadata?.timestamp || 0).getTime())
1003
+ .slice(0, 3);
1004
+ const hypothesesSummary = recentHypotheses.length > 0 ?
1005
+ recentHypotheses.map(h => h.content.substring(0, 100)).join('\n') :
1006
+ 'Aucune hypothèse formulée';
1007
+ // Conclusions récentes
1008
+ const conclusions = sessionThoughts.filter(t => t.type === 'conclusion');
1009
+ const recentConclusions = conclusions
1010
+ .sort((a, b) => new Date(b.metadata?.timestamp || 0).getTime() - new Date(a.metadata?.timestamp || 0).getTime())
1011
+ .slice(0, 2);
1012
+ const conclusionsSummary = recentConclusions.length > 0 ?
1013
+ recentConclusions.map(c => c.content.substring(0, 100)).join('\n') :
1014
+ 'Aucune conclusion formulée';
1015
+ // Questions ouvertes (pensées contenant des points d'interrogation ou des mots-clés de question)
1016
+ const questionKeywords = ['pourquoi', 'comment', 'quoi', 'qui', 'où', 'quand', 'quel', 'quelle'];
1017
+ const openQuestions = sessionThoughts.filter(t => t.content.includes('?') ||
1018
+ questionKeywords.some(keyword => t.content.toLowerCase().includes(keyword)));
1019
+ const recentQuestions = openQuestions
1020
+ .sort((a, b) => new Date(b.metadata?.timestamp || 0).getTime() - new Date(a.metadata?.timestamp || 0).getTime())
1021
+ .slice(0, 3);
1022
+ const questionsSummary = recentQuestions.length > 0 ?
1023
+ recentQuestions.map(q => q.content.substring(0, 100)).join('\n') :
1024
+ 'Aucune question explicite identifiée';
1025
+ // 3. Identifier les contradictions et problèmes
1026
+ const contradictions = sessionThoughts.filter(thought => thought.connections.some(conn => {
1027
+ // Check if the connected thought also belongs to the session
1028
+ const targetThought = this.getThought(conn.targetId);
1029
+ return conn.type === 'contradicts' && targetThought?.metadata?.sessionId === sessionId;
1030
+ }));
1031
+ const contradictionsSummary = contradictions.length > 0 ?
1032
+ contradictions.map(c => {
1033
+ const contradictingConnections = c.connections.filter(conn => conn.type === 'contradicts');
1034
+ const contradictedThoughts = contradictingConnections.map(conn => this.getThought(conn.targetId));
1035
+ return `"${c.content.substring(0, 70)}..." contredit "${contradictedThoughts[0]?.content.substring(0, 70)}..."`;
1036
+ }).join('\n') :
1037
+ 'Aucune contradiction explicite détectée';
1038
+ // 4. Résumer l'activité récente
995
1039
  const recentThoughts = this.getRecentThoughts(5, sessionId);
996
- const recentThoughtsSummary = recentThoughts.map(t => `[${t.type}] ${t.content.substring(0, 100)}...`).join('\n');
997
- const graphStateSummary = `Session thoughts: ${sessionThoughts.length}. Recent session thoughts:\n${recentThoughtsSummary}`;
1040
+ const thoughtTypes = recentThoughts.map(t => t.type);
1041
+ const uniqueTypes = [...new Set(thoughtTypes)];
1042
+ const recentActivitySummary = `Activité récente: ${uniqueTypes.join(', ')}`;
1043
+ // 5. Analyser la structure du graphe
1044
+ let graphStructureSummary = 'Structure indéterminée';
1045
+ if (sessionThoughts.length <= 3) {
1046
+ graphStructureSummary = 'Exploration initiale';
1047
+ }
1048
+ else {
1049
+ // Vérifier si la structure est principalement linéaire
1050
+ const isLinear = sessionThoughts.every(t => t.connections.length <= 2);
1051
+ // Vérifier s'il y a des clusters
1052
+ const hasClusters = this.detectClusters().length > 1;
1053
+ // Vérifier s'il y a beaucoup de connexions (structure en réseau)
1054
+ const avgConnections = sessionThoughts.reduce((sum, t) => sum + t.connections.length, 0) / sessionThoughts.length;
1055
+ if (isLinear) {
1056
+ graphStructureSummary = 'Progression principalement linéaire';
1057
+ }
1058
+ else if (hasClusters) {
1059
+ graphStructureSummary = 'Plusieurs clusters de pensées identifiés';
1060
+ }
1061
+ else if (avgConnections > 3) {
1062
+ graphStructureSummary = 'Structure en réseau avec nombreuses connexions';
1063
+ }
1064
+ else {
1065
+ graphStructureSummary = 'Structure mixte avec quelques branches';
1066
+ }
1067
+ }
1068
+ // 6. Construire un prompt utilisateur enrichi
1069
+ const userPrompt = `
1070
+ Analyse de la Session de Raisonnement (ID: ${sessionId || 'session principale'}):
1071
+ - Pensée Initiale/Objectif: ${initialThoughtSummary}
1072
+ - Focus d'Activité Récente: ${recentActivitySummary}
1073
+ - Nœuds Clés:
1074
+ - Hypothèses: ${hypothesesSummary}
1075
+ - Conclusions: ${conclusionsSummary}
1076
+ - Questions Ouvertes: ${questionsSummary}
1077
+ - État du Graphe: ${graphStructureSummary} (${sessionThoughts.length} pensées au total)
1078
+ - Problèmes Identifiés: ${contradictionsSummary}
1079
+
1080
+ En fonction de cet état, suggérez les ${limit} prochaines étapes concrètes pour faire avancer le processus de raisonnement.
1081
+ Concentrez-vous sur des étapes qui:
1082
+ - Répondent aux questions ouvertes
1083
+ - Testent les hypothèses formulées
1084
+ - Résolvent les contradictions identifiées
1085
+ - Approfondissent l'analyse des points importants
1086
+ - Utilisent les outils disponibles (recherche web, exécution de code, etc.) quand c'est pertinent
1087
+
1088
+ Formatez la réponse comme un tableau JSON d'objets, chacun avec 'description' (string), 'type' (ThoughtType comme 'regular', 'hypothesis', 'meta', etc.), 'confidence' (nombre entre 0 et 1), et 'reasoning' (string expliquant pourquoi cette étape est suggérée).
1089
+
1090
+ Exemple: [{"description": "Vérifier l'affirmation X avec une recherche web", "type": "regular", "confidence": 0.9, "reasoning": "Cette affirmation manque de sources fiables"}, ...]
1091
+ `;
1092
+ // 7. Améliorer le prompt système
1093
+ const systemPrompt = `Vous êtes un assistant IA expert guidant un processus de raisonnement complexe suivi dans un graphe de pensées.
1094
+ Votre tâche est d'analyser le résumé fourni de l'état actuel du raisonnement (incluant objectifs, nœuds clés, structure et problèmes)
1095
+ et de suggérer ${limit} prochaines étapes concrètes, logiques et pertinentes.
1096
+
1097
+ Les suggestions doivent aider l'utilisateur à faire progresser sa réflexion, explorer des possibilités, vérifier des informations,
1098
+ ou synthétiser des découvertes. Vos suggestions doivent être spécifiques et actionables, pas génériques.
1099
+
1100
+ Assurez-vous que votre sortie est UNIQUEMENT le tableau JSON demandé, correctement formaté et parsable.`;
1101
+ // 8. Appeler le LLM avec le contexte enrichi
998
1102
  let llmSuggestions = null;
999
1103
  try {
1000
- const systemPrompt = `You are an AI assistant guiding a reasoning process. Based on the current state of the thought graph, suggest ${limit} logical and relevant next steps.`;
1001
- const userPrompt = `Current graph state:\n${graphStateSummary}\n\nSuggest the top ${limit} next steps in JSON array format:`;
1002
- const llmResponse = await (0, openrouter_client_1.callInternalLlm)(systemPrompt, userPrompt, 1000);
1104
+ // Réduire la température pour une sortie JSON plus fiable
1105
+ const llmResponse = await (0, openrouter_client_1.callInternalLlm)(systemPrompt, userPrompt, 2000);
1003
1106
  if (llmResponse) {
1107
+ // Améliorer la détection et l'analyse du JSON
1004
1108
  const jsonMatch = llmResponse.match(/\[\s*\{[\s\S]*\}\s*\]/);
1005
1109
  if (jsonMatch) {
1006
1110
  const jsonString = jsonMatch[0];
@@ -1009,12 +1113,17 @@ class ThoughtGraph {
1009
1113
  if (Array.isArray(parsedSuggestions) && parsedSuggestions.length > 0) {
1010
1114
  const validatedSuggestions = [];
1011
1115
  for (const suggestion of parsedSuggestions) {
1012
- if (suggestion && typeof suggestion.description === 'string' && typeof suggestion.type === 'string') {
1116
+ if (suggestion &&
1117
+ typeof suggestion.description === 'string' &&
1118
+ typeof suggestion.type === 'string') {
1119
+ // Valider et normaliser la structure
1013
1120
  validatedSuggestions.push({
1014
1121
  description: suggestion.description,
1015
1122
  type: suggestion.type,
1016
- confidence: 0.8,
1017
- reasoning: "Suggested by internal LLM based on graph state."
1123
+ confidence: typeof suggestion.confidence === 'number' ?
1124
+ Math.min(Math.max(suggestion.confidence, 0), 1) : 0.8,
1125
+ reasoning: typeof suggestion.reasoning === 'string' ?
1126
+ suggestion.reasoning : "Suggéré par LLM basé sur l'état du graphe."
1018
1127
  });
1019
1128
  if (validatedSuggestions.length >= limit)
1020
1129
  break;
@@ -1026,17 +1135,23 @@ class ThoughtGraph {
1026
1135
  }
1027
1136
  }
1028
1137
  catch (parseError) {
1029
- console.warn(`LLM next step suggestion response was not valid JSON: ${llmResponse}`, parseError);
1138
+ console.warn(`Réponse LLM pour suggestion d'étapes suivantes n'était pas un JSON valide: ${llmResponse}`, parseError);
1139
+ // Log the raw response for debugging
1140
+ console.log('Réponse brute du LLM:', llmResponse);
1030
1141
  }
1031
1142
  }
1143
+ else {
1144
+ console.warn('Aucun JSON trouvé dans la réponse LLM:', llmResponse);
1145
+ }
1032
1146
  }
1033
1147
  }
1034
1148
  catch (llmError) {
1035
- console.error('Error calling LLM for next step suggestion:', llmError);
1149
+ console.error('Erreur lors de l\'appel au LLM pour suggestion d\'étapes suivantes:', llmError);
1036
1150
  }
1037
1151
  if (llmSuggestions && llmSuggestions.length > 0) {
1038
1152
  return llmSuggestions;
1039
1153
  }
1154
+ // Fallback à la méthode heuristique si le LLM échoue
1040
1155
  return this.suggestNextStepsHeuristic(limit, sessionId);
1041
1156
  }
1042
1157
  /**
@@ -1045,14 +1160,7 @@ class ThoughtGraph {
1045
1160
  suggestNextStepsHeuristic(limit = 3, sessionId) {
1046
1161
  // Use session-specific thoughts
1047
1162
  const sessionThoughts = this.getAllThoughts(sessionId);
1048
- if (sessionThoughts.length === 0) {
1049
- return [{
1050
- description: "Commencez par définir le problème ou la question à explorer dans cette session",
1051
- type: 'regular',
1052
- confidence: 0.9,
1053
- reasoning: "Une définition claire du problème est essentielle pour un raisonnement efficace"
1054
- }];
1055
- }
1163
+ // Removed the initial check for sessionThoughts.length === 0
1056
1164
  const suggestions = [];
1057
1165
  // Use session-specific recent thoughts
1058
1166
  const recentThoughts = this.getRecentThoughts(3, sessionId);
@@ -1151,15 +1259,6 @@ class ThoughtGraph {
1151
1259
  reasoning: "L'analyse des relations multi-nœuds peut révéler des insights cachés"
1152
1260
  });
1153
1261
  }
1154
- // Si aucune suggestion spécifique n'a été faite, proposer une continuation simple
1155
- if (suggestions.length === 0) {
1156
- suggestions.push({
1157
- description: "Continuez votre raisonnement en développant vos idées actuelles",
1158
- type: 'regular',
1159
- confidence: 0.6,
1160
- reasoning: "Approfondir les pensées existantes peut révéler de nouvelles perspectives"
1161
- });
1162
- }
1163
1262
  // Assurer de ne pas dépasser la limite
1164
1263
  return suggestions.slice(0, limit);
1165
1264
  }
@@ -1 +1 @@
1
- {"version":3,"file":"thought-graph.js","sourceRoot":"","sources":["../src/thought-graph.ts"],"names":[],"mappings":";;;AAaA,mCAAsC;AACtC,iEAA4D,CAAC,qBAAqB;AAElF;;GAEG;AACH,MAAa,YAAY;IACf,KAAK,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC5C,UAAU,GAA2B,IAAI,GAAG,EAAE,CAAC;IAC/C,SAAS,CAAS;IAClB,gBAAgB,CAAoB;IACpC,gBAAgB,CAAoB;IACpC,YAAY,CAAe;IAEnC,YAAY,SAAkB,EAAE,gBAAmC,EAAE,gBAAmC;QACtG,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAY,EAAE,CAAC;QAEvC,wCAAwC;QACxC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,6CAA6C;IAC/C,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,6BAA6B,CAAC,SAAiB,EAAE,OAAe;QAC5E,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAEnC,qFAAqF;QACrF,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,sBAAsB,GAAG,qDAAqD,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnG,IAAI,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,qEAAqE,SAAS,mBAAmB,CAAC,CAAC;YAEjH,IAAI,CAAC;gBACH,6CAA6C;gBAC7C,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;gBAE9F,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,6DAA6D;oBAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,gCAAgC,CAC3E,OAAO,EACP,oBAAoB,CACrB,CAAC;oBAEF,sEAAsE;oBACtE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC1C,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC;wBACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;wBAC1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,GAAG,IAAI,IAAI,EAAE,CAAC;oBACtD,CAAC;oBAED,sEAAsE;oBACtE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,EAAE;wBAC9C,SAAS;wBACT,oBAAoB;wBACpB,cAAc;qBACf,CAAC,CAAC;oBAEH,6CAA6C;oBAC7C,OAAO,CAAC,KAAK,CAAC,mBAAmB,oBAAoB,CAAC,MAAM,wCAAwC,SAAS,EAAE,CAAC,CAAC;gBACnH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6DAA6D,EAAE,KAAK,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAC,KAAa,EAAE,QAAkC;QACzD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CACR,OAAe,EACf,OAAoB,SAAS,EAC7B,cAA4B,EAAE;QAE9B,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEnC,MAAM,IAAI,GAAgB;YACxB,EAAE;YACF,OAAO;YACP,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,EAAE,wBAAwB;YACvD,OAAO,EAAE;gBACP,UAAU,EAAE,GAAG,EAAG,oBAAoB;gBACtC,SAAS,EAAE,GAAG,EAAI,oBAAoB;gBACtC,OAAO,EAAE,GAAG,CAAM,oBAAoB;aACvC;YACD,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;SACF,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEzB,2CAA2C;QAC3C,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAE3C,6DAA6D;QAC7D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAElD,oFAAoF;QACpF,IAAI,CAAC,6BAA6B,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACxD,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,iFAAiF;QACjF,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACzC,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QAGH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,SAAiB;QAC3C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/E,CAAC;IACL,CAAC;IAGD;;;;;OAKG;IACK,oBAAoB,CAAC,QAAgB,EAAE,WAAyB;QACtE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,UAAU,EAAE,CAAC;gBACf,sEAAsE;gBACtE,MAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;gBAC3F,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACtB,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;wBAC1B,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,IAAI,CAAC;wBACvD,QAAQ,EAAE,UAAU,CAAC,QAAQ;wBAC7B,WAAW,EAAE,UAAU,CAAC,WAAW;wBACnC,uCAAuC;wBACvC,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;wBAC7B,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;wBACnD,aAAa,EAAE,UAAU,CAAC,aAAa;qBACxC,CAAC,CAAC;gBACP,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,2BAA2B,CAAC,IAAoB;QACtD,+BAA+B;QAC/B,MAAM,aAAa,GAAoD;YACnE,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,SAAS,EAAE,mCAAmC;YACvD,OAAO,EAAE,SAAS,EAAE,mCAAmC;YACvD,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,aAAa,EAAE,sCAAsC;YAClE,WAAW,EAAE,aAAa,EAAE,sCAAsC;YAClE,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,WAAW,EAAE,gCAAgC;YACxD,OAAO,EAAE,aAAa;YACtB,QAAQ,EAAE,aAAa;YACvB,WAAW,EAAE,cAAc,EAAE,4CAA4C;YACzE,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,cAAc;YACzB,KAAK,EAAE,UAAU;YACjB,aAAa,EAAE,SAAS;YACxB,aAAa,EAAE,UAAU;YACzB,cAAc,EAAE,aAAa;YAC7B,YAAY,EAAE,SAAS;YACvB,cAAc,EAAE,WAAW;YAC3B,UAAU,EAAE,OAAO;SACtB,CAAC;QACF,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC,0BAA0B;IACxE,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAU,EAAE,OAAgC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,+BAA+B;QAC/B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,OAAO,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QACxE,CAAC;QAED,OAAO,CAAC,OAAO,GAAG;YAChB,GAAG,OAAO,CAAC,OAAO;YAClB,GAAG,OAAO;SACX,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,SAAkB;QAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,uEAAuE;YACvE,wEAAwE;YACxE,oFAAoF;YACpF,OAAO,QAAQ,CAAC;QACpB,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,QAAgB,CAAC,EAAE,SAAkB;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,gCAAgC;QACjF,OAAO,QAAQ;aACZ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aAC7D,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,SAAiB;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,OAAO,OAAO,CAAC,WAAW;aACvB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC1C,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,QAAgB,CAAC,EAAE,SAAkB;QAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,gCAAgC;QAEpF,kFAAkF;QAClF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;YAC5G,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC;YACH,uEAAuE;YACvE,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAElG,qCAAqC;YACrC,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACjC,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrF,IAAI,eAAe,EAAE,CAAC;oBACpB,4EAA4E;oBAC5E,eAAe,CAAC,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC1D,CAAC;gBACD,OAAO,eAAgB,CAAC;YAC1B,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qEAAqE,EAAE,KAAK,CAAC,CAAC;YAC5F,iEAAiE;YACjE,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,+BAA+B,CAAC,OAAe,EAAE,QAAgB,CAAC;QACxE,qEAAqE;QACrE,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC,CAAC,6CAA6C;QAEvF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aACnC,GAAG,CAAC,OAAO,CAAC,EAAE;YACb,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEhG,+DAA+D;YAC/D,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/E,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,8BAA8B;YAExF,OAAO;gBACL,OAAO;gBACP,KAAK;aACN,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,yCAAyC;aACxE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;OASG;IACH,eAAe,CACb,OAAiB,EACjB,IAAoB,EACpB,KAAc,EACd,UAAiC,EACjC,WAAmB,GAAG;QAEtB,kCAAkC;QAClC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,wCAAwC;QACxC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,qBAAqB;QAEjE,oBAAoB;QACpB,MAAM,SAAS,GAAc;YAC3B,EAAE;YACF,OAAO;YACP,IAAI;YACJ,KAAK;YACL,UAAU;YACV,QAAQ;YACR,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,GAAG,EAAE,sCAAsC;YACvD,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;SACF,CAAC;QAEF,sCAAsC;QACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAEnC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,SAAkB;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;YACd,wFAAwF;YACxF,OAAO,QAAQ,CAAC;QACpB,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB,CAAC,SAAiB,EAAE,SAAkB;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3C,yEAAyE;QACzE,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC,EAAE,CAAC;YACvE,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,6BAA6B;QAChF,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,sBAA8B,GAAG;QACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACrF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,+CAA+C;QAC/C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QAE7F,oDAAoD;QACpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,CAAC;QAEjF,kDAAkD;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;QAEzE,iBAAiB,GAAG,eAAe,GAAG,iBAAiB,GAAG,aAAa,CAAC;QAExE,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,0BAA0B,CACtC,QAAuB,EACvB,mBAA2B;QAE3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO,CAAC,CAAC;QAE5D,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE3C,kFAAkF;QAClF,IAAI,UAAU,GAAe,EAAE,CAAC;QAChC,IAAI,CAAC;YACD,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACrE,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;gBAC9E,OAAO,CAAC,CAAC;YACd,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;YAC3E,OAAO,CAAC,CAAC;QACb,CAAC;QAGD,8DAA8D;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAEtC,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;gBAE1G,IAAI,eAAe,IAAI,mBAAmB,EAAE,CAAC;oBACzC,sBAAsB;oBACtB,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAClD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,EAAE,CAC3C,CAAC;oBACF,MAAM,uBAAuB,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAC1D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,EAAE,CAC7C,CAAC;oBAEF,IAAI,CAAC,aAAa,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBAC/C,0DAA0D;wBAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;wBAE9E,gCAAgC;wBAChC,IAAI,CAAC,qBAAqB,CACxB,aAAa,CAAC,EAAE,EAChB,aAAa,CAAC,EAAE,EAChB,cAAc,EACd,eAAe,CAAC,8CAA8C;yBAC/D,CAAC;wBAEF,iBAAiB,EAAE,CAAC;oBACtB,CAAC;gBACL,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACK,4BAA4B,CAAC,mBAA2B;QAC9D,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEvC,2DAA2D;QAC3D,MAAM,iBAAiB,GAOnB;YACF,+EAA+E;YAC/E,UAAU,EAAE;gBACV;oBACE,SAAS,EAAE,UAAU;oBACrB,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,UAAU;oBACtB,oBAAoB,EAAE,GAAG;iBAC1B;aACF;YACD,gFAAgF;YAChF,aAAa,EAAE;gBACb;oBACE,SAAS,EAAE,aAAa;oBACxB,UAAU,EAAE,UAAU;oBACtB,UAAU,EAAE,aAAa;oBACzB,oBAAoB,EAAE,GAAG;iBAC1B;aACF;YACD,yDAAyD;YACzD,SAAS,EAAE;gBACP;oBACI,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,SAAS;oBACrB,oBAAoB,EAAE,GAAG;iBAC5B;aACJ;YACD,mBAAmB;SACpB,CAAC;QAEF,uCAAuC;QACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACtD,IAAI,CAAC,aAAa;oBAAE,SAAS;gBAE7B,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAElD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS;wBAAE,SAAS;oBAE5C,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;wBAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU;4BAAE,SAAS;wBAE7C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACrD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;4BAAE,SAAS;wBAE9D,oCAAoC;wBACpC,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC,EAAE,CACpC,CAAC;wBACD,MAAM,uBAAuB,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CACjC,CAAC;wBAEH,IAAI,CAAC,aAAa,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BAC/C,4DAA4D;4BAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC;4BAE/E,IAAI,UAAU,IAAI,mBAAmB,EAAE,CAAC;gCACtC,IAAI,CAAC,qBAAqB,CACxB,OAAO,CAAC,EAAE,EACV,YAAY,CAAC,EAAE,EACf,IAAI,CAAC,UAAU,EACf,UAAU,CACX,CAAC;gCAEF,iBAAiB,EAAE,CAAC;4BACtB,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,mBAA2B;QAC1D,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,wDAAwD;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEvC,8DAA8D;QAC9D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChC,mEAAmE;gBACnE,IAAI,OAAO,CAAC,QAAQ,IAAI,mBAAmB,EAAE,CAAC;oBAC5C,qDAAqD;oBACrD,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACrE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM;wBAC5C,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CACvD,CAAC;oBAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACrB,IAAI,CAAC,eAAe,CAClB,OAAO,CAAC,OAAO,EACf,YAAY,EAAE,wCAAwC;wBACtD,YAAY,OAAO,CAAC,KAAK,IAAI,UAAU,EAAE,EACzC;4BACE,MAAM,EAAE,aAAa;4BACrB,KAAK,EAAE,OAAO;yBACf,EACD,OAAO,CAAC,QAAQ,CACjB,CAAC;wBACF,iBAAiB,EAAE,CAAC,CAAC,2BAA2B;oBACpD,CAAC;gBACH,CAAC;gBAED,8EAA8E;gBAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChD,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;wBAErD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;4BAAE,SAAS;wBAErC,2DAA2D;wBAC3D,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAC7C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,CACtC,CAAC;wBACD,MAAM,uBAAuB,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CACrD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,CACxC,CAAC;wBAEH,IAAI,CAAC,aAAa,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BAC/C,oDAAoD;4BACpD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,gDAAgD;4BAE3F,IAAI,UAAU,IAAI,mBAAmB,EAAE,CAAC;gCACtC,IAAI,CAAC,qBAAqB,CACxB,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,EAAE,EACX,YAAY,EAAE,oCAAoC;gCAClD,UAAU,CACX,CAAC;gCAEF,iBAAiB,EAAE,CAAC;4BACtB,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACK,cAAc;QAKpB,MAAM,QAAQ,GAIR,EAAE,CAAC;QAET,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAAE,SAAS;YAEtC,+CAA+C;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAE3D,0DAA0D;YAC1D,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CACtB,WAAmB,EACnB,OAAoB;QAMpB,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,MAAM,KAAK,GAAa,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,6CAA6C;QAEtF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YACjC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YAErC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,yBAAyB;YACzB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACvC,uFAAuF;gBACvF,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEtF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,0BAA0B;oBAClF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;gBACD,gEAAgE;gBAChE,IAAI,iBAAiB,EAAE,CAAC;oBACnB,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC;oBAC5F,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC7B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACvC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC9B,CAAC;gBACN,CAAC;YACH,CAAC;QACH,CAAC;QAED,qFAAqF;QACrF,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM;YACvF,CAAC,CAAC,CAAC,CAAC;QAEN,0FAA0F;QAC1F,IAAI,KAAK,GAAuB,SAAS,CAAC;QAC1C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9F,yFAAyF;YACzF,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClF,MAAM,UAAU,GAA8B,EAAE,CAAC;YACjD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QAGD,OAAO;YACL,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,eAAe;SAC1B,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CACzB,aAA0B,EAC1B,aAA0B;QAE1B,6DAA6D;QAE7D,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,eAAe,GAAG,aAAa,GAAG,GAAG,GAAG,aAAa,CAAC,CAAC,qCAAqC;QAElG,uCAAuC;QACvC,MAAM,oBAAoB,GAAG;YAC3B,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa;YAC1E,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ;YAC3E,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW;SACpF,CAAC;QACF,MAAM,cAAc,GAAG;YACrB,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW;YACnE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU;YAClE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,4CAA4C;SAC/G,CAAC;QACF,MAAM,iBAAiB,GAAG;YACxB,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;YACpE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU;SACrF,CAAC;QACF,MAAM,sBAAsB,GAAG;YAC7B,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS;SAC3D,CAAC;QACF,MAAM,eAAe,GAAG;YACtB,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,mBAAmB;SACxF,CAAC;QACF,MAAM,iBAAiB,GAAG;YACxB,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,qBAAqB,EAAE,gBAAgB;SACtF,CAAC;QAEF,wCAAwC;QAExC,8BAA8B;QAC9B,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,yBAAyB;YAC9G,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,wDAAwD;QACxD,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,yBAAyB;YACzG,8FAA8F;YAC9F,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY;gBAAE,OAAO,aAAa,CAAC;YACrG,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,UAAU,CAAC,CAAC,eAAe;YACrE,iEAAiE;YACjE,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC1F,OAAO,SAAS,CAAC,CAAC,wCAAwC;QAC9D,CAAC;QAED,wBAAwB;QACxB,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,yBAAyB;YAC9G,+DAA+D;YAC/D,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAO,aAAa,CAAC,CAAC,yBAAyB;YACpI,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAO,aAAa,CAAC,CAAC,yBAAyB;YACpI,OAAO,aAAa,CAAC,CAAC,aAAa;QACvC,CAAC;QAEA,yBAAyB;QAC1B,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,yBAAyB;YACzG,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,sCAAsC;QACtC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC,CAAC,yBAAyB;YAChJ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,oEAAoE;QACpE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,yBAAyB;YACxG,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,2CAA2C;QAC3C,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC/E,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5E,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC5E,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,sEAAsE;QAEtE,2CAA2C;QAC3C,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;;OAQG;IACK,qBAAqB,CAC3B,QAAgB,EAChB,QAAgB,EAChB,IAAoB,EACpB,UAAkB;QAElB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+CAA+C;QAC/C,MAAM,UAAU,GAAe;YAC7B,QAAQ;YACR,IAAI;YACJ,QAAQ,EAAE,UAAU,EAAE,sDAAsD;YAC5E,QAAQ,EAAE,IAAI;YACd,mBAAmB,EAAE,UAAU;YAC/B,UAAU,EAAE;gBACV,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC;aACrD;SACF,CAAC;QAEF,0CAA0C;QAC1C,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3C,+CAA+C;QAC/C,IAAI,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAE9D,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC7B,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,IAAI;gBACd,mBAAmB,EAAE,UAAU;gBAC/B,UAAU,EAAE;oBACV,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC;iBACrD;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,gCAAgC,CAAC,IAAoB;QAC3D,mEAAmE;QACnE,MAAM,kBAAkB,GAAqB;YAC3C,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,iDAAiD;SACnH,CAAC;QAEF,OAAO,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,UAAkB;QAEjD,IAAI,UAAU,IAAI,GAAG;YAAE,OAAO,UAAU,CAAC;QACzC,IAAI,UAAU,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC;QACtC,IAAI,UAAU,IAAI,GAAG;YAAE,OAAO,UAAU,CAAC;QACzC,IAAI,UAAU,IAAI,GAAG;YAAE,OAAO,KAAK,CAAC;QACpC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,SAAiB;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC;QAEvB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7C,iFAAiF;YACjF,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ;gBAAE,SAAS;YAE3D,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,aAAa;gBAAE,SAAS;YAE7B,8DAA8D;YAC9D,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAChG,aAAa,EAAE,CAAC;QAClB,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACK,yBAAyB,CAC/B,aAA0B,EAC1B,aAA0B,EAC1B,IAAoB;QAEpB,MAAM,UAAU,GAAyB,EAAE,CAAC;QAE5C,oCAAoC;QACpC,IAAI,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;YACtD,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC;QACpC,CAAC;aAAM,IAAI,aAAa,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC;YAC7D,UAAU,CAAC,WAAW,GAAG,OAAO,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;QAC1C,CAAC;QAED,iCAAiC;QACjC,MAAM,mBAAmB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QACvG,MAAM,oBAAoB,GAAG,CAAC,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACpH,MAAM,2BAA2B,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAEpH,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,2BAA2B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,yBAAyB;YACxH,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,6BAA6B;QAChE,CAAC;aAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,2BAA2B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,yBAAyB;YAC9H,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,kCAAkC;QACpE,CAAC;aAAM,CAAC;YACJ,wEAAwE;YACxE,2BAA2B;YAC3B,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC;QACtC,CAAC;QACD,kGAAkG;QAElG,wCAAwC;QACxC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,UAAU,CAAC;YAChB,KAAK,aAAa;gBAChB,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,qDAAqD;gBACxF,MAAM;YACR,KAAK,SAAS;gBACZ,UAAU,CAAC,MAAM,GAAG,2BAA2B,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,2BAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC/I,MAAM;YACR,KAAK,SAAS,CAAC;YACf,KAAK,aAAa,CAAC;YACnB,KAAK,aAAa,CAAC;YACnB,KAAK,cAAc,CAAC;YACpB,KAAK,aAAa;gBAChB,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC;gBACnC,MAAM;YACR,KAAK,UAAU;gBACb,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC;gBACjC,MAAM;YACR,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW,CAAC;YACjB,KAAK,SAAS;gBACZ,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,4CAA4C;gBAC1E,MAAM;YACR;gBACE,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC;QACtC,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,UAAU,CAAC,cAAc,GAAG,eAAe,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,cAAc,GAAG,gBAAgB,CAAC;QAC/C,CAAC;QAED,oDAAoD;QACpD,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;QAClD,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;QAClD,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7C,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC;QAClC,CAAC;aAAM,IAAI,YAAY,GAAG,YAAY,GAAG,GAAG,IAAI,YAAY,GAAG,YAAY,GAAG,GAAG,EAAE,CAAC;YAChF,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,uCAAuC;QACvE,CAAC;aAAM,CAAC;YACJ,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;QACjC,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB,CAAC,EAAE,SAAkB;QAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC;oBACN,WAAW,EAAE,gFAAgF;oBAC7F,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,GAAG;oBACf,SAAS,EAAE,iFAAiF;iBAC7F,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,qBAAqB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClH,MAAM,iBAAiB,GAAG,qBAAqB,eAAe,CAAC,MAAM,+BAA+B,qBAAqB,EAAE,CAAC;QAE5H,IAAI,cAAc,GAAgC,IAAI,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,iHAAiH,KAAK,mCAAmC,CAAC;YAC/K,MAAM,UAAU,GAAG,yBAAyB,iBAAiB,uBAAuB,KAAK,mCAAmC,CAAC;YAC7H,MAAM,WAAW,GAAG,MAAM,IAAA,mCAAe,EAAC,YAAY,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YAE1E,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC7D,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,CAAC;wBACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBACjD,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrE,MAAM,oBAAoB,GAAyB,EAAE,CAAC;4BACtD,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;gCAC3C,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oCACpG,oBAAoB,CAAC,IAAI,CAAC;wCACxB,WAAW,EAAE,UAAU,CAAC,WAAW;wCACnC,IAAI,EAAE,UAAU,CAAC,IAAmB;wCACpC,UAAU,EAAE,GAAG;wCACf,SAAS,EAAE,iDAAiD;qCAC7D,CAAC,CAAC;oCACH,IAAI,oBAAoB,CAAC,MAAM,IAAI,KAAK;wCAAE,MAAM;gCAClD,CAAC;4BACH,CAAC;4BACD,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACpC,cAAc,GAAG,oBAAoB,CAAC;4BACxC,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,OAAO,UAAU,EAAE,CAAC;wBACpB,OAAO,CAAC,IAAI,CAAC,yDAAyD,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;oBACnG,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAGD;;OAEG;IACK,yBAAyB,CAAC,QAAgB,CAAC,EAAE,SAAkB;QACpE,gCAAgC;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC;oBACN,WAAW,EAAE,gFAAgF;oBAC7F,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,GAAG;oBACf,SAAS,EAAE,iFAAiF;iBAC7F,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAyB,EAAE,CAAC;QAC7C,uCAAuC;QACvC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnE,mEAAmE;QACnE,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,EAAE,EACpE,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;QAC9F,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,EAAE,EACnE,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAA;QACvF,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,EAAE,EACpE,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;QACrG,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,EAAE,EACtE,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;QAE5F,8CAA8C;QAC9C,IAAI,iBAAiB,EAAE,CAAC;YACtB,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,kDAAkD;gBAC/D,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,6FAA6F;aACzG,CAAC,CAAC;QACL,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,yDAAyD;gBACtE,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,4FAA4F;aACxG,CAAC,CAAC;QACL,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,sDAAsD;gBACnE,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,+FAA+F;aAC3G,CAAC,CAAC;QACL,CAAC;QAED,8CAA8C;QAC9C,MAAM,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CACvD,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5B,6DAA6D;YAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,aAAa,EAAE,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC;QAC3F,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,iBAAiB,EAAE,CAAC;YACtB,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,+DAA+D;gBAC5E,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,4FAA4F;aACxG,CAAC,CAAC;QACL,CAAC;QAED,sEAAsE;QACtE,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,qDAAqD;gBAClE,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,sFAAsF;aAClG,CAAC,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACzE,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YAC1E,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,iEAAiE;gBAC9E,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,6DAA6D;aACzE,CAAC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,mBAAmB,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YAC3G,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,sEAAsE;gBACnF,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,iEAAiE;aAC7E,CAAC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QACrF,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YAChF,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,8EAA8E;gBAC3F,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,0EAA0E;aACtF,CAAC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YAC/D,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,4FAA4F;gBACzG,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,sEAAsE;aAClF,CAAC,CAAC;QACL,CAAC;QAED,kFAAkF;QAClF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,iEAAiE;gBAC9E,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,GAAG;gBACf,SAAS,EAAE,2EAA2E;aACvF,CAAC,CAAC;QACL,CAAC;QAED,uCAAuC;QACvC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAGD;;;;;;OAMG;IACK,WAAW,CAAC,IAAY,EAAE,KAAe;QAC/C,4DAA4D;QAC5D,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAU,EAAE,UAAkB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;QACnC,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC1C,+DAA+D;QAC/D,uCAAuC;QACvC,mDAAmD;QACnD,sDAAsD;QAEtD,oEAAoE;QACpE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAEvE,6EAA6E;QAC7E,IAAI,CAAC,6BAA6B,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC3D,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,GAAG,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACF,kDAAkD;QACnD,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACzC,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QAGH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,4DAA4D;IAC9D,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,uDAAuD;QACvD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACjB,MAAM,UAAU,GAAG;YACjB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;SACjD,CAAC;QAEF,yDAAyD;QACzD,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,IAAY;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;YAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,yBAAyB;gBACzB,IAAI,IAAI,CAAC,SAAS;oBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9D,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW;oBAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAChG,IAAI,IAAI,CAAC,QAAQ,EAAE,qBAAqB;oBAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBAE9H,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAChC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,IAAY;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE9B,qBAAqB;YACrB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,4BAA4B;gBAE1C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC7B,yBAAyB;oBACzB,IAAI,IAAI,CAAC,SAAS;wBAAE,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC9D,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW;wBAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAChG,IAAI,IAAI,CAAC,QAAQ,EAAE,qBAAqB;wBAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;oBAC9H,IAAI,IAAI,CAAC,QAAQ,EAAE,SAAS;wBAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B;oBAEtH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAExB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACvC,qCAAqC;oBACrC,IAAI,SAAS,CAAC,QAAQ,EAAE,SAAS;wBAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAE1G,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF;AAlgDD,oCAkgDC"}
1
+ {"version":3,"file":"thought-graph.js","sourceRoot":"","sources":["../src/thought-graph.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smart-thinking-mcp",
3
- "version": "10.0.0",
3
+ "version": "10.0.1",
4
4
  "description": "Un serveur MCP avancé pour le raisonnement multi-dimensionnel, adaptatif et collaboratif",
5
5
  "main": "build/index.js",
6
6
  "bin": {
@@ -1,118 +0,0 @@
1
- /**
2
- * e2b-calculator.ts
3
- *
4
- * Module d'intégration avec l'API Sandbox E2B pour les calculs complexes
5
- * Permet d'exécuter du code dans un environnement sécurisé et isolé
6
- */
7
- export interface CalculationResult {
8
- original: string;
9
- expressionText: string;
10
- result: number;
11
- isCorrect: boolean;
12
- claimedResult: number;
13
- confidence: number;
14
- error?: string;
15
- logs?: string[];
16
- context?: string;
17
- }
18
- /**
19
- * Classe pour gérer les calculs via l'API Sandbox E2B
20
- */
21
- export declare class E2BCalculator {
22
- private static instance;
23
- private expressionCache;
24
- private readonly apiKey;
25
- private sandboxId;
26
- private sandboxConnected;
27
- /**
28
- * Constructeur privé pour le pattern Singleton
29
- */
30
- private constructor();
31
- /**
32
- * Obtient l'instance unique d'E2BCalculator (Singleton)
33
- */
34
- static getInstance(): E2BCalculator;
35
- /**
36
- * Méthode pour déterminer si un calcul est complexe
37
- * @param expression Expression à évaluer
38
- * @returns boolean indiquant si le calcul est complexe
39
- */
40
- isComplexCalculation(expression: string): boolean;
41
- /**
42
- * Méthode pour déterminer si un calcul est très complexe
43
- * @param expression Expression à évaluer
44
- * @returns boolean indiquant si le calcul est très complexe
45
- */
46
- isVeryComplexCalculation(expression: string): boolean;
47
- /**
48
- * Vérifie le cache pour une expression
49
- * @param expression Expression à vérifier
50
- * @returns Résultat en cache ou null si non trouvé
51
- */
52
- private getCachedResult;
53
- /**
54
- * Mémorise un résultat dans le cache
55
- * @param expression Expression à mémoriser
56
- * @param result Résultat du calcul
57
- */
58
- private cacheResult;
59
- /**
60
- * Génère et exécute du code Python pour évaluer une expression mathématique
61
- * @param expression Expression à évaluer
62
- * @returns Promesse de résultat du calcul
63
- */
64
- evaluateWithPython(expression: string): Promise<number>;
65
- /**
66
- * Génère et exécute du code JavaScript pour évaluer une expression mathématique
67
- * @param expression Expression à évaluer
68
- * @returns Promesse de résultat du calcul
69
- */
70
- evaluateWithJavaScript(expression: string): Promise<number>;
71
- /**
72
- * Évalue une expression mathématique avec le langage préféré
73
- * @param expression Expression à évaluer
74
- * @returns Promesse de résultat du calcul
75
- */
76
- evaluate(expression: string): Promise<number>;
77
- /**
78
- * Nettoie une expression pour éviter les injections
79
- * @param expression Expression à nettoyer
80
- * @returns Expression nettoyée
81
- */
82
- private sanitizeExpression;
83
- /**
84
- * Exécute du code via l'API E2B JavaScript
85
- * @param code Code à exécuter
86
- * @returns Réponse de l'exécution
87
- */
88
- private executeCode;
89
- /**
90
- * Exécute du code JavaScript via l'API E2B
91
- * Cette méthode utilise directement l'API executeJavaScript disponible
92
- * @param code Code JavaScript à exécuter
93
- */
94
- private executeJavaScriptViaE2B;
95
- /**
96
- * Exécute du code Python via l'API E2B
97
- * Cette méthode utilise directement l'API executePython disponible
98
- * @param code Code Python à exécuter
99
- */
100
- private executePythonViaE2B;
101
- /**
102
- * Analyse une expression et un résultat revendiqué
103
- * @param original Expression originale complète
104
- * @param expressionText Expression mathématique extraite
105
- * @param claimedResult Résultat revendiqué
106
- * @returns Promesse de résultat du calcul
107
- */
108
- analyzeCalculation(original: string, expressionText: string, claimedResult: number): Promise<CalculationResult>;
109
- /**
110
- * Compare deux nombres en tenant compte des erreurs d'arrondi
111
- * @param a Premier nombre
112
- * @param b Deuxième nombre
113
- * @returns Vrai si les nombres sont considérés égaux
114
- */
115
- private areNumbersEqual;
116
- }
117
- declare const _default: E2BCalculator;
118
- export default _default;