@jheavenknows/bluerouter 4.0.68 → 4.0.70

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 (951) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +6 -5
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/routes-manifest.json +6 -0
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js +8 -7
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +2 -2
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js +2 -2
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  80. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  81. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  88. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  89. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  92. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  94. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  95. package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  96. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  97. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  98. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
  99. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  100. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/login/route.js +2 -2
  107. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  119. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  137. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  145. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  147. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  155. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js +2 -0
  159. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js.nft.json +1 -0
  160. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route_client-reference-manifest.js +1 -0
  161. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js +2 -2
  166. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/keys/route.js +2 -2
  186. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  192. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  220. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/provider-health/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  270. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  272. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  276. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  280. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  292. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  314. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  334. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/version/restart/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  382. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  384. package/app/.next-cli-build/server/app/callback.html +1 -1
  385. package/app/.next-cli-build/server/app/callback.rsc +3 -3
  386. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  387. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  388. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
  389. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  390. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  391. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  392. package/app/.next-cli-build/server/app/dashboard/analytics.html +1 -1
  393. package/app/.next-cli-build/server/app/dashboard/analytics.rsc +4 -4
  394. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +1 -1
  395. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
  396. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  397. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  398. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_full.segment.rsc +4 -4
  399. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
  400. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_index.segment.rsc +3 -3
  401. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_tree.segment.rsc +1 -1
  402. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  403. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +5 -5
  404. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +2 -2
  405. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys.segment.rsc +1 -1
  406. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  408. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +5 -5
  409. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_head.segment.rsc +1 -1
  410. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_index.segment.rsc +3 -3
  411. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +1 -1
  412. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  413. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  414. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  415. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  416. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  417. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  418. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  419. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
  421. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  423. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  424. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  425. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  426. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  427. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  428. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  429. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  430. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  431. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  432. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  433. package/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  434. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  435. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  436. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  437. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  438. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  439. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  440. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  441. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  442. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  443. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  444. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  445. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  446. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  447. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  448. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  449. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  450. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  451. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  452. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  453. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  454. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  455. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  456. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  457. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  458. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  459. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  460. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  461. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
  462. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  463. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  464. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  465. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  466. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  467. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  468. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  469. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  470. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  471. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
  472. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  473. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  474. package/app/.next-cli-build/server/app/dashboard/profile.rsc +4 -4
  475. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  476. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  477. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  478. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  479. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +4 -4
  480. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  481. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  482. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  483. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  484. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +4 -4
  485. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +1 -1
  486. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs.segment.rsc +1 -1
  487. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  488. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  489. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +4 -4
  490. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_head.segment.rsc +1 -1
  491. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_index.segment.rsc +3 -3
  492. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +1 -1
  493. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  494. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +4 -4
  495. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +1 -1
  496. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health.segment.rsc +1 -1
  497. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  498. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  499. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +4 -4
  500. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_head.segment.rsc +1 -1
  501. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_index.segment.rsc +3 -3
  502. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +1 -1
  503. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  504. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  505. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  506. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  507. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  508. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  509. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  510. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  511. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  512. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  513. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  514. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  516. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  517. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  518. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  519. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  520. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  521. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  522. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  523. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  524. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  526. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  530. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  531. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  532. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
  533. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  534. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  536. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  537. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  538. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  539. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  540. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  541. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  542. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  543. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  544. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  545. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  546. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  547. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  548. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  549. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  550. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  551. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  552. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  553. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  554. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  556. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  557. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  558. package/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  559. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  560. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  561. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  562. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  563. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  564. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +3 -3
  566. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  567. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  568. package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  569. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  570. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  571. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  572. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  573. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  574. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  575. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  576. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  577. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  578. package/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  579. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  580. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  581. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  582. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  583. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  584. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  585. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  586. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  587. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  588. package/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  589. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  590. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  591. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  592. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  593. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  594. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
  595. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  596. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  597. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  598. package/app/.next-cli-build/server/app/index.html +1 -1
  599. package/app/.next-cli-build/server/app/index.rsc +3 -3
  600. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  601. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  602. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  603. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
  604. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  605. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  606. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  607. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  608. package/app/.next-cli-build/server/app/landing.html +1 -1
  609. package/app/.next-cli-build/server/app/landing.rsc +3 -3
  610. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
  611. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  612. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
  613. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  614. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  615. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  616. package/app/.next-cli-build/server/app/login/page.js +2 -2
  617. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  618. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  619. package/app/.next-cli-build/server/app/login.html +1 -1
  620. package/app/.next-cli-build/server/app/login.rsc +4 -4
  621. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  622. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  623. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
  624. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  625. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  626. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  627. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  628. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  629. package/app/.next-cli-build/server/app/page.js +2 -2
  630. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  631. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  632. package/app/.next-cli-build/server/app-paths-manifest.json +6 -5
  633. package/app/.next-cli-build/server/chunks/2338.js +4 -4
  634. package/app/.next-cli-build/server/chunks/{6567.js → 2650.js} +28 -28
  635. package/app/.next-cli-build/server/chunks/3110.js +1 -1
  636. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  637. package/app/.next-cli-build/server/chunks/7013.js +2 -2
  638. package/app/.next-cli-build/server/chunks/7130.js +1 -1
  639. package/app/.next-cli-build/server/chunks/7153.js +1 -1
  640. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  641. package/app/.next-cli-build/server/pages/404.html +1 -1
  642. package/app/.next-cli-build/server/pages/500.html +1 -1
  643. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  644. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  645. package/app/.next-cli-build/static/DlCI32YTY7fVvI5f6W31P/_buildManifest.js +1 -0
  646. package/app/.next-cli-build/static/chunks/{4404-63455b79e318b1c7.js → 4525-a7e37006b1c40fc4.js} +6 -6
  647. package/app/.next-cli-build/static/chunks/{620-d8a54969f6681b7d.js → 620-523f7d2fa3d3046d.js} +1 -1
  648. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/page-2e57522e89faa725.js +17 -0
  649. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-9034072dfa0105a7.js → page-afa4b5f62dacbed9.js} +1 -1
  650. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-f995a0c42926bd26.js → page-e3a11719c4a94971.js} +1 -1
  651. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-a189bf76aadc8663.js → page-56f399c667d34abe.js} +1 -1
  652. package/app/.next-cli-build/static/chunks/app/_global-error/page-dc77b8043a19ecbb.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-dc77b8043a19ecbb.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-dc77b8043a19ecbb.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-dc77b8043a19ecbb.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-dc77b8043a19ecbb.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-dc77b8043a19ecbb.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-dc77b8043a19ecbb.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-dc77b8043a19ecbb.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-dc77b8043a19ecbb.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-dc77b8043a19ecbb.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-dc77b8043a19ecbb.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-dc77b8043a19ecbb.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-dc77b8043a19ecbb.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-dc77b8043a19ecbb.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-dc77b8043a19ecbb.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-dc77b8043a19ecbb.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-dc77b8043a19ecbb.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-dc77b8043a19ecbb.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-dc77b8043a19ecbb.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-dc77b8043a19ecbb.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-dc77b8043a19ecbb.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-dc77b8043a19ecbb.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-dc77b8043a19ecbb.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-dc77b8043a19ecbb.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-dc77b8043a19ecbb.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-dc77b8043a19ecbb.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-dc77b8043a19ecbb.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-dc77b8043a19ecbb.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-dc77b8043a19ecbb.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-dc77b8043a19ecbb.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-dc77b8043a19ecbb.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/combos/route-dc77b8043a19ecbb.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-dc77b8043a19ecbb.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-dc77b8043a19ecbb.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-dc77b8043a19ecbb.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-dc77b8043a19ecbb.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-dc77b8043a19ecbb.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-dc77b8043a19ecbb.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/health/route-dc77b8043a19ecbb.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/init/route-dc77b8043a19ecbb.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-dc77b8043a19ecbb.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-dc77b8043a19ecbb.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/keys/route-dc77b8043a19ecbb.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/locale/route-dc77b8043a19ecbb.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-dc77b8043a19ecbb.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-dc77b8043a19ecbb.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-dc77b8043a19ecbb.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-dc77b8043a19ecbb.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-dc77b8043a19ecbb.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-dc77b8043a19ecbb.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-dc77b8043a19ecbb.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-dc77b8043a19ecbb.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-dc77b8043a19ecbb.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-dc77b8043a19ecbb.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-dc77b8043a19ecbb.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/models/route-dc77b8043a19ecbb.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/models/test/route-dc77b8043a19ecbb.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-dc77b8043a19ecbb.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-dc77b8043a19ecbb.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-dc77b8043a19ecbb.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-dc77b8043a19ecbb.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-dc77b8043a19ecbb.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-dc77b8043a19ecbb.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-dc77b8043a19ecbb.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-dc77b8043a19ecbb.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-dc77b8043a19ecbb.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-dc77b8043a19ecbb.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/pricing/route-dc77b8043a19ecbb.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-dc77b8043a19ecbb.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-dc77b8043a19ecbb.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-dc77b8043a19ecbb.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-dc77b8043a19ecbb.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-dc77b8043a19ecbb.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-dc77b8043a19ecbb.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-dc77b8043a19ecbb.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-dc77b8043a19ecbb.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-dc77b8043a19ecbb.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-dc77b8043a19ecbb.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/providers/route-dc77b8043a19ecbb.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-dc77b8043a19ecbb.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-dc77b8043a19ecbb.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-dc77b8043a19ecbb.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-dc77b8043a19ecbb.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-dc77b8043a19ecbb.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-dc77b8043a19ecbb.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-dc77b8043a19ecbb.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-dc77b8043a19ecbb.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-dc77b8043a19ecbb.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-dc77b8043a19ecbb.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-dc77b8043a19ecbb.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-dc77b8043a19ecbb.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/settings/route-dc77b8043a19ecbb.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-dc77b8043a19ecbb.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/tags/route-dc77b8043a19ecbb.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-dc77b8043a19ecbb.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-dc77b8043a19ecbb.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-dc77b8043a19ecbb.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-dc77b8043a19ecbb.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-dc77b8043a19ecbb.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-dc77b8043a19ecbb.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-dc77b8043a19ecbb.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-dc77b8043a19ecbb.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-dc77b8043a19ecbb.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-dc77b8043a19ecbb.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-dc77b8043a19ecbb.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-dc77b8043a19ecbb.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-dc77b8043a19ecbb.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-dc77b8043a19ecbb.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-dc77b8043a19ecbb.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-dc77b8043a19ecbb.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-dc77b8043a19ecbb.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-dc77b8043a19ecbb.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-dc77b8043a19ecbb.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-dc77b8043a19ecbb.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-dc77b8043a19ecbb.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-dc77b8043a19ecbb.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-dc77b8043a19ecbb.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-dc77b8043a19ecbb.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-dc77b8043a19ecbb.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-dc77b8043a19ecbb.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-dc77b8043a19ecbb.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-dc77b8043a19ecbb.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-dc77b8043a19ecbb.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-dc77b8043a19ecbb.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-dc77b8043a19ecbb.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-dc77b8043a19ecbb.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-dc77b8043a19ecbb.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-dc77b8043a19ecbb.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-dc77b8043a19ecbb.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-dc77b8043a19ecbb.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-dc77b8043a19ecbb.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/v1/route-dc77b8043a19ecbb.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-dc77b8043a19ecbb.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-dc77b8043a19ecbb.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-dc77b8043a19ecbb.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-dc77b8043a19ecbb.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-dc77b8043a19ecbb.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/version/route-dc77b8043a19ecbb.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-dc77b8043a19ecbb.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/version/update/route-dc77b8043a19ecbb.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-dc77b8043a19ecbb.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/page-dc77b8043a19ecbb.js +1 -0
  794. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-dc77b8043a19ecbb.js +1 -0
  795. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-dc77b8043a19ecbb.js +1 -0
  796. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-dc77b8043a19ecbb.js +1 -0
  797. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-dc77b8043a19ecbb.js +1 -0
  798. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
  799. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal +0 -0
  800. package/app/package.json +1 -1
  801. package/package.json +1 -1
  802. package/app/.next-cli-build/static/L45w__FPr1AYqeLveklZK/_buildManifest.js +0 -1
  803. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/page-d62e083260774389.js +0 -16
  804. package/app/.next-cli-build/static/chunks/app/_global-error/page-be7396551bf03a70.js +0 -1
  805. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-be7396551bf03a70.js +0 -1
  806. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-be7396551bf03a70.js +0 -1
  807. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-be7396551bf03a70.js +0 -1
  808. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-be7396551bf03a70.js +0 -1
  809. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-be7396551bf03a70.js +0 -1
  810. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-be7396551bf03a70.js +0 -1
  811. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-be7396551bf03a70.js +0 -1
  812. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-be7396551bf03a70.js +0 -1
  813. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-be7396551bf03a70.js +0 -1
  814. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-be7396551bf03a70.js +0 -1
  815. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-be7396551bf03a70.js +0 -1
  816. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-be7396551bf03a70.js +0 -1
  817. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-be7396551bf03a70.js +0 -1
  818. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-be7396551bf03a70.js +0 -1
  819. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-be7396551bf03a70.js +0 -1
  820. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-be7396551bf03a70.js +0 -1
  821. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-be7396551bf03a70.js +0 -1
  822. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-be7396551bf03a70.js +0 -1
  823. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-be7396551bf03a70.js +0 -1
  824. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-be7396551bf03a70.js +0 -1
  825. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-be7396551bf03a70.js +0 -1
  826. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-be7396551bf03a70.js +0 -1
  827. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-be7396551bf03a70.js +0 -1
  828. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-be7396551bf03a70.js +0 -1
  829. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-be7396551bf03a70.js +0 -1
  830. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-be7396551bf03a70.js +0 -1
  831. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-be7396551bf03a70.js +0 -1
  832. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-be7396551bf03a70.js +0 -1
  833. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-be7396551bf03a70.js +0 -1
  834. package/app/.next-cli-build/static/chunks/app/api/combos/route-be7396551bf03a70.js +0 -1
  835. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-be7396551bf03a70.js +0 -1
  836. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-be7396551bf03a70.js +0 -1
  837. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-be7396551bf03a70.js +0 -1
  838. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-be7396551bf03a70.js +0 -1
  839. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-be7396551bf03a70.js +0 -1
  840. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-be7396551bf03a70.js +0 -1
  841. package/app/.next-cli-build/static/chunks/app/api/health/route-be7396551bf03a70.js +0 -1
  842. package/app/.next-cli-build/static/chunks/app/api/init/route-be7396551bf03a70.js +0 -1
  843. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-be7396551bf03a70.js +0 -1
  844. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-be7396551bf03a70.js +0 -1
  845. package/app/.next-cli-build/static/chunks/app/api/keys/route-be7396551bf03a70.js +0 -1
  846. package/app/.next-cli-build/static/chunks/app/api/locale/route-be7396551bf03a70.js +0 -1
  847. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-be7396551bf03a70.js +0 -1
  848. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-be7396551bf03a70.js +0 -1
  849. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-be7396551bf03a70.js +0 -1
  850. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-be7396551bf03a70.js +0 -1
  851. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-be7396551bf03a70.js +0 -1
  852. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-be7396551bf03a70.js +0 -1
  853. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-be7396551bf03a70.js +0 -1
  854. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-be7396551bf03a70.js +0 -1
  855. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-be7396551bf03a70.js +0 -1
  856. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-be7396551bf03a70.js +0 -1
  857. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-be7396551bf03a70.js +0 -1
  858. package/app/.next-cli-build/static/chunks/app/api/models/route-be7396551bf03a70.js +0 -1
  859. package/app/.next-cli-build/static/chunks/app/api/models/test/route-be7396551bf03a70.js +0 -1
  860. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-be7396551bf03a70.js +0 -1
  861. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-be7396551bf03a70.js +0 -1
  862. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-be7396551bf03a70.js +0 -1
  863. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-be7396551bf03a70.js +0 -1
  864. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-be7396551bf03a70.js +0 -1
  865. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-be7396551bf03a70.js +0 -1
  866. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-be7396551bf03a70.js +0 -1
  867. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-be7396551bf03a70.js +0 -1
  868. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-be7396551bf03a70.js +0 -1
  869. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-be7396551bf03a70.js +0 -1
  870. package/app/.next-cli-build/static/chunks/app/api/pricing/route-be7396551bf03a70.js +0 -1
  871. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-be7396551bf03a70.js +0 -1
  872. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-be7396551bf03a70.js +0 -1
  873. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-be7396551bf03a70.js +0 -1
  874. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-be7396551bf03a70.js +0 -1
  875. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-be7396551bf03a70.js +0 -1
  876. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-be7396551bf03a70.js +0 -1
  877. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-be7396551bf03a70.js +0 -1
  878. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-be7396551bf03a70.js +0 -1
  879. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-be7396551bf03a70.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-be7396551bf03a70.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/api/providers/route-be7396551bf03a70.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-be7396551bf03a70.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-be7396551bf03a70.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-be7396551bf03a70.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-be7396551bf03a70.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-be7396551bf03a70.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-be7396551bf03a70.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-be7396551bf03a70.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-be7396551bf03a70.js +0 -1
  890. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-be7396551bf03a70.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-be7396551bf03a70.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-be7396551bf03a70.js +0 -1
  893. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-be7396551bf03a70.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/api/settings/route-be7396551bf03a70.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-be7396551bf03a70.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/tags/route-be7396551bf03a70.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-be7396551bf03a70.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-be7396551bf03a70.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-be7396551bf03a70.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-be7396551bf03a70.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-be7396551bf03a70.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-be7396551bf03a70.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-be7396551bf03a70.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-be7396551bf03a70.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-be7396551bf03a70.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-be7396551bf03a70.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-be7396551bf03a70.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-be7396551bf03a70.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-be7396551bf03a70.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-be7396551bf03a70.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-be7396551bf03a70.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-be7396551bf03a70.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-be7396551bf03a70.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-be7396551bf03a70.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-be7396551bf03a70.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-be7396551bf03a70.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-be7396551bf03a70.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-be7396551bf03a70.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-be7396551bf03a70.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-be7396551bf03a70.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-be7396551bf03a70.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-be7396551bf03a70.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-be7396551bf03a70.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-be7396551bf03a70.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-be7396551bf03a70.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-be7396551bf03a70.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-be7396551bf03a70.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-be7396551bf03a70.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-be7396551bf03a70.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-be7396551bf03a70.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-be7396551bf03a70.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-be7396551bf03a70.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-be7396551bf03a70.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/v1/route-be7396551bf03a70.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-be7396551bf03a70.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-be7396551bf03a70.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-be7396551bf03a70.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-be7396551bf03a70.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-be7396551bf03a70.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/version/route-be7396551bf03a70.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-be7396551bf03a70.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/version/update/route-be7396551bf03a70.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-be7396551bf03a70.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/page-be7396551bf03a70.js +0 -1
  945. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-be7396551bf03a70.js +0 -1
  946. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-be7396551bf03a70.js +0 -1
  947. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-be7396551bf03a70.js +0 -1
  948. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-be7396551bf03a70.js +0 -1
  949. /package/app/.next-cli-build/static/{L45w__FPr1AYqeLveklZK → DlCI32YTY7fVvI5f6W31P}/_ssgManifest.js +0 -0
  950. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-4.0.62-to-4.0.63-4.0.63-20260622-172307 → upgrade-4.0.67-to-4.0.68-4.0.68-20260622-225659}/data.sqlite +0 -0
  951. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-4.0.63-to-4.0.64-4.0.64-20260622-205214 → upgrade-4.0.68-to-4.0.69-4.0.69-20260622-231004}/data.sqlite +0 -0
