@iblai/web-containers 1.57.0 → 1.58.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.
Files changed (130) hide show
  1. package/dist/cjs/_virtual/index2.js +2 -2
  2. package/dist/cjs/_virtual/index3.js +2 -2
  3. package/dist/cjs/components/chat/chat-download-dialog.js.map +1 -1
  4. package/dist/cjs/components/chat/ui/button.js +4 -4
  5. package/dist/cjs/components/chat/ui/button.js.map +1 -1
  6. package/dist/cjs/components/chat-input-form/composer-plus-menu.js +94 -17
  7. package/dist/cjs/components/chat-input-form/composer-plus-menu.js.map +1 -1
  8. package/dist/cjs/components/chat-input-form/mcp-connect-explainer-dialog.js +29 -0
  9. package/dist/cjs/components/chat-input-form/mcp-connect-explainer-dialog.js.map +1 -0
  10. package/dist/cjs/components/chat-input-form/mcp-servers-menu.js +199 -0
  11. package/dist/cjs/components/chat-input-form/mcp-servers-menu.js.map +1 -0
  12. package/dist/cjs/components/chat-input-form/use-mcp-active-count.js +56 -0
  13. package/dist/cjs/components/chat-input-form/use-mcp-active-count.js.map +1 -0
  14. package/dist/cjs/components/chat-input-form.js +17 -4
  15. package/dist/cjs/components/chat-input-form.js.map +1 -1
  16. package/dist/cjs/components/modals/edit-mentor-modal/tabs/api-tab/create-api-modal.js +29 -13
  17. package/dist/cjs/components/modals/edit-mentor-modal/tabs/api-tab/create-api-modal.js.map +1 -1
  18. package/dist/cjs/components/modals/edit-mentor-modal/tabs/api-tab/labels.js +8 -0
  19. package/dist/cjs/components/modals/edit-mentor-modal/tabs/api-tab/labels.js.map +1 -1
  20. package/dist/cjs/components/modals/edit-mentor-modal/tabs/api-tab.js +23 -13
  21. package/dist/cjs/components/modals/edit-mentor-modal/tabs/api-tab.js.map +1 -1
  22. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-dialogs.js +755 -90
  23. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-dialogs.js.map +1 -1
  24. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js +386 -984
  25. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js.map +1 -1
  26. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/field-info.js +16 -0
  27. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/field-info.js.map +1 -0
  28. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/index.js +6 -3
  29. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/index.js.map +1 -1
  30. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/mcp-connector-helpers.js +463 -0
  31. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/mcp-connector-helpers.js.map +1 -0
  32. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/oauth-app-fields.js +329 -0
  33. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/oauth-app-fields.js.map +1 -0
  34. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/remove-connector-dialog.js +20 -0
  35. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/remove-connector-dialog.js.map +1 -0
  36. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/use-mcp-server-actions.js +744 -0
  37. package/dist/cjs/components/modals/edit-mentor-modal/tabs/mcp-tab/use-mcp-server-actions.js.map +1 -0
  38. package/dist/cjs/components/modals/user-profile-modal.js +2 -0
  39. package/dist/cjs/components/modals/user-profile-modal.js.map +1 -1
  40. package/dist/cjs/components/profile/integration/api-tab/create-api-modal.js +17 -10
  41. package/dist/cjs/components/profile/integration/api-tab/create-api-modal.js.map +1 -1
  42. package/dist/cjs/components/ui/accordion.js +40 -0
  43. package/dist/cjs/components/ui/accordion.js.map +1 -0
  44. package/dist/cjs/i18n/messages/en.json.js +156 -19
  45. package/dist/cjs/i18n/messages/en.json.js.map +1 -1
  46. package/dist/cjs/i18n/messages/es.json.js +156 -19
  47. package/dist/cjs/i18n/messages/es.json.js.map +1 -1
  48. package/dist/cjs/i18n/messages/fr.json.js +156 -19
  49. package/dist/cjs/i18n/messages/fr.json.js.map +1 -1
  50. package/dist/cjs/i18n/messages/zh.json.js +156 -19
  51. package/dist/cjs/i18n/messages/zh.json.js.map +1 -1
  52. package/dist/cjs/index.js +2 -0
  53. package/dist/cjs/index.js.map +1 -1
  54. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-accordion@1.2.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types_re_b91476821b9fe8f172a947f727875267/node_modules/@radix-ui/react-accordion/dist/index.js +317 -0
  55. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-accordion@1.2.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types_re_b91476821b9fe8f172a947f727875267/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -0
  56. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types__d84e28844e8116e61b459b615fab358a/node_modules/@radix-ui/react-collapsible/dist/index.js +173 -0
  57. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types__d84e28844e8116e61b459b615fab358a/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -0
  58. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-collection@1.1.4_@types_react-dom@19.2.1_@types_react@19.1.17__@types_r_7047fbfe61c39c77a2126486502acdb6/node_modules/@radix-ui/react-collection/dist/index.js +73 -0
  59. package/dist/cjs/node_modules/.pnpm/@radix-ui_react-collection@1.1.4_@types_react-dom@19.2.1_@types_react@19.1.17__@types_r_7047fbfe61c39c77a2126486502acdb6/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -0
  60. package/dist/cjs/node_modules/.pnpm/css-mediaquery@0.1.2/node_modules/css-mediaquery/index.js +1 -1
  61. package/dist/cjs/node_modules/.pnpm/matchmediaquery@0.4.2/node_modules/matchmediaquery/index.js +1 -1
  62. package/dist/cjs/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  63. package/dist/cjs/web-containers/tsconfig.build.tsbuildinfo +1 -0
  64. package/dist/esm/_virtual/index2.js +2 -2
  65. package/dist/esm/_virtual/index3.js +2 -2
  66. package/dist/esm/components/chat/chat-download-dialog.js.map +1 -1
  67. package/dist/esm/components/chat-input-form/composer-plus-menu.js +94 -17
  68. package/dist/esm/components/chat-input-form/composer-plus-menu.js.map +1 -1
  69. package/dist/esm/components/chat-input-form/mcp-connect-explainer-dialog.js +27 -0
  70. package/dist/esm/components/chat-input-form/mcp-connect-explainer-dialog.js.map +1 -0
  71. package/dist/esm/components/chat-input-form/mcp-servers-menu.js +197 -0
  72. package/dist/esm/components/chat-input-form/mcp-servers-menu.js.map +1 -0
  73. package/dist/esm/components/chat-input-form/use-mcp-active-count.js +54 -0
  74. package/dist/esm/components/chat-input-form/use-mcp-active-count.js.map +1 -0
  75. package/dist/esm/components/chat-input-form.js +17 -4
  76. package/dist/esm/components/chat-input-form.js.map +1 -1
  77. package/dist/esm/components/modals/edit-mentor-modal/tabs/api-tab/create-api-modal.js +30 -14
  78. package/dist/esm/components/modals/edit-mentor-modal/tabs/api-tab/create-api-modal.js.map +1 -1
  79. package/dist/esm/components/modals/edit-mentor-modal/tabs/api-tab/labels.js +8 -0
  80. package/dist/esm/components/modals/edit-mentor-modal/tabs/api-tab/labels.js.map +1 -1
  81. package/dist/esm/components/modals/edit-mentor-modal/tabs/api-tab.js +25 -15
  82. package/dist/esm/components/modals/edit-mentor-modal/tabs/api-tab.js.map +1 -1
  83. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-dialogs.js +755 -92
  84. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-dialogs.js.map +1 -1
  85. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js +361 -968
  86. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/connector-management-content.js.map +1 -1
  87. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/field-info.js +14 -0
  88. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/field-info.js.map +1 -0
  89. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/index.js +6 -3
  90. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/index.js.map +1 -1
  91. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/mcp-connector-helpers.js +431 -0
  92. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/mcp-connector-helpers.js.map +1 -0
  93. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/oauth-app-fields.js +313 -0
  94. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/oauth-app-fields.js.map +1 -0
  95. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/remove-connector-dialog.js +18 -0
  96. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/remove-connector-dialog.js.map +1 -0
  97. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/use-mcp-server-actions.js +742 -0
  98. package/dist/esm/components/modals/edit-mentor-modal/tabs/mcp-tab/use-mcp-server-actions.js.map +1 -0
  99. package/dist/esm/components/modals/user-profile-modal.js +2 -0
  100. package/dist/esm/components/modals/user-profile-modal.js.map +1 -1
  101. package/dist/esm/components/profile/integration/api-tab/create-api-modal.js +17 -10
  102. package/dist/esm/components/profile/integration/api-tab/create-api-modal.js.map +1 -1
  103. package/dist/esm/components/ui/accordion.js +16 -0
  104. package/dist/esm/components/ui/accordion.js.map +1 -0
  105. package/dist/esm/i18n/messages/en.json.js +154 -20
  106. package/dist/esm/i18n/messages/en.json.js.map +1 -1
  107. package/dist/esm/i18n/messages/es.json.js +154 -20
  108. package/dist/esm/i18n/messages/es.json.js.map +1 -1
  109. package/dist/esm/i18n/messages/fr.json.js +154 -20
  110. package/dist/esm/i18n/messages/fr.json.js.map +1 -1
  111. package/dist/esm/i18n/messages/zh.json.js +154 -20
  112. package/dist/esm/i18n/messages/zh.json.js.map +1 -1
  113. package/dist/esm/index.js +1 -0
  114. package/dist/esm/index.js.map +1 -1
  115. package/dist/esm/node_modules/.pnpm/@radix-ui_react-accordion@1.2.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types_re_b91476821b9fe8f172a947f727875267/node_modules/@radix-ui/react-accordion/dist/index.js +306 -0
  116. package/dist/esm/node_modules/.pnpm/@radix-ui_react-accordion@1.2.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types_re_b91476821b9fe8f172a947f727875267/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -0
  117. package/dist/esm/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types__d84e28844e8116e61b459b615fab358a/node_modules/@radix-ui/react-collapsible/dist/index.js +146 -0
  118. package/dist/esm/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.8_@types_react-dom@19.2.1_@types_react@19.1.17__@types__d84e28844e8116e61b459b615fab358a/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -0
  119. package/dist/esm/node_modules/.pnpm/@radix-ui_react-collection@1.1.4_@types_react-dom@19.2.1_@types_react@19.1.17__@types_r_7047fbfe61c39c77a2126486502acdb6/node_modules/@radix-ui/react-collection/dist/index.js +71 -0
  120. package/dist/esm/node_modules/.pnpm/@radix-ui_react-collection@1.1.4_@types_react-dom@19.2.1_@types_react@19.1.17__@types_r_7047fbfe61c39c77a2126486502acdb6/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -0
  121. package/dist/esm/node_modules/.pnpm/css-mediaquery@0.1.2/node_modules/css-mediaquery/index.js +1 -1
  122. package/dist/esm/node_modules/.pnpm/matchmediaquery@0.4.2/node_modules/matchmediaquery/index.js +1 -1
  123. package/dist/esm/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js +1 -1
  124. package/dist/esm/web-containers/tsconfig.build.tsbuildinfo +1 -0
  125. package/dist/index.d.ts +31 -2
  126. package/dist/next/index.d.ts +6 -0
  127. package/dist/package.json +1 -1
  128. package/package.json +3 -3
  129. package/dist/cjs/web-containers/tsconfig.tsbuildinfo +0 -1
  130. package/dist/esm/web-containers/tsconfig.tsbuildinfo +0 -1