@@ -0,0 +1,17 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7593],{56484:(e,t,s)=>{"use strict";s.d(t,{default:()=>O});var n=s(95155),r=s(12115),l=s(35497),a=s(94027),d=s(11059);let i=Object.freeze({enabled:!0,requestsPerMinute:20,promptCharsMax:12e4,maxOutputTokens:0,forceThinkingOff:!0,allowedIpCidrs:[],expiresAt:""}),o="programmer",c="programmer-fast";function x(e){return String(e||"").trim().toLowerCase()}function m(e){return Array.isArray(e)?[...new Set(e.map(e=>String(e||"").trim()).filter(Boolean))]:[]}function u(e,t){let s=m(e?.allowedModels),n=s[0]||String(t||"programmer").trim()||"programmer",r=s.find(e=>/fast|small|haiku/i.test(e))||s.find(e=>e!==n)||n;return{codingModel:n,fastModel:r}}function h({icon:e,children:t,className:s=""}){return(0,n.jsxs)("span",{className:`inline-flex items-center gap-1.5 ${s}`,children:[(0,n.jsx)("span",{"aria-hidden":"true",className:"text-base leading-none",children:e}),(0,n.jsx)("span",{children:t})]})}function p(e,t=0){let s=Number(e);return Number.isFinite(s)?Math.max(0,Math.floor(s)):t}function b(e,t=!0){return null==e||""===e?t:!0===e||"true"===e||1===e||"1"===e}function g(e){return Array.isArray(e)?[...new Set(e.map(e=>String(e||"").trim()).filter(Boolean))]:[]}function f(e){return e&&"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0}function y(e={},t={}){let s={...t},n=e&&"object"==typeof e&&!Array.isArray(e)?e:{};return{enabled:b(n.enabled??s.enabled,!0),requestsPerMinute:p(n.requestsPerMinute??s.requestsPerMinute,0),promptCharsMax:p(n.promptCharsMax??s.promptCharsMax,0),maxOutputTokens:p(n.maxOutputTokens??n.outputTokensMax??n.maxTokens??n.max_tokens??n.max_completion_tokens??s.maxOutputTokens,0),forceThinkingOff:b(n.forceThinkingOff??s.forceThinkingOff,!0),allowedIpCidrs:g(n.allowedIpCidrs??s.allowedIpCidrs),expiresAt:String(n.expiresAt??s.expiresAt??"").trim()}}function j({models:e,emptyLabel:t="Chưa g\xe1n model"}){let s=m(e);return 0===s.length?(0,n.jsx)("span",{className:"text-xs text-text-muted",children:t}):(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:[s.slice(0,8).map(e=>(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1 font-mono text-xs",children:e},e)),s.length>8?(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1 text-xs",children:["+",s.length-8," model kh\xe1c"]}):null]})}function v({limits:e,showThinking:t=!1,showOutputLimit:s=!1}){if(!f(e))return(0,n.jsx)("div",{className:"mt-2 flex flex-wrap gap-2 text-xs text-text-muted",children:(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:"policy: chưa set, kh\xf4ng giới hạn"})});let r=y(e);return(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2 text-xs text-text-muted",children:[(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:["policy: ",r.enabled?"bật":"tắt"]}),(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[r.requestsPerMinute||"∞"," req/ph\xfat"]}),(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[r.promptCharsMax||"∞"," chars prompt"]}),s?(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[r.maxOutputTokens||"∞"," output tokens"]}):null,t?(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:["thinking: ",r.forceThinkingOff?"force off":"client tự quyết"]}):null,r.allowedIpCidrs.length>0?(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:"IP locked"}):null]})}function N({label:e,value:t,onChange:s,hint:r}){return(0,n.jsxs)("label",{className:"block",children:[(0,n.jsx)("span",{className:"mb-1 block text-xs font-medium text-text-muted",children:e}),(0,n.jsx)("input",{type:"number",min:"0",value:t,onChange:e=>s(p(e.target.value,0)),className:"w-full rounded-xl border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary"}),r?(0,n.jsx)("span",{className:"mt-1 block text-xs text-text-muted",children:r}):null]})}function k({isOpen:e,keyName:t,policy:s,setPolicy:r,onClose:a,onSave:d,onClear:o,saving:c,clearLabel:x="X\xf3a policy / kh\xf4ng limit"}){let m=y(s,i),u=(e,t)=>r(s=>y({...s,[e]:t},i));return(0,n.jsx)(l.aF,{isOpen:e,onClose:a,title:`Policy API key: ${t||"API Key"}`,size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface/60 p-3 text-sm text-text-muted",children:["Key mới tự c\xf3 ",(0,n.jsx)("b",{children:"default policy"}),". Chỉ admin được sửa policy. Request/ph\xfat = 0 nghĩa l\xe0 kh\xf4ng giới hạn tần suất. Max output tokens = 0 nghĩa l\xe0 kh\xf4ng \xe9p giới hạn output."]}),(0,n.jsxs)("label",{className:"flex items-center justify-between gap-3 rounded-xl border border-border p-3 text-sm",children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("b",{children:"Bật policy"}),(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-xs text-text-muted",children:"Tắt mục n\xe0y th\xec policy được lưu nhưng kh\xf4ng \xe1p limit."})]}),(0,n.jsx)("input",{type:"checkbox",checked:m.enabled,onChange:e=>u("enabled",e.target.checked)})]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,n.jsx)(N,{label:"Request / ph\xfat",value:m.requestsPerMinute,onChange:e=>u("requestsPerMinute",e),hint:"0 = kh\xf4ng giới hạn tần suất. Khuyến nghị user thường: 10–20 req/ph\xfat."}),(0,n.jsx)(N,{label:"Max output tokens",value:m.maxOutputTokens,onChange:e=>u("maxOutputTokens",e),hint:"0 = kh\xf4ng giới hạn. VS Code khuyến nghị 2048–3072; chat d\xe0i 4096–8192."})]}),(0,n.jsx)(N,{label:"Prompt chars tối đa",value:m.promptCharsMax,onChange:e=>u("promptCharsMax",e),hint:"0 = kh\xf4ng giới hạn input/prompt."}),(0,n.jsxs)("label",{className:"flex items-center justify-between gap-3 rounded-xl border border-border p-3 text-sm",children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("b",{children:"Force Thinking Off"}),(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-xs text-text-muted",children:"Khi bật, gateway \xe9p request c\xf3 chat_template_kwargs.enable_thinking=false theo chuẩn llama.cpp."})]}),(0,n.jsx)("input",{type:"checkbox",checked:m.forceThinkingOff,onChange:e=>u("forceThinkingOff",e.target.checked)})]}),(0,n.jsxs)("label",{className:"block",children:[(0,n.jsx)("span",{className:"mb-1 block text-xs font-medium text-text-muted",children:"IP/CIDR được ph\xe9p"}),(0,n.jsx)("textarea",{value:g(m.allowedIpCidrs).join("\n"),onChange:e=>u("allowedIpCidrs",[...new Set(String(e.target.value||"").split(/[\n,]+/).map(e=>e.trim()).filter(Boolean))]),rows:3,className:"w-full rounded-xl border border-border bg-background px-3 py-2 font-mono text-sm text-text-main outline-none focus:border-primary",placeholder:"10.0.0.0/8\n192.168.0.0/16"}),(0,n.jsx)("span",{className:"mt-1 block text-xs text-text-muted",children:"Để trống = mọi IP. Hỗ trợ IPv4 exact hoặc CIDR."})]}),(0,n.jsxs)("label",{className:"block",children:[(0,n.jsx)("span",{className:"mb-1 block text-xs font-medium text-text-muted",children:"Hết hạn l\xfac"}),(0,n.jsx)("input",{value:m.expiresAt,onChange:e=>u("expiresAt",e.target.value),className:"w-full rounded-xl border border-border bg-background px-3 py-2 font-mono text-sm text-text-main outline-none focus:border-primary",placeholder:"2026-12-31T23:59:59+07:00 hoặc để trống"})]}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:a,children:"Hủy"}),o?(0,n.jsx)(l.$n,{variant:"outline",onClick:o,disabled:c,children:x}):null,(0,n.jsx)(l.$n,{onClick:()=>d(m),disabled:c,children:c?"Đang lưu...":"Lưu policy"})]})]})})}function C({open:e,keyName:t,models:s,setModels:a,activeProviders:d,modelAliases:i,onClose:o,onSave:c,saving:x}){let[u,h]=(0,r.useState)(!1),p=m(s),b=e=>{let t=e?.value||e?.name||e;a(e=>m(e).filter(e=>e!==t))};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.aF,{isOpen:e,onClose:o,title:`Model access: ${t||"API Key"}`,size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)("p",{className:"text-sm text-text-muted",children:"Chọn một hoặc nhiều model m\xe0 API key n\xe0y được ph\xe9p sử dụng. Trang n\xe0y kh\xf4ng cho lưu danh s\xe1ch model rỗng."}),(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,n.jsx)("span",{className:"text-sm font-medium",children:"Model được ph\xe9p d\xf9ng"}),(0,n.jsx)(l.$n,{size:"sm",variant:"outline",onClick:()=>h(!0),children:"Th\xeam model"})]}),0===p.length?(0,n.jsx)("div",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-text-muted",children:"Chưa chọn model n\xe0o. H\xe3y th\xeam \xedt nhất một model trước khi lưu."}):(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:p.map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>b(e),className:"rounded-full border border-primary/30 bg-primary/10 px-2 py-1 font-mono text-xs text-primary transition hover:bg-red-500/10 hover:text-red-600",title:"Bấm để gỡ model n\xe0y",children:[e," \xd7"]},e))}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:o,children:"Hủy"}),(0,n.jsx)(l.$n,{onClick:c,disabled:x||0===p.length,children:x?"Đang lưu...":"Lưu danh s\xe1ch model"})]})]})}),(0,n.jsx)(l.rq,{isOpen:u,onClose:()=>h(!1),onSelect:e=>{let t=e?.value||e?.name||e;t&&a(e=>m([...e,t]))},onDeselect:b,activeProviders:d,modelAliases:i,title:"Chọn model được ph\xe9p d\xf9ng",addedModelValues:p,closeOnSelect:!1})]})}function w({active:e}){return e?(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-emerald-500/30 bg-emerald-500/10 px-2 py-1 text-xs font-medium text-emerald-700 dark:text-emerald-300",children:"Đang bật"}):(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-red-500/30 bg-red-500/10 px-2 py-1 text-xs font-medium text-red-700 dark:text-red-300",children:"Đ\xe3 tắt"})}function P({label:e,value:t,hint:s}){return(0,n.jsxs)("div",{className:"rounded-2xl border border-border bg-surface/70 p-4",children:[(0,n.jsx)("div",{className:"text-xs font-medium uppercase tracking-wide text-text-muted",children:e}),(0,n.jsx)("div",{className:"mt-2 text-2xl font-semibold text-text-main",children:t}),s?(0,n.jsx)("div",{className:"mt-1 text-xs text-text-muted",children:s}):null]})}function A({pagination:e,pageSize:t,onPageChange:s,onPageSizeChange:r,loading:a}){let d=Number(e?.page||1),i=Number(e?.totalPages||1),o=Number(e?.total||0),c=0===o?0:(d-1)*t+1,x=Math.min(o,d*t);return(0,n.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border px-4 py-3 md:flex-row md:items-center md:justify-between",children:[(0,n.jsxs)("div",{className:"text-sm text-text-muted",children:["Hiển thị ",(0,n.jsx)("b",{children:c}),"–",(0,n.jsx)("b",{children:x})," / ",(0,n.jsx)("b",{children:o})," API keys"]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsxs)("select",{value:t,onChange:e=>r(Number(e.target.value)),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary",disabled:a,children:[(0,n.jsx)("option",{value:25,children:"25 / trang"}),(0,n.jsx)("option",{value:50,children:"50 / trang"}),(0,n.jsx)("option",{value:100,children:"100 / trang"})]}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>s(1),disabled:a||d<=1,children:"Đầu"}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>s(Math.max(1,d-1)),disabled:a||d<=1,children:"Trước"}),(0,n.jsxs)("span",{className:"rounded-xl border border-border bg-surface px-3 py-2 text-sm",children:["Trang ",d,"/",i]}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>s(Math.min(i,d+1)),disabled:a||d>=i,children:"Sau"}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>s(i),disabled:a||d>=i,children:"Cuối"})]})]})}function S({apiKey:e,owner:t,isAdmin:s,onRename:l,onEditModels:a,onEditPolicy:d,onAssignOwner:i,onDelete:o}){let[c,x]=(0,r.useState)(!1),m=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(!c)return;let e=e=>{!m.current||m.current.contains(e.target)||x(!1)},t=e=>{"Escape"===e.key&&x(!1)};return document.addEventListener("pointerdown",e,!0),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e,!0),document.removeEventListener("keydown",t)}},[c]);let u=e=>{x(!1),e()};return(0,n.jsxs)("details",{ref:m,className:"group",open:c,onToggle:e=>x(e.currentTarget.open),children:[(0,n.jsx)("summary",{className:"flex h-9 cursor-pointer list-none items-center rounded-xl border border-border bg-background px-3 text-sm font-medium text-text-main transition hover:border-primary/50 hover:bg-surface focus:outline-none focus:ring-2 focus:ring-primary/20 [&::-webkit-details-marker]:hidden",children:(0,n.jsx)("span",{"aria-hidden":"true",className:"text-lg leading-none",children:"⋯"})}),(0,n.jsxs)("div",{className:"ml-auto mt-2 w-40 overflow-hidden rounded-xl border border-border bg-background py-1 text-left shadow-xl shadow-black/10",children:[(0,n.jsx)("button",{type:"button",className:"block w-full px-3 py-2 text-left text-sm text-text-main transition hover:bg-surface",onClick:()=>u(()=>l(e.id,e.name)),children:(0,n.jsx)(h,{icon:"✏️",children:"Đổi t\xean"})}),s?(0,n.jsx)("div",{className:"my-1 border-t border-border"}):null,s?(0,n.jsx)("button",{type:"button",className:"block w-full px-3 py-2 text-left text-sm text-text-main transition hover:bg-surface",onClick:()=>u(()=>a(e)),children:(0,n.jsx)(h,{icon:"\uD83D\uDCE6",children:"Models"})}):null,s?(0,n.jsx)("button",{type:"button",className:"block w-full px-3 py-2 text-left text-sm text-text-main transition hover:bg-surface",onClick:()=>u(()=>d(e)),children:(0,n.jsx)(h,{icon:"\uD83D\uDEE1️",children:"Policy"})}):null,s?(0,n.jsx)("button",{type:"button",className:"block w-full px-3 py-2 text-left text-sm text-text-main transition hover:bg-surface",onClick:()=>u(()=>i(e.id,t)),children:(0,n.jsx)(h,{icon:"\uD83D\uDC64",children:"Owner"})}):null,(0,n.jsx)("div",{className:"my-1 border-t border-border"}),(0,n.jsx)("button",{type:"button",className:"block w-full px-3 py-2 text-left text-sm font-medium text-red-600 transition hover:bg-red-500/10",onClick:()=>u(()=>o(e.id)),children:(0,n.jsx)(h,{icon:"\uD83D\uDDD1️",children:"X\xf3a"})})]})]})}function I({keys:e,visibleKeys:t,copied:s,copy:r,isAdmin:a,onToggleVisible:d,onToggleActive:i,onApiTest:o,onClaudeSettings:c,onOpenCodeSettings:x,onCodexSettings:u,onRename:p,onRotate:b,onEditModels:g,onEditPolicy:j,onAssignOwner:v,onDelete:N}){return(0,n.jsx)("div",{className:"overflow-hidden rounded-2xl border border-border",children:(0,n.jsx)("div",{className:"overflow-x-auto",children:(0,n.jsxs)("table",{className:"min-w-full divide-y divide-border text-sm",children:[(0,n.jsx)("thead",{className:"bg-surface/80 text-left text-xs uppercase tracking-wide text-text-muted",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"T\xean / Key"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"Trạng th\xe1i"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"Owner"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"Model"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"Policy"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"Ng\xe0y tạo"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 text-right font-medium",children:"Thao t\xe1c"})]})}),(0,n.jsx)("tbody",{className:"divide-y divide-border bg-background",children:e.map(e=>{var k;let C=t.has(e.id),P=e.ownerUser||e.createdByUser||"chưa g\xe1n",A=m(e.allowedModels),I=f(e.limits),O=y(e.limits||{});return(0,n.jsxs)("tr",{className:"align-top transition hover:bg-surface/50",children:[(0,n.jsxs)("td",{className:"min-w-[280px] px-4 py-4",children:[(0,n.jsx)("div",{className:"font-medium text-text-main",children:e.name||"API Key"}),(0,n.jsxs)("div",{className:"mt-2 flex max-w-[380px] items-center gap-2 rounded-xl border border-border bg-surface px-3 py-2 font-mono text-xs text-text-main",children:[(0,n.jsx)("span",{className:"min-w-0 flex-1 truncate",children:C?e.key:(k=e.key)?k.length>12?`${k.slice(0,8)}...${k.slice(-4)}`:k:""}),(0,n.jsx)("button",{type:"button",className:"text-primary hover:underline",onClick:()=>d(e.id),children:C?"Ẩn":"Hiện"})]}),e.createdByUser?(0,n.jsxs)("div",{className:"mt-2 text-xs text-text-muted",children:["Tạo bởi: ",e.createdByUser]}):null]}),(0,n.jsx)("td",{className:"whitespace-nowrap px-4 py-4",children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)(w,{active:!!e.isActive}),(0,n.jsx)(l.lM,{checked:!!e.isActive,onChange:t=>i(e.id,t)})]})}),(0,n.jsx)("td",{className:"min-w-[160px] px-4 py-4",children:(0,n.jsx)("div",{className:"break-all text-sm text-text-main",children:P})}),(0,n.jsx)("td",{className:"min-w-[220px] px-4 py-4",children:A.length>0?(0,n.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[A.slice(0,3).map(e=>(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1 font-mono text-xs",children:e},e)),A.length>3?(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1 text-xs",children:["+",A.length-3]}):null]}):(0,n.jsx)("span",{className:"rounded-full border border-amber-500/30 bg-amber-500/10 px-2 py-1 text-xs text-amber-700 dark:text-amber-300",children:"Legacy full access"})}),(0,n.jsx)("td",{className:"min-w-[220px] px-4 py-4",children:I?(0,n.jsxs)("div",{className:"flex flex-wrap gap-1.5 text-xs",children:[(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:O.enabled?"bật":"tắt"}),(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[O.requestsPerMinute||"∞","/ph\xfat"]}),(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[O.promptCharsMax||"∞"," chars"]}),a&&O.maxOutputTokens>0?(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[O.maxOutputTokens," out"]}):null,a&&O.forceThinkingOff?(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:"thinking off"}):null,O.allowedIpCidrs.length>0?(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:"IP locked"}):null]}):(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1 text-xs text-text-muted",children:"chưa set"})}),(0,n.jsx)("td",{className:"min-w-[150px] px-4 py-4 text-xs text-text-muted",children:function(e){if(!e)return"kh\xf4ng r\xf5";try{return new Date(e).toLocaleString()}catch{return String(e)}}(e.createdAt)}),(0,n.jsx)("td",{className:"min-w-[180px] px-4 py-4",children:(0,n.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>r(e.key,e.id),children:(0,n.jsx)(h,{icon:"\uD83D\uDCCB",children:s===e.id?"Đ\xe3 copy":"Copy"})}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>o(e),children:(0,n.jsx)(h,{icon:"\uD83E\uDDEA",children:"Test"})}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>c(e),children:(0,n.jsx)(h,{icon:"\uD83E\uDD16",children:"Claude Code Settings"})}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>x(e),children:(0,n.jsx)(h,{icon:"\uD83E\uDDED",children:"OpenCode Settings"})}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>u(e),children:(0,n.jsx)(h,{icon:"⌘",children:"Codex Settings"})}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>b(e),children:(0,n.jsx)(h,{icon:"\uD83D\uDD11",children:"Đổi key"})}),(0,n.jsx)(S,{apiKey:e,owner:P,isAdmin:a,onRename:p,onEditModels:g,onEditPolicy:j,onAssignOwner:v,onDelete:N})]})})]},e.id)})})]})})})}function O(){let e,t,s,h,[b,g]=(0,r.useState)([]),[N,w]=(0,r.useState)(!0),[S,O]=(0,r.useState)(""),[$,T]=(0,r.useState)(!1),[M,E]=(0,r.useState)(""),[K,L]=(0,r.useState)(""),[D,R]=(0,r.useState)(""),[_,U]=(0,r.useState)(""),[z,F]=(0,r.useState)(new Set),[B,H]=(0,r.useState)(null),[q,J]=(0,r.useState)([]),[W,Y]=(0,r.useState)(""),[V,X]=(0,r.useState)(!1),[Z,G]=(0,r.useState)(!1),[Q,ee]=(0,r.useState)([]),[et,es]=(0,r.useState)([]),[en,er]=(0,r.useState)(!1),[el,ea]=(0,r.useState)(i),[ed,ei]=(0,r.useState)(i),[eo,ec]=(0,r.useState)(!1),[ex,em]=(0,r.useState)(!1),[eu,eh]=(0,r.useState)(!1),[ep,eb]=(0,r.useState)([]),[eg,ef]=(0,r.useState)({}),[ey,ej]=(0,r.useState)(!1),[ev,eN]=(0,r.useState)(!1),[ek,eC]=(0,r.useState)(null),[ew,eP]=(0,r.useState)([]),[eA,eS]=(0,r.useState)(!1),[eI,eO]=(0,r.useState)(null),[e$,eT]=(0,r.useState)(i),[eM,eE]=(0,r.useState)(!1),[eK,eL]=(0,r.useState)(2),[eD,eR]=(0,r.useState)(0),[e_,eU]=(0,r.useState)(0),[ez,eF]=(0,r.useState)(""),[eB,eH]=(0,r.useState)(null),[eq,eJ]=(0,r.useState)(null),[eW,eY]=(0,r.useState)(null),[eV,eX]=(0,r.useState)(null),[eZ,eG]=(0,r.useState)(""),[eQ,e0]=(0,r.useState)(""),[e1,e3]=(0,r.useState)("all"),[e2,e4]=(0,r.useState)(1),[e5,e8]=(0,r.useState)(25),[e6,e7]=(0,r.useState)({page:1,pageSize:25,total:0,totalAll:0,totalPages:1,status:"all",search:""}),{copied:e9,copy:te}=(0,d.C)(),{isAdmin:tt,isMonitorAdmin:ts,canManageApiKeys:tn,userId:tr}=(0,a.s)(),tl=tt||ts||tn,ta=Number.isFinite(Number(eK))?Number(eK):2,td=Number.isFinite(Number(eD))?Number(eD):b.length,ti=Number.isFinite(Number(e_))?Number(e_):Number(e6.totalAll||e6.total||0),to=Number(e6.total||0),tc=!tl&&td>=ta,tx=ez?`${ez}/v1`:"/v1",tm=ez?`${ez}/v1/chat/completions`:"/v1/chat/completions",tu=m(Q)[0]||"",th=(e=m(eB?.allowedModels)[0],t=String(tu||"").trim(),e||t||"YOUR_MODEL"),tp=eB?y(eB.limits||{}):i,tb=tp.maxOutputTokens>0?tp.maxOutputTokens:0,tg=eB?function({endpoint:e,apiKey:t,model:s,maxOutputTokens:n=0}){let r=String(e||"/v1/chat/completions").replace(/"/g,""),l=String(t||"YOUR_API_KEY").replace(/"/g,""),a=p(n,0),d={model:String(s||"YOUR_MODEL"),messages:[{role:"user",content:"Say hi.\nReply in one short sentence."}],temperature:.2,stream:!1};a>0&&(d.max_tokens=a);let i=JSON.stringify(d).replace(/"/g,'\\"');return`curl.exe -X POST "${r}" ^
2
+ -H "Authorization: Bearer ${l}" ^
3
+ -H "Content-Type: application/json" ^
4
+ -d "${i}"`}({endpoint:tm,apiKey:eB.key,model:th,maxOutputTokens:tb}):"",tf=eq?u(eq,tu):{codingModel:"programmer",fastModel:"programmer-fast"},ty=eq?function({baseUrl:e,apiKey:t,codingModel:s,fastModel:n}){return JSON.stringify({env:{ANTHROPIC_BASE_URL:e||"https://models-gateway.example.com/v1",ANTHROPIC_AUTH_TOKEN:t||"sk-xxxxx",ANTHROPIC_MODEL:s||"programmer",ANTHROPIC_SMALL_FAST_MODEL:n||s||"programmer-fast",ANTHROPIC_DEFAULT_OPUS_MODEL:s||"programmer",ANTHROPIC_DEFAULT_SONNET_MODEL:s||"programmer",ANTHROPIC_DEFAULT_HAIKU_MODEL:n||s||"programmer-fast"},theme:"dark",hasCompletedOnboarding:!0},null,2)}({baseUrl:tx,apiKey:eq.key,codingModel:tf.codingModel,fastModel:tf.fastModel}):"",tj="npm install -g @anthropic-ai/claude-code\\nclaude --version\\nmkdir $env:USERPROFILE\\.claude -Force\\nnotepad $env:USERPROFILE\\.claude\\settings.json\\ncd D:\\path\\to\\your-project\\nclaude",tv=eW?u(eW,tu):{codingModel:"programmer",fastModel:"programmer-fast"},tN=eW?function({baseUrl:e,apiKey:t,codingModel:s,fastModel:n}){let r=s||"programmer",l=n||r||"programmer-fast";return JSON.stringify({$schema:"https://opencode.ai/config.json",provider:{bluerouter:{npm:"@ai-sdk/openai-compatible",name:"BlueRouter",options:{baseURL:e||"https://models-gateway.example.com/v1",apiKey:t||"sk-xxxxx"},models:{[r]:{name:r,modalities:{input:["text","image"],output:["text"]}},[l]:{name:l,modalities:{input:["text"],output:["text"]}}}}},model:`bluerouter/${r}`,small_model:`bluerouter/${l}`,agent:{explorer:{description:"Fast explorer subagent for codebase exploration",mode:"subagent",model:`bluerouter/${l}`}}},null,2)}({baseUrl:tx,apiKey:eW.key,codingModel:tv.codingModel,fastModel:tv.fastModel}):"",tk="npm install -g opencode-ai\\nopencode --version\\nmkdir $env:APPDATA\\opencode -Force\\nnotepad $env:APPDATA\\opencode\\opencode.json\\ncd D:\\path\\to\\your-project\\nopencode",tC=eV?function({baseUrl:e,codingModel:t,fastModel:s}){let n=t||o;return`# BlueRouter Configuration for Codex CLI
5
+ model = "${n}"
6
+ model_provider = "bluerouter"
7
+
8
+ [model_providers.bluerouter]
9
+ name = "BlueRouter"
10
+ base_url = "${e||"https://models-gateway.example.com/v1"}"
11
+ env_key = "OPENAI_API_KEY"
12
+ wire_api = "responses"
13
+
14
+ [profiles.fast]
15
+ model = "${s||n||c}"
16
+ model_provider = "bluerouter"`}({baseUrl:tx,codingModel:o,fastModel:c}):"",tw=eV?function({apiKey:e}){return JSON.stringify({auth_mode:"apikey",OPENAI_API_KEY:e||"sk-xxxxx"},null,2)}({apiKey:eV.key}):"",tP=eV?"npm install -g @openai/codex\ncodex --version\nmkdir $env:USERPROFILE\\.codex -Force\nnotepad $env:USERPROFILE\\.codex\\config.toml\nnotepad $env:USERPROFILE\\.codex\\auth.json\ncd D:\\path\\to\\your-project\ncodex":"",tA=(0,r.useMemo)(()=>{let e=new Map;for(let t of q){let s=x(t.username||t.email||t.userPrincipalName||t.sAMAccountName);s&&e.set(s,{id:s,label:`${t.displayName||t.username||s}${t.email?` \xb7 ${t.email}`:""}`})}for(let t of b){let s=x(t.ownerUser||t.createdByUser);s&&!e.has(s)&&e.set(s,{id:s,label:s})}return tr&&!e.has(tr)&&e.set(tr,{id:tr,label:`${tr} (t\xf4i)`}),[...e.values()].sort((e,t)=>e.label.localeCompare(t.label))},[q,b,tr]),tS=(s=m(et),h=m(Q),!(s.length===h.length&&s.every((e,t)=>e===h[t]))),tI=Z||!M.trim()||0===Q.length||tc,tO=!!eQ||"all"!==e1,t$=async()=>{w(!0),O("");try{let e=new URLSearchParams;e.set("page",String(e2)),e.set("pageSize",String(e5)),eQ&&e.set("q",eQ),"all"!==e1&&e.set("status",e1);let t=await fetch(`/api/keys?${e.toString()}`,{cache:"no-store"}),s=await t.json().catch(()=>({}));if(!t.ok)throw Error(s.error||"Kh\xf4ng tải được danh s\xe1ch API keys");let n=s.keys||[],r=s.pagination||{page:e2,pageSize:e5,total:n.length,totalAll:n.length,totalPages:1,search:eQ,status:e1};if(0===n.length&&Number(r.total||0)>0&&e2>1)return void e4(Math.max(1,Number(r.totalPages||1)));let l=m(s.apiKeyDefaultModels||(s.apiKeyDefaultModel?[s.apiKeyDefaultModel]:[]));g(n),e7(r),eU(s.apiKeyTotal??r.totalAll??r.total??n.length);let a=y(s.apiKeyDefaultPolicy||i,i);ee(l),es(l),ea(a),ei(a),eL(s.apiKeyLimit??2),eR(s.apiKeyCount??r.totalAll??n.length)}catch(e){O(e.message||"Kh\xf4ng tải được danh s\xe1ch API keys")}finally{w(!1)}};(0,r.useEffect)(()=>{eF(window.location.origin)},[]),(0,r.useEffect)(()=>{let e=setTimeout(()=>{e4(1),e0(eZ.trim())},350);return()=>clearTimeout(e)},[eZ]),(0,r.useEffect)(()=>{t$()},[e2,e5,eQ,e1]),(0,r.useEffect)(()=>{!K&&tr&&L(tr)},[tr,K]);let tT=async()=>{if(!ey&&!ev){eN(!0);try{let[e,t]=await Promise.allSettled([fetch("/api/providers",{cache:"no-store"}),fetch("/api/models/alias",{cache:"no-store"})]);if("fulfilled"===e.status&&e.value.ok){let t=await e.value.json().catch(()=>({}));eb(t.connections||[])}if("fulfilled"===t.status&&t.value.ok){let e=await t.value.json().catch(()=>({}));ef(e.aliases||{})}ej(!0)}catch{}finally{eN(!1)}}},tM=async(e=W)=>{if(tl){X(!0);try{let t=await fetch(`/api/auth/ldap/users?q=${encodeURIComponent(e||"")}`,{cache:"no-store"}),s=await t.json().catch(()=>({}));t.ok&&J(s.users||[])}catch{}finally{X(!1)}}},tE=async()=>{if(tl&&0!==et.length){er(!0),O("");try{let e=await fetch("/api/keys",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKeyDefaultModels:et})}),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error||"Kh\xf4ng lưu được default models");let s=m(t.apiKeyDefaultModels||(t.apiKeyDefaultModel?[t.apiKeyDefaultModel]:[])),n=y(t.apiKeyDefaultPolicy||i,i);ee(s),es(s),ea(n),ei(n)}catch(e){O(e.message||"Kh\xf4ng lưu được default models")}finally{er(!1)}}},tK=async e=>{if(!tl)return;let t=y(e,i);ec(!0),O("");try{let e=await fetch("/api/keys",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKeyDefaultPolicy:t})}),s=await e.json().catch(()=>({}));if(!e.ok)throw Error(s.error||"Kh\xf4ng lưu được default policy");let n=y(s.apiKeyDefaultPolicy||t,i);ea(n),ei(n),em(!1)}catch(e){O(e.message||"Kh\xf4ng lưu được default policy")}finally{ec(!1)}},tL=async()=>{if(M.trim()){if(0===Q.length)return void O("Admin cần cấu h\xecnh default models trước khi tạo API key.");if(tc)return void O(`Mỗi user chỉ được tạo tối đa ${ta} API keys.
17
+ C\xf3 thể d\xf9ng n\xfat Đổi key để xoay sang key mới m\xe0 kh\xf4ng cần x\xf3a/tạo lại.`);G(!0),O("");try{let e=tl?x(D||K||tr):void 0,t=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:M.trim(),ownerUser:e})}),s=await t.json().catch(()=>({}));if(!t.ok)throw Error(s.error||"Kh\xf4ng tạo được API key");U(s.key),E(""),R(""),T(!1),e4(1),await t$()}catch(e){O(e.message||"Kh\xf4ng tạo được API key")}finally{G(!1)}}},tD=async(e,t)=>{let s=await fetch(`/api/keys/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await s.json().catch(()=>({}));return s.ok?(await t$(),!0):(O(n.error||"Kh\xf4ng cập nhật được API key"),!1)},tR=async()=>{if(!ek)return;let e=m(ew);if(0===e.length)return void O("H\xe3y chọn \xedt nhất một model trước khi lưu quyền truy cập API key.");eS(!0),O("");try{await tD(ek.id,{allowedModels:e})&&(eC(null),eP([]))}finally{eS(!1)}},t_=async e=>{if(eI){eE(!0),O("");try{await tD(eI.id,{limits:y(e)})&&(eO(null),eT(i))}finally{eE(!1)}}},tU=async()=>{if(eI){eE(!0),O("");try{await tD(eI.id,{limits:{}})&&(eO(null),eT(i))}finally{eE(!1)}}};return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold text-text-main",children:"Quản l\xfd API Keys"}),(0,n.jsx)("p",{className:"mt-1 text-sm text-text-muted",children:tl?"Bảng quản trị API key c\xf3 t\xecm kiếm, lọc trạng th\xe1i v\xe0 ph\xe2n trang để kh\xf4ng render qu\xe1 nhiều key c\xf9ng l\xfac.":`Bạn c\xf3 thể quản l\xfd API key của t\xe0i khoản m\xecnh. Mỗi user thường sở hữu tối đa ${ta} API keys. D\xf9ng n\xfat Đổi key để xoay sang key mới m\xe0 kh\xf4ng cần x\xf3a/tạo lại.`})]}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,n.jsx)(l.$n,{variant:"outline",onClick:t$,disabled:N,children:N?"Đang tải...":"Refresh"}),(0,n.jsx)(l.$n,{onClick:()=>{T(!0),!K&&tr&&L(tr)},disabled:tc,children:"Tạo API Key"})]})]}),S?(0,n.jsx)("div",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-3 text-sm text-red-600 whitespace-pre-line",children:S}):null,(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsx)(P,{label:"Tổng API keys",value:ti,hint:tl?"To\xe0n hệ thống":`${td}/${ta} key của bạn`}),(0,n.jsx)(P,{label:"Đang hiển thị",value:to,hint:tO?"Theo bộ lọc hiện tại":"Kh\xf4ng filter"}),(0,n.jsx)(P,{label:"Page size",value:e5,hint:"Chỉ tải số d\xf2ng của trang hiện tại"})]}),tl?null:(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-medium",children:"Giới hạn API key theo user"}),(0,n.jsxs)("p",{className:"text-sm text-text-muted",children:["T\xe0i khoản của bạn đang c\xf3 ",td,"/",ta," API keys. Key bị disabled vẫn được t\xednh v\xe0o giới hạn."]})]}),(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-3 py-1 text-sm",children:tc?"Đ\xe3 đạt giới hạn":"C\xf2n c\xf3 thể tạo th\xeam"})]})}),(0,n.jsxs)("div",{className:"grid gap-4 xl:grid-cols-2",children:[(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-medium",children:"Default models cho API key mới"}),(0,n.jsx)("p",{className:"text-sm text-text-muted",children:"API key mới sẽ mặc định được d\xf9ng c\xe1c model n\xe0y. Cần cấu h\xecnh \xedt nhất một default model trước khi tạo API key."})]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[Q.length>0?(0,n.jsx)(j,{models:Q,emptyLabel:"Chưa cấu h\xecnh default models"}):(0,n.jsx)("span",{className:"text-sm text-red-600",children:"Chưa cấu h\xecnh default models"}),tl?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>{eh(!0),tT()},children:et.length>0?`Đ\xe3 chọn ${et.length} model`:"Chọn default models..."}),(0,n.jsx)(l.$n,{size:"sm",onClick:tE,disabled:!tS||en||0===et.length,children:en?"Đang lưu...":"Lưu"})]}):null]}),tl?(0,n.jsx)("p",{className:"text-xs text-text-muted",children:ev?"Đang tải danh s\xe1ch model...":"Danh s\xe1ch model chỉ tải khi mở bộ chọn để trang load nhanh hơn."}):null]})}),(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-medium",children:"Default policy cho API key mới"}),(0,n.jsx)("p",{className:"text-sm text-text-muted",children:"Policy n\xe0y được tự động g\xe1n cho key mới. Policy ri\xeang từng key vẫn c\xf3 thể override sau khi tạo."})]}),tl?(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>{ei(y(el||i,i)),em(!0)},children:"Chỉnh default policy"}):null]}),(0,n.jsx)(v,{limits:el,showThinking:tl,showOutputLimit:tl})]})})]}),(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-medium",children:"Th\xf4ng tin API endpoint"}),(0,n.jsx)("p",{className:"text-sm text-text-muted",children:"D\xf9ng API key b\xean dưới để gọi gateway theo chuẩn OpenAI-compatible. Endpoint lấy theo domain hiện tại của dashboard."})]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Base URL"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tx})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Chat Completions"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tm})]})]}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>te(tx,"api-base-url"),children:"api-base-url"===e9?"Đ\xe3 copy Base URL":"Copy Base URL"}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>te(tm,"api-chat-endpoint"),children:"api-chat-endpoint"===e9?"Đ\xe3 copy Endpoint":"Copy Endpoint"})]})]})}),_?(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsx)("h3",{className:"font-medium",children:"Đ\xe3 tạo API key"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-sm",children:_}),(0,n.jsxs)("div",{className:"text-sm text-text-muted",children:["H\xe3y copy ngay. Key mới mặc định được d\xf9ng default models v\xe0 default policy đang cấu h\xecnh trong Dashboard, trừ khi admin chỉnh quyền model/policy.",(0,n.jsx)(j,{models:Q,emptyLabel:"default models"})]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(l.$n,{size:"sm",onClick:()=>te(_,"created"),children:"created"===e9?"Đ\xe3 copy":"Copy"}),(0,n.jsx)(l.$n,{size:"sm",variant:"ghost",onClick:()=>U(""),children:"Đ\xf3ng"})]})]})}):null,(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-end xl:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"text-lg font-semibold text-text-main",children:"Danh s\xe1ch API keys"}),(0,n.jsx)("p",{className:"mt-1 text-sm text-text-muted",children:"T\xecm theo t\xean key, owner, model, id hoặc một phần API key. Backend chỉ trả về page hiện tại."})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[(0,n.jsx)("input",{value:eZ,onChange:e=>eG(e.target.value),placeholder:"T\xecm API key, owner, model...",className:"w-full rounded-xl border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary sm:w-80"}),(0,n.jsxs)("select",{value:e1,onChange:e=>{e3(e.target.value),e4(1)},className:"rounded-xl border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary",children:[(0,n.jsx)("option",{value:"all",children:"Tất cả trạng th\xe1i"}),(0,n.jsx)("option",{value:"active",children:"Chỉ key đang bật"}),(0,n.jsx)("option",{value:"inactive",children:"Chỉ key đ\xe3 tắt"})]}),tO?(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>{eG(""),e0(""),e3("all"),e4(1)},children:"X\xf3a lọc"}):null]})]}),N?(0,n.jsx)("div",{className:"rounded-2xl border border-dashed border-border p-8 text-center text-sm text-text-muted",children:"Đang tải API keys..."}):0===b.length?(0,n.jsx)("div",{className:"rounded-2xl border border-dashed border-border p-8 text-center text-sm text-text-muted",children:tO?"Kh\xf4ng t\xecm thấy API key ph\xf9 hợp bộ lọc.":"Chưa c\xf3 API key n\xe0o."}):(0,n.jsx)(I,{keys:b,visibleKeys:z,copied:e9,copy:te,isAdmin:tl,onToggleVisible:e=>{F(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},onToggleActive:(e,t)=>tD(e,{isActive:t}),onApiTest:eH,onClaudeSettings:eJ,onOpenCodeSettings:eY,onCodexSettings:eX,onRename:(e,t)=>{let s=prompt("T\xean API key mới",t||"");s?.trim()&&tD(e,{name:s.trim()})},onRotate:e=>{e?.id&&H({title:"Đổi API key",message:"Hệ thống sẽ tạo chuỗi API key mới cho record n\xe0y v\xe0 giữ nguy\xean t\xean, owner, model, policy. Key cũ sẽ hết hiệu lực ngay sau khi đổi.",onConfirm:async()=>{H(null),O("");let t=await fetch(`/api/keys/${e.id}/rotate`,{method:"POST"}),s=await t.json().catch(()=>({}));if(!t.ok)return void O(s.error||"Kh\xf4ng đổi được API key");let n=s.rotatedKey||s.key?.key||"";n&&U(n),await t$()}})},onEditModels:e=>{tl&&(eC(e),eP(m(e.allowedModels)),tT())},onEditPolicy:e=>{tl&&(eO(e),eT(f(e.limits)?y(e.limits):i))},onAssignOwner:(e,t)=>{if(!tl)return;let s=prompt("G\xe1n owner username/email",t||tr||"");null!==s&&tD(e,{ownerUser:x(s)})},onDelete:e=>{H({title:"X\xf3a API Key",message:"Bạn chắc chắn muốn x\xf3a API key n\xe0y? Thao t\xe1c n\xe0y kh\xf4ng thể ho\xe0n t\xe1c.",onConfirm:async()=>{H(null),(await fetch(`/api/keys/${e}`,{method:"DELETE"})).ok&&await t$()}})}}),(0,n.jsx)(A,{pagination:e6,pageSize:e5,onPageChange:e4,onPageSizeChange:e=>{e8(e),e4(1)},loading:N})]})}),(0,n.jsx)(l.aF,{isOpen:$,onClose:()=>T(!1),title:"Tạo API Key",size:"lg",children:(0,n.jsxs)("div",{className:"space-y-4",children:[0===Q.length?(0,n.jsx)("div",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-3 text-sm text-red-600",children:"Admin cần cấu h\xecnh default models trước khi tạo API key."}):tc?(0,n.jsxs)("div",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-3 text-sm text-red-600",children:["Bạn đ\xe3 đạt giới hạn ",ta," API keys. H\xe3y x\xf3a bớt key cũ trước khi tạo key mới."]}):(0,n.jsxs)("div",{className:"text-sm text-text-muted",children:["Key n\xe0y sẽ được tạo với quyền d\xf9ng default models v\xe0 default policy đang cấu h\xecnh trong Dashboard.",(0,n.jsx)(j,{models:Q})]}),(0,n.jsxs)("label",{className:"block",children:[(0,n.jsx)("span",{className:"mb-1 block text-xs font-medium text-text-muted",children:"T\xean API key"}),(0,n.jsx)("input",{value:M,onChange:e=>E(e.target.value),placeholder:"VD: VSCode, LibreChat, team-user",className:"w-full rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:border-primary"})]}),tl?(0,n.jsxs)("div",{className:"space-y-3 rounded-xl border border-border p-3",children:[(0,n.jsx)("div",{className:"text-sm font-medium",children:"Owner user"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)("input",{value:W,onChange:e=>Y(e.target.value),placeholder:"Nhập từ kh\xf3a rồi bấm Tải",className:"min-w-0 flex-1 rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:border-primary"}),(0,n.jsx)(l.$n,{variant:"outline",onClick:()=>tM(W),disabled:V,children:V?"Đang tải":"Tải LDAP"})]}),(0,n.jsxs)("select",{value:K,onChange:e=>L(e.target.value),className:"w-full rounded-xl border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary",children:[(0,n.jsxs)("option",{value:tr||"",children:["G\xe1n cho t\xf4i (",tr||"local",")"]}),tA.map(e=>(0,n.jsx)("option",{value:e.id,children:e.label},e.id))]}),(0,n.jsx)("input",{value:D,onChange:e=>R(e.target.value),placeholder:"username hoặc email, kh\xf4ng bắt buộc",className:"w-full rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:border-primary"}),(0,n.jsx)("p",{className:"text-xs text-text-muted",children:"LDAP kh\xf4ng tự tải khi mở trang để giảm thời gian load. C\xf3 thể nhập owner thủ c\xf4ng hoặc nhập từ kh\xf3a rồi bấm Tải LDAP."})]}):(0,n.jsxs)("p",{className:"rounded-xl border border-border bg-surface p-3 text-sm text-text-muted",children:["Owner: ",tr||"user hiện tại"]}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:()=>T(!1),children:"Hủy"}),(0,n.jsx)(l.$n,{onClick:tL,disabled:tI,children:Z?"Đang tạo...":"Tạo"})]})]})}),(0,n.jsx)(l.aF,{isOpen:!!eB,onClose:()=>eH(null),title:"API Test bằng curl Windows",size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)("p",{className:"text-sm text-text-muted",children:"Lệnh dưới đ\xe2y gọi thử endpoint Chat Completions bằng API key đang chọn v\xe0 đ\xe3 nh\xfang sẵn Bearer token."}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"API Key"}),(0,n.jsx)("div",{className:"mt-1 text-sm",children:eB?.name||"API Key"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Endpoint"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tm})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Model test"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:th})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"Lệnh curl cho Windows CMD"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tg})]}),(0,n.jsx)("p",{className:"text-xs text-text-muted",children:"D\xe1n lệnh v\xe0o CMD hoặc Windows Terminal để test nhanh. Nếu domain dashboard chạy sau reverse proxy, endpoint sẽ d\xf9ng đ\xfang domain đang mở tr\xean tr\xecnh duyệt."}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:()=>eH(null),children:"Đ\xf3ng"}),(0,n.jsx)(l.$n,{onClick:()=>te(tg,`api-test-curl-${eB?.id||"current"}`),children:e9===`api-test-curl-${eB?.id||"current"}`?"Đ\xe3 copy":"Copy lệnh curl"})]})]})}),(0,n.jsx)(l.aF,{isOpen:!!eq,onClose:()=>eJ(null),title:"Claude Code Settings",size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("p",{className:"text-sm text-text-muted",children:["Copy nội dung JSON dưới đ\xe2y v\xe0o file ",(0,n.jsx)("span",{className:"font-mono",children:"%USERPROFILE%\\.claude\\settings.json"})," để Claude Code gọi qua gateway n\xe0y. Model coding d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tf.codingModel}),"; model fast d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tf.fastModel}),"."]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"API Key"}),(0,n.jsx)("div",{className:"mt-1 text-sm",children:eq?.name||"API Key"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Base URL"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tx})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Model"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tf.codingModel})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"settings.json"}),(0,n.jsx)("pre",{className:"max-h-[420px] overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:ty})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"C\xe0i v\xe0 chạy Claude Code tr\xean Windows PowerShell"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tj})]}),(0,n.jsx)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 p-3 text-xs text-amber-700 dark:text-amber-300",children:"Lưu \xfd: chạy Claude Code trong thư mục project, kh\xf4ng chạy trong C:\\WINDOWS\\system32. Nếu d\xf9ng model fast ri\xeang như programmer-fast th\xec API key n\xe0y cũng phải được ph\xe9p d\xf9ng model đ\xf3 trong cột Model."}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:()=>eJ(null),children:"Đ\xf3ng"}),(0,n.jsx)(l.$n,{variant:"outline",onClick:()=>te(tj,`claude-code-help-${eq?.id||"current"}`),children:e9===`claude-code-help-${eq?.id||"current"}`?"Đ\xe3 copy hướng dẫn":"Copy hướng dẫn"}),(0,n.jsx)(l.$n,{onClick:()=>te(ty,`claude-code-settings-${eq?.id||"current"}`),children:e9===`claude-code-settings-${eq?.id||"current"}`?"Đ\xe3 copy settings":"Copy settings.json"})]})]})}),(0,n.jsx)(l.aF,{isOpen:!!eW,onClose:()=>eY(null),title:"OpenCode Settings",size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("p",{className:"text-sm text-text-muted",children:["Copy JSON dưới đ\xe2y v\xe0o file ",(0,n.jsx)("span",{className:"font-mono",children:"%APPDATA%\\opencode\\opencode.json"})," hoặc ",(0,n.jsx)("span",{className:"font-mono",children:"opencode.json"})," trong project. Model ch\xednh d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tv.codingModel}),"; explorer/fast d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tv.fastModel}),"."]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"API Key"}),(0,n.jsx)("div",{className:"mt-1 text-sm",children:eW?.name||"API Key"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Base URL"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tx})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Model"}),(0,n.jsxs)("div",{className:"mt-1 break-all font-mono text-sm",children:["bluerouter/",tv.codingModel]})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"opencode.json"}),(0,n.jsx)("pre",{className:"max-h-[420px] overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tN})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"C\xe0i v\xe0 chạy OpenCode tr\xean Windows PowerShell"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tk})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 p-3 text-xs text-amber-700 dark:text-amber-300",children:["Lưu \xfd: API key n\xe0y cần được ph\xe9p gọi cả ",tv.codingModel," v\xe0 ",tv.fastModel,". Nếu OpenCode đang d\xf9ng đường dẫn config kh\xe1c, c\xf3 thể đặt file opencode.json ngay trong thư mục project."]}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:()=>eY(null),children:"Đ\xf3ng"}),(0,n.jsx)(l.$n,{variant:"outline",onClick:()=>te(tk,`opencode-help-${eW?.id||"current"}`),children:e9===`opencode-help-${eW?.id||"current"}`?"Đ\xe3 copy hướng dẫn":"Copy hướng dẫn"}),(0,n.jsx)(l.$n,{onClick:()=>te(tN,`opencode-settings-${eW?.id||"current"}`),children:e9===`opencode-settings-${eW?.id||"current"}`?"Đ\xe3 copy settings":"Copy opencode.json"})]})]})}),(0,n.jsx)(l.aF,{isOpen:!!eV,onClose:()=>eX(null),title:"Codex Settings",size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("p",{className:"text-sm text-text-muted",children:["Copy TOML dưới đ\xe2y v\xe0o file ",(0,n.jsx)("span",{className:"font-mono",children:"%USERPROFILE%\\.codex\\config.toml"})," v\xe0 JSON v\xe0o ",(0,n.jsx)("span",{className:"font-mono",children:"%USERPROFILE%\\.codex\\auth.json"}),". Model ch\xednh d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:o}),"; profile fast d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:c}),"."]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"API Key"}),(0,n.jsx)("div",{className:"mt-1 text-sm",children:eV?.name||"API Key"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Base URL"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tx})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Model"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:o})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"~/.codex/config.toml"}),(0,n.jsx)("pre",{className:"max-h-[420px] overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tC})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"~/.codex/auth.json"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tw})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"C\xe0i v\xe0 chạy Codex tr\xean Windows PowerShell"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tP})]}),(0,n.jsx)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 p-3 text-xs text-amber-700 dark:text-amber-300",children:"Lưu \xfd: Codex đọc API key từ auth.json hoặc biến m\xf4i trường OPENAI_API_KEY. Config n\xe0y d\xf9ng OpenAI-compatible endpoint của BlueRouter với wire_api responses."}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:()=>eX(null),children:"Đ\xf3ng"}),(0,n.jsx)(l.$n,{variant:"outline",onClick:()=>te(tP,`codex-help-${eV?.id||"current"}`),children:e9===`codex-help-${eV?.id||"current"}`?"Đ\xe3 copy hướng dẫn":"Copy hướng dẫn"}),(0,n.jsx)(l.$n,{variant:"outline",onClick:()=>te(tw,`codex-auth-${eV?.id||"current"}`),children:e9===`codex-auth-${eV?.id||"current"}`?"Đ\xe3 copy auth.json":"Copy auth.json"}),(0,n.jsx)(l.$n,{onClick:()=>te(tC,`codex-settings-${eV?.id||"current"}`),children:e9===`codex-settings-${eV?.id||"current"}`?"Đ\xe3 copy config.toml":"Copy config.toml"})]})]})}),(0,n.jsx)(C,{open:!!ek,keyName:ek?.name,models:ew,setModels:eP,activeProviders:ep,modelAliases:eg,onClose:()=>{eC(null),eP([])},onSave:tR,saving:eA}),(0,n.jsx)(k,{isOpen:ex,keyName:"Default cho API key mới",policy:ed,setPolicy:ei,onClose:()=>{em(!1),ei(el||i)},onSave:tK,saving:eo}),(0,n.jsx)(k,{isOpen:!!eI,keyName:eI?.name,policy:e$,setPolicy:eT,onClose:()=>{eO(null),eT(i)},onSave:t_,onClear:tU,saving:eM}),(0,n.jsx)(l.rq,{isOpen:eu,onClose:()=>eh(!1),onSelect:e=>{let t=String(e?.value||e?.name||e||"").trim();t&&es(e=>m([...e,t]))},onDeselect:e=>{let t=String(e?.value||e?.name||e||"").trim();t&&es(e=>m(e).filter(e=>e!==t))},activeProviders:ep,modelAliases:eg,title:"Chọn default models cho API key",addedModelValues:et,closeOnSelect:!1}),B?(0,n.jsx)(l.uo,{isOpen:!!B,onClose:()=>H(null),onConfirm:B.onConfirm,title:B.title,message:B.message,confirmText:"X\xf3a",cancelText:"Hủy",variant:"danger"}):null]})}},84223:(e,t,s)=>{Promise.resolve().then(s.bind(s,56484))}},e=>{e.O(0,[2574,3862,2649,620,5497,8441,3794,7358],()=>e(e.s=84223)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3554],{22843:(e,t,a)=>{Promise.resolve().then(a.bind(a,85309))},85309:(e,t,a)=>{"use strict";a.d(t,{default:()=>v});var s=a(95155),l=a(12115),r=a(98500),i=a.n(r),n=a(35497),o=a(3534),c=a(28777),d=a(38719);let u=a(41463).env.NEXT_PUBLIC_CLOUD_URL;function v({toolId:e,machineId:t}){let a=o.dM[e],[r,x]=(0,l.useState)([]),[h,p]=(0,l.useState)(!0),[b,f]=(0,l.useState)({}),[m,E]=(0,l.useState)(!1),[j,P]=(0,l.useState)(!1),[k,w]=(0,l.useState)(""),[g,N]=(0,l.useState)(!1),[S,_]=(0,l.useState)(""),[A,U]=(0,l.useState)([]);(0,l.useEffect)(()=>{let e=!0;return(async()=>{try{let[t,a,s,l]=await Promise.all([fetch("/api/providers"),fetch("/api/settings"),fetch("/api/tunnel/status"),fetch("/api/keys")]);if(!e)return;if(t.ok){let e=await t.json();x(e.connections||[])}if(a.ok){let e=await a.json();E(e.cloudEnabled||!1)}if(s.ok){let e=await s.json();P(!!(e.tunnel?.enabled||e.tunnel?.settingsEnabled)),w(e.tunnel?.publicUrl||""),N(!!(e.tailscale?.enabled||e.tailscale?.settingsEnabled)),_(e.tailscale?.tunnelUrl||"")}if(l.ok){let e=await l.json();U(e.keys||[])}}catch(e){console.log("Error loading tool data:",e)}finally{e&&p(!1)}})(),()=>{e=!1}},[]);let y=()=>r.filter(e=>!1!==e.isActive),C=(0,l.useCallback)((e,t,a)=>{f(s=>s[e]?.[t]===a?s:{...s,[e]:{...s[e],[t]:a}})},[]);return(0,s.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-4 px-1 sm:px-0",children:[(0,s.jsxs)(i(),{href:"/dashboard/cli-tools",className:"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary w-fit",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"arrow_back"}),"Back to CLI Tools"]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("h1",{className:"text-xl font-semibold text-text-main sm:text-2xl",children:a.name}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:a.description})]}),h?(0,s.jsx)(n.Qv,{}):(()=>{let t,l,r,i=(t=y(),l=[],r=new Set,t.forEach(e=>{let t=c.Xg[e.provider]||e.provider;(0,c.KC)(e.provider).forEach(a=>{let s=`${t}/${a.id}`;r.has(s)||(r.add(s),l.push({value:s,label:`${t}/${a.id}`,provider:e.provider,alias:t,connectionName:e.name,modelId:a.id}))})}),l).length>0,n={tool:a,isExpanded:!0,onToggle:()=>{},baseUrl:j&&k?k:m&&u?u:window.location.origin,apiKeys:A,tunnelEnabled:j,tunnelPublicUrl:k,tailscaleEnabled:g,tailscaleUrl:S};switch(e){case"claude":return(0,s.jsx)(d.Tk,{...n,activeProviders:y(),modelMappings:b[e]||{},onModelMappingChange:(t,a)=>C(e,t,a),hasActiveProviders:i,cloudEnabled:m});case"codex":return(0,s.jsx)(d.Ah,{...n,activeProviders:y(),cloudEnabled:m});case"opencode":return(0,s.jsx)(d.qO,{...n,activeProviders:y(),cloudEnabled:m});case"cowork":return(0,s.jsx)(d.Q6,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m,cloudUrl:u,tunnelEnabled:j,tunnelPublicUrl:k,tailscaleEnabled:g,tailscaleUrl:S});case"droid":return(0,s.jsx)(d.ZM,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"openclaw":return(0,s.jsx)(d.yZ,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"hermes":return(0,s.jsx)(d.RF,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"copilot":return(0,s.jsx)(d.h1,{...n,activeProviders:y(),cloudEnabled:m});case"cline":return(0,s.jsx)(d.aG,{...n,activeProviders:y(),cloudEnabled:m});case"kilo":return(0,s.jsx)(d.c9,{...n,activeProviders:y(),cloudEnabled:m});case"deepseek-tui":return(0,s.jsx)(d.lF,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"jcode":return(0,s.jsx)(d.mW,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});default:return(0,s.jsx)(d.a7,{toolId:e,...n,activeProviders:y(),cloudEnabled:m,tunnelEnabled:j})}})()]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4404,8441,3794,7358],()=>e(e.s=22843)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3554],{22843:(e,t,a)=>{Promise.resolve().then(a.bind(a,85309))},85309:(e,t,a)=>{"use strict";a.d(t,{default:()=>v});var s=a(95155),l=a(12115),r=a(98500),i=a.n(r),n=a(35497),c=a(3534),o=a(28777),d=a(61082);let u=a(41463).env.NEXT_PUBLIC_CLOUD_URL;function v({toolId:e,machineId:t}){let a=c.dM[e],[r,x]=(0,l.useState)([]),[h,b]=(0,l.useState)(!0),[p,f]=(0,l.useState)({}),[m,E]=(0,l.useState)(!1),[j,P]=(0,l.useState)(!1),[w,k]=(0,l.useState)(""),[g,N]=(0,l.useState)(!1),[S,_]=(0,l.useState)(""),[A,U]=(0,l.useState)([]);(0,l.useEffect)(()=>{let e=!0;return(async()=>{try{let[t,a,s,l]=await Promise.all([fetch("/api/providers"),fetch("/api/settings"),fetch("/api/tunnel/status"),fetch("/api/keys")]);if(!e)return;if(t.ok){let e=await t.json();x(e.connections||[])}if(a.ok){let e=await a.json();E(e.cloudEnabled||!1)}if(s.ok){let e=await s.json();P(!!(e.tunnel?.enabled||e.tunnel?.settingsEnabled)),k(e.tunnel?.publicUrl||""),N(!!(e.tailscale?.enabled||e.tailscale?.settingsEnabled)),_(e.tailscale?.tunnelUrl||"")}if(l.ok){let e=await l.json();U(e.keys||[])}}catch(e){console.log("Error loading tool data:",e)}finally{e&&b(!1)}})(),()=>{e=!1}},[]);let y=()=>r.filter(e=>!1!==e.isActive),C=(0,l.useCallback)((e,t,a)=>{f(s=>s[e]?.[t]===a?s:{...s,[e]:{...s[e],[t]:a}})},[]);return(0,s.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-4 px-1 sm:px-0",children:[(0,s.jsxs)(i(),{href:"/dashboard/cli-tools",className:"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary w-fit",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"arrow_back"}),"Back to CLI Tools"]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("h1",{className:"text-xl font-semibold text-text-main sm:text-2xl",children:a.name}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:a.description})]}),h?(0,s.jsx)(n.Qv,{}):(()=>{let t,l,r,i=(t=y(),l=[],r=new Set,t.forEach(e=>{let t=o.Xg[e.provider]||e.provider;(0,o.KC)(e.provider).forEach(a=>{let s=`${t}/${a.id}`;r.has(s)||(r.add(s),l.push({value:s,label:`${t}/${a.id}`,provider:e.provider,alias:t,connectionName:e.name,modelId:a.id}))})}),l).length>0,n={tool:a,isExpanded:!0,onToggle:()=>{},baseUrl:j&&w?w:m&&u?u:window.location.origin,apiKeys:A,tunnelEnabled:j,tunnelPublicUrl:w,tailscaleEnabled:g,tailscaleUrl:S};switch(e){case"claude":return(0,s.jsx)(d.Tk,{...n,activeProviders:y(),modelMappings:p[e]||{},onModelMappingChange:(t,a)=>C(e,t,a),hasActiveProviders:i,cloudEnabled:m});case"codex":return(0,s.jsx)(d.Ah,{...n,activeProviders:y(),cloudEnabled:m});case"opencode":return(0,s.jsx)(d.qO,{...n,activeProviders:y(),cloudEnabled:m});case"cowork":return(0,s.jsx)(d.Q6,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m,cloudUrl:u,tunnelEnabled:j,tunnelPublicUrl:w,tailscaleEnabled:g,tailscaleUrl:S});case"droid":return(0,s.jsx)(d.ZM,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"openclaw":return(0,s.jsx)(d.yZ,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"hermes":return(0,s.jsx)(d.RF,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"copilot":return(0,s.jsx)(d.h1,{...n,activeProviders:y(),cloudEnabled:m});case"cline":return(0,s.jsx)(d.aG,{...n,activeProviders:y(),cloudEnabled:m});case"kilo":return(0,s.jsx)(d.c9,{...n,activeProviders:y(),cloudEnabled:m});case"qwen":return(0,s.jsx)(d.aV,{...n,activeProviders:y(),cloudEnabled:m});case"deepseek-tui":return(0,s.jsx)(d.lF,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"jcode":return(0,s.jsx)(d.mW,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});default:return(0,s.jsx)(d.a7,{toolId:e,...n,activeProviders:y(),cloudEnabled:m,tunnelEnabled:j})}})()]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4525,8441,3794,7358],()=>e(e.s=22843)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2326],{4987:(e,s,l)=>{Promise.resolve().then(l.bind(l,53501))},53501:(e,s,l)=>{"use strict";l.d(s,{default:()=>m});var t=l(95155),a=l(12115),r=l(35497),i=l(3534),c=l(38719),n=l(98500),o=l.n(n),d=l(5772);function x({toolId:e,tool:s,status:l}){let a=l?l.installed?l.hasBluerouter?{label:"Connected",cls:"bg-green-500/10 text-green-600 dark:text-green-400"}:{label:"Not configured",cls:"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400"}:{label:"Not installed",cls:"bg-red-500/10 text-red-600 dark:text-red-400"}:{label:"Unknown",cls:"bg-gray-500/10 text-gray-500"};return(0,t.jsx)(o(),{href:`/dashboard/cli-tools/${e}`,className:"block",children:(0,t.jsx)(r.Zp,{padding:"sm",className:"h-full overflow-hidden hover:border-primary/50 transition-colors cursor-pointer",children:(0,t.jsxs)("div",{className:"flex h-full flex-col gap-2",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0",children:s.image?(0,t.jsx)(d.default,{src:s.image,alt:s.name,width:32,height:32,className:"size-8 object-contain rounded-lg",sizes:"32px",onError:e=>{e.target.style.display="none"}}):s.icon?(0,t.jsx)("span",{className:"material-symbols-outlined text-[28px]",style:{color:s.color},children:s.icon}):null}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"font-medium text-sm truncate",children:s.name}),(0,t.jsx)("span",{className:`inline-block mt-0.5 px-1.5 py-0.5 text-[10px] font-medium rounded-full ${a.cls}`,children:a.label})]}),(0,t.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[18px] shrink-0",children:"chevron_right"})]}),(0,t.jsx)("p",{className:"text-xs text-text-muted line-clamp-2",children:s.description})]})})})}function m({machineId:e}){let[s,l]=(0,a.useState)(!0),[n,o]=(0,a.useState)({});if((0,a.useEffect)(()=>{let e=!0;return(async()=>{try{let s=await fetch("/api/cli-tools/all-statuses");s.ok&&e&&o(await s.json())}catch(e){console.log("Error fetching tool statuses:",e)}finally{e&&l(!1)}})(),()=>{e=!1}},[]),s)return(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:[(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{})]});let d=Object.entries(i.dM),g=Object.entries(i.wn);return(0,t.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-6 px-1 sm:px-0",children:[(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:d.map(([e,s])=>(0,t.jsx)(x,{toolId:e,tool:s,status:n[e]},e))}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("span",{className:"material-symbols-outlined text-[18px] text-primary",children:"security"}),(0,t.jsx)("h2",{className:"text-sm font-semibold text-text-main",children:"MITM Tools"})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:g.map(([e,s])=>(0,t.jsx)(c.gY,{tool:s},e))})]})]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4404,8441,3794,7358],()=>e(e.s=4987)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2326],{4987:(e,s,l)=>{Promise.resolve().then(l.bind(l,53501))},53501:(e,s,l)=>{"use strict";l.d(s,{default:()=>m});var t=l(95155),a=l(12115),r=l(35497),i=l(3534),c=l(61082),n=l(98500),o=l.n(n),d=l(5772);function x({toolId:e,tool:s,status:l}){let a=l?l.installed?l.hasBluerouter?{label:"Connected",cls:"bg-green-500/10 text-green-600 dark:text-green-400"}:{label:"Not configured",cls:"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400"}:{label:"Not installed",cls:"bg-red-500/10 text-red-600 dark:text-red-400"}:{label:"Unknown",cls:"bg-gray-500/10 text-gray-500"};return(0,t.jsx)(o(),{href:`/dashboard/cli-tools/${e}`,className:"block",children:(0,t.jsx)(r.Zp,{padding:"sm",className:"h-full overflow-hidden hover:border-primary/50 transition-colors cursor-pointer",children:(0,t.jsxs)("div",{className:"flex h-full flex-col gap-2",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0",children:s.image?(0,t.jsx)(d.default,{src:s.image,alt:s.name,width:32,height:32,className:"size-8 object-contain rounded-lg",sizes:"32px",onError:e=>{e.target.style.display="none"}}):s.icon?(0,t.jsx)("span",{className:"material-symbols-outlined text-[28px]",style:{color:s.color},children:s.icon}):null}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"font-medium text-sm truncate",children:s.name}),(0,t.jsx)("span",{className:`inline-block mt-0.5 px-1.5 py-0.5 text-[10px] font-medium rounded-full ${a.cls}`,children:a.label})]}),(0,t.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[18px] shrink-0",children:"chevron_right"})]}),(0,t.jsx)("p",{className:"text-xs text-text-muted line-clamp-2",children:s.description})]})})})}function m({machineId:e}){let[s,l]=(0,a.useState)(!0),[n,o]=(0,a.useState)({});if((0,a.useEffect)(()=>{let e=!0;return(async()=>{try{let s=await fetch("/api/cli-tools/all-statuses");s.ok&&e&&o(await s.json())}catch(e){console.log("Error fetching tool statuses:",e)}finally{e&&l(!1)}})(),()=>{e=!1}},[]),s)return(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:[(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{})]});let d=Object.entries(i.dM),g=Object.entries(i.wn);return(0,t.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-6 px-1 sm:px-0",children:[(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:d.map(([e,s])=>(0,t.jsx)(x,{toolId:e,tool:s,status:n[e]},e))}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("span",{className:"material-symbols-outlined text-[18px] text-primary",children:"security"}),(0,t.jsx)("h2",{className:"text-sm font-semibold text-text-main",children:"MITM Tools"})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:g.map(([e,s])=>(0,t.jsx)(c.gY,{tool:s},e))})]})]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4525,8441,3794,7358],()=>e(e.s=4987)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6607],{2276:(e,s,a)=>{Promise.resolve().then(a.bind(a,55987))},55987:(e,s,a)=>{"use strict";a.d(s,{default:()=>x});var t=a(95155),l=a(12115),r=a(3534),o=a(28777),n=a(52679),i=a(38719),d=a(35497);let c={enabled:!1,type:"mysql",host:"",port:"",database:"",username:"",password:"",ssl:!1,createDatabase:!1,logClientRequest:!0,logSourceRequest:!0,logTargetRequest:!0,logProviderResponse:!1,logErrors:!0,retentionDays:30};function g({label:e,value:s,onChange:a,type:l="text",placeholder:r="",disabled:o=!1}){return(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)("span",{className:"text-text-muted",children:e}),(0,t.jsx)("input",{type:l,value:s||"",placeholder:r,disabled:o,onChange:e=>a(e.target.value),className:"w-full rounded border border-border bg-surface px-2 py-1.5 text-xs text-text-main focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-50"})]})}function u({label:e,checked:s,onChange:a,disabled:l=!1}){return(0,t.jsxs)("label",{className:"flex items-center gap-2 text-xs text-text-main",children:[(0,t.jsx)("input",{type:"checkbox",checked:!!s,disabled:l,onChange:e=>a(e.target.checked)}),e]})}function p(){let[e,s]=(0,l.useState)(c),[a,r]=(0,l.useState)(!1),[o,n]=(0,l.useState)(null),[i,p]=(0,l.useState)(null),x=e=>s(s=>({...s,...e})),b=async()=>{r(!0),p(null);try{let e=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db"),a=await e.json();if(!e.ok)throw Error(a.error||"Failed to load config");s({...c,...a.config||{}})}catch(e){p(e.message||"Failed to load config")}finally{r(!1)}};(0,l.useEffect)(()=>{b()},[]);let h=async()=>{r(!0),p(null),n(null);try{let a=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({config:e})}),t=await a.json();if(!a.ok)throw Error(t.error||"Failed to save config");s({...c,...t.config||{}}),n("Saved")}catch(e){p(e.message||"Failed to save config")}finally{r(!1)}},m=async s=>{r(!0),p(null),n(null);try{let a=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:s,config:e})}),t=await a.json();if(!a.ok)throw Error(t.error||"Action failed");n(t.message||t.init?.message||"OK")}catch(e){p(e.message||"Action failed")}finally{r(!1)}},y="postgres"===e.type||"mysql"===e.type;return(0,t.jsx)(d.Zp,{title:"Prompt Log Database",subtitle:"Store MITM/Copilot prompt logs in a queryable database",icon:"database",children:(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(d.Ex,{variant:e.enabled?"success":"default",children:e.enabled?"Enabled":"Disabled"}),(0,t.jsx)("span",{className:"text-xs text-text-muted",children:"File logs still remain available under DATA_DIR/logs/requests."})]}),(0,t.jsx)("div",{className:"rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-3 text-xs text-yellow-700 dark:text-yellow-300",children:'Prompt logs may contain source code, selected code, internal URLs, user prompts, and provider responses. Checked stages store full raw JSON; prompt/response text columns keep only short previews. Per-combo "hide content" still redacts raw JSON.'}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)("span",{className:"text-text-muted",children:"Database type"}),(0,t.jsxs)("select",{value:e.type,disabled:a,onChange:s=>{let a=s.target.value;x({type:a,port:"postgres"===a?e.port||"5432":"mysql"===a?e.port||"3306":e.port})},className:"w-full rounded border border-border bg-surface px-2 py-1.5 text-xs text-text-main focus:outline-none focus:ring-1 focus:ring-primary/50",children:[(0,t.jsx)("option",{value:"mysql",children:"MySQL / MariaDB"}),(0,t.jsx)("option",{value:"postgres",children:"PostgreSQL"})]})]}),(0,t.jsx)(g,{label:"Retention days",type:"number",value:String(e.retentionDays||30),onChange:e=>x({retentionDays:Number(e)||30}),disabled:a})]}),y&&(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)(g,{label:"Host",value:e.host,placeholder:"127.0.0.1",onChange:e=>x({host:e}),disabled:a}),(0,t.jsx)(g,{label:"Port",value:e.port,placeholder:"postgres"===e.type?"5432":"3306",onChange:e=>x({port:e}),disabled:a}),(0,t.jsx)(g,{label:"Database",value:e.database,placeholder:"bluerouter_logs",onChange:e=>x({database:e}),disabled:a}),(0,t.jsx)(g,{label:"Username",value:e.username,placeholder:"bluerouter",onChange:e=>x({username:e}),disabled:a}),(0,t.jsx)(g,{label:"Password",type:"password",value:e.password,placeholder:"Leave as ******** to keep existing password",onChange:e=>x({password:e}),disabled:a}),(0,t.jsxs)("div",{className:"flex flex-col justify-end gap-2",children:[(0,t.jsx)(u,{label:"Use SSL",checked:e.ssl,onChange:e=>x({ssl:e}),disabled:a}),(0,t.jsx)(u,{label:"Create database if missing",checked:e.createDatabase,onChange:e=>x({createDatabase:e}),disabled:a})]})]}),(0,t.jsxs)("div",{className:"grid gap-2 rounded-lg border border-border bg-surface/40 p-3 md:grid-cols-2",children:[(0,t.jsx)(u,{label:"Enable database prompt logging",checked:e.enabled,onChange:e=>x({enabled:e}),disabled:a}),(0,t.jsx)(u,{label:"Log client request JSON",checked:e.logClientRequest,onChange:e=>x({logClientRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log normalized/source request JSON",checked:e.logSourceRequest,onChange:e=>x({logSourceRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log target/provider request JSON",checked:e.logTargetRequest,onChange:e=>x({logTargetRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log provider response JSON",checked:e.logProviderResponse,onChange:e=>x({logProviderResponse:e}),disabled:a}),(0,t.jsx)(u,{label:"Log errors",checked:e.logErrors,onChange:e=>x({logErrors:e}),disabled:a})]}),y&&(0,t.jsxs)("div",{className:"rounded-lg border border-blue-500/30 bg-blue-500/10 p-3 text-xs text-blue-700 dark:text-blue-300",children:["Prompt logs now support MySQL/MariaDB and PostgreSQL only. MySQL/MariaDB requires ",(0,t.jsx)("code",{children:"mysql2"}),"; PostgreSQL requires ",(0,t.jsx)("code",{children:"pg"}),"."]}),o&&(0,t.jsx)("div",{className:"rounded-lg border border-green-500/30 bg-green-500/10 p-2 text-xs text-green-600",children:o}),i&&(0,t.jsx)("div",{className:"rounded-lg border border-red-500/30 bg-red-500/10 p-2 text-xs text-red-500",children:i}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:b,loading:a,children:"Reload"}),(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:()=>m("test"),loading:a,children:"Test connection"}),(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:()=>m("init"),loading:a,children:"Initialize schema"}),(0,t.jsx)(d.$n,{size:"sm",onClick:h,loading:a,children:"Save"}),(0,t.jsx)(d.$n,{size:"sm",variant:"success",onClick:()=>m("save-and-init"),loading:a,children:"Save & initialize"})]})]})})}function x(){let[e,s]=(0,l.useState)([]),[a,d]=(0,l.useState)([]),[c,g]=(0,l.useState)({}),[u,x]=(0,l.useState)(!1),[b,h]=(0,l.useState)(null),[m,y]=(0,l.useState)({running:!1,certExists:!1,dnsStatus:{},hasCachedPassword:!1});(0,l.useEffect)(()=>{f(),v(),j(),w()},[]);let f=async()=>{try{let e=await fetch("/api/providers");if(e.ok){let a=await e.json();s(a.connections||[])}}catch{}},v=async()=>{try{let e=await fetch("/api/keys");if(e.ok){let s=await e.json();d(s.keys||[])}}catch{}},j=async()=>{try{let e=await fetch("/api/models/alias");if(e.ok){let s=await e.json();g(s.aliases||{})}}catch{}},w=async()=>{try{let e=await fetch("/api/settings");if(e.ok){let s=await e.json();x(s.cloudEnabled||!1)}}catch{}},S=()=>e.filter(e=>!1!==e.isActive),C=Object.entries(r.wn);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-4 text-sm text-yellow-700 dark:text-yellow-300",children:[(0,t.jsx)("span",{className:"material-symbols-rounded align-middle text-base",children:"warning"})," ","⚠️ MITM intercepts HTTPS traffic of IDE tools (Antigravity, GitHub Copilot, Kiro) via local CA to redirect requests to your providers. May violate ToS → account ban. Use at your own risk."]}),(0,t.jsx)(i.tA,{apiKeys:a,cloudEnabled:u,onStatusChange:y}),(0,t.jsx)(i.k0,{serverRunning:m.running,onChanged:e=>y(s=>({...s,certExists:e?.certExists??s.certExists}))}),(0,t.jsx)(p,{}),C.map(([e,s])=>(0,t.jsx)(i.kn,{tool:{...s,id:e},isExpanded:b===e,onToggle:()=>h(b===e?null:e),serverRunning:m.running,dnsActive:m.dnsStatus?.[e]||!1,hasCachedPassword:m.hasCachedPassword||!1,needsSudoPassword:!1!==m.needsSudoPassword,isWin:!0===m.isWin,apiKeys:a,activeProviders:S(),hasActiveProviders:S().some(e=>(0,o.KC)(e.provider).length>0||(0,n.mq)(e.provider)||(0,n.gb)(e.provider)),modelAliases:c,cloudEnabled:u,onDnsChange:e=>y(s=>({...s,dnsStatus:e.dnsStatus??s.dnsStatus}))},e))]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4404,8441,3794,7358],()=>e(e.s=2276)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6607],{2276:(e,s,a)=>{Promise.resolve().then(a.bind(a,55987))},55987:(e,s,a)=>{"use strict";a.d(s,{default:()=>x});var t=a(95155),l=a(12115),r=a(3534),o=a(28777),n=a(52679),i=a(61082),d=a(35497);let c={enabled:!1,type:"mysql",host:"",port:"",database:"",username:"",password:"",ssl:!1,createDatabase:!1,logClientRequest:!0,logSourceRequest:!0,logTargetRequest:!0,logProviderResponse:!1,logErrors:!0,retentionDays:30};function g({label:e,value:s,onChange:a,type:l="text",placeholder:r="",disabled:o=!1}){return(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)("span",{className:"text-text-muted",children:e}),(0,t.jsx)("input",{type:l,value:s||"",placeholder:r,disabled:o,onChange:e=>a(e.target.value),className:"w-full rounded border border-border bg-surface px-2 py-1.5 text-xs text-text-main focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-50"})]})}function u({label:e,checked:s,onChange:a,disabled:l=!1}){return(0,t.jsxs)("label",{className:"flex items-center gap-2 text-xs text-text-main",children:[(0,t.jsx)("input",{type:"checkbox",checked:!!s,disabled:l,onChange:e=>a(e.target.checked)}),e]})}function p(){let[e,s]=(0,l.useState)(c),[a,r]=(0,l.useState)(!1),[o,n]=(0,l.useState)(null),[i,p]=(0,l.useState)(null),x=e=>s(s=>({...s,...e})),b=async()=>{r(!0),p(null);try{let e=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db"),a=await e.json();if(!e.ok)throw Error(a.error||"Failed to load config");s({...c,...a.config||{}})}catch(e){p(e.message||"Failed to load config")}finally{r(!1)}};(0,l.useEffect)(()=>{b()},[]);let h=async()=>{r(!0),p(null),n(null);try{let a=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({config:e})}),t=await a.json();if(!a.ok)throw Error(t.error||"Failed to save config");s({...c,...t.config||{}}),n("Saved")}catch(e){p(e.message||"Failed to save config")}finally{r(!1)}},m=async s=>{r(!0),p(null),n(null);try{let a=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:s,config:e})}),t=await a.json();if(!a.ok)throw Error(t.error||"Action failed");n(t.message||t.init?.message||"OK")}catch(e){p(e.message||"Action failed")}finally{r(!1)}},y="postgres"===e.type||"mysql"===e.type;return(0,t.jsx)(d.Zp,{title:"Prompt Log Database",subtitle:"Store MITM/Copilot prompt logs in a queryable database",icon:"database",children:(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(d.Ex,{variant:e.enabled?"success":"default",children:e.enabled?"Enabled":"Disabled"}),(0,t.jsx)("span",{className:"text-xs text-text-muted",children:"File logs still remain available under DATA_DIR/logs/requests."})]}),(0,t.jsx)("div",{className:"rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-3 text-xs text-yellow-700 dark:text-yellow-300",children:'Prompt logs may contain source code, selected code, internal URLs, user prompts, and provider responses. Checked stages store full raw JSON; prompt/response text columns keep only short previews. Per-combo "hide content" still redacts raw JSON.'}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)("span",{className:"text-text-muted",children:"Database type"}),(0,t.jsxs)("select",{value:e.type,disabled:a,onChange:s=>{let a=s.target.value;x({type:a,port:"postgres"===a?e.port||"5432":"mysql"===a?e.port||"3306":e.port})},className:"w-full rounded border border-border bg-surface px-2 py-1.5 text-xs text-text-main focus:outline-none focus:ring-1 focus:ring-primary/50",children:[(0,t.jsx)("option",{value:"mysql",children:"MySQL / MariaDB"}),(0,t.jsx)("option",{value:"postgres",children:"PostgreSQL"})]})]}),(0,t.jsx)(g,{label:"Retention days",type:"number",value:String(e.retentionDays||30),onChange:e=>x({retentionDays:Number(e)||30}),disabled:a})]}),y&&(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)(g,{label:"Host",value:e.host,placeholder:"127.0.0.1",onChange:e=>x({host:e}),disabled:a}),(0,t.jsx)(g,{label:"Port",value:e.port,placeholder:"postgres"===e.type?"5432":"3306",onChange:e=>x({port:e}),disabled:a}),(0,t.jsx)(g,{label:"Database",value:e.database,placeholder:"bluerouter_logs",onChange:e=>x({database:e}),disabled:a}),(0,t.jsx)(g,{label:"Username",value:e.username,placeholder:"bluerouter",onChange:e=>x({username:e}),disabled:a}),(0,t.jsx)(g,{label:"Password",type:"password",value:e.password,placeholder:"Leave as ******** to keep existing password",onChange:e=>x({password:e}),disabled:a}),(0,t.jsxs)("div",{className:"flex flex-col justify-end gap-2",children:[(0,t.jsx)(u,{label:"Use SSL",checked:e.ssl,onChange:e=>x({ssl:e}),disabled:a}),(0,t.jsx)(u,{label:"Create database if missing",checked:e.createDatabase,onChange:e=>x({createDatabase:e}),disabled:a})]})]}),(0,t.jsxs)("div",{className:"grid gap-2 rounded-lg border border-border bg-surface/40 p-3 md:grid-cols-2",children:[(0,t.jsx)(u,{label:"Enable database prompt logging",checked:e.enabled,onChange:e=>x({enabled:e}),disabled:a}),(0,t.jsx)(u,{label:"Log client request JSON",checked:e.logClientRequest,onChange:e=>x({logClientRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log normalized/source request JSON",checked:e.logSourceRequest,onChange:e=>x({logSourceRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log target/provider request JSON",checked:e.logTargetRequest,onChange:e=>x({logTargetRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log provider response JSON",checked:e.logProviderResponse,onChange:e=>x({logProviderResponse:e}),disabled:a}),(0,t.jsx)(u,{label:"Log errors",checked:e.logErrors,onChange:e=>x({logErrors:e}),disabled:a})]}),y&&(0,t.jsxs)("div",{className:"rounded-lg border border-blue-500/30 bg-blue-500/10 p-3 text-xs text-blue-700 dark:text-blue-300",children:["Prompt logs now support MySQL/MariaDB and PostgreSQL only. MySQL/MariaDB requires ",(0,t.jsx)("code",{children:"mysql2"}),"; PostgreSQL requires ",(0,t.jsx)("code",{children:"pg"}),"."]}),o&&(0,t.jsx)("div",{className:"rounded-lg border border-green-500/30 bg-green-500/10 p-2 text-xs text-green-600",children:o}),i&&(0,t.jsx)("div",{className:"rounded-lg border border-red-500/30 bg-red-500/10 p-2 text-xs text-red-500",children:i}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:b,loading:a,children:"Reload"}),(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:()=>m("test"),loading:a,children:"Test connection"}),(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:()=>m("init"),loading:a,children:"Initialize schema"}),(0,t.jsx)(d.$n,{size:"sm",onClick:h,loading:a,children:"Save"}),(0,t.jsx)(d.$n,{size:"sm",variant:"success",onClick:()=>m("save-and-init"),loading:a,children:"Save & initialize"})]})]})})}function x(){let[e,s]=(0,l.useState)([]),[a,d]=(0,l.useState)([]),[c,g]=(0,l.useState)({}),[u,x]=(0,l.useState)(!1),[b,h]=(0,l.useState)(null),[m,y]=(0,l.useState)({running:!1,certExists:!1,dnsStatus:{},hasCachedPassword:!1});(0,l.useEffect)(()=>{f(),v(),j(),w()},[]);let f=async()=>{try{let e=await fetch("/api/providers");if(e.ok){let a=await e.json();s(a.connections||[])}}catch{}},v=async()=>{try{let e=await fetch("/api/keys");if(e.ok){let s=await e.json();d(s.keys||[])}}catch{}},j=async()=>{try{let e=await fetch("/api/models/alias");if(e.ok){let s=await e.json();g(s.aliases||{})}}catch{}},w=async()=>{try{let e=await fetch("/api/settings");if(e.ok){let s=await e.json();x(s.cloudEnabled||!1)}}catch{}},S=()=>e.filter(e=>!1!==e.isActive),C=Object.entries(r.wn);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-4 text-sm text-yellow-700 dark:text-yellow-300",children:[(0,t.jsx)("span",{className:"material-symbols-rounded align-middle text-base",children:"warning"})," ","⚠️ MITM intercepts HTTPS traffic of IDE tools (Antigravity, GitHub Copilot, Kiro) via local CA to redirect requests to your providers. May violate ToS → account ban. Use at your own risk."]}),(0,t.jsx)(i.tA,{apiKeys:a,cloudEnabled:u,onStatusChange:y}),(0,t.jsx)(i.k0,{serverRunning:m.running,onChanged:e=>y(s=>({...s,certExists:e?.certExists??s.certExists}))}),(0,t.jsx)(p,{}),C.map(([e,s])=>(0,t.jsx)(i.kn,{tool:{...s,id:e},isExpanded:b===e,onToggle:()=>h(b===e?null:e),serverRunning:m.running,dnsActive:m.dnsStatus?.[e]||!1,hasCachedPassword:m.hasCachedPassword||!1,needsSudoPassword:!1!==m.needsSudoPassword,isWin:!0===m.isWin,apiKeys:a,activeProviders:S(),hasActiveProviders:S().some(e=>(0,o.KC)(e.provider).length>0||(0,n.mq)(e.provider)||(0,n.gb)(e.provider)),modelAliases:c,cloudEnabled:u,onDnsChange:e=>y(s=>({...s,dnsStatus:e.dnsStatus??s.dnsStatus}))},e))]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4525,8441,3794,7358],()=>e(e.s=2276)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);