@@ -1192,6 +1192,7 @@ var apiTabLabels = {
1192
1192
  table: {
1193
1193
  banner: "Estas son las claves de autenticación que has generado para que aplicaciones externas se autentiquen con tu servicio. Las claves solo se muestran una vez, al generarlas.",
1194
1194
  nameColumn: "NOMBRE",
1195
+ modeColumn: "MODO",
1195
1196
  createdColumn: "CREADO",
1196
1197
  expiresColumn: "EXPIRA",
1197
1198
  actionsColumn: "Acciones",
@@ -1847,6 +1848,7 @@ var chatInputFormInsideButtons = {
1847
1848
  studyMode: "Modo Estudio",
1848
1849
  deepResearch: "Investigación Profunda",
1849
1850
  memory: "Memoria",
1851
+ mcp: "MCP",
1850
1852
  cowork: "Cowork",
1851
1853
  coworkNeedsBackend: "Activa un modelo local grande o inicia sesión en un espacio de trabajo para usar Cowork.",
1852
1854
  coworkModelTooSmall: "Tu modelo local es demasiado pequeño para Cowork. Elige un modelo de al menos 14 GB en Modelos Locales.",
@@ -3140,6 +3142,12 @@ var localLlmUseModelDownload = {
3140
3142
  setupTimedOut: "La configuración del Administrador de modelos está tardando demasiado. Vuelve a intentarlo en unos minutos.",
3141
3143
  setupTitle: "Configurando el Administrador de modelos"
3142
3144
  };
3145
+ var mcpTab = {
3146
+ header: {
3147
+ title: "MCP",
3148
+ description: "Servicios externos que tu agente puede usar en los chats. Activa o desactiva cada uno para este agente."
3149
+ }
3150
+ };
3143
3151
  var mcpTabConnectorDialogs = {
3144
3152
  invalidImageFile: "Por favor, seleccione un archivo de imagen válido.",
3145
3153
  imageTooLarge: "El tamaño de la imagen debe ser inferior a 2 MB.",
@@ -3150,54 +3158,168 @@ var mcpTabConnectorDialogs = {
3150
3158
  missingRequiredParams: "Faltan parámetros obligatorios",
3151
3159
  connectorUpdatedSuccess: "Conector actualizado correctamente",
3152
3160
  oauthUrlInvalid: "Esta URL del servidor MCP no se puede usar para la autenticación OAuth. Por favor, verifique la URL e inténtelo de nuevo.",
3153
- oauthConfigNotFound: "No se pudo encontrar la configuración OAuth para esta URL",
3154
3161
  oauthProcessFailed: "Error al procesar el conector OAuth",
3155
- editMcpConnector: "Editar conector MCP",
3162
+ editMcpConnector: "Configurar conector MCP",
3156
3163
  addMcpConnector: "Agregar conector MCP",
3164
+ moreInfo: "Más información sobre {label}",
3157
3165
  uploadConnectorImageLabel: "Subir imagen del conector",
3158
3166
  connectorThumbnailAlt: "Miniatura del conector",
3159
3167
  connectorNameLabel: "Nombre del conector",
3168
+ connectorNameInfo: "El nombre que ven las personas para este conector en el chat y en la configuración del agente.",
3160
3169
  connectorNamePlaceholder: "Ingrese el nombre del conector",
3161
3170
  connectorServerLabel: "Servidor del conector",
3171
+ connectorServerInfo: "La dirección web del servidor MCP. El servicio que quieres conectar la indica, normalmente en su página para desarrolladores o de integraciones.",
3162
3172
  connectorServerPlaceholder: "https://api.example.com/mcp",
3163
3173
  descriptionLabel: "Descripción",
3174
+ descriptionInfo: "Una nota breve sobre lo que este conector permite hacer al agente. Aparece en la tarjeta del conector.",
3164
3175
  optional: "Opcional",
3165
3176
  descriptionPlaceholder: "Describa qué hace este conector...",
3166
3177
  connectorScopeLabel: "Alcance del conector",
3178
+ connectorScopeInfo: "Qué agentes pueden usar este conector: todos los agentes de tu organización o solo este.",
3167
3179
  allAgents: "Todos los agentes",
3168
3180
  thisAgent: "Este agente",
3169
3181
  mcpAvailableAllAgents: "Este MCP estará disponible para todos los agentes.",
3170
3182
  mcpAvailableThisAgent: "Este MCP solo estará disponible para este agente.",
3183
+ userCanDisableLabel: "Permitir a los usuarios desactivarlo",
3184
+ userCanDisableInfo: "Si está activado, las personas pueden desactivar este conector en sus propios chats. Si está desactivado, permanece activo en todos los chats.",
3185
+ userCanDisableOnHint: "Las personas pueden desactivarlo en sus propios chats.",
3186
+ userCanDisableOffHint: "Permanece activo en todos los chats. Nadie puede desactivarlo.",
3171
3187
  transportLabel: "Transporte",
3188
+ transportInfo: "Cómo se comunica el agente con el servidor. Deja el valor predeterminado, salvo que el servicio te indique usar otro.",
3172
3189
  websocket: "WebSocket",
3173
3190
  streamableHttp: "HTTP en streaming",
3174
3191
  authMethodLabel: "Método de autenticación",
3192
+ authMethodInfo: "Cómo comprueba el servidor que el agente puede usarlo: sin comprobación, con una clave que pegas o con un inicio de sesión con una cuenta.",
3175
3193
  noAuthentication: "Sin autenticación",
3176
3194
  apiKey: "Clave API",
3177
3195
  oauth: "OAuth",
3178
3196
  authScopeLabel: "Alcance de autenticación",
3179
- tenant: "Inquilino",
3197
+ authScopeInfo: "Qué cuenta usa el agente con este servicio: la de cada persona, una cuenta compartida para este agente o una cuenta compartida para toda tu organización.",
3198
+ tenant: "Organización",
3180
3199
  agent: "Agente",
3181
3200
  user: "Usuario",
3182
- oauthScopeTenantHint: "La conexión OAuth estará disponible para todos los agentes de este inquilino.",
3183
- oauthScopeMentorHint: "La conexión OAuth solo estará disponible para este agente.",
3184
- oauthScopeUserHint: "Cada usuario deberá autenticarse individualmente al chatear.",
3201
+ oauthScopeTenantHint: "Un solo inicio de sesión, compartido por todos los agentes de tu organización.",
3202
+ oauthScopeMentorHint: "Un solo inicio de sesión, compartido por todas las personas que chatean con este agente.",
3203
+ oauthScopeUserHint: "Cada persona inicia sesión con su propia cuenta desde el chat.",
3204
+ connectionLabel: "Conexión",
3205
+ connected: "Conectado",
3206
+ notConnected: "No conectado",
3207
+ connectionInfoUser: "Tu propio inicio de sesión en este servicio. Las demás personas inician sesión con su propia cuenta desde el chat.",
3208
+ connectionInfoAgent: "La única cuenta que usan todas las personas que chatean con este agente. Desconectar cierra su sesión y desactiva el conector para este agente.",
3209
+ connectionInfoOrganization: "La única cuenta que usan todos los agentes de tu organización para este servicio. Desconectar cierra su sesión y desactiva el conector para este agente.",
3185
3210
  tokenTypeLabel: "Tipo de token",
3211
+ tokenTypeInfo: "El tipo de clave que espera el servidor. La mayoría de los servicios usan Bearer.",
3186
3212
  other: "Otro",
3187
3213
  customTokenTypeLabel: "Tipo de token personalizado",
3214
+ customTokenTypeInfo: "El nombre del tipo de clave que espera el servidor, cuando no está en la lista.",
3188
3215
  customTokenTypePlaceholder: "ej. X-Custom-Auth",
3189
3216
  customTokenTypeHint: "Solo caracteres alfanuméricos y guiones. Máximo 50 caracteres.",
3190
3217
  tokenLabel: "Token",
3218
+ tokenInfo: "La clave del servicio que permite al agente usarlo. Se oculta después de guardar.",
3191
3219
  tokenPlaceholder: "Ingrese su token",
3192
3220
  existingTokenHidden: "El token existente está oculto. Ingrese un nuevo token para reemplazarlo, o déjelo como está para conservar el token actual.",
3193
3221
  saving: "Guardando...",
3194
3222
  update: "Actualizar",
3195
- connect: "Conectar"
3223
+ connect: "Conectar",
3224
+ diagnosticMcpServerUrl: "Este servidor no respondió. Comprueba que la dirección sea correcta y que el servidor esté en línea, y vuelve a intentarlo. Cuando responda, podrás añadir aquí las credenciales de tu propia aplicación si las necesita.",
3225
+ diagnosticMcpServerUrlBlocked: "No se puede usar esta dirección. Introduce la dirección pública del servidor, que empiece por https://.",
3226
+ diagnosticTimedOut: "Este servidor tardó demasiado en responder. Inténtalo de nuevo en un momento.",
3227
+ diagnosticProviderNameConflict: "Ya existe un proveedor con este nombre. Elige otro nombre.",
3228
+ diagnosticInternalError: "Algo salió mal. Inténtalo de nuevo.",
3229
+ appCredentialsLabel: "Credenciales de la aplicación",
3230
+ appCredentialsInfo: "Los datos de la aplicación propia de tu organización en el servicio, usada para iniciar sesión. Solo hace falta cuando el servicio no puede configurar el inicio de sesión por sí mismo.",
3231
+ appCredentialsOnlyHint: "Introduce los datos de la aplicación que registraste en {name}. Las personas que chatean con el agente inician sesión a través de ella.",
3232
+ needsManualApp: "Este servicio necesita una aplicación que crees en su configuración para desarrolladores. Introduce los datos de la aplicación a continuación.",
3233
+ appCredentialsSaved: "Credenciales de la aplicación guardadas.",
3234
+ needsManualAppExisting: "Tu organización ya tiene una aplicación para este servicio. Introduce sus datos a continuación para usarla aquí.",
3235
+ signInProviderChecking: "Comprobando el servicio de inicio de sesión…",
3236
+ signInProviderUnknown: "Este servicio aún no está configurado en la plataforma, así que no se pueden guardar aquí sus credenciales de aplicación.",
3237
+ signInProviderLoadFailed: "No se pudo comprobar el servicio de inicio de sesión.",
3238
+ signInProviderRetry: "Reintentar",
3239
+ needsManualAppMetadata: "Este servicio no publica su configuración de inicio de sesión. Crea una aplicación en su configuración para desarrolladores y luego introduce abajo los datos de la aplicación y sus dos direcciones de inicio de sesión.",
3240
+ discoveryFailedStatus: "No pudimos comprobar esta dirección (error {status}). Inténtalo de nuevo en un momento.",
3241
+ discoveryUnreachable: "No pudimos conectar con el servidor para comprobar esta dirección. Revisa tu conexión e inténtalo de nuevo."
3242
+ };
3243
+ var mcpServersMenu = {
3244
+ description: "Los conectores que usa este agente.",
3245
+ signedInReadyNextMessage: "{name} conectado. Estará listo en tu próximo mensaje.",
3246
+ sessionDescription: "Los interruptores de aquí solo se aplican a este chat, a partir de tu próximo mensaje.",
3247
+ onForThisChat: "Activado para este chat",
3248
+ offForThisChat: "Desactivado para este chat",
3249
+ requiredByOrganization: "Obligatorio por tu organización",
3250
+ ariaOnForThisChat: "{displayName} activado para este chat",
3251
+ ariaOffForThisChat: "{displayName} desactivado para este chat",
3252
+ ariaRequired: "{displayName} es obligatorio por tu organización",
3253
+ turnOnToSignIn: "Actívalo para iniciar sesión en {name}",
3254
+ ariaTurnOnToSignIn: "{displayName} desactivado: actívalo para iniciar sesión",
3255
+ sessionPreferenceFailed: "No se pudo cambiar {displayName} para este chat.",
3256
+ connectTitle: "Iniciar sesión en {name}",
3257
+ connectBodyUser: "Se abrirá una ventana nueva para que inicies sesión en {name} con tu propia cuenta. Solo tus chats con este agente usan ese inicio de sesión; las demás personas conectan sus propias cuentas.",
3258
+ connectBodyShared: "Se abrirá una ventana nueva para que inicies sesión en {name}. Todas las personas que chateen con este agente usarán la cuenta que conectes, así que inicia sesión con una cuenta compartida o de servicio.",
3259
+ connectPopupHint: "Si no se abre ninguna ventana, permite las ventanas emergentes para este sitio e inténtalo de nuevo.",
3260
+ connectContinue: "Continuar",
3261
+ notSetUp: "{name} aún no está configurado para iniciar sesión. Pide ayuda a tu administrador.",
3262
+ nothingOn: "Todavía no hay nada activo para este agente."
3263
+ };
3264
+ var mcpOAuthApp = {
3265
+ sharedClientNote: "El inicio de sesión ya funciona mediante una aplicación compartida por ibl.ai; la tuya es opcional.",
3266
+ redirectUriLabel: "URI de redirección",
3267
+ redirectUriInfo: "Adónde vuelven las personas después de iniciar sesión. Debe coincidir con la dirección guardada en tu aplicación en el servicio.",
3268
+ redirectUriHint: "Añade esta dirección a tu aplicación en la configuración de desarrollador de {name}, exactamente como se muestra, o introduce la dirección que ya usa tu aplicación.",
3269
+ redirectUriInvalid: "Introduce una dirección completa que empiece por https:// (o http:// para una prueba local).",
3270
+ redirectUriRequired: "Introduce el URI de redirección.",
3271
+ copy: "Copiar",
3272
+ copied: "Copiado",
3273
+ copyFailed: "No se pudo copiar. Selecciona la dirección y cópiala manualmente.",
3274
+ clientIdLabel: "ID de cliente",
3275
+ clientIdInfo: "El ID público de la aplicación, de la configuración para desarrolladores del servicio.",
3276
+ clientSecretLabel: "Secreto de cliente",
3277
+ clientSecretInfo: "La contraseña privada de la aplicación, de la configuración para desarrolladores del servicio. Mantenla en secreto.",
3278
+ clientSecretPlaceholder: "Introduce el secreto de cliente",
3279
+ clientSecretSavedPlaceholder: "Guardado. Introduce uno nuevo para reemplazarlo.",
3280
+ clientSecretPublicPlaceholder: "No es necesario para una aplicación pública",
3281
+ scopesLabel: "Permisos (scopes)",
3282
+ scopesInfo: "Lo que el agente puede hacer en el servicio, con las palabras del propio servicio. Déjalo vacío para usar el valor predeterminado.",
3283
+ scopesHint: "A qué puede acceder la aplicación, según la configuración para desarrolladores de {name}. Sepáralos con espacios.",
3284
+ authMethodLabel: "Cómo se envía el secreto",
3285
+ authMethodInfo: "Cómo se envía el secreto al servicio. Deja el valor predeterminado, salvo que la documentación del servicio indique otra cosa.",
3286
+ authMethodPost: "En la solicitud (predeterminado, funciona para la mayoría de los servicios)",
3287
+ authMethodBasic: "Como usuario y contraseña (HTTP Basic)",
3288
+ authMethodNone: "Sin secreto (aplicación pública)",
3289
+ advanced: "Avanzado",
3290
+ authorizationParamsLabel: "Ajustes adicionales de inicio de sesión",
3291
+ tokenParamsLabel: "Ajustes adicionales del token",
3292
+ paramsHint: "Solo si las instrucciones de {name} lo piden: uno por línea, escrito como nombre=valor.",
3293
+ paramsInfo: "Valores adicionales que algunos servicios necesitan al iniciar sesión. Déjalos vacíos, salvo que la documentación del servicio los pida.",
3294
+ remove: "Eliminar credenciales",
3295
+ removeTitle: "¿Eliminar las credenciales de la aplicación de {name}?",
3296
+ removeBody: "El ID de cliente y el secreto de la aplicación se eliminan de ibl.ai. Todas las personas que iniciaron sesión con ella tendrán que volver a iniciar sesión.",
3297
+ removeConfirm: "Eliminar",
3298
+ removed: "Credenciales de la aplicación de {name} eliminadas",
3299
+ saveFailed: "No se pudieron guardar las credenciales de la aplicación.",
3300
+ removeFailed: "No se pudieron eliminar las credenciales de la aplicación.",
3301
+ clientIdRequired: "Introduce el ID de cliente.",
3302
+ clientSecretRequired: "Introduce el secreto de cliente o elige \"Sin secreto (aplicación pública)\".",
3303
+ clientIdPlaceholder: "Introduce el ID de cliente",
3304
+ clientIdHint: "Cópialo de la página de la aplicación en la configuración para desarrolladores de {name}.",
3305
+ paramsPlaceholder: "prompt=consent\naccess_type=offline",
3306
+ authorizationUrlLabel: "URL de autorización",
3307
+ authorizationUrlInfo: "La dirección donde las personas inician sesión en el servicio. Está en la documentación para desarrolladores del servicio.",
3308
+ tokenUrlLabel: "URL del token",
3309
+ tokenUrlInfo: "La dirección que usa el servicio para completar un inicio de sesión. Está en la documentación para desarrolladores del servicio.",
3310
+ authorizationUrlPlaceholder: "https://example.com/oauth/authorize",
3311
+ tokenUrlPlaceholder: "https://example.com/oauth/token",
3312
+ endpointsHint: "Copia ambas de la documentación para desarrolladores de {name}. Empiezan por https://.",
3313
+ endpointsAdvancedHint: "Solo si el inicio de sesión de {name} usa direcciones distintas de las que publica. Deja ambas vacías para usar las suyas.",
3314
+ endpointsRequired: "Introduce la URL de autorización y la URL del token.",
3315
+ endpointsBoth: "Introduce ambas URL o deja ambas vacías.",
3316
+ endpointsHttps: "Ambas URL deben empezar por https://.",
3317
+ endpointNotAllowed: "Esta dirección no se puede usar. Introduce la dirección pública https:// de la documentación para desarrolladores de {name}."
3196
3318
  };
3197
3319
  var mcpTabConnectorManagementContent = {
3198
3320
  invalidServerId: "ID de servidor no válido",
3199
- serverActivated: "{serverName} activado correctamente",
3200
- serverDeactivated: "{serverName} desactivado correctamente",
3321
+ serverActivated: "{serverName} está activado para este agente",
3322
+ serverDeactivated: "{serverName} está desactivado para este agente",
3201
3323
  serverNotAccessible: "{serverName} no existe o no es accesible. Por favor, actualice la página.",
3202
3324
  failedToActivate: "Error al activar {serverName}. {msg}",
3203
3325
  failedToDeactivate: "Error al desactivar {serverName}. {msg}",
@@ -3215,33 +3337,35 @@ var mcpTabConnectorManagementContent = {
3215
3337
  serviceDisconnected: "Servicio desconectado correctamente",
3216
3338
  failedToDisconnect: "Error al desconectar el servicio",
3217
3339
  unknownConnector: "Conector desconocido",
3218
- notConnected: "No conectado",
3219
- active: "Activo",
3220
- inactive: "Inactivo",
3340
+ onForThisAgent: "Activado para este agente",
3341
+ offForThisAgent: "Desactivado para este agente",
3221
3342
  ariaEnabled: "{displayName} habilitado",
3222
3343
  ariaDisabled: "{displayName} deshabilitado",
3223
- scopeUser: "Usuario",
3224
- scopeAgent: "Agente",
3225
- scopeTenant: "Inquilino",
3226
3344
  disconnecting: "Desconectando...",
3227
3345
  disconnect: "Desconectar",
3228
3346
  connecting: "Conectando...",
3229
3347
  connect: "Conectar",
3230
- edit: "Editar",
3348
+ configure: "Configurar",
3349
+ scopeUser: "Usuario",
3350
+ scopeAgent: "Agente",
3351
+ scopeTenant: "Organización",
3352
+ scopeHintUser: "Cada persona inicia sesión en {name} con su propia cuenta. Cámbialo con el botón del engranaje.",
3353
+ scopeHintAgent: "Una cuenta compartida para todas las personas que chatean con este agente. Cámbialo con el botón del engranaje.",
3354
+ scopeHintOrganization: "Una cuenta compartida para toda tu organización. Cámbialo con el botón del engranaje.",
3231
3355
  "delete": "Eliminar",
3232
3356
  select: "Seleccionar",
3233
- createdDate: "Creado el {date}",
3234
3357
  searchByName: "Buscar por nombre...",
3235
3358
  pickDateRange: "Elegir un rango de fechas",
3236
3359
  ariaSelectTransport: "Seleccionar transporte",
3237
3360
  allTransports: "Todos los transportes",
3238
3361
  searchTransport: "Buscar transporte...",
3239
3362
  noTransportFound: "No se encontró transporte.",
3240
- featuredConnectors: "Conectores destacados",
3363
+ featured: "Destacados",
3241
3364
  loadingFeaturedConnectors: "Cargando conectores destacados...",
3242
3365
  failedToLoadFeatured: "Error al cargar los conectores destacados",
3243
3366
  retry: "Reintentar",
3244
3367
  connectors: "Conectores",
3368
+ directory: "Directorio",
3245
3369
  addConnector: "Agregar conector",
3246
3370
  loadingConnectors: "Cargando conectores...",
3247
3371
  failedToLoadConnectors: "Error al cargar los conectores",
@@ -3254,7 +3378,13 @@ var mcpTabConnectorManagementContent = {
3254
3378
  transportLabelAllTransports: "Todos los transportes",
3255
3379
  transportLabelSSE: "SSE",
3256
3380
  transportLabelWebSocket: "WebSocket",
3257
- transportLabelStreamableHTTP: "HTTP streamable"
3381
+ transportLabelStreamableHTTP: "HTTP streamable",
3382
+ connectedSuccessfully: "{name} conectado correctamente",
3383
+ failedToCreateConnection: "Error al crear la conexión: {detail}",
3384
+ unknownError: "Error desconocido",
3385
+ turnedOffUntilConnected: "{name} se desactivó para este agente. Vuelve a activarlo para iniciar sesión.",
3386
+ cannotChangeSetting: "Tu organización no puede cambiar este ajuste de {name}.",
3387
+ saveFailed: "No se pudo guardar {name}."
3258
3388
  };
3259
3389
  var memoryAddMemoryDialog = {
3260
3390
  validationMinLength: "El contenido de la memoria debe tener al menos 10 caracteres",
@@ -7626,6 +7756,7 @@ var chat = {
7626
7756
  studyMode: "Modo de estudio",
7627
7757
  deepResearch: "Investigación profunda",
7628
7758
  memory: "Memoria",
7759
+ mcp: "MCP",
7629
7760
  cowork: "Cowork",
7630
7761
  coworkNeedsLocalModel: "Activa primero «Modelos Locales»: Cowork necesita un modelo de IA local.",
7631
7762
  coworkModelTooSmall: "Tu modelo local es demasiado pequeño para Cowork. Elige un modelo de al menos 12 GB en Modelos Locales.",
@@ -8479,7 +8610,10 @@ var es = {
8479
8610
  llmsTabIntegrationLlmsTab: llmsTabIntegrationLlmsTab,
8480
8611
  localLlmLocalLlmTab: localLlmLocalLlmTab,
8481
8612
  localLlmUseModelDownload: localLlmUseModelDownload,
8613
+ mcpTab: mcpTab,
8482
8614
  mcpTabConnectorDialogs: mcpTabConnectorDialogs,
8615
+ mcpServersMenu: mcpServersMenu,
8616
+ mcpOAuthApp: mcpOAuthApp,
8483
8617
  mcpTabConnectorManagementContent: mcpTabConnectorManagementContent,
8484
8618
  memoryAddMemoryDialog: memoryAddMemoryDialog,
8485
8619
  memoryMemoryTab: memoryMemoryTab,
@@ -8813,6 +8947,9 @@ exports.llmsTabIntegrationLlmsTab = llmsTabIntegrationLlmsTab;
8813
8947
  exports.localLlmLocalLlmTab = localLlmLocalLlmTab;
8814
8948
  exports.localLlmUseModelDownload = localLlmUseModelDownload;
8815
8949
  exports.ltiTabLabels = ltiTabLabels;
8950
+ exports.mcpOAuthApp = mcpOAuthApp;
8951
+ exports.mcpServersMenu = mcpServersMenu;
8952
+ exports.mcpTab = mcpTab;
8816
8953
  exports.mcpTabConnectorDialogs = mcpTabConnectorDialogs;
8817
8954
  exports.mcpTabConnectorManagementContent = mcpTabConnectorManagementContent;
8818
8955
  exports.memoryAddMemoryDialog = memoryAddMemoryDialog;
@@ -1 +1 @@
1
- {"version":3,"file":"es.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"es.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}