@rsalmn/extremerouter 0.8.5 → 0.8.6

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 (1180) hide show
  1. package/README.id.md +130 -0
  2. package/README.md +73 -32
  3. package/README.zh-CN.md +130 -0
  4. package/app/.next-cli-build/BUILD_ID +1 -1
  5. package/app/.next-cli-build/app-path-routes-manifest.json +26 -11
  6. package/app/.next-cli-build/build-manifest.json +2 -2
  7. package/app/.next-cli-build/prerender-manifest.json +3 -3
  8. package/app/.next-cli-build/routes-manifest.json +94 -0
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js +2 -2
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +3 -3
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js +2 -2
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +4 -4
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page.js +2 -0
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page.js.nft.json +1 -0
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/smart-routing/page_client-reference-manifest.js +1 -0
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js +2 -2
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  88. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  91. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  93. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  94. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  96. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  97. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  99. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  100. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  102. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  103. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  104. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  105. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  106. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  107. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  108. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  110. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  111. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  112. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  113. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  114. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +6 -6
  115. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  116. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  117. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  118. package/app/.next-cli-build/server/app/api/alerts/test/route.js +2 -2
  119. package/app/.next-cli-build/server/app/api/alerts/test/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/breaker/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/breaker/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cache/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cache/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +9 -11
  139. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +5 -2
  145. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +5 -2
  147. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +4 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +5 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  157. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +7 -4
  159. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +5 -2
  161. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +10 -9
  163. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +5 -2
  165. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +5 -2
  167. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +5 -2
  169. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +5 -2
  171. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/combos/lab/route.js +1 -0
  175. package/app/.next-cli-build/server/app/api/combos/lab/route.js.nft.json +1 -0
  176. package/app/.next-cli-build/server/app/api/combos/lab/route_client-reference-manifest.js +1 -0
  177. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/combos/simulate/route.js +1 -0
  180. package/app/.next-cli-build/server/app/api/combos/simulate/route.js.nft.json +1 -0
  181. package/app/.next-cli-build/server/app/api/combos/simulate/route_client-reference-manifest.js +1 -0
  182. package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/combos/validate-roles/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/dashboard/stream/route.js +2 -2
  185. package/app/.next-cli-build/server/app/api/dashboard/stream/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +2 -2
  191. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/health/overview/route.js +1 -0
  193. package/app/.next-cli-build/server/app/api/health/overview/route.js.nft.json +1 -0
  194. package/app/.next-cli-build/server/app/api/health/overview/route_client-reference-manifest.js +1 -0
  195. package/app/.next-cli-build/server/app/api/health/providers/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/health/providers/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/health/stream/route.js +2 -2
  200. package/app/.next-cli-build/server/app/api/health/stream/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  212. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/1min/import/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/1min/import/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  244. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/freebuff/import/route.js +1 -0
  248. package/app/.next-cli-build/server/app/api/oauth/freebuff/import/route.js.nft.json +1 -0
  249. package/app/.next-cli-build/server/app/api/oauth/freebuff/import/route_client-reference-manifest.js +1 -0
  250. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/auto-import/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/auto-import/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/import/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/import/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/quota/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/kimi-desktop/quota/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/oauth/qwen/import/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/oauth/wp-studio/import/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  277. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  283. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js +1 -1
  289. package/app/.next-cli-build/server/app/api/providers/[id]/agnes-profile/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/providers/[id]/felo-profile/route.js +3 -0
  291. package/app/.next-cli-build/server/app/api/providers/[id]/felo-profile/route.js.nft.json +1 -0
  292. package/app/.next-cli-build/server/app/api/providers/[id]/felo-profile/route_client-reference-manifest.js +1 -0
  293. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/providers/[id]/inxora-profile/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +3 -1
  300. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-api-profile/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/providers/[id]/onemin-profile/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/providers/[id]/zai-profile/route.js +1 -0
  318. package/app/.next-cli-build/server/app/api/providers/[id]/zai-profile/route.js.nft.json +1 -0
  319. package/app/.next-cli-build/server/app/api/providers/[id]/zai-profile/route_client-reference-manifest.js +1 -0
  320. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/providers/capture/launch/route.js +1 -0
  323. package/app/.next-cli-build/server/app/api/providers/capture/launch/route.js.nft.json +1 -0
  324. package/app/.next-cli-build/server/app/api/providers/capture/launch/route_client-reference-manifest.js +1 -0
  325. package/app/.next-cli-build/server/app/api/providers/capture/route.js +1 -0
  326. package/app/.next-cli-build/server/app/api/providers/capture/route.js.nft.json +1 -0
  327. package/app/.next-cli-build/server/app/api/providers/capture/route_client-reference-manifest.js +1 -0
  328. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/providers/felo-capture/launch/route.js +1 -0
  331. package/app/.next-cli-build/server/app/api/providers/felo-capture/launch/route.js.nft.json +1 -0
  332. package/app/.next-cli-build/server/app/api/providers/felo-capture/launch/route_client-reference-manifest.js +1 -0
  333. package/app/.next-cli-build/server/app/api/providers/felo-capture/route.js +1 -0
  334. package/app/.next-cli-build/server/app/api/providers/felo-capture/route.js.nft.json +1 -0
  335. package/app/.next-cli-build/server/app/api/providers/felo-capture/route_client-reference-manifest.js +1 -0
  336. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  351. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  353. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  355. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  356. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  357. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  359. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +1 -1
  361. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  362. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  367. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  368. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/smart-routing/active/route.js +1 -0
  373. package/app/.next-cli-build/server/app/api/smart-routing/active/route.js.nft.json +1 -0
  374. package/app/.next-cli-build/server/app/api/smart-routing/active/route_client-reference-manifest.js +1 -0
  375. package/app/.next-cli-build/server/app/api/smart-routing/history/route.js +17 -0
  376. package/app/.next-cli-build/server/app/api/smart-routing/history/route.js.nft.json +1 -0
  377. package/app/.next-cli-build/server/app/api/smart-routing/history/route_client-reference-manifest.js +1 -0
  378. package/app/.next-cli-build/server/app/api/smart-routing/lab/route.js +16 -0
  379. package/app/.next-cli-build/server/app/api/smart-routing/lab/route.js.nft.json +1 -0
  380. package/app/.next-cli-build/server/app/api/smart-routing/lab/route_client-reference-manifest.js +1 -0
  381. package/app/.next-cli-build/server/app/api/smart-routing/stream/route.js +7 -0
  382. package/app/.next-cli-build/server/app/api/smart-routing/stream/route.js.nft.json +1 -0
  383. package/app/.next-cli-build/server/app/api/smart-routing/stream/route_client-reference-manifest.js +1 -0
  384. package/app/.next-cli-build/server/app/api/swarm/active/route.js +1 -1
  385. package/app/.next-cli-build/server/app/api/swarm/active/route.js.nft.json +1 -1
  386. package/app/.next-cli-build/server/app/api/swarm/stream/route.js +4 -2
  387. package/app/.next-cli-build/server/app/api/swarm/stream/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  391. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  392. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  393. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  397. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  398. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  403. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  404. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  407. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  409. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  410. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  415. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  416. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  417. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  421. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  422. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  423. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/api/usage/leaderboard/route.js +1 -1
  425. package/app/.next-cli-build/server/app/api/usage/leaderboard/route.js.nft.json +1 -1
  426. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  427. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  428. package/app/.next-cli-build/server/app/api/usage/meta/route.js +1 -1
  429. package/app/.next-cli-build/server/app/api/usage/meta/route.js.nft.json +1 -1
  430. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  431. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  432. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  433. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  434. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  435. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  436. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js +1 -1
  437. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js.nft.json +1 -1
  438. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  439. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  440. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  441. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  442. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  443. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  444. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  445. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  446. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  447. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  448. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  449. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  450. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  451. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  452. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  453. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  454. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  455. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  456. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  457. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  458. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  459. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  460. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  461. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  462. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  463. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  464. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  465. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  466. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  467. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  468. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  469. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  470. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  471. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  472. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  473. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  474. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  475. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  476. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  477. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  478. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  479. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  480. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  481. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  482. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  483. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  484. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  485. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  486. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  487. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  488. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  489. package/app/.next-cli-build/server/app/callback.html +1 -1
  490. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  491. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  492. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  493. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +6 -6
  494. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  495. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  496. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  497. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  498. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  499. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  500. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  501. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +7 -7
  502. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
  503. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  504. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
  505. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  506. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  507. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  508. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  509. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  510. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  511. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  512. package/app/.next-cli-build/server/app/index.html +1 -1
  513. package/app/.next-cli-build/server/app/index.rsc +6 -6
  514. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  515. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  516. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  517. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +6 -6
  518. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  519. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  520. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  521. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  522. package/app/.next-cli-build/server/app/landing.html +1 -1
  523. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  524. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  525. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  526. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +6 -6
  527. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  528. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  529. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  530. package/app/.next-cli-build/server/app/login/page.js +2 -2
  531. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  532. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  533. package/app/.next-cli-build/server/app/login.html +1 -1
  534. package/app/.next-cli-build/server/app/login.rsc +7 -7
  535. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  536. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  537. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +6 -6
  538. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  539. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  540. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  541. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  542. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  543. package/app/.next-cli-build/server/app/page.js +2 -2
  544. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  545. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  546. package/app/.next-cli-build/server/app-paths-manifest.json +26 -11
  547. package/app/.next-cli-build/server/chunks/1241.js +1 -1
  548. package/app/.next-cli-build/server/chunks/1350.js +5 -2
  549. package/app/.next-cli-build/server/chunks/1429.js +1 -1
  550. package/app/.next-cli-build/server/chunks/1719.js +1 -1
  551. package/app/.next-cli-build/server/chunks/1891.js +1 -1
  552. package/app/.next-cli-build/server/chunks/212.js +1 -1
  553. package/app/.next-cli-build/server/chunks/2409.js +1 -1
  554. package/app/.next-cli-build/server/chunks/3520.js +1 -0
  555. package/app/.next-cli-build/server/chunks/3535.js +1 -1
  556. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  557. package/app/.next-cli-build/server/chunks/{8873.js → 3735.js} +1 -1
  558. package/app/.next-cli-build/server/chunks/3841.js +1 -0
  559. package/app/.next-cli-build/server/chunks/3988.js +1 -0
  560. package/app/.next-cli-build/server/chunks/4046.js +1 -1
  561. package/app/.next-cli-build/server/chunks/4109.js +4 -0
  562. package/app/.next-cli-build/server/chunks/412.js +5 -5
  563. package/app/.next-cli-build/server/chunks/422.js +1 -1
  564. package/app/.next-cli-build/server/chunks/4502.js +16 -0
  565. package/app/.next-cli-build/server/chunks/4739.js +1 -1
  566. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  567. package/app/.next-cli-build/server/chunks/507.js +1 -1
  568. package/app/.next-cli-build/server/chunks/5253.js +17 -0
  569. package/app/.next-cli-build/server/chunks/5258.js +1 -1
  570. package/app/.next-cli-build/server/chunks/5330.js +33 -24
  571. package/app/.next-cli-build/server/chunks/5612.js +1 -1
  572. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  573. package/app/.next-cli-build/server/chunks/5628.js +1 -1
  574. package/app/.next-cli-build/server/chunks/5699.js +1 -1
  575. package/app/.next-cli-build/server/chunks/5961.js +1 -1
  576. package/app/.next-cli-build/server/chunks/6306.js +1 -1
  577. package/app/.next-cli-build/server/chunks/6630.js +1 -1
  578. package/app/.next-cli-build/server/chunks/6777.js +1 -1
  579. package/app/.next-cli-build/server/chunks/6878.js +1 -0
  580. package/app/.next-cli-build/server/chunks/698.js +1 -1
  581. package/app/.next-cli-build/server/chunks/7016.js +3 -0
  582. package/app/.next-cli-build/server/chunks/7410.js +1 -1
  583. package/app/.next-cli-build/server/chunks/7566.js +2 -2
  584. package/app/.next-cli-build/server/chunks/7765.js +13 -0
  585. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  586. package/app/.next-cli-build/server/chunks/8048.js +1 -0
  587. package/app/.next-cli-build/server/chunks/809.js +1 -0
  588. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  589. package/app/.next-cli-build/server/chunks/8266.js +1 -0
  590. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  591. package/app/.next-cli-build/server/chunks/874.js +2 -2
  592. package/app/.next-cli-build/server/chunks/8802.js +2 -2
  593. package/app/.next-cli-build/server/chunks/885.js +9 -5
  594. package/app/.next-cli-build/server/chunks/8895.js +4 -4
  595. package/app/.next-cli-build/server/chunks/9365.js +9 -0
  596. package/app/.next-cli-build/server/chunks/9703.js +5 -5
  597. package/app/.next-cli-build/server/chunks/9903.js +1 -1
  598. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  599. package/app/.next-cli-build/server/middleware.js +6 -6
  600. package/app/.next-cli-build/server/pages/404.html +1 -1
  601. package/app/.next-cli-build/server/pages/500.html +1 -1
  602. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  603. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  604. package/app/.next-cli-build/static/FP2YsqoRbzETOIHRfld7X/_buildManifest.js +1 -0
  605. package/app/.next-cli-build/static/chunks/1321-a387932dc3179f86.js +1 -0
  606. package/app/.next-cli-build/static/chunks/5497-c6d8b48c8828240a.js +7 -0
  607. package/app/.next-cli-build/static/chunks/705-42ad329bbe0c47df.js +1 -0
  608. package/app/.next-cli-build/static/chunks/9497-d27e455b90c7936e.js +1 -0
  609. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/alerts/{page-c263cd784e69e6f1.js → page-812b19e92ea94f14.js} +1 -1
  610. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-9a0e996c5bc5a169.js +1 -0
  611. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-3c3074cf3f61df46.js → page-0e1d5c3cf52823c3.js} +1 -1
  612. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-f7cdc992cb310077.js → page-3122fd2735ba291c.js} +1 -1
  613. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-a84afe4d66f3439a.js +3 -0
  614. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-959b3ee3c662de33.js → page-9850fafcf9dd605b.js} +1 -1
  615. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-9879594c5128cd91.js +1 -0
  616. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/health/page-1c94a0710d61767e.js +1 -0
  617. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-7d472b122fb182f0.js → page-9e98db59d6b1d05f.js} +1 -1
  618. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-83272baae17d38f1.js → page-026721fa921475e0.js} +1 -1
  619. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-f36e5ac11783fd1e.js → page-ec37860600228def.js} +1 -1
  620. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/{page-4069e1d40a3c70a6.js → page-99c8024bece93467.js} +1 -1
  621. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-e794909abbc7a09a.js → page-825c8673e6351d02.js} +1 -1
  622. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-1d972fd3baee7474.js → page-65072e4024bb73b6.js} +1 -1
  623. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/overview/{page-839ed70e115af9c9.js → page-b92bc7ebaa0813b2.js} +1 -1
  624. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-d3be818ebce4ade2.js +1 -0
  625. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-5ef2d54550eda9da.js +1 -0
  626. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-d208597b457fee58.js +1 -0
  627. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-9eea89b85926cfd8.js +10 -0
  628. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-bcf9d97ab4dc20d9.js → page-aaaaeede554f51a5.js} +1 -1
  629. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-5b11b61863963cad.js → page-1f465a9d64823fe6.js} +1 -1
  630. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-58d8d0fa5523ff95.js → page-70bfba02b4fc414f.js} +1 -1
  631. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-e249d28461673557.js +1 -0
  632. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-a8b151d5ae9004ea.js → page-17bcf4e0db497e3a.js} +1 -1
  633. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/smart-routing/page-5c8e7b3b71579268.js +1 -0
  634. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/swarm/page-6cda956597418bd9.js +1 -0
  635. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-d57c129c03c9cb36.js → page-6e8f34517990d858.js} +1 -1
  636. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-61d162d7a7f88a11.js → page-d9e35b679b85696a.js} +1 -1
  637. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-7ea08e0acef52ce3.js +1 -0
  638. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-20cc41f2e1307f06.js +1 -0
  639. package/app/.next-cli-build/static/chunks/app/_global-error/page-d93feb6893aee449.js +1 -0
  640. package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-d93feb6893aee449.js +1 -0
  641. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-d93feb6893aee449.js +1 -0
  642. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-d93feb6893aee449.js +1 -0
  643. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-d93feb6893aee449.js +1 -0
  644. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-d93feb6893aee449.js +1 -0
  645. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-d93feb6893aee449.js +1 -0
  646. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-d93feb6893aee449.js +1 -0
  647. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-d93feb6893aee449.js +1 -0
  648. package/app/.next-cli-build/static/chunks/app/api/breaker/route-d93feb6893aee449.js +1 -0
  649. package/app/.next-cli-build/static/chunks/app/api/cache/route-d93feb6893aee449.js +1 -0
  650. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-d93feb6893aee449.js +1 -0
  651. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-d93feb6893aee449.js +1 -0
  652. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-d93feb6893aee449.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-d93feb6893aee449.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-d93feb6893aee449.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-d93feb6893aee449.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-d93feb6893aee449.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-d93feb6893aee449.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-d93feb6893aee449.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-d93feb6893aee449.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-d93feb6893aee449.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-d93feb6893aee449.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-d93feb6893aee449.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-d93feb6893aee449.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-d93feb6893aee449.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-d93feb6893aee449.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-d93feb6893aee449.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-d93feb6893aee449.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/combos/lab/route-d93feb6893aee449.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/combos/route-d93feb6893aee449.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/combos/simulate/route-d93feb6893aee449.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-d93feb6893aee449.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-d93feb6893aee449.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-d93feb6893aee449.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-d93feb6893aee449.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-d93feb6893aee449.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/health/overview/route-d93feb6893aee449.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-d93feb6893aee449.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/health/route-d93feb6893aee449.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-d93feb6893aee449.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/init/route-d93feb6893aee449.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-d93feb6893aee449.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/keys/route-d93feb6893aee449.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/locale/route-d93feb6893aee449.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-d93feb6893aee449.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-d93feb6893aee449.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-d93feb6893aee449.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-d93feb6893aee449.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-d93feb6893aee449.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-d93feb6893aee449.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-d93feb6893aee449.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-d93feb6893aee449.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-d93feb6893aee449.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-d93feb6893aee449.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-d93feb6893aee449.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/models/route-d93feb6893aee449.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/models/test/route-d93feb6893aee449.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-d93feb6893aee449.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-d93feb6893aee449.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-d93feb6893aee449.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-d93feb6893aee449.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-d93feb6893aee449.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-d93feb6893aee449.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/oauth/freebuff/import/route-d93feb6893aee449.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-d93feb6893aee449.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-d93feb6893aee449.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/auto-import/route-d93feb6893aee449.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/import/route-d93feb6893aee449.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/quota/route-d93feb6893aee449.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-d93feb6893aee449.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-d93feb6893aee449.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-d93feb6893aee449.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-d93feb6893aee449.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-d93feb6893aee449.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-d93feb6893aee449.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/oauth/qwen/import/route-d93feb6893aee449.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-d93feb6893aee449.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-d93feb6893aee449.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-d93feb6893aee449.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/pricing/route-d93feb6893aee449.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-d93feb6893aee449.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-d93feb6893aee449.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-d93feb6893aee449.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-d93feb6893aee449.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/felo-profile/route-d93feb6893aee449.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-d93feb6893aee449.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-d93feb6893aee449.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-d93feb6893aee449.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-d93feb6893aee449.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-d93feb6893aee449.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-d93feb6893aee449.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-d93feb6893aee449.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-d93feb6893aee449.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-d93feb6893aee449.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-d93feb6893aee449.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-d93feb6893aee449.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-d93feb6893aee449.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zai-profile/route-d93feb6893aee449.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-d93feb6893aee449.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/providers/capture/launch/route-d93feb6893aee449.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/providers/capture/route-d93feb6893aee449.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-d93feb6893aee449.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/providers/felo-capture/launch/route-d93feb6893aee449.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/providers/felo-capture/route-d93feb6893aee449.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-d93feb6893aee449.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/providers/route-d93feb6893aee449.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-d93feb6893aee449.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-d93feb6893aee449.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-d93feb6893aee449.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-d93feb6893aee449.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-d93feb6893aee449.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-d93feb6893aee449.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-d93feb6893aee449.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-d93feb6893aee449.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-d93feb6893aee449.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-d93feb6893aee449.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-d93feb6893aee449.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-d93feb6893aee449.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-d93feb6893aee449.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-d93feb6893aee449.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/settings/route-d93feb6893aee449.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-d93feb6893aee449.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/smart-routing/active/route-d93feb6893aee449.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/smart-routing/history/route-d93feb6893aee449.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/smart-routing/lab/route-d93feb6893aee449.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/smart-routing/stream/route-d93feb6893aee449.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-d93feb6893aee449.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-d93feb6893aee449.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/tags/route-d93feb6893aee449.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-d93feb6893aee449.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-d93feb6893aee449.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-d93feb6893aee449.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-d93feb6893aee449.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-d93feb6893aee449.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-d93feb6893aee449.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-d93feb6893aee449.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-d93feb6893aee449.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-d93feb6893aee449.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-d93feb6893aee449.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-d93feb6893aee449.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-d93feb6893aee449.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-d93feb6893aee449.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-d93feb6893aee449.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-d93feb6893aee449.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-d93feb6893aee449.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-d93feb6893aee449.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-d93feb6893aee449.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-d93feb6893aee449.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-d93feb6893aee449.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-d93feb6893aee449.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-d93feb6893aee449.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-d93feb6893aee449.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-d93feb6893aee449.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-d93feb6893aee449.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-d93feb6893aee449.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-d93feb6893aee449.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-d93feb6893aee449.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-d93feb6893aee449.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-d93feb6893aee449.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-d93feb6893aee449.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-d93feb6893aee449.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-d93feb6893aee449.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-d93feb6893aee449.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-d93feb6893aee449.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-d93feb6893aee449.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-d93feb6893aee449.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-d93feb6893aee449.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-d93feb6893aee449.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-d93feb6893aee449.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/v1/route-d93feb6893aee449.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-d93feb6893aee449.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-d93feb6893aee449.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-d93feb6893aee449.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-d93feb6893aee449.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/version/route-d93feb6893aee449.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-d93feb6893aee449.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/version/update/route-d93feb6893aee449.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-bc142d42a8a549b4.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/{layout-10bff7b57a2a3c2c.js → layout-0e3fdd66d189006c.js} +1 -1
  819. package/app/.next-cli-build/static/chunks/app/login/{page-32ab5d7c75651107.js → page-4b39978fc147efa3.js} +1 -1
  820. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-d93feb6893aee449.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/page-d93feb6893aee449.js +1 -0
  822. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-d93feb6893aee449.js +1 -0
  823. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-d93feb6893aee449.js +1 -0
  824. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-d93feb6893aee449.js +1 -0
  825. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-d93feb6893aee449.js +1 -0
  826. package/app/.next-cli-build/static/css/d30ee18d498368cc.css +1 -0
  827. package/app/node_modules/playwright-core/browsers.json +75 -0
  828. package/app/node_modules/playwright-core/index.js +17 -0
  829. package/app/node_modules/playwright-core/index.mjs +28 -0
  830. package/app/node_modules/playwright-core/lib/bootstrap.js +88 -0
  831. package/app/node_modules/playwright-core/lib/coreBundle.js +74830 -0
  832. package/app/node_modules/playwright-core/lib/utilsBundle.js +90764 -0
  833. package/app/node_modules/playwright-core/package.json +34 -0
  834. package/app/package.json +2 -5
  835. package/app/public/providers/ai21.svg +4 -0
  836. package/app/public/providers/aihorde.png +0 -0
  837. package/app/public/providers/aimlapi.svg +4 -0
  838. package/app/public/providers/ainative.svg +4 -0
  839. package/app/public/providers/aion.svg +4 -0
  840. package/app/public/providers/anyapi.svg +4 -0
  841. package/app/public/providers/arcee-ai.svg +4 -0
  842. package/app/public/providers/auriko.svg +4 -0
  843. package/app/public/providers/azure-ai.svg +4 -0
  844. package/app/public/providers/bai.svg +4 -0
  845. package/app/public/providers/baseten.svg +4 -0
  846. package/app/public/providers/bazaarlink.svg +8 -0
  847. package/app/public/providers/bluesminds.svg +4 -0
  848. package/app/public/providers/bytez.svg +4 -0
  849. package/app/public/providers/charm-hyper.svg +4 -0
  850. package/app/public/providers/chat-oripe.svg +4 -0
  851. package/app/public/providers/chatanywhere.svg +4 -0
  852. package/app/public/providers/cheaperinference.svg +4 -0
  853. package/app/public/providers/chenzk.svg +4 -0
  854. package/app/public/providers/clarifai.svg +4 -0
  855. package/app/public/providers/cloudcode-one.svg +4 -0
  856. package/app/public/providers/conol-web.svg +1 -0
  857. package/app/public/providers/crof.svg +4 -0
  858. package/app/public/providers/dahl.png +0 -0
  859. package/app/public/providers/datarobot.svg +4 -0
  860. package/app/public/providers/dgrid.png +0 -0
  861. package/app/public/providers/digitalocean.svg +4 -0
  862. package/app/public/providers/dit.svg +4 -0
  863. package/app/public/providers/docker-model-runner.svg +1 -0
  864. package/app/public/providers/dxnt.svg +4 -0
  865. package/app/public/providers/electronhub.svg +4 -0
  866. package/app/public/providers/empower.svg +4 -0
  867. package/app/public/providers/factory.svg +4 -0
  868. package/app/public/providers/fastrouter.svg +4 -0
  869. package/app/public/providers/felo-web.svg +50 -0
  870. package/app/public/providers/fireworks.svg +3 -0
  871. package/app/public/providers/fishaudio.svg +1 -0
  872. package/app/public/providers/free-ai.svg +4 -0
  873. package/app/public/providers/freeaiapikey.svg +4 -0
  874. package/app/public/providers/freebuff.svg +6 -0
  875. package/app/public/providers/freeinference.svg +4 -0
  876. package/app/public/providers/freemodel-dev.svg +4 -0
  877. package/app/public/providers/freetheai.svg +4 -0
  878. package/app/public/providers/friendliai.svg +4 -0
  879. package/app/public/providers/g4f-gemini.png +0 -0
  880. package/app/public/providers/g4f-groq.png +0 -0
  881. package/app/public/providers/g4f-nvidia.png +0 -0
  882. package/app/public/providers/g4f-ollama.png +0 -0
  883. package/app/public/providers/g4f-pollinations.svg +9 -0
  884. package/app/public/providers/gemini-business.svg +1 -0
  885. package/app/public/providers/getgoapi.svg +4 -0
  886. package/app/public/providers/gitlab.png +0 -0
  887. package/app/public/providers/gitlawb-gmi.svg +4 -0
  888. package/app/public/providers/gitlawb.svg +4 -0
  889. package/app/public/providers/gladia.svg +1 -0
  890. package/app/public/providers/hackclub.png +0 -0
  891. package/app/public/providers/hailuo-web.svg +1 -0
  892. package/app/public/providers/helixmind.svg +4 -0
  893. package/app/public/providers/heroku.svg +4 -0
  894. package/app/public/providers/hyperagent.svg +1 -0
  895. package/app/public/providers/inception.svg +4 -0
  896. package/app/public/providers/inference-net.svg +4 -0
  897. package/app/public/providers/inner-ai.svg +1 -0
  898. package/app/public/providers/kenari.svg +4 -0
  899. package/app/public/providers/kilo-gateway.svg +4 -0
  900. package/app/public/providers/lambda-ai.svg +4 -0
  901. package/app/public/providers/laozhang.svg +4 -0
  902. package/app/public/providers/lemonade.svg +1 -0
  903. package/app/public/providers/liquid.svg +4 -0
  904. package/app/public/providers/literouter.svg +4 -0
  905. package/app/public/providers/llama-cpp.svg +1 -0
  906. package/app/public/providers/llamafile.svg +1 -0
  907. package/app/public/providers/llamagate.svg +4 -0
  908. package/app/public/providers/llm-kiwi.svg +4 -0
  909. package/app/public/providers/llm7.png +0 -0
  910. package/app/public/providers/llmgateway.svg +4 -0
  911. package/app/public/providers/lm-studio.svg +1 -0
  912. package/app/public/providers/maritalk.svg +4 -0
  913. package/app/public/providers/meganova-ai.svg +4 -0
  914. package/app/public/providers/meta-ai.svg +68 -0
  915. package/app/public/providers/meta-llama.svg +4 -0
  916. package/app/public/providers/mimocode.png +0 -0
  917. package/app/public/providers/mixlayer.svg +4 -0
  918. package/app/public/providers/mnn-ai.svg +4 -0
  919. package/app/public/providers/modal.svg +4 -0
  920. package/app/public/providers/modelscope.svg +4 -0
  921. package/app/public/providers/morph.svg +4 -0
  922. package/app/public/providers/naga-ac.svg +4 -0
  923. package/app/public/providers/naga-ai.svg +4 -0
  924. package/app/public/providers/nanogpt.svg +4 -0
  925. package/app/public/providers/nara.svg +4 -0
  926. package/app/public/providers/navy.svg +4 -0
  927. package/app/public/providers/notion-web.svg +1 -0
  928. package/app/public/providers/nous-research.svg +4 -0
  929. package/app/public/providers/nscale.svg +4 -0
  930. package/app/public/providers/nube.svg +4 -0
  931. package/app/public/providers/oci.svg +4 -0
  932. package/app/public/providers/ofoxai.svg +4 -0
  933. package/app/public/providers/ollama-cloud.svg +4 -0
  934. package/app/public/providers/oobabooga.svg +1 -0
  935. package/app/public/providers/openadapter.svg +4 -0
  936. package/app/public/providers/opencode-zen.svg +4 -0
  937. package/app/public/providers/openference-api.svg +4 -0
  938. package/app/public/providers/orcarouter.svg +4 -0
  939. package/app/public/providers/ovhcloud.svg +4 -0
  940. package/app/public/providers/piapi.svg +4 -0
  941. package/app/public/providers/pioneer.svg +4 -0
  942. package/app/public/providers/poixe-ai.svg +4 -0
  943. package/app/public/providers/poolside.svg +4 -0
  944. package/app/public/providers/predibase.svg +4 -0
  945. package/app/public/providers/publicai.svg +4 -0
  946. package/app/public/providers/qiniu.svg +4 -0
  947. package/app/public/providers/regolo.svg +4 -0
  948. package/app/public/providers/reka.svg +4 -0
  949. package/app/public/providers/requesty.svg +4 -0
  950. package/app/public/providers/rev-ai.svg +1 -0
  951. package/app/public/providers/routeway.svg +4 -0
  952. package/app/public/providers/sambanova.svg +4 -0
  953. package/app/public/providers/sap.svg +4 -0
  954. package/app/public/providers/scaleway.svg +4 -0
  955. package/app/public/providers/snowflake.svg +4 -0
  956. package/app/public/providers/soniox.svg +1 -0
  957. package/app/public/providers/speechmatics.svg +1 -0
  958. package/app/public/providers/speka.svg +4 -0
  959. package/app/public/providers/sumopod.svg +4 -0
  960. package/app/public/providers/synthetic.svg +4 -0
  961. package/app/public/providers/tencent-aistudio-web.png +0 -0
  962. package/app/public/providers/thebai.svg +4 -0
  963. package/app/public/providers/theoldllm.png +0 -0
  964. package/app/public/providers/tokenreply.svg +4 -0
  965. package/app/public/providers/triton.svg +1 -0
  966. package/app/public/providers/uncloseai.png +0 -0
  967. package/app/public/providers/unorouter.svg +4 -0
  968. package/app/public/providers/upstage.svg +4 -0
  969. package/app/public/providers/vllm.svg +1 -0
  970. package/app/public/providers/void-ai.svg +4 -0
  971. package/app/public/providers/wafer.svg +4 -0
  972. package/app/public/providers/wandb.svg +4 -0
  973. package/app/public/providers/watsonx.svg +4 -0
  974. package/app/public/providers/writer.svg +4 -0
  975. package/app/public/providers/x5lab.svg +4 -0
  976. package/app/public/providers/xinference.svg +1 -0
  977. package/app/public/providers/yolo-auto.svg +4 -0
  978. package/app/public/providers/{chatglm-cn.svg → zai-web.svg} +3 -3
  979. package/app/public/providers/zerolimitai.svg +4 -0
  980. package/app/public/providers/zylo-api.svg +4 -0
  981. package/package.json +3 -1
  982. package/app/.next-cli-build/server/chunks/2231.js +0 -1
  983. package/app/.next-cli-build/server/chunks/5102.js +0 -1
  984. package/app/.next-cli-build/server/chunks/6070.js +0 -1
  985. package/app/.next-cli-build/server/chunks/6560.js +0 -1
  986. package/app/.next-cli-build/server/chunks/7187.js +0 -1
  987. package/app/.next-cli-build/server/chunks/7218.js +0 -1
  988. package/app/.next-cli-build/server/chunks/7872.js +0 -1
  989. package/app/.next-cli-build/server/chunks/8955.js +0 -16
  990. package/app/.next-cli-build/server/chunks/9422.js +0 -13
  991. package/app/.next-cli-build/static/7zgJjF0BTyl0D0ZYIuDWj/_buildManifest.js +0 -1
  992. package/app/.next-cli-build/static/chunks/1321-3b1aef2827d68b60.js +0 -1
  993. package/app/.next-cli-build/static/chunks/5497-51105899e4e24c89.js +0 -7
  994. package/app/.next-cli-build/static/chunks/705-6dadbd8815279945.js +0 -1
  995. package/app/.next-cli-build/static/chunks/8105-76bf5c11dd3bc8ce.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-ecd3a85a40e51c66.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-b4a78d784383253c.js +0 -3
  998. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-5689c88f2746c37a.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/health/page-133cf1aa2ce53c87.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-7325c65533e4cf60.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-e7ba910803086460.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-0f877a8a2550a1ea.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-6b500acebeff856b.js +0 -10
  1004. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c02ccb0fd35970d1.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/swarm/page-594a59006196a03a.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-483f01fd35d212f5.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-0a63db83d5e05667.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/_global-error/page-158df2528a1edacc.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-158df2528a1edacc.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-158df2528a1edacc.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-158df2528a1edacc.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-158df2528a1edacc.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-158df2528a1edacc.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-158df2528a1edacc.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-158df2528a1edacc.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-158df2528a1edacc.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/breaker/route-158df2528a1edacc.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/cache/route-158df2528a1edacc.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-158df2528a1edacc.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-158df2528a1edacc.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-158df2528a1edacc.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-158df2528a1edacc.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-158df2528a1edacc.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-158df2528a1edacc.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-158df2528a1edacc.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-158df2528a1edacc.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-158df2528a1edacc.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-158df2528a1edacc.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-158df2528a1edacc.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-158df2528a1edacc.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-158df2528a1edacc.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-158df2528a1edacc.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-158df2528a1edacc.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-158df2528a1edacc.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-158df2528a1edacc.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-158df2528a1edacc.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/combos/route-158df2528a1edacc.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/combos/validate-roles/route-158df2528a1edacc.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/dashboard/stream/route-158df2528a1edacc.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-158df2528a1edacc.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-158df2528a1edacc.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-158df2528a1edacc.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-158df2528a1edacc.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/health/route-158df2528a1edacc.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-158df2528a1edacc.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/init/route-158df2528a1edacc.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-158df2528a1edacc.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/keys/route-158df2528a1edacc.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/locale/route-158df2528a1edacc.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-158df2528a1edacc.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-158df2528a1edacc.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-158df2528a1edacc.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-158df2528a1edacc.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-158df2528a1edacc.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-158df2528a1edacc.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-158df2528a1edacc.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-158df2528a1edacc.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-158df2528a1edacc.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-158df2528a1edacc.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-158df2528a1edacc.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/api/models/route-158df2528a1edacc.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/api/models/test/route-158df2528a1edacc.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/api/oauth/1min/import/route-158df2528a1edacc.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-158df2528a1edacc.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-158df2528a1edacc.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-158df2528a1edacc.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-158df2528a1edacc.js +0 -1
  1068. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-158df2528a1edacc.js +0 -1
  1069. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-158df2528a1edacc.js +0 -1
  1070. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-158df2528a1edacc.js +0 -1
  1071. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/auto-import/route-158df2528a1edacc.js +0 -1
  1072. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/import/route-158df2528a1edacc.js +0 -1
  1073. package/app/.next-cli-build/static/chunks/app/api/oauth/kimi-desktop/quota/route-158df2528a1edacc.js +0 -1
  1074. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-158df2528a1edacc.js +0 -1
  1075. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-158df2528a1edacc.js +0 -1
  1076. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-158df2528a1edacc.js +0 -1
  1077. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-158df2528a1edacc.js +0 -1
  1078. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-158df2528a1edacc.js +0 -1
  1079. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-158df2528a1edacc.js +0 -1
  1080. package/app/.next-cli-build/static/chunks/app/api/oauth/qwen/import/route-158df2528a1edacc.js +0 -1
  1081. package/app/.next-cli-build/static/chunks/app/api/oauth/wp-studio/import/route-158df2528a1edacc.js +0 -1
  1082. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-158df2528a1edacc.js +0 -1
  1083. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-158df2528a1edacc.js +0 -1
  1084. package/app/.next-cli-build/static/chunks/app/api/pricing/route-158df2528a1edacc.js +0 -1
  1085. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-158df2528a1edacc.js +0 -1
  1086. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-158df2528a1edacc.js +0 -1
  1087. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-158df2528a1edacc.js +0 -1
  1088. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/agnes-profile/route-158df2528a1edacc.js +0 -1
  1089. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-158df2528a1edacc.js +0 -1
  1090. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-158df2528a1edacc.js +0 -1
  1091. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/inxora-profile/route-158df2528a1edacc.js +0 -1
  1092. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-158df2528a1edacc.js +0 -1
  1093. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-api-profile/route-158df2528a1edacc.js +0 -1
  1094. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/onemin-profile/route-158df2528a1edacc.js +0 -1
  1095. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-158df2528a1edacc.js +0 -1
  1096. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-158df2528a1edacc.js +0 -1
  1097. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-158df2528a1edacc.js +0 -1
  1098. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-158df2528a1edacc.js +0 -1
  1099. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-158df2528a1edacc.js +0 -1
  1100. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-158df2528a1edacc.js +0 -1
  1101. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-158df2528a1edacc.js +0 -1
  1102. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-158df2528a1edacc.js +0 -1
  1103. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-158df2528a1edacc.js +0 -1
  1104. package/app/.next-cli-build/static/chunks/app/api/providers/route-158df2528a1edacc.js +0 -1
  1105. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-158df2528a1edacc.js +0 -1
  1106. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-158df2528a1edacc.js +0 -1
  1107. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-158df2528a1edacc.js +0 -1
  1108. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-158df2528a1edacc.js +0 -1
  1109. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-158df2528a1edacc.js +0 -1
  1110. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-158df2528a1edacc.js +0 -1
  1111. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-158df2528a1edacc.js +0 -1
  1112. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-158df2528a1edacc.js +0 -1
  1113. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-158df2528a1edacc.js +0 -1
  1114. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-158df2528a1edacc.js +0 -1
  1115. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-158df2528a1edacc.js +0 -1
  1116. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-158df2528a1edacc.js +0 -1
  1117. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-158df2528a1edacc.js +0 -1
  1118. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-158df2528a1edacc.js +0 -1
  1119. package/app/.next-cli-build/static/chunks/app/api/settings/route-158df2528a1edacc.js +0 -1
  1120. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-158df2528a1edacc.js +0 -1
  1121. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-158df2528a1edacc.js +0 -1
  1122. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-158df2528a1edacc.js +0 -1
  1123. package/app/.next-cli-build/static/chunks/app/api/tags/route-158df2528a1edacc.js +0 -1
  1124. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-158df2528a1edacc.js +0 -1
  1125. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-158df2528a1edacc.js +0 -1
  1126. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-158df2528a1edacc.js +0 -1
  1127. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-158df2528a1edacc.js +0 -1
  1128. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-158df2528a1edacc.js +0 -1
  1129. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-158df2528a1edacc.js +0 -1
  1130. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-158df2528a1edacc.js +0 -1
  1131. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-158df2528a1edacc.js +0 -1
  1132. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-158df2528a1edacc.js +0 -1
  1133. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-158df2528a1edacc.js +0 -1
  1134. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-158df2528a1edacc.js +0 -1
  1135. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-158df2528a1edacc.js +0 -1
  1136. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-158df2528a1edacc.js +0 -1
  1137. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-158df2528a1edacc.js +0 -1
  1138. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-158df2528a1edacc.js +0 -1
  1139. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-158df2528a1edacc.js +0 -1
  1140. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-158df2528a1edacc.js +0 -1
  1141. package/app/.next-cli-build/static/chunks/app/api/usage/leaderboard/route-158df2528a1edacc.js +0 -1
  1142. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-158df2528a1edacc.js +0 -1
  1143. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-158df2528a1edacc.js +0 -1
  1144. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-158df2528a1edacc.js +0 -1
  1145. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-158df2528a1edacc.js +0 -1
  1146. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-158df2528a1edacc.js +0 -1
  1147. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-158df2528a1edacc.js +0 -1
  1148. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-158df2528a1edacc.js +0 -1
  1149. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-158df2528a1edacc.js +0 -1
  1150. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-158df2528a1edacc.js +0 -1
  1151. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-158df2528a1edacc.js +0 -1
  1152. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-158df2528a1edacc.js +0 -1
  1153. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-158df2528a1edacc.js +0 -1
  1154. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-158df2528a1edacc.js +0 -1
  1155. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-158df2528a1edacc.js +0 -1
  1156. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-158df2528a1edacc.js +0 -1
  1157. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-158df2528a1edacc.js +0 -1
  1158. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-158df2528a1edacc.js +0 -1
  1159. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-158df2528a1edacc.js +0 -1
  1160. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-158df2528a1edacc.js +0 -1
  1161. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-158df2528a1edacc.js +0 -1
  1162. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-158df2528a1edacc.js +0 -1
  1163. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-158df2528a1edacc.js +0 -1
  1164. package/app/.next-cli-build/static/chunks/app/api/v1/route-158df2528a1edacc.js +0 -1
  1165. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-158df2528a1edacc.js +0 -1
  1166. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-158df2528a1edacc.js +0 -1
  1167. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-158df2528a1edacc.js +0 -1
  1168. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-158df2528a1edacc.js +0 -1
  1169. package/app/.next-cli-build/static/chunks/app/api/version/route-158df2528a1edacc.js +0 -1
  1170. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-158df2528a1edacc.js +0 -1
  1171. package/app/.next-cli-build/static/chunks/app/api/version/update/route-158df2528a1edacc.js +0 -1
  1172. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-bb9f307074c5c23a.js +0 -1
  1173. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-158df2528a1edacc.js +0 -1
  1174. package/app/.next-cli-build/static/chunks/app/page-158df2528a1edacc.js +0 -1
  1175. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-158df2528a1edacc.js +0 -1
  1176. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-158df2528a1edacc.js +0 -1
  1177. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-158df2528a1edacc.js +0 -1
  1178. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-158df2528a1edacc.js +0 -1
  1179. package/app/.next-cli-build/static/css/b7a8bd59db43d15e.css +0 -1
  1180. /package/app/.next-cli-build/static/{7zgJjF0BTyl0D0ZYIuDWj → FP2YsqoRbzETOIHRfld7X}/_ssgManifest.js +0 -0
@@ -1,7 +1,7 @@
1
- (()=>{var a={};a.id=8929,a.ids=[8929],a.modules={1390:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"formatNextPathnameInfo",{enumerable:!0,get:function(){return h}});let d=c(19524),e=c(67301),f=c(36066),g=c(98617);function h(a){let b=(0,g.addLocale)(a.pathname,a.locale,a.buildId?void 0:a.defaultLocale,a.ignorePrefix);return(a.buildId||!a.trailingSlash)&&(b=(0,d.removeTrailingSlash)(b)),a.buildId&&(b=(0,f.addPathSuffix)((0,e.addPathPrefix)(b,`/_next/data/${a.buildId}`),"/"===a.pathname?"index.json":".json")),b=(0,e.addPathPrefix)(b,a.basePath),!a.buildId&&a.trailingSlash?b.endsWith("/")?b:(0,f.addPathSuffix)(b,"/"):(0,d.removeTrailingSlash)(b)}},2258:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"INSTANT_VALIDATION_BOUNDARY_NAME",{enumerable:!0,get:function(){return c}});let c="__next_instant_validation_boundary__"},2886:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},3144:(a,b,c)=>{"use strict";var d,e;Object.defineProperty(b,"__esModule",{value:!0}),d=c(8582),e=b,Object.keys(d).forEach(function(a){"default"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return d[a]}})})},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4522:(a,b)=>{"use strict";function c(a){try{return decodeURIComponent(a)}catch{return a}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"decodeQueryPathParameter",{enumerable:!0,get:function(){return c}})},4945:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isDynamicRoute",{enumerable:!0,get:function(){return g}});let d=c(11042),e=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,f=/\/\[[^/]+\](?=\/|$)/;function g(a,b=!0){return((0,d.isInterceptionRouteAppPath)(a)&&(a=(0,d.extractInterceptionRouteInformation)(a).interceptedRoute),b)?f.test(a):e.test(a)}},6062:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isAbortError:function(){return k},pipeToNodeResponse:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(88450),g=c(59841),h=c(12726),i=c(88026),j=c(97757);function k(a){return(null==a?void 0:a.name)==="AbortError"||(null==a?void 0:a.name)===f.ResponseAbortedName}async function l(a,b,c){try{let{errored:d,destroyed:e}=b;if(d||e)return;let k=(0,f.createAbortController)(b),l=function(a,b){let c=!1,d=new g.DetachedPromise;function e(){d.resolve()}a.on("drain",e),a.once("close",()=>{a.off("drain",e),d.resolve()});let f=new g.DetachedPromise;return a.once("finish",()=>{f.resolve()}),new WritableStream({write:async b=>{if(!c){if(c=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let a=(0,j.getClientComponentLoaderMetrics)();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}a.flushHeaders(),(0,h.getTracer)().trace(i.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let c=a.write(b);"flush"in a&&"function"==typeof a.flush&&a.flush(),c||(await d.promise,d=new g.DetachedPromise)}catch(b){throw a.end(),Object.defineProperty(Error("failed to write chunk to response",{cause:b}),"__NEXT_ERROR_CODE",{value:"E321",enumerable:!1,configurable:!0})}},abort:b=>{a.writableFinished||a.destroy(b)},close:async()=>{if(b&&await b,!a.writableFinished)return a.end(),f.promise}})}(b,c);await a.pipeTo(l,{signal:k.signal})}catch(a){if(k(a))return;throw Object.defineProperty(Error("failed to pipe response",{cause:a}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}},6365:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=c(22697),e=c(86013);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},6492:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ENCODED_TAGS",{enumerable:!0,get:function(){return c}});let c={OPENING:{HTML:new Uint8Array([60,104,116,109,108]),HEAD:new Uint8Array([60,104,101,97,100]),BODY:new Uint8Array([60,98,111,100,121])},CLOSED:{HEAD:new Uint8Array([60,47,104,101,97,100,62]),BODY:new Uint8Array([60,47,98,111,100,121,62]),HTML:new Uint8Array([60,47,104,116,109,108,62]),BODY_AND_HTML:new Uint8Array([60,47,98,111,100,121,62,60,47,104,116,109,108,62])},META:{ICON_MARK:new Uint8Array([60,109,101,116,97,32,110,97,109,101,61,34,194,171,110,120,116,45,105,99,111,110,194,187,34])}}},6796:(a,b,c)=>{"use strict";a.exports=c(10846)},6872:(a,b)=>{"use strict";function c(a){return"1"===a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isRSCRequestHeader",{enumerable:!0,get:function(){return c}})},6892:(a,b)=>{"use strict";function c(a){return a.replace(/(?:\/index)?\/?$/,"")||"/"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"toRoute",{enumerable:!0,get:function(){return c}})},7039:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b={};(()=>{function a(a,b){void 0===b&&(b={});for(var c=function(a){for(var b=[],c=0;c<a.length;){var d=a[c];if("*"===d||"+"===d||"?"===d){b.push({type:"MODIFIER",index:c,value:a[c++]});continue}if("\\"===d){b.push({type:"ESCAPED_CHAR",index:c++,value:a[c++]});continue}if("{"===d){b.push({type:"OPEN",index:c,value:a[c++]});continue}if("}"===d){b.push({type:"CLOSE",index:c,value:a[c++]});continue}if(":"===d){for(var e="",f=c+1;f<a.length;){var g=a.charCodeAt(f);if(g>=48&&g<=57||g>=65&&g<=90||g>=97&&g<=122||95===g){e+=a[f++];continue}break}if(!e)throw TypeError("Missing parameter name at ".concat(c));b.push({type:"NAME",index:c,value:e}),c=f;continue}if("("===d){var h=1,i="",f=c+1;if("?"===a[f])throw TypeError('Pattern cannot start with "?" at '.concat(f));for(;f<a.length;){if("\\"===a[f]){i+=a[f++]+a[f++];continue}if(")"===a[f]){if(0==--h){f++;break}}else if("("===a[f]&&(h++,"?"!==a[f+1]))throw TypeError("Capturing groups are not allowed at ".concat(f));i+=a[f++]}if(h)throw TypeError("Unbalanced pattern at ".concat(c));if(!i)throw TypeError("Missing pattern at ".concat(c));b.push({type:"PATTERN",index:c,value:i}),c=f;continue}b.push({type:"CHAR",index:c,value:a[c++]})}return b.push({type:"END",index:c,value:""}),b}(a),d=b.prefixes,f=void 0===d?"./":d,g=b.delimiter,h=void 0===g?"/#?":g,i=[],j=0,k=0,l="",m=function(a){if(k<c.length&&c[k].type===a)return c[k++].value},n=function(a){var b=m(a);if(void 0!==b)return b;var d=c[k],e=d.type,f=d.index;throw TypeError("Unexpected ".concat(e," at ").concat(f,", expected ").concat(a))},o=function(){for(var a,b="";a=m("CHAR")||m("ESCAPED_CHAR");)b+=a;return b},p=function(a){for(var b=0;b<h.length;b++){var c=h[b];if(a.indexOf(c)>-1)return!0}return!1},q=function(a){var b=i[i.length-1],c=a||(b&&"string"==typeof b?b:"");if(b&&!c)throw TypeError('Must have text between two parameters, missing text after "'.concat(b.name,'"'));return!c||p(c)?"[^".concat(e(h),"]+?"):"(?:(?!".concat(e(c),")[^").concat(e(h),"])+?")};k<c.length;){var r=m("CHAR"),s=m("NAME"),t=m("PATTERN");if(s||t){var u=r||"";-1===f.indexOf(u)&&(l+=u,u=""),l&&(i.push(l),l=""),i.push({name:s||j++,prefix:u,suffix:"",pattern:t||q(u),modifier:m("MODIFIER")||""});continue}var v=r||m("ESCAPED_CHAR");if(v){l+=v;continue}if(l&&(i.push(l),l=""),m("OPEN")){var u=o(),w=m("NAME")||"",x=m("PATTERN")||"",y=o();n("CLOSE"),i.push({name:w||(x?j++:""),pattern:w&&!x?q(u):x,prefix:u,suffix:y,modifier:m("MODIFIER")||""});continue}n("END")}return i}function c(a,b){void 0===b&&(b={});var c=f(b),d=b.encode,e=void 0===d?function(a){return a}:d,g=b.validate,h=void 0===g||g,i=a.map(function(a){if("object"==typeof a)return new RegExp("^(?:".concat(a.pattern,")$"),c)});return function(b){for(var c="",d=0;d<a.length;d++){var f=a[d];if("string"==typeof f){c+=f;continue}var g=b?b[f.name]:void 0,j="?"===f.modifier||"*"===f.modifier,k="*"===f.modifier||"+"===f.modifier;if(Array.isArray(g)){if(!k)throw TypeError('Expected "'.concat(f.name,'" to not repeat, but got an array'));if(0===g.length){if(j)continue;throw TypeError('Expected "'.concat(f.name,'" to not be empty'))}for(var l=0;l<g.length;l++){var m=e(g[l],f);if(h&&!i[d].test(m))throw TypeError('Expected all "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix}continue}if("string"==typeof g||"number"==typeof g){var m=e(String(g),f);if(h&&!i[d].test(m))throw TypeError('Expected "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix;continue}if(!j){var n=k?"an array":"a string";throw TypeError('Expected "'.concat(f.name,'" to be ').concat(n))}}return c}}function d(a,b,c){void 0===c&&(c={});var d=c.decode,e=void 0===d?function(a){return a}:d;return function(c){var d=a.exec(c);if(!d)return!1;for(var f=d[0],g=d.index,h=Object.create(null),i=1;i<d.length;i++)!function(a){if(void 0!==d[a]){var c=b[a-1];"*"===c.modifier||"+"===c.modifier?h[c.name]=d[a].split(c.prefix+c.suffix).map(function(a){return e(a,c)}):h[c.name]=e(d[a],c)}}(i);return{path:f,index:g,params:h}}}function e(a){return a.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function f(a){return a&&a.sensitive?"":"i"}function g(a,b,c){void 0===c&&(c={});for(var d=c.strict,g=void 0!==d&&d,h=c.start,i=c.end,j=c.encode,k=void 0===j?function(a){return a}:j,l=c.delimiter,m=c.endsWith,n="[".concat(e(void 0===m?"":m),"]|$"),o="[".concat(e(void 0===l?"/#?":l),"]"),p=void 0===h||h?"^":"",q=0;q<a.length;q++){var r=a[q];if("string"==typeof r)p+=e(k(r));else{var s=e(k(r.prefix)),t=e(k(r.suffix));if(r.pattern)if(b&&b.push(r),s||t)if("+"===r.modifier||"*"===r.modifier){var u="*"===r.modifier?"?":"";p+="(?:".concat(s,"((?:").concat(r.pattern,")(?:").concat(t).concat(s,"(?:").concat(r.pattern,"))*)").concat(t,")").concat(u)}else p+="(?:".concat(s,"(").concat(r.pattern,")").concat(t,")").concat(r.modifier);else{if("+"===r.modifier||"*"===r.modifier)throw TypeError('Can not repeat "'.concat(r.name,'" without a prefix and suffix'));p+="(".concat(r.pattern,")").concat(r.modifier)}else p+="(?:".concat(s).concat(t,")").concat(r.modifier)}}if(void 0===i||i)g||(p+="".concat(o,"?")),p+=c.endsWith?"(?=".concat(n,")"):"$";else{var v=a[a.length-1],w="string"==typeof v?o.indexOf(v[v.length-1])>-1:void 0===v;g||(p+="(?:".concat(o,"(?=").concat(n,"))?")),w||(p+="(?=".concat(o,"|").concat(n,")"))}return new RegExp(p,f(c))}function h(b,c,d){if(b instanceof RegExp){var e;if(!c)return b;for(var i=/\((?:\?<(.*?)>)?(?!\?)/g,j=0,k=i.exec(b.source);k;)c.push({name:k[1]||j++,prefix:"",suffix:"",modifier:"",pattern:""}),k=i.exec(b.source);return b}return Array.isArray(b)?(e=b.map(function(a){return h(a,c,d).source}),new RegExp("(?:".concat(e.join("|"),")"),f(d))):g(a(b,d),c,d)}Object.defineProperty(b,"__esModule",{value:!0}),b.pathToRegexp=b.tokensToRegexp=b.regexpToFunction=b.match=b.tokensToFunction=b.compile=b.parse=void 0,b.parse=a,b.compile=function(b,d){return c(a(b,d),d)},b.tokensToFunction=c,b.match=function(a,b){var c=[];return d(h(a,c,b),c,b)},b.regexpToFunction=d,b.tokensToRegexp=g,b.pathToRegexp=h})(),a.exports=b})()},7125:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(27048),e=c(6062),f=c(42776);class g{static #a=this.EMPTY=new g(null,{metadata:{},contentType:null});static fromStatic(a,b){return new g(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw Object.defineProperty(new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:[this.response]}pipeThrough(a){this.response=this.readable.pipeThrough(a)}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},7370:(a,b)=>{"use strict";function c(){return{previewModeId:process.env.__NEXT_PREVIEW_MODE_ID||"",previewModeSigningKey:process.env.__NEXT_PREVIEW_MODE_SIGNING_KEY||"",previewModeEncryptionKey:process.env.__NEXT_PREVIEW_MODE_ENCRYPTION_KEY||""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getEdgePreviewProps",{enumerable:!0,get:function(){return c}})},7841:(a,b,c)=>{"use strict";c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(28629);let i=e().join(h.n,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l={main:e().join(h.n,"db.json"),usage:e().join(h.n,"usage.json"),disabled:e().join(h.n,"disabledModels.json"),details:e().join(h.n,"request-details.json")};function m(){for(let a of[h.n,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},8007:(a,b,c)=>{"use strict";function d(a){return function(){let{cookie:b}=a;if(!b)return{};let{parse:d}=c(19560);return d(Array.isArray(b)?b.join("; "):b)}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getCookieParser",{enumerable:!0,get:function(){return d}})},8582:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"after",{enumerable:!0,get:function(){return e}});let d=c(29294);function e(a){let b=d.workAsyncStorage.getStore();if(!b)throw Object.defineProperty(Error("`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context"),"__NEXT_ERROR_CODE",{value:"E468",enumerable:!1,configurable:!0});let{afterContext:c}=b;return c.after(a)}},8912:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e,f,g={DynamicHoleKind:function(){return $},Postpone:function(){return D},PreludeState:function(){return af},abortAndThrowOnSynchronousRequestDataAccess:function(){return C},abortOnSynchronousPlatformIOAccess:function(){return B},accessedDynamicData:function(){return L},annotateDynamicAccess:function(){return Q},consumeDynamicAccess:function(){return M},createDynamicTrackingState:function(){return u},createDynamicValidationState:function(){return v},createHangingInputAbortSignal:function(){return P},createInstantValidationState:function(){return _},createRenderInBrowserAbortSignal:function(){return O},formatDynamicAPIAccesses:function(){return N},getFirstDynamicReason:function(){return w},getNavigationDisallowedDynamicReasons:function(){return aj},getStaticShellDisallowedDynamicReasons:function(){return ai},isDynamicPostpone:function(){return G},isPrerenderInterruptedError:function(){return K},logDisallowedDynamicError:function(){return ag},markCurrentScopeAsDynamic:function(){return x},postponeWithTracking:function(){return E},throwIfDisallowedDynamic:function(){return ah},throwToInterruptStaticGeneration:function(){return y},trackAllowedDynamicAccess:function(){return Z},trackDynamicDataInDynamicRender:function(){return z},trackDynamicHoleInNavigation:function(){return aa},trackDynamicHoleInRuntimeShell:function(){return ac},trackDynamicHoleInStaticShell:function(){return ad},trackThrownErrorInNavigation:function(){return ab},useDynamicRouteParams:function(){return R},useDynamicSearchParams:function(){return S}};for(var h in g)Object.defineProperty(b,h,{enumerable:!0,get:g[h]});let i=(d=c(34539))&&d.__esModule?d:{default:d},j=c(89198),k=c(49540),l=c(63033),m=c(29294),n=c(80311),o=c(50158),p=c(28704),q=c(69545),r=c(42776),s=c(2258),t="function"==typeof i.default.unstable_postpone;function u(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function v(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function w(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function x(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new k.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return E(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new j.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function y(a,b,c){let d=Object.defineProperty(new j.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function z(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function A(a,b,c){let d=J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function B(a,b,c,d){let e=d.dynamicTracking;A(a,b,d),e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}function C(a,b,c,d){if(!1===d.controller.signal.aborted){A(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function D({reason:a,route:b}){let c=l.workUnitAsyncStorage.getStore();E(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function E(a,b,c){(function(){if(!t)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),i.default.unstable_postpone(F(a,b))}function F(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function G(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&H(a.message)}function H(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===H(F("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let I="NEXT_PRERENDER_INTERRUPTED";function J(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=I,b}function K(a){return"object"==typeof a&&null!==a&&a.digest===I&&"name"in a&&"message"in a&&a instanceof Error}function L(a){return a.length>0}function M(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function N(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
1
+ (()=>{var a={};a.id=8929,a.ids=[8929],a.modules={1390:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"formatNextPathnameInfo",{enumerable:!0,get:function(){return h}});let d=c(19524),e=c(67301),f=c(36066),g=c(98617);function h(a){let b=(0,g.addLocale)(a.pathname,a.locale,a.buildId?void 0:a.defaultLocale,a.ignorePrefix);return(a.buildId||!a.trailingSlash)&&(b=(0,d.removeTrailingSlash)(b)),a.buildId&&(b=(0,f.addPathSuffix)((0,e.addPathPrefix)(b,`/_next/data/${a.buildId}`),"/"===a.pathname?"index.json":".json")),b=(0,e.addPathPrefix)(b,a.basePath),!a.buildId&&a.trailingSlash?b.endsWith("/")?b:(0,f.addPathSuffix)(b,"/"):(0,d.removeTrailingSlash)(b)}},2258:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"INSTANT_VALIDATION_BOUNDARY_NAME",{enumerable:!0,get:function(){return c}});let c="__next_instant_validation_boundary__"},2886:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},3144:(a,b,c)=>{"use strict";var d,e;Object.defineProperty(b,"__esModule",{value:!0}),d=c(8582),e=b,Object.keys(d).forEach(function(a){"default"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return d[a]}})})},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4522:(a,b)=>{"use strict";function c(a){try{return decodeURIComponent(a)}catch{return a}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"decodeQueryPathParameter",{enumerable:!0,get:function(){return c}})},4945:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isDynamicRoute",{enumerable:!0,get:function(){return g}});let d=c(11042),e=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,f=/\/\[[^/]+\](?=\/|$)/;function g(a,b=!0){return((0,d.isInterceptionRouteAppPath)(a)&&(a=(0,d.extractInterceptionRouteInformation)(a).interceptedRoute),b)?f.test(a):e.test(a)}},6062:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isAbortError:function(){return k},pipeToNodeResponse:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(88450),g=c(59841),h=c(12726),i=c(88026),j=c(97757);function k(a){return(null==a?void 0:a.name)==="AbortError"||(null==a?void 0:a.name)===f.ResponseAbortedName}async function l(a,b,c){try{let{errored:d,destroyed:e}=b;if(d||e)return;let k=(0,f.createAbortController)(b),l=function(a,b){let c=!1,d=new g.DetachedPromise;function e(){d.resolve()}a.on("drain",e),a.once("close",()=>{a.off("drain",e),d.resolve()});let f=new g.DetachedPromise;return a.once("finish",()=>{f.resolve()}),new WritableStream({write:async b=>{if(!c){if(c=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let a=(0,j.getClientComponentLoaderMetrics)();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}a.flushHeaders(),(0,h.getTracer)().trace(i.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let c=a.write(b);"flush"in a&&"function"==typeof a.flush&&a.flush(),c||(await d.promise,d=new g.DetachedPromise)}catch(b){throw a.end(),Object.defineProperty(Error("failed to write chunk to response",{cause:b}),"__NEXT_ERROR_CODE",{value:"E321",enumerable:!1,configurable:!0})}},abort:b=>{a.writableFinished||a.destroy(b)},close:async()=>{if(b&&await b,!a.writableFinished)return a.end(),f.promise}})}(b,c);await a.pipeTo(l,{signal:k.signal})}catch(a){if(k(a))return;throw Object.defineProperty(Error("failed to pipe response",{cause:a}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}},6365:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=c(22697),e=c(86013);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},6492:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ENCODED_TAGS",{enumerable:!0,get:function(){return c}});let c={OPENING:{HTML:new Uint8Array([60,104,116,109,108]),HEAD:new Uint8Array([60,104,101,97,100]),BODY:new Uint8Array([60,98,111,100,121])},CLOSED:{HEAD:new Uint8Array([60,47,104,101,97,100,62]),BODY:new Uint8Array([60,47,98,111,100,121,62]),HTML:new Uint8Array([60,47,104,116,109,108,62]),BODY_AND_HTML:new Uint8Array([60,47,98,111,100,121,62,60,47,104,116,109,108,62])},META:{ICON_MARK:new Uint8Array([60,109,101,116,97,32,110,97,109,101,61,34,194,171,110,120,116,45,105,99,111,110,194,187,34])}}},6796:(a,b,c)=>{"use strict";a.exports=c(10846)},6872:(a,b)=>{"use strict";function c(a){return"1"===a}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isRSCRequestHeader",{enumerable:!0,get:function(){return c}})},6892:(a,b)=>{"use strict";function c(a){return a.replace(/(?:\/index)?\/?$/,"")||"/"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"toRoute",{enumerable:!0,get:function(){return c}})},7039:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b={};(()=>{function a(a,b){void 0===b&&(b={});for(var c=function(a){for(var b=[],c=0;c<a.length;){var d=a[c];if("*"===d||"+"===d||"?"===d){b.push({type:"MODIFIER",index:c,value:a[c++]});continue}if("\\"===d){b.push({type:"ESCAPED_CHAR",index:c++,value:a[c++]});continue}if("{"===d){b.push({type:"OPEN",index:c,value:a[c++]});continue}if("}"===d){b.push({type:"CLOSE",index:c,value:a[c++]});continue}if(":"===d){for(var e="",f=c+1;f<a.length;){var g=a.charCodeAt(f);if(g>=48&&g<=57||g>=65&&g<=90||g>=97&&g<=122||95===g){e+=a[f++];continue}break}if(!e)throw TypeError("Missing parameter name at ".concat(c));b.push({type:"NAME",index:c,value:e}),c=f;continue}if("("===d){var h=1,i="",f=c+1;if("?"===a[f])throw TypeError('Pattern cannot start with "?" at '.concat(f));for(;f<a.length;){if("\\"===a[f]){i+=a[f++]+a[f++];continue}if(")"===a[f]){if(0==--h){f++;break}}else if("("===a[f]&&(h++,"?"!==a[f+1]))throw TypeError("Capturing groups are not allowed at ".concat(f));i+=a[f++]}if(h)throw TypeError("Unbalanced pattern at ".concat(c));if(!i)throw TypeError("Missing pattern at ".concat(c));b.push({type:"PATTERN",index:c,value:i}),c=f;continue}b.push({type:"CHAR",index:c,value:a[c++]})}return b.push({type:"END",index:c,value:""}),b}(a),d=b.prefixes,f=void 0===d?"./":d,g=b.delimiter,h=void 0===g?"/#?":g,i=[],j=0,k=0,l="",m=function(a){if(k<c.length&&c[k].type===a)return c[k++].value},n=function(a){var b=m(a);if(void 0!==b)return b;var d=c[k],e=d.type,f=d.index;throw TypeError("Unexpected ".concat(e," at ").concat(f,", expected ").concat(a))},o=function(){for(var a,b="";a=m("CHAR")||m("ESCAPED_CHAR");)b+=a;return b},p=function(a){for(var b=0;b<h.length;b++){var c=h[b];if(a.indexOf(c)>-1)return!0}return!1},q=function(a){var b=i[i.length-1],c=a||(b&&"string"==typeof b?b:"");if(b&&!c)throw TypeError('Must have text between two parameters, missing text after "'.concat(b.name,'"'));return!c||p(c)?"[^".concat(e(h),"]+?"):"(?:(?!".concat(e(c),")[^").concat(e(h),"])+?")};k<c.length;){var r=m("CHAR"),s=m("NAME"),t=m("PATTERN");if(s||t){var u=r||"";-1===f.indexOf(u)&&(l+=u,u=""),l&&(i.push(l),l=""),i.push({name:s||j++,prefix:u,suffix:"",pattern:t||q(u),modifier:m("MODIFIER")||""});continue}var v=r||m("ESCAPED_CHAR");if(v){l+=v;continue}if(l&&(i.push(l),l=""),m("OPEN")){var u=o(),w=m("NAME")||"",x=m("PATTERN")||"",y=o();n("CLOSE"),i.push({name:w||(x?j++:""),pattern:w&&!x?q(u):x,prefix:u,suffix:y,modifier:m("MODIFIER")||""});continue}n("END")}return i}function c(a,b){void 0===b&&(b={});var c=f(b),d=b.encode,e=void 0===d?function(a){return a}:d,g=b.validate,h=void 0===g||g,i=a.map(function(a){if("object"==typeof a)return new RegExp("^(?:".concat(a.pattern,")$"),c)});return function(b){for(var c="",d=0;d<a.length;d++){var f=a[d];if("string"==typeof f){c+=f;continue}var g=b?b[f.name]:void 0,j="?"===f.modifier||"*"===f.modifier,k="*"===f.modifier||"+"===f.modifier;if(Array.isArray(g)){if(!k)throw TypeError('Expected "'.concat(f.name,'" to not repeat, but got an array'));if(0===g.length){if(j)continue;throw TypeError('Expected "'.concat(f.name,'" to not be empty'))}for(var l=0;l<g.length;l++){var m=e(g[l],f);if(h&&!i[d].test(m))throw TypeError('Expected all "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix}continue}if("string"==typeof g||"number"==typeof g){var m=e(String(g),f);if(h&&!i[d].test(m))throw TypeError('Expected "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix;continue}if(!j){var n=k?"an array":"a string";throw TypeError('Expected "'.concat(f.name,'" to be ').concat(n))}}return c}}function d(a,b,c){void 0===c&&(c={});var d=c.decode,e=void 0===d?function(a){return a}:d;return function(c){var d=a.exec(c);if(!d)return!1;for(var f=d[0],g=d.index,h=Object.create(null),i=1;i<d.length;i++)!function(a){if(void 0!==d[a]){var c=b[a-1];"*"===c.modifier||"+"===c.modifier?h[c.name]=d[a].split(c.prefix+c.suffix).map(function(a){return e(a,c)}):h[c.name]=e(d[a],c)}}(i);return{path:f,index:g,params:h}}}function e(a){return a.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function f(a){return a&&a.sensitive?"":"i"}function g(a,b,c){void 0===c&&(c={});for(var d=c.strict,g=void 0!==d&&d,h=c.start,i=c.end,j=c.encode,k=void 0===j?function(a){return a}:j,l=c.delimiter,m=c.endsWith,n="[".concat(e(void 0===m?"":m),"]|$"),o="[".concat(e(void 0===l?"/#?":l),"]"),p=void 0===h||h?"^":"",q=0;q<a.length;q++){var r=a[q];if("string"==typeof r)p+=e(k(r));else{var s=e(k(r.prefix)),t=e(k(r.suffix));if(r.pattern)if(b&&b.push(r),s||t)if("+"===r.modifier||"*"===r.modifier){var u="*"===r.modifier?"?":"";p+="(?:".concat(s,"((?:").concat(r.pattern,")(?:").concat(t).concat(s,"(?:").concat(r.pattern,"))*)").concat(t,")").concat(u)}else p+="(?:".concat(s,"(").concat(r.pattern,")").concat(t,")").concat(r.modifier);else{if("+"===r.modifier||"*"===r.modifier)throw TypeError('Can not repeat "'.concat(r.name,'" without a prefix and suffix'));p+="(".concat(r.pattern,")").concat(r.modifier)}else p+="(?:".concat(s).concat(t,")").concat(r.modifier)}}if(void 0===i||i)g||(p+="".concat(o,"?")),p+=c.endsWith?"(?=".concat(n,")"):"$";else{var v=a[a.length-1],w="string"==typeof v?o.indexOf(v[v.length-1])>-1:void 0===v;g||(p+="(?:".concat(o,"(?=").concat(n,"))?")),w||(p+="(?=".concat(o,"|").concat(n,")"))}return new RegExp(p,f(c))}function h(b,c,d){if(b instanceof RegExp){var e;if(!c)return b;for(var i=/\((?:\?<(.*?)>)?(?!\?)/g,j=0,k=i.exec(b.source);k;)c.push({name:k[1]||j++,prefix:"",suffix:"",modifier:"",pattern:""}),k=i.exec(b.source);return b}return Array.isArray(b)?(e=b.map(function(a){return h(a,c,d).source}),new RegExp("(?:".concat(e.join("|"),")"),f(d))):g(a(b,d),c,d)}Object.defineProperty(b,"__esModule",{value:!0}),b.pathToRegexp=b.tokensToRegexp=b.regexpToFunction=b.match=b.tokensToFunction=b.compile=b.parse=void 0,b.parse=a,b.compile=function(b,d){return c(a(b,d),d)},b.tokensToFunction=c,b.match=function(a,b){var c=[];return d(h(a,c,b),c,b)},b.regexpToFunction=d,b.tokensToRegexp=g,b.pathToRegexp=h})(),a.exports=b})()},7125:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(27048),e=c(6062),f=c(42776);class g{static #a=this.EMPTY=new g(null,{metadata:{},contentType:null});static fromStatic(a,b){return new g(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw Object.defineProperty(new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:[this.response]}pipeThrough(a){this.response=this.readable.pipeThrough(a)}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},7841:(a,b,c)=>{"use strict";c.d(b,{AL:()=>j,HG:()=>i,Jh:()=>m,KQ:()=>k,Or:()=>l});var d=c(76760),e=c.n(d),f=c(73024),g=c.n(f),h=c(28629);let i=e().join(h.n,"db"),j=e().join(i,"data.sqlite"),k=e().join(i,"backups"),l={main:e().join(h.n,"db.json"),usage:e().join(h.n,"usage.json"),disabled:e().join(h.n,"disabledModels.json"),details:e().join(h.n,"request-details.json")};function m(){for(let a of[h.n,i,k])g().existsSync(a)||g().mkdirSync(a,{recursive:!0})}},8007:(a,b,c)=>{"use strict";function d(a){return function(){let{cookie:b}=a;if(!b)return{};let{parse:d}=c(19560);return d(Array.isArray(b)?b.join("; "):b)}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getCookieParser",{enumerable:!0,get:function(){return d}})},8582:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"after",{enumerable:!0,get:function(){return e}});let d=c(29294);function e(a){let b=d.workAsyncStorage.getStore();if(!b)throw Object.defineProperty(Error("`after` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context"),"__NEXT_ERROR_CODE",{value:"E468",enumerable:!1,configurable:!0});let{afterContext:c}=b;return c.after(a)}},8912:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e,f,g={DynamicHoleKind:function(){return $},Postpone:function(){return D},PreludeState:function(){return af},abortAndThrowOnSynchronousRequestDataAccess:function(){return C},abortOnSynchronousPlatformIOAccess:function(){return B},accessedDynamicData:function(){return L},annotateDynamicAccess:function(){return Q},consumeDynamicAccess:function(){return M},createDynamicTrackingState:function(){return u},createDynamicValidationState:function(){return v},createHangingInputAbortSignal:function(){return P},createInstantValidationState:function(){return _},createRenderInBrowserAbortSignal:function(){return O},formatDynamicAPIAccesses:function(){return N},getFirstDynamicReason:function(){return w},getNavigationDisallowedDynamicReasons:function(){return aj},getStaticShellDisallowedDynamicReasons:function(){return ai},isDynamicPostpone:function(){return G},isPrerenderInterruptedError:function(){return K},logDisallowedDynamicError:function(){return ag},markCurrentScopeAsDynamic:function(){return x},postponeWithTracking:function(){return E},throwIfDisallowedDynamic:function(){return ah},throwToInterruptStaticGeneration:function(){return y},trackAllowedDynamicAccess:function(){return Z},trackDynamicDataInDynamicRender:function(){return z},trackDynamicHoleInNavigation:function(){return aa},trackDynamicHoleInRuntimeShell:function(){return ac},trackDynamicHoleInStaticShell:function(){return ad},trackThrownErrorInNavigation:function(){return ab},useDynamicRouteParams:function(){return R},useDynamicSearchParams:function(){return S}};for(var h in g)Object.defineProperty(b,h,{enumerable:!0,get:g[h]});let i=(d=c(34539))&&d.__esModule?d:{default:d},j=c(89198),k=c(49540),l=c(63033),m=c(29294),n=c(80311),o=c(50158),p=c(28704),q=c(69545),r=c(42776),s=c(2258),t="function"==typeof i.default.unstable_postpone;function u(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function v(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function w(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function x(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new k.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return E(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new j.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function y(a,b,c){let d=Object.defineProperty(new j.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function z(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function A(a,b,c){let d=J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function B(a,b,c,d){let e=d.dynamicTracking;A(a,b,d),e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}function C(a,b,c,d){if(!1===d.controller.signal.aborted){A(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function D({reason:a,route:b}){let c=l.workUnitAsyncStorage.getStore();E(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function E(a,b,c){(function(){if(!t)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),i.default.unstable_postpone(F(a,b))}function F(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function G(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&H(a.message)}function H(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===H(F("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let I="NEXT_PRERENDER_INTERRUPTED";function J(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=I,b}function K(a){return"object"==typeof a&&null!==a&&a.digest===I&&"name"in a&&"message"in a&&a instanceof Error}function L(a){return a.length>0}function M(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function N(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
2
2
  ${b}`))}function O(){let a=new AbortController;return a.abort(Object.defineProperty(new q.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function P(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else if("prerender-runtime"===a.type&&a.stagedRendering){let{stagedRendering:c}=a;c.waitForStage((0,n.getRuntimeStage)(c)).then(()=>(0,p.scheduleOnNextTick)(()=>b.abort()))}else(0,p.scheduleOnNextTick)(()=>b.abort());return b.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function Q(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function R(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":case"prerender":{let d=c.fallbackRouteParams;d&&d.size>0&&i.default.use((0,n.makeHangingPromise)(c.renderSignal,b.route,a));break}case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return E(b.route,a,c.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function S(a){let b=m.workAsyncStorage.getStore(),c=l.workUnitAsyncStorage.getStore();if(b)switch(!c&&(0,l.throwForMissingRequestStore)(a),c.type){case"validation-client":case"request":return;case"prerender-client":i.default.use((0,n.makeHangingPromise)(c.renderSignal,b.route,a));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new q.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new r.InvariantError(`\`${a}\` was called in \`generateStaticParams\`. Next.js should be preventing ${a} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let T=/\n\s+at Suspense \(<anonymous>\)/,U=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${o.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),V=RegExp(`\\n\\s+at ${o.METADATA_BOUNDARY_NAME}[\\n\\s]`),W=RegExp(`\\n\\s+at ${o.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),X=RegExp(`\\n\\s+at ${o.OUTLET_BOUNDARY_NAME}[\\n\\s]`),Y=RegExp(`\\n\\s+at ${s.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`);function Z(a,b,c,d){if(!X.test(b)){if(V.test(b)){c.hasDynamicMetadata=!0;return}if(W.test(b)){c.hasDynamicViewport=!0;return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(T.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1079",enumerable:!1,configurable:!0}),b,null);return void c.dynamicErrors.push(e)}}}var $=((e={})[e.Runtime=1]="Runtime",e[e.Dynamic=2]="Dynamic",e);function _(a){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],createInstantStack:a}}function aa(a,b,c,d,e,f){if(X.test(b))return;if(V.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateMetadata` or you have file-based metadata such as icons that depend on dynamic params segments.":"Uncached data or `connection()` was accessed inside `generateMetadata`."} Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1076",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicMetadata=d;return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed inside `generateViewport`.":"Uncached data or `connection()` was accessed inside `generateViewport`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1086",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicErrors.push(d);return}let g=Y.exec(b);if(g){let a=T.exec(b);if(a&&a.index<g.index){c.hasAllowedDynamic=!0;return}}else if(f.expectedIds.size===f.renderedIds.size){c.hasAllowedClientDynamicAboveBoundary=!0,c.hasAllowedDynamic=!0;return}else{let d=ae(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`unstable_instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1082",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.validationPreventingErrors.push(d);return}if(d.syncDynamicErrorWithStack){let a=d.syncDynamicErrorWithStack;null!==c.createInstantStack&&void 0===a.cause&&(a.cause=c.createInstantStack()),c.dynamicErrors.push(a);return}let h=ae(Object.defineProperty(Error(`Route "${a.route}": ${1===e?"Runtime data such as `cookies()`, `headers()`, `params`, or `searchParams` was accessed outside of `<Suspense>`.":"Uncached data or `connection()` was accessed outside of `<Suspense>`."} This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1078",enumerable:!1,configurable:!0}),b,c.createInstantStack);c.dynamicErrors.push(h)}function ab(a,b,c,d){let e=Y.exec(d);if(e){let f=T.exec(d);if(f&&f.index<e.index)return;let g=ae(Object.defineProperty(Error(`Route "${a.route}": Could not validate \`unstable_instant\` because an error prevented the target segment from rendering.`,{cause:c}),"__NEXT_ERROR_CODE",{value:"E1112",enumerable:!1,configurable:!0}),d,null);b.validationPreventingErrors.push(g)}else{let a=ae(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:c}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),d,null);b.thrownErrorsOutsideBoundary.push(a)}}function ac(a,b,c,d){if(X.test(b))return;if(V.test(b)){c.dynamicMetadata=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateMetadata\`. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1080",enumerable:!1,configurable:!0}),b,null);return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1077",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(d);return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}if(T.test(b)){c.hasAllowedDynamic=!0;return}else if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Uncached data or \`connection()\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1084",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(e)}function ad(a,b,c,d){if(!X.test(b)){if(V.test(b)){c.dynamicMetadata=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateMetadata\` or you have file-based metadata such as icons that depend on dynamic params segments. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),"__NEXT_ERROR_CODE",{value:"E1085",enumerable:!1,configurable:!0}),b,null);return}if(W.test(b)){let d=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),"__NEXT_ERROR_CODE",{value:"E1081",enumerable:!1,configurable:!0}),b,null);c.dynamicErrors.push(d);return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(T.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=ae(Object.defineProperty(Error(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`),"__NEXT_ERROR_CODE",{value:"E1083",enumerable:!1,configurable:!0}),b,null);return void c.dynamicErrors.push(e)}}}function ae(a,b,c){return null!==c&&(a.cause=c()),a.stack=a.name+": "+a.message+b,a}var af=((f={})[f.Full=0]="Full",f[f.Empty=1]="Empty",f[f.Errored=2]="Errored",f);function ag(a,b){console.error(b),console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
3
3
  - Start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.
4
- - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}function ah(a,b,c,d){if(d.syncDynamicErrorWithStack)throw ag(a,d.syncDynamicErrorWithStack),new k.StaticGenBailoutError;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)ag(a,d[b]);throw new k.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new k.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new k.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new k.StaticGenBailoutError}function ai(a,b,c,d){if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new r.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];return[]}function aj(a,b,c,d,e){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:f}=c;if(f.length>0)return f;if(e.renderedIds.size<e.expectedIds.size){let{thrownErrorsOutsideBoundary:b,createInstantStack:d}=c;if(0===b.length){let b=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering for an unknown reason.`,c=null!==d?d():Error();return c.name="Error",c.message=b,[c]}if(1===b.length){let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,b[0]]}{let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,...b]}}if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return c.hasAllowedClientDynamicAboveBoundary?[]:[Object.defineProperty(new r.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})]}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}return[]}},9913:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E1045",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11042:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERCEPTION_ROUTE_MARKERS:function(){return g},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92539),g=["(..)(..)","(.)","(..)","(...)"];function h(a){return void 0!==a.split("/").find(a=>g.find(b=>a.startsWith(b)))}function i(a){let b,c,d;for(let e of a.split("/"))if(c=g.find(a=>e.startsWith(a))){[b,d]=a.split(c,2);break}if(!b||!c||!d)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(b=(0,f.normalizeAppPath)(b),c){case"(.)":d="/"===b?`/${d}`:b+"/"+d;break;case"(..)":if("/"===b)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..) marker at the root level, use (.) instead.`),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});d=b.split("/").slice(0,-1).concat(d).join("/");break;case"(...)":d="/"+d;break;case"(..)(..)":let e=b.split("/");if(e.length<=2)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..)(..) marker at the root level or one level up.`),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});d=e.slice(0,-2).concat(d).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:b,interceptedRoute:d}}},12217:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={djb2Hash:function(){return e},hexHash:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return b>>>0}function f(a){return e(a).toString(36).slice(0,5)}},12726:(a,b,c)=>{"use strict";let d,e;Object.defineProperty(b,"__esModule",{value:!0});var f={BubbledError:function(){return q},SpanKind:function(){return o},SpanStatusCode:function(){return n},getTracer:function(){return y},isBubbledError:function(){return r}};for(var g in f)Object.defineProperty(b,g,{enumerable:!0,get:f[g]});let h=c(88026),i=c(32053),j=process.env.NEXT_OTEL_PERFORMANCE_PREFIX;try{d=c(58930)}catch(a){d=c(58930)}let{context:k,propagation:l,trace:m,SpanStatusCode:n,SpanKind:o,ROOT_CONTEXT:p}=d;class q extends Error{constructor(a,b){super(),this.bubble=a,this.result=b}}function r(a){return"object"==typeof a&&null!==a&&a instanceof q}let s=(a,b)=>{r(b)&&b.bubble?a.setAttribute("next.bubble",!0):(b&&(a.recordException(b),a.setAttribute("error.type",b.name)),a.setStatus({code:n.ERROR,message:null==b?void 0:b.message})),a.end()},t=new Map,u=d.createContextKey("next.rootSpanId"),v=0,w={set(a,b,c){a.push({key:b,value:c})}};class x{getTracerInstance(){return m.getTracer("next.js","0.0.1")}getContext(){return k}getTracePropagationData(){let a=k.active(),b=[];return l.inject(a,b,w),b}getActiveScopeSpan(){return m.getSpan(null==k?void 0:k.active())}withPropagatedContext(a,b,c,d=!1){let e=k.active();if(d){let d=l.extract(p,a,c);if(m.getSpanContext(d))return k.with(d,b);let f=l.extract(e,a,c);return k.with(f,b)}if(m.getSpanContext(e))return b();let f=l.extract(e,a,c);return k.with(f,b)}trace(...a){let[b,c,d]=a,{fn:e,options:f}="function"==typeof c?{fn:c,options:{}}:{fn:d,options:{...c}},g=f.spanName??b;if(!h.NextVanillaSpanAllowlist.has(b)&&"1"!==process.env.NEXT_OTEL_VERBOSE||f.hideSpan)return e();let l=this.getSpanContext((null==f?void 0:f.parentSpan)??this.getActiveScopeSpan());l||(l=(null==k?void 0:k.active())??p);let m=l.getValue(u),n="number"!=typeof m||!t.has(m),o=v++;return f.attributes={"next.span_name":g,"next.span_type":b,...f.attributes},k.with(l.setValue(u,o),()=>this.getTracerInstance().startActiveSpan(g,f,a=>{let c;j&&b&&h.LogSpanAllowList.has(b)&&(c="performance"in globalThis&&"measure"in performance?globalThis.performance.now():void 0);let d=!1,g=()=>{!d&&(d=!0,t.delete(o),c&&performance.measure(`${j}:next-${(b.split(".").pop()||"").replace(/[A-Z]/g,a=>"-"+a.toLowerCase())}`,{start:c,end:performance.now()}))};if(n&&t.set(o,new Map(Object.entries(f.attributes??{}))),e.length>1)try{return e(a,b=>s(a,b))}catch(b){throw s(a,b),b}finally{g()}try{let b=e(a);if((0,i.isThenable)(b))return b.then(b=>(a.end(),b)).catch(b=>{throw s(a,b),b}).finally(g);return a.end(),g(),b}catch(b){throw s(a,b),g(),b}}))}wrap(...a){let b=this,[c,d,e]=3===a.length?a:[a[0],{},a[1]];return h.NextVanillaSpanAllowlist.has(c)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let a=d;"function"==typeof a&&"function"==typeof e&&(a=a.apply(this,arguments));let f=arguments.length-1,g=arguments[f];if("function"!=typeof g)return b.trace(c,a,()=>e.apply(this,arguments));{let d=b.getContext().bind(k.active(),g);return b.trace(c,a,(a,b)=>(arguments[f]=function(a){return null==b||b(a),d.apply(this,arguments)},e.apply(this,arguments)))}}:e}startSpan(...a){let[b,c]=a,d=this.getSpanContext((null==c?void 0:c.parentSpan)??this.getActiveScopeSpan());return this.getTracerInstance().startSpan(b,c,d)}getSpanContext(a){return a?m.setSpan(k.active(),a):void 0}getRootSpanAttributes(){let a=k.active().getValue(u);return t.get(a)}setRootSpanAttribute(a,b){let c=k.active().getValue(u),d=t.get(c);d&&!d.has(a)&&d.set(a,b)}withSpan(a,b){let c=m.setSpan(k.active(),a);return k.with(c,b)}}let y=(e=new x,()=>e)},15e3:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={bootstrap:function(){return k},error:function(){return m},errorOnce:function(){return v},event:function(){return q},info:function(){return p},prefixes:function(){return h},ready:function(){return o},trace:function(){return r},wait:function(){return l},warn:function(){return n},warnOnce:function(){return t}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(56872),g=c(9913),h={wait:(0,f.white)((0,f.bold)("○")),error:(0,f.red)((0,f.bold)("⨯")),warn:(0,f.yellow)((0,f.bold)("⚠")),ready:"▲",info:(0,f.white)((0,f.bold)(" ")),event:(0,f.green)((0,f.bold)("✓")),trace:(0,f.magenta)((0,f.bold)("\xbb"))},i={log:"log",warn:"warn",error:"error"};function j(a,...b){(""===b[0]||void 0===b[0])&&1===b.length&&b.shift();let c=a in i?i[a]:"log",d=h[a];0===b.length?console[c](""):1===b.length&&"string"==typeof b[0]?console[c](d+" "+b[0]):console[c](d,...b)}function k(a){console.log(a)}function l(...a){j("wait",...a)}function m(...a){j("error",...a)}function n(...a){j("warn",...a)}function o(...a){j("ready",...a)}function p(...a){j("info",...a)}function q(...a){j("event",...a)}function r(...a){j("trace",...a)}let s=new g.LRUCache(1e4,a=>a.length);function t(...a){let b=a.join(" ");s.has(b)||(s.set(b,b),n(...a))}let u=new g.LRUCache(1e4,a=>a.length);function v(...a){let b=a.join(" ");u.has(b)||(u.set(b,b),m(...a))}},15971:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RedirectStatusCode",{enumerable:!0,get:function(){return d}});var c,d=((c={})[c.SeeOther=303]="SeeOther",c[c.TemporaryRedirect=307]="TemporaryRedirect",c[c.PermanentRedirect=308]="PermanentRedirect",c);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},16129:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextFetchEvent:function(){return l},getWaitUntilPromiseFromEvent:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(68802),g=Symbol("response"),h=Symbol("passThrough"),i=Symbol("waitUntil");class j{constructor(a,b){this[h]=!1,this[i]=b?{kind:"external",function:b}:{kind:"internal",promises:[]}}respondWith(a){this[g]||(this[g]=Promise.resolve(a))}passThroughOnException(){this[h]=!0}waitUntil(a){if("external"===this[i].kind)return(0,this[i].function)(a);this[i].promises.push(a)}}function k(a){return"internal"===a[i].kind?Promise.all(a[i].promises).then(()=>{}):void 0}class l extends j{constructor(a){var b;super(a.request,null==(b=a.context)?void 0:b.waitUntil),this.sourcePage=a.page}get request(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}},16698:a=>{"use strict";a.exports=require("node:async_hooks")},16841:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getSortedRouteObjects:function(){return f.getSortedRouteObjects},getSortedRoutes:function(){return f.getSortedRoutes},isDynamicRoute:function(){return g.isDynamicRoute}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(85503),g=c(4945)},17343:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createApiKey:()=>k,deleteApiKey:()=>m,getApiKeyById:()=>i,getApiKeyByKey:()=>j,getApiKeys:()=>h,updateApiKey:()=>l,validateApiKey:()=>n});var d=c(43892),e=c(59339),f=c(33323);function g(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,allowedModels:(0,f.q)(a.allowedModels,null),isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt}:null}async function h(){return(await (0,e.c)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(g)}async function i(a){return g((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}async function j(a){return g((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE key = ?",[a]))}async function k(a,b,g=null){if(!b)throw Error("machineId is required");let h=await (0,e.c)(),{generateApiKeyWithMachine:i}=await c.e(241).then(c.bind(c,241)),j=i(b),l={id:(0,d.A)(),name:a,key:j.key,machineId:b,allowedModels:g,isActive:!0,createdAt:new Date().toISOString()};return h.run("INSERT INTO apiKeys(id, key, name, machineId, allowedModels, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?, ?)",[l.id,l.key,l.name,l.machineId,g?(0,f.s)(g):null,1,l.createdAt]),l}async function l(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let h={...g(e),...b};c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, allowedModels = ?, isActive = ? WHERE id = ?",[h.key,h.name,h.machineId,h.allowedModels?(0,f.s)(h.allowedModels):null,+!!h.isActive,a]),d=h}),d}async function m(a){let b=(await (0,e.c)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function n(a){let b=(await (0,e.c)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}},17385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextResponse",{enumerable:!0,get:function(){return l}});let d=c(38955),e=c(92729),f=c(99751),g=c(31050),h=c(38955),i=Symbol("internal response"),j=new Set([301,302,303,307,308]);function k(a,b){var c;if(null==a||null==(c=a.request)?void 0:c.headers){if(!(a.request.headers instanceof Headers))throw Object.defineProperty(Error("request.headers must be an instance of Headers"),"__NEXT_ERROR_CODE",{value:"E119",enumerable:!1,configurable:!0});let c=[];for(let[d,e]of a.request.headers)b.set("x-middleware-request-"+d,e),c.push(d);b.set("x-middleware-override-headers",c.join(","))}}class l extends Response{constructor(a,b={}){super(a,b);const c=this.headers,j=new Proxy(new h.ResponseCookies(c),{get(a,e,f){switch(e){case"delete":case"set":return(...f)=>{let g=Reflect.apply(a[e],a,f),i=new Headers(c);return g instanceof h.ResponseCookies&&c.set("x-middleware-set-cookie",g.getAll().map(a=>(0,d.stringifyCookie)(a)).join(",")),k(b,i),g};default:return g.ReflectAdapter.get(a,e,f)}}});this[i]={cookies:j,url:b.url?new e.NextURL(b.url,{headers:(0,f.toNodeOutgoingHttpHeaders)(c),nextConfig:b.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[i].cookies}static json(a,b){let c=Response.json(a,b);return new l(c.body,c)}static redirect(a,b){let c="number"==typeof b?b:(null==b?void 0:b.status)??307;if(!j.has(c))throw Object.defineProperty(RangeError('Failed to execute "redirect" on "response": Invalid status code'),"__NEXT_ERROR_CODE",{value:"E529",enumerable:!1,configurable:!0});let d="object"==typeof b?b:{},e=new Headers(null==d?void 0:d.headers);return e.set("Location",(0,f.validateURL)(a)),new l(null,{...d,headers:e,status:c})}static rewrite(a,b){let c=new Headers(null==b?void 0:b.headers);return c.set("x-middleware-rewrite",(0,f.validateURL)(a)),k(b,c),new l(null,{...b,headers:c})}static next(a){let b=new Headers(null==a?void 0:a.headers);return b.set("x-middleware-next","1"),k(a,b),new l(null,{...a,headers:b})}}},17888:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:`/${a}`}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},18975:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getTestReqInfo:function(){return i},withRequest:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=new(c(16698)).AsyncLocalStorage;function g(a,b){let c=b.header(a,"next-test-proxy-port");if(!c)return;let d=b.url(a);return{url:d,proxyPort:Number(c),testData:b.header(a,"next-test-data")||""}}function h(a,b,c){let d=g(a,b);return d?f.run(d,c):c()}function i(a,b){let c=f.getStore();return c||(a&&b?g(a,b):void 0)}},19293:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"connection",{enumerable:!0,get:function(){return k}});let d=c(29294),e=c(63033),f=c(8912),g=c(49540),h=c(80311),i=c(72106);c(54795);let j=c(42776);function k(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(b&&"after"===b.phase&&!(0,i.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside \`after()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E827",enumerable:!1,configurable:!0});if(a.forceStatic)return Promise.resolve(void 0);if(a.dynamicShouldError)throw Object.defineProperty(new g.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E847",enumerable:!1,configurable:!0});if(b)switch(b.type){case"cache":{let b=Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside "use cache". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual request, but caches must be able to be produced before a request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E841",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,k),a.invalidDynamicUsageError??=b,b}case"private-cache":{let b=Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside "use cache: private". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual navigation request, but caches must be able to be produced before a navigation request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E837",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,k),a.invalidDynamicUsageError??=b,b}case"unstable-cache":throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside a function cached with \`unstable_cache()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but caches must be able to be produced before a Request so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E840",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1125",enumerable:!1,configurable:!0});case"prerender":case"prerender-client":case"prerender-runtime":return(0,h.makeHangingPromise)(b.renderSignal,a.route,"`connection()`");case"validation-client":{let a="`connection`";throw Object.defineProperty(new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1063",enumerable:!1,configurable:!0})}case"prerender-ppr":return(0,f.postponeWithTracking)(a.route,"connection",b.dynamicTracking);case"prerender-legacy":return(0,f.throwToInterruptStaticGeneration)("connection",a,b);case"request":if((0,f.trackDynamicDataInDynamicRender)(b),b.asyncApiPromises)return b.asyncApiPromises.connection;return Promise.resolve(void 0)}}(0,e.throwForMissingRequestStore)("connection")}},19524:(a,b)=>{"use strict";function c(a){return a.replace(/\/$/,"")||"/"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},19560:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b,c,d,e,f={};f.parse=function(a,c){if("string"!=typeof a)throw TypeError("argument str must be a string");for(var e={},f=a.split(d),g=(c||{}).decode||b,h=0;h<f.length;h++){var i=f[h],j=i.indexOf("=");if(!(j<0)){var k=i.substr(0,j).trim(),l=i.substr(++j,i.length).trim();'"'==l[0]&&(l=l.slice(1,-1)),void 0==e[k]&&(e[k]=function(a,b){try{return b(a)}catch(b){return a}}(l,g))}}return e},f.serialize=function(a,b,d){var f=d||{},g=f.encode||c;if("function"!=typeof g)throw TypeError("option encode is invalid");if(!e.test(a))throw TypeError("argument name is invalid");var h=g(b);if(h&&!e.test(h))throw TypeError("argument val is invalid");var i=a+"="+h;if(null!=f.maxAge){var j=f.maxAge-0;if(isNaN(j)||!isFinite(j))throw TypeError("option maxAge is invalid");i+="; Max-Age="+Math.floor(j)}if(f.domain){if(!e.test(f.domain))throw TypeError("option domain is invalid");i+="; Domain="+f.domain}if(f.path){if(!e.test(f.path))throw TypeError("option path is invalid");i+="; Path="+f.path}if(f.expires){if("function"!=typeof f.expires.toUTCString)throw TypeError("option expires is invalid");i+="; Expires="+f.expires.toUTCString()}if(f.httpOnly&&(i+="; HttpOnly"),f.secure&&(i+="; Secure"),f.sameSite)switch("string"==typeof f.sameSite?f.sameSite.toLowerCase():f.sameSite){case!0:case"strict":i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"none":i+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return i},b=decodeURIComponent,c=encodeURIComponent,d=/; */,e=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,a.exports=f})()},20399:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={indexOfUint8Array:function(){return e},isEquivalentUint8Arrays:function(){return f},removeFromUint8Array:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;if("u">typeof Buffer)return(Buffer.isBuffer(a)?a:Buffer.from(a.buffer,a.byteOffset,a.byteLength)).indexOf(b);for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function f(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function g(a,b){let c=e(a,b);if(0===c)return a.subarray(b.length);if(!(c>-1))return a;{let d=new Uint8Array(a.length-b.length);return d.set(a.subarray(0,c)),d.set(a.subarray(c+b.length),c),d}}},20742:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={safeCompile:function(){return i},safePathToRegexp:function(){return h},safeRegexpToFunction:function(){return j},safeRouteMatcher:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(7039),g=c(61873);function h(a,b,c){if("string"!=typeof a)return(0,f.pathToRegexp)(a,b,c);let d=(0,g.hasAdjacentParameterIssues)(a),e=d?(0,g.normalizeAdjacentParameters)(a):a;try{return(0,f.pathToRegexp)(e,b,c)}catch(e){if(!d)try{let d=(0,g.normalizeAdjacentParameters)(a);return(0,f.pathToRegexp)(d,b,c)}catch(a){}throw e}}function i(a,b){let c=(0,g.hasAdjacentParameterIssues)(a),d=c?(0,g.normalizeAdjacentParameters)(a):a;try{let a=(0,f.compile)(d,b);if(c)return b=>(0,g.stripNormalizedSeparators)(a(b));return a}catch(d){if(!c)try{let c=(0,g.normalizeAdjacentParameters)(a),d=(0,f.compile)(c,b);return a=>(0,g.stripNormalizedSeparators)(d(a))}catch(a){}throw d}}function j(a,b){let c=(0,f.regexpToFunction)(a,b||[]);return a=>{let b=c(a);return!!b&&{...b,params:(0,g.stripParameterSeparators)(b.params)}}}function k(a){return b=>{let c=a(b);return!!c&&(0,g.stripParameterSeparators)(c)}}},21804:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseUrl",{enumerable:!0,get:function(){return f}});let d=c(68202),e=c(68047);function f(a){if(a.startsWith("/"))return(0,e.parseRelativeUrl)(a);let b=new URL(a),c=b.username,f=b.password,g=c?f?`${c}:${f}`:c:null,h=b.pathname,i=b.search;return{auth:g,hash:b.hash,hostname:b.hostname,href:b.href,pathname:h,port:b.port,protocol:b.protocol,query:(0,d.searchParamsToUrlQuery)(b.searchParams),search:i,origin:b.origin,slashes:"//"===b.href.slice(b.protocol.length,b.protocol.length+2)}}},21820:a=>{"use strict";a.exports=require("os")},22697:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={HTTPAccessErrorStatus:function(){return e},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return g},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},f=new Set(Object.values(e)),g="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===g&&f.has(Number(c))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},24025:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={computeCacheBustingSearchParam:function(){return k},computeLegacyCacheBustingSearchParam:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12217),g=new TextEncoder;function h(a){return void 0===a?"0":Array.isArray(a)?a.join(","):a}function i(a,b,c,d){return(void 0===a||"0"===a)&&void 0===b&&void 0===c&&void 0===d?null:[a??"0",h(b),h(c),h(d)].join(",")}async function j(a){var b=new Uint8Array(await globalThis.crypto.subtle.digest("SHA-256",g.encode(a))).subarray(0,12);let c="";for(let a=0;a<b.length;a++)c+=String.fromCharCode(b[a]);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function k(a,b,c,d){let e=i(a,b,c,d);return null===e?"":j(e)}function l(a,b,c,d){let e=i(a,b,c,d);return null===e?"":(0,f.hexHash)(e)}},24453:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createRequestStoreForAPI:function(){return n},createRequestStoreForRender:function(){return m},synchronizeMutableCookies:function(){return p}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g=c(36023),h=c(93384),i=c(38955),j=c(38169),k=c(99751);function l(a,b){if("x-middleware-set-cookie"in a.headers&&"string"==typeof a.headers["x-middleware-set-cookie"]){let c=a.headers["x-middleware-set-cookie"],d=new Headers;for(let a of(0,k.splitCookiesString)(c))d.append("set-cookie",a);for(let a of new i.ResponseCookies(d).getAll())b.set(a)}}function m(a,b,c,d,e,f,g,h,i,j,k){return o("render",a,b,c,d,e,f,j,g,h,i,k)}function n(a,b,c,d,e){return o("action",a,void 0,b,{},c,d,null,e,!1,void 0,null)}function o(a,b,c,d,e,k,m,n,o,p,q,r){function s(a){c&&c.setHeader("Set-Cookie",a)}let t={};return{type:"request",phase:a,implicitTags:k,url:{pathname:d.pathname,search:d.search??""},rootParams:e,get headers(){return t.headers||(t.headers=function(a){let b=g.HeadersAdapter.from(a);for(let a of f.FLIGHT_HEADERS)b.delete(a);return g.HeadersAdapter.seal(b)}(b.headers)),t.headers},get cookies(){if(!t.cookies){let a=new i.RequestCookies(g.HeadersAdapter.from(b.headers));l(b,a),t.cookies=h.RequestCookiesAdapter.seal(a)}return t.cookies},set cookies(value){t.cookies=value},get mutableCookies(){if(!t.mutableCookies){var u,v;let a,d=(u=b.headers,v=m||(c?s:void 0),a=new i.RequestCookies(g.HeadersAdapter.from(u)),h.MutableRequestCookiesAdapter.wrap(a,v));l(b,d),t.mutableCookies=d}return t.mutableCookies},get userspaceMutableCookies(){return t.userspaceMutableCookies||(t.userspaceMutableCookies=(0,h.createCookiesWithMutableAccessCheck)(this)),t.userspaceMutableCookies},get draftMode(){return t.draftMode||(t.draftMode=new j.DraftModeProvider(o,b,this.cookies,this.mutableCookies)),t.draftMode},renderResumeDataCache:n??null,isHmrRefresh:p,serverComponentsHmrCache:q||globalThis.__serverComponentsHmrCache,fallbackParams:r}}function p(a){a.cookies=h.RequestCookiesAdapter.seal((0,h.responseCookiesToRequestCookies)(a.mutableCookies))}},26670:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePagePath",{enumerable:!0,get:function(){return g}});let d=c(17888),e=c(16841),f=c(80670);function g(a){let b=/^\/index(\/|$)/.test(a)&&!(0,e.isDynamicRoute)(a)?`/index${a}`:"/"===a?"/index":(0,d.ensureLeadingSlash)(a);{let{posix:a}=c(33873),d=a.normalize(b);if(d!==b)throw new f.NormalizeError(`Requested and resolved page mismatch: ${b} ${d}`)}return b}},26763:(a,b,c)=>{"use strict";c.d(b,{PROVIDER_PRICING:()=>e,calculateCostFromTokens:()=>i,getPricingForModel:()=>h});let d={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.7":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.8":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-5-thinking":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-fable-5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5-mini":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"gpt-5-codex":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.1":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.2-codex":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.3-codex":{input:6,output:24,cached:3,reasoning:36,cache_creation:6},"gpt-5.3-codex-xhigh":{input:10,output:40,cached:5,reasoning:60,cache_creation:10},"gpt-5.3-codex-high":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.3-codex-low":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.3-codex-none":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},"gpt-5.4":{input:6,output:24,cached:3,reasoning:36,cache_creation:6},"gpt-5.4-mini":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.4-nano":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"gpt-5.5":{input:7,output:28,cached:3.5,reasoning:42,cache_creation:7},"gpt-5.6-luna":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.6-sol":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.6-terra":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-extra-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.8,cache_creation:.3},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},e={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},forge:{"gpt-5.6-sol":{input:5,output:30},"gpt-5.6-terra":{input:2.5,output:15},"gpt-5.6-luna":{input:1,output:6},"gpt-5.5":{input:5,output:40},"gpt-5.3-codex":{input:1.75,output:14},"claude-opus-4-5-20251101":{input:5,output:25},"claude-sonnet-4-5-20250929":{input:3,output:15},"claude-haiku-4-5-20251001":{input:1,output:5},"claude-sonnet-4-6":{input:3,output:15},"claude-sonnet-4-6-thinking":{input:3,output:15},"claude-sonnet-5":{input:2,output:10},"claude-fable-5":{input:10,output:50},"grok-4.5":{input:2,output:6},"grok-4.3":{input:1.25,output:2.5},"grok-build-0.1":{input:1,output:2},"deepseek-r1":{input:.401,output:1.605},"deepseek-v4-flash":{input:.098,output:.196},"deepseek-v4-pro":{input:.304,output:.609},"deepseek-v3.2":{input:.2,output:.301},"deepseek-v3.1":{input:.401,output:1.204},"deepseek-v3":{input:.2,output:.802},"kimi-k3":{input:3,output:15},"kimi-k2.7-code":{input:.625,output:2.599},"kimi-k2.6":{input:.625,output:2.599},"kimi-k2.5":{input:.401,output:2.107},"gemini-3-pro-preview":{input:2,output:12},"gemini-3.5-flash":{input:1.5,output:9},"tencent/hy3":{input:.2,output:.8},"mimo-v2.5":{input:.1,output:.2},"mimo-v2.5-pro":{input:.3,output:.6},"MiniMax-M3":{input:.21,output:.84},"MiniMax-M2.5":{input:.21,output:.84},"glm-5.2":{input:.77,output:2.695}},tokenrouter:{"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.2},"anthropic/claude-fable-5":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-haiku-4.5":{input:1,output:5,cached:.1,cache_creation:1.25,reasoning:5},"anthropic/claude-opus-4.5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.6":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7-fast":{input:30,output:150,cached:3,reasoning:150},"anthropic/claude-opus-4.8":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.8-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-opus-5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-5-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-sonnet-4":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.5":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.6":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-5":{input:2,output:10,cached:.2,reasoning:10},"claude-opus-4-8-m-aws":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"deepseek/deepseek-v3.2":{input:.26,output:.38,cached:.13,reasoning:.38},"deepseek/deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-flash-0731":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87},"ex/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"google/gemini-2.5-flash-image":{input:.3,output:2.5,reasoning:2.5},"google/gemini-3-flash-preview":{input:.5,output:3,cached:.05,cache_creation:.08333,reasoning:3},"google/gemini-3-pro-image-preview":{input:2,output:12,reasoning:12},"google/gemini-3.1-flash-image-preview":{input:.5,output:3,reasoning:3},"google/gemini-3.1-flash-lite-image":{input:.25,output:1.5,reasoning:1.5},"google/gemini-3.1-pro-preview":{input:2,output:12,cached:.2,cache_creation:.375,reasoning:12},"google/gemini-3.5-flash":{input:1.5,output:9,cached:.15,cache_creation:.08333,reasoning:9},"google/gemini-3.5-flash-lite":{input:.3,output:2.5,cached:.03,cache_creation:.08333,reasoning:2.5},"google/gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,cache_creation:.08333,reasoning:7.5},"google/gemini-embedding-2":{input:1,output:6,cached:.1,reasoning:6},"google/gemma-4-26b-a4b-it":{input:.06,output:.33,reasoning:.33},"kling-3.0-turbo":{input:2.1,output:2.1,reasoning:2.1},"microsoft/mai-image-2.5":{input:5,output:47,reasoning:47},"minimax/minimax-m2-her":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"minimax/minimax-m2.5":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.7":{input:.3,output:1.2,cached:.06,reasoning:1.2},"minimax/minimax-m2.7-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"miromind/mirothinker-1-7-deepresearch":{input:4,output:25,reasoning:25},"miromind/mirothinker-1-7-deepresearch-mini":{input:1.25,output:10,reasoning:10},"mistralai/devstral-2512":{input:.4,output:2,cached:.04,reasoning:2},"mistralai/mistral-medium-3-5":{input:1.5,output:7.5,reasoning:7.5},"mistralai/mistral-small-2603":{input:.15,output:.6,cached:.015,reasoning:.6},"mistralai/voxtral-small-24b-2507":{input:.1,output:.3,cached:.01,reasoning:.3},"moonshotai/kimi-k2.5":{input:.6,output:3,cached:.1,reasoning:3},"moonshotai/kimi-k2.6":{input:.95,output:4,cached:.16,reasoning:4},"moonshotai/kimi-k2.7-code":{input:.9286,output:3.8571,cached:.1857,reasoning:3.8571},"moonshotai/kimi-k3":{input:3,output:15,cached:.3,reasoning:15},"nvidia/nemotron-3-super-120b-a12b":{input:.3,output:.9,cached:.1,reasoning:.9},"openai/gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.6},"openai/gpt-5":{input:1.25,output:10,cached:.125,reasoning:10},"openai/gpt-5-image":{input:10,output:40,cached:2.5,reasoning:40},"openai/gpt-5-image-mini":{input:2.5,output:8,cached:.25,reasoning:8},"openai/gpt-5-mini":{input:.25,output:2,cached:.025,reasoning:2},"openai/gpt-5.2":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"openai/gpt-5.4-image-2":{input:8,output:30,cached:2,reasoning:30},"openai/gpt-5.4-mini":{input:.75,output:4.5,cached:.075,reasoning:4.5},"openai/gpt-5.4-nano":{input:.2,output:1.25,cached:.02,reasoning:1.25},"openai/gpt-5.4-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.5":{input:5,output:30,cached:.5,reasoning:30},"openai/gpt-5.5-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.6-luna":{input:.2,output:1.2,cached:.02,cache_creation:.25,reasoning:1.2},"openai/gpt-5.6-sol":{input:5,output:30,cached:.5,cache_creation:6.25,reasoning:30},"openai/gpt-5.6-terra":{input:2,output:12,cached:.2,cache_creation:2.5,reasoning:12},"openai/gpt-audio":{input:2.5,output:10,reasoning:10},"openai/gpt-audio-mini":{input:.6,output:2.4,reasoning:2.4},"openai/gpt-oss-120b":{input:.039,output:.18,reasoning:.18},"qwen/qwen3-coder-next":{input:.12,output:.75,cached:.06,reasoning:.75},"qwen/qwen3.5-122b-a10b":{input:.26,output:2.08,reasoning:2.08},"qwen/qwen3.5-35b-a3b":{input:.1625,output:1.3,reasoning:1.3},"qwen/qwen3.5-397b-a17b":{input:.39,output:2.34,reasoning:2.34},"qwen/qwen3.5-9b":{input:.1,output:.15,reasoning:.15},"qwen/qwen3.5-flash":{input:.1048,output:.4194,reasoning:.4194},"qwen/qwen3.5-plus-02-15":{input:.26,output:1.56,reasoning:1.56},"qwen/qwen3.6-plus":{input:.54,output:3.21,reasoning:3.21},"qwen/qwen3.7-max":{input:1.25,output:3.75,cached:.25,reasoning:3.75},"qwen/qwen3.7-plus":{input:.4,output:1.6,cached:.08,reasoning:1.6},"qwen/qwen3.8-max":{input:2,output:6,cached:.25,cache_creation:2.5,reasoning:6},"qwen3.5-omni-plus":{input:1,output:5.7143,reasoning:5.7143},"qwen3.6-flash":{input:.171,output:1.029,cached:.017,cache_creation:.214,reasoning:1.029},"sakana/fugu-ultra":{input:5,output:30,cached:.5,reasoning:30},"seed-2-0-code-preview-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"seed-2-0-lite-260428":{input:.5,output:4,cached:.1,cache_creation:.008333,reasoning:4},"seed-2-0-mini-260428":{input:.2,output:.8,cached:.04,cache_creation:.00833,reasoning:.8},"seed-2-0-pro-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"stepfun/step-3.5-flash":{input:.1,output:.3,cached:.02,reasoning:.3},"stepfun/step-3.7-flash":{input:.2,output:1.15,cached:.04,reasoning:1.15},"tencent/hy3-preview":{input:.066,output:.26,cached:.029,reasoning:.26},"x-ai/grok-4.1-fast":{input:.2,output:.5,cached:.05,reasoning:.5},"x-ai/grok-4.20-beta":{input:2,output:6,cached:.2,reasoning:6},"x-ai/grok-4.3":{input:1.25,output:2.5,cached:.2,reasoning:2.5},"x-ai/grok-4.5":{input:2,output:6,cached:.5,reasoning:6},"x-ai/grok-build-0.1":{input:1,output:2,cached:.2,reasoning:2},"xiaomi/mimo-v2-flash":{input:.1,output:.3,cached:.01,reasoning:.3},"xiaomi/mimo-v2-omni":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2-pro":{input:1,output:3,cached:.2,reasoning:3},"xiaomi/mimo-v2.5":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2.5-pro":{input:1,output:3,cached:.2,reasoning:3},"z-ai/glm-4.5-air":{input:.13,output:.85,cached:.025,reasoning:.85},"z-ai/glm-4.6":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-4.6v":{input:.3,output:.9,reasoning:.9},"z-ai/glm-4.7":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-5":{input:1,output:3.2,cached:.2,reasoning:3.2},"z-ai/glm-5-turbo":{input:1.2,output:4,cached:.24,reasoning:4},"z-ai/glm-5.1":{input:1.05,output:3.5,cached:.525,reasoning:3.5},"z-ai/glm-5.2":{input:1.4,output:4.4,cached:.26,reasoning:4.4}},tokenharbor:{"claude-opus-5":{input:5,output:25,cached:.5,reasoning:25},"claude-fable-5":{input:10,output:50,cached:1,reasoning:50},"gpt-5.6-sol":{input:5,output:30,cached:.5,reasoning:30},"kimi-k3":{input:3,output:15,cached:.3,reasoning:15},"qwen3.8-max":{input:2,output:6,cached:.25,reasoning:6},"gpt-5.6-terra":{input:2,output:12,cached:.2,reasoning:12},"grok-4.5":{input:2,output:6,cached:.2,reasoning:6},"claude-sonnet-5":{input:2,output:10,cached:.2,reasoning:10},"glm-5.2":{input:1.4,output:4.4,cached:.26,reasoning:4.4},"gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,reasoning:7.5}},helyxai:{"llama-3.1-8b-instruct":{input:.1,output:.25},"gemma-4-31B-it":{input:.2,output:.5},"DeepSeek-V4-Flash":{input:.14,output:.28},"Qwen3-32B":{input:.1,output:.3},"gpt-5.6-luna":{input:.1,output:.6},"gemini-3.1-flash-lite":{input:.25,output:1.5},"GLM-5.2":{input:1.4,output:4.4},"Mistral-4":{input:.25,output:1},"DeepSeek-V4-Pro":{input:.43,output:.87},"gpt-oss-120b":{input:.1,output:.5},"MiniMax-M3":{input:.3,output:1.2},"Kimi-K3":{input:4,output:14}},"meta-ai":{"muse-spark-1.2":{input:1.25,output:4.25,cached:.15,reasoning:4.25},"muse-spark-1.2-contributor":{input:.1,output:.2,cached:.15,reasoning:.2},"muse-spark-1.1":{input:1.25,output:4.25,cached:.15,reasoning:4.25}}},f=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"*-codex-none",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.3-*",pricing:{input:6,output:24,cached:3,reasoning:36,cache_creation:6}},{pattern:"gpt-5.2-*",pricing:{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5}},{pattern:"gpt-5.1-*",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"gpt-5-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-5*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function g(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function h(a,b){if(!b)return null;if(a&&e[a]?.[b])return e[a][b];let c=b.includes("/")?b.split("/").pop():b;if(d[c])return d[c];if(d[b])return d[b];for(let{pattern:a,pricing:d}of f)if(g(a,c)||g(a,b))return d;return null}function i(a,b){if(!a||!b)return 0;let c=0,d=a.prompt_tokens||a.input_tokens||0,e=a.cached_tokens||a.cache_read_input_tokens||0,f=a.cache_creation_input_tokens||0;c+=Math.max(0,d-e-f)*(b.input/1e6),e>0&&(c+=e*((b.cached||b.input)/1e6)),c+=(a.completion_tokens||a.output_tokens||0)*(b.output/1e6);let g=a.reasoning_tokens||0;return g>0&&(c+=g*((b.reasoning||b.output)/1e6)),f>0&&(c+=f*((b.cache_creation||b.input)/1e6)),c}},27048:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={chainStreams:function(){return q},continueDynamicHTMLResume:function(){return N},continueDynamicPrerender:function(){return K},continueFizzStream:function(){return J},continueStaticFallbackPrerender:function(){return M},continueStaticPrerender:function(){return L},createBufferedTransformStream:function(){return x},createDocumentClosingStream:function(){return O},createInstantTestScriptInsertionTransformStream:function(){return C},createRootLayoutValidatorStream:function(){return H},createRuntimePrefetchTransformStream:function(){return P},renderToInitialFizzStream:function(){return y},streamFromBuffer:function(){return s},streamFromString:function(){return r},streamToBuffer:function(){return v},streamToString:function(){return w},streamToUint8Array:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12726),g=c(88026),h=c(59841),i=c(28704),j=c(6492),k=c(20399),l=c(52201),m=c(62192),n=c(24025);function o(){}let p=new TextEncoder;function q(...a){if(0===a.length)return new ReadableStream({start(a){a.close()}});if(1===a.length)return a[0];let{readable:b,writable:c}=new TransformStream,d=a[0].pipeTo(c,{preventClose:!0}),e=1;for(;e<a.length-1;e++){let b=a[e];d=d.then(()=>b.pipeTo(c,{preventClose:!0}))}let f=a[e];return(d=d.then(()=>f.pipeTo(c))).catch(o),b}function r(a){return new ReadableStream({start(b){b.enqueue(p.encode(a)),b.close()}})}function s(a){return new ReadableStream({start(b){b.enqueue(a),b.close()}})}async function t(a){let b=a.getReader(),c=[];for(;;){let{done:a,value:d}=await b.read();if(a)break;c.push(d)}return c}async function u(a){var b=await t(a);let c=new Uint8Array(b.reduce((a,b)=>a+b.length,0)),d=0;for(let a of b)c.set(a,d),d+=a.length;return c}async function v(a){return Buffer.concat(await t(a))}async function w(a,b){let c=new TextDecoder("utf-8",{fatal:!0}),d="";for await(let e of a){if(null==b?void 0:b.aborted)return d;d+=c.decode(e,{stream:!0})}return d+c.decode()}function x(a={}){let b,{maxBufferByteLength:c=1/0}=a,d=[],e=0,f=a=>{try{if(0===d.length)return;let b=new Uint8Array(e),c=0;for(let a=0;a<d.length;a++){let e=d[a];b.set(e,c),c+=e.byteLength}d.length=0,e=0,a.enqueue(b)}catch{}};return new TransformStream({transform(a,g){d.push(a),(e+=a.byteLength)>=c?f(g):(a=>{if(b)return;let c=new h.DetachedPromise;b=c,(0,i.scheduleImmediate)(()=>{try{f(a)}finally{b=void 0,c.resolve()}})})(g)},flush:()=>null==b?void 0:b.promise})}function y({ReactDOMServer:a,element:b,streamOptions:c}){return(0,f.getTracer)().trace(g.AppRenderSpan.renderToReadableStream,async()=>a.renderToReadableStream(b,c))}function z(a){let b=-1,c=!1;return new TransformStream({async transform(d,e){let f=-1,g=-1;if(b++,c)return void e.enqueue(d);let h=0;if(-1===f){if(-1===(f=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.META.ICON_MARK)))return void e.enqueue(d);47===d[f+(h=j.ENCODED_TAGS.META.ICON_MARK.length)]?h+=2:h++}if(0===b){if(g=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD),-1!==f){if(f<g){let a=new Uint8Array(d.length-h);a.set(d.subarray(0,f)),a.set(d.subarray(f+h),f),d=a}else{let b=await a(),c=p.encode(b),e=c.length,g=new Uint8Array(d.length-h+e);g.set(d.subarray(0,f)),g.set(c,f),g.set(d.subarray(f+h),f+e),d=g}c=!0}}else{let b=await a(),e=p.encode(b),g=e.length,i=new Uint8Array(d.length-h+g);i.set(d.subarray(0,f)),i.set(e,f),i.set(d.subarray(f+h),f+g),d=i,c=!0}e.enqueue(d)}})}function A(a){let b=!1,c=!1;return new TransformStream({async transform(d,e){c=!0;let f=await a();if(b){if(f){let a=p.encode(f);e.enqueue(a)}e.enqueue(d)}else{let a=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD);if(-1!==a){if(f){let b=p.encode(f),c=new Uint8Array(d.length+b.length);c.set(d.slice(0,a)),c.set(b,a),c.set(d.slice(a),a+b.length),e.enqueue(c)}else e.enqueue(d);b=!0}else f&&e.enqueue(p.encode(f)),e.enqueue(d),b=!0}},async flush(b){if(c){let c=await a();c&&b.enqueue(p.encode(c))}}})}async function B(){let a=await (0,n.computeCacheBustingSearchParam)("1","/_full",void 0,void 0),b=`${m.NEXT_RSC_UNION_QUERY}=${a}`,c=`<script>__NEXT_CLIENT_RESUME=fetch(location.pathname+'?${b}',{credentials:'same-origin',headers:{'${m.RSC_HEADER}': '1','${m.NEXT_ROUTER_PREFETCH_HEADER}': '1','${m.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}': '/_full'}})</script>`,d=!1;return new TransformStream({transform(a,b){if(d)return void b.enqueue(a);let e=(0,k.indexOfUint8Array)(a,j.ENCODED_TAGS.CLOSED.HEAD);if(-1===e)return void b.enqueue(a);let f=p.encode(c),g=new Uint8Array(a.length+f.length);g.set(a.slice(0,e)),g.set(f,e),g.set(a.slice(e),e+f.length),b.enqueue(g),d=!0}})}async function C(a){let b="/_full",c=await (0,n.computeCacheBustingSearchParam)("1",b,void 0,void 0),d=`${m.NEXT_RSC_UNION_QUERY}=${c}`,e=null!==a?`self.__next_r=${JSON.stringify(a)};`:"",f=`<script>${e}self.__next_instant_test=fetch(location.pathname+'?${d}',{credentials:'same-origin',headers:{'${m.RSC_HEADER}':'1','${m.NEXT_ROUTER_PREFETCH_HEADER}':'1','${m.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}':'${b}','${m.NEXT_INSTANT_PREFETCH_HEADER}':'1'}})</script>`,g=!1;return new TransformStream({transform(a,b){if(g)return void b.enqueue(a);let c=(0,k.indexOfUint8Array)(a,j.ENCODED_TAGS.OPENING.HEAD);if(-1===c)return void b.enqueue(a);let d=a.indexOf(62,c+j.ENCODED_TAGS.OPENING.HEAD.length);if(-1===d)return void b.enqueue(a);let e=p.encode(f),h=d+1,i=new Uint8Array(a.length+e.length);i.set(a.slice(0,h)),i.set(e,h),i.set(a.slice(h),h+e.length),b.enqueue(i),g=!0},flush(a){a.enqueue(j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function D(a,b){let c=!1,d=null,e=!1;function f(a){return d||(d=g(a)),d}async function g(d){let f=a.getReader();b&&await (0,i.atLeastOneTask)();try{for(;;){let{done:a,value:g}=await f.read();if(a){e=!0;return}b||c||await (0,i.atLeastOneTask)(),d.enqueue(g)}}catch(a){d.error(a)}}return new TransformStream({start(a){b||f(a)},transform(a,c){c.enqueue(a),b&&f(c)},flush(a){if(c=!0,!e)return f(a)}})}let E="</body></html>";function F(){let a=!1;return new TransformStream({transform(b,c){if(a)return c.enqueue(b);let d=(0,k.indexOfUint8Array)(b,j.ENCODED_TAGS.CLOSED.BODY_AND_HTML);if(d>-1){if(a=!0,b.length===j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length)return;let e=b.slice(0,d);if(c.enqueue(e),b.length>j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length+d){let a=b.slice(d+j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length);c.enqueue(a)}}else c.enqueue(b)},flush(a){a.enqueue(j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function G(a){let b=!1;return new TransformStream({transform(c,d){if(b)return void d.enqueue(c);let e=(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML);if(-1===e)return void d.enqueue(c);let f=e+j.ENCODED_TAGS.OPENING.HTML.length,g=` data-dpl-id="${a}"`,h=p.encode(g),i=new Uint8Array(c.length+h.length);i.set(c.subarray(0,f)),i.set(h,f),i.set(c.subarray(f),f+h.length),d.enqueue(i),b=!0}})}function H(){let a=!1,b=!1;return new TransformStream({async transform(c,d){!a&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML)>-1&&(a=!0),!b&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.BODY)>-1&&(b=!0),d.enqueue(c)},flush(c){let d=[];a||d.push("html"),b||d.push("body"),d.length&&c.enqueue(p.encode(`<html id="__next_error__">
4
+ - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`)}function ah(a,b,c,d){if(d.syncDynamicErrorWithStack)throw ag(a,d.syncDynamicErrorWithStack),new k.StaticGenBailoutError;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)ag(a,d[b]);throw new k.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new k.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new k.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new k.StaticGenBailoutError}function ai(a,b,c,d){if(d||c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new r.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];return[]}function aj(a,b,c,d,e){if(d){let{missingSampleErrors:a}=d;if(a.length>0)return a}let{validationPreventingErrors:f}=c;if(f.length>0)return f;if(e.renderedIds.size<e.expectedIds.size){let{thrownErrorsOutsideBoundary:b,createInstantStack:d}=c;if(0===b.length){let b=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering for an unknown reason.`,c=null!==d?d():Error();return c.name="Error",c.message=b,[c]}if(1===b.length){let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to the following error.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,b[0]]}{let c=`Route "${a.route}": Could not validate \`unstable_instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,e=null!==d?d():Error();return e.name="Error",e.message=c,[e,...b]}}if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return c.hasAllowedClientDynamicAboveBoundary?[]:[Object.defineProperty(new r.InvariantError(`Route "${a.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})]}else{let a=c.dynamicErrors;if(a.length>0)return a;if(!1===c.hasAllowedDynamic&&c.dynamicMetadata)return[c.dynamicMetadata]}return[]}},9913:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E1045",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11042:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERCEPTION_ROUTE_MARKERS:function(){return g},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92539),g=["(..)(..)","(.)","(..)","(...)"];function h(a){return void 0!==a.split("/").find(a=>g.find(b=>a.startsWith(b)))}function i(a){let b,c,d;for(let e of a.split("/"))if(c=g.find(a=>e.startsWith(a))){[b,d]=a.split(c,2);break}if(!b||!c||!d)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(b=(0,f.normalizeAppPath)(b),c){case"(.)":d="/"===b?`/${d}`:b+"/"+d;break;case"(..)":if("/"===b)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..) marker at the root level, use (.) instead.`),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});d=b.split("/").slice(0,-1).concat(d).join("/");break;case"(...)":d="/"+d;break;case"(..)(..)":let e=b.split("/");if(e.length<=2)throw Object.defineProperty(Error(`Invalid interception route: ${a}. Cannot use (..)(..) marker at the root level or one level up.`),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});d=e.slice(0,-2).concat(d).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:b,interceptedRoute:d}}},12217:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={djb2Hash:function(){return e},hexHash:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return b>>>0}function f(a){return e(a).toString(36).slice(0,5)}},12726:(a,b,c)=>{"use strict";let d,e;Object.defineProperty(b,"__esModule",{value:!0});var f={BubbledError:function(){return q},SpanKind:function(){return o},SpanStatusCode:function(){return n},getTracer:function(){return y},isBubbledError:function(){return r}};for(var g in f)Object.defineProperty(b,g,{enumerable:!0,get:f[g]});let h=c(88026),i=c(32053),j=process.env.NEXT_OTEL_PERFORMANCE_PREFIX;try{d=c(58930)}catch(a){d=c(58930)}let{context:k,propagation:l,trace:m,SpanStatusCode:n,SpanKind:o,ROOT_CONTEXT:p}=d;class q extends Error{constructor(a,b){super(),this.bubble=a,this.result=b}}function r(a){return"object"==typeof a&&null!==a&&a instanceof q}let s=(a,b)=>{r(b)&&b.bubble?a.setAttribute("next.bubble",!0):(b&&(a.recordException(b),a.setAttribute("error.type",b.name)),a.setStatus({code:n.ERROR,message:null==b?void 0:b.message})),a.end()},t=new Map,u=d.createContextKey("next.rootSpanId"),v=0,w={set(a,b,c){a.push({key:b,value:c})}};class x{getTracerInstance(){return m.getTracer("next.js","0.0.1")}getContext(){return k}getTracePropagationData(){let a=k.active(),b=[];return l.inject(a,b,w),b}getActiveScopeSpan(){return m.getSpan(null==k?void 0:k.active())}withPropagatedContext(a,b,c,d=!1){let e=k.active();if(d){let d=l.extract(p,a,c);if(m.getSpanContext(d))return k.with(d,b);let f=l.extract(e,a,c);return k.with(f,b)}if(m.getSpanContext(e))return b();let f=l.extract(e,a,c);return k.with(f,b)}trace(...a){let[b,c,d]=a,{fn:e,options:f}="function"==typeof c?{fn:c,options:{}}:{fn:d,options:{...c}},g=f.spanName??b;if(!h.NextVanillaSpanAllowlist.has(b)&&"1"!==process.env.NEXT_OTEL_VERBOSE||f.hideSpan)return e();let l=this.getSpanContext((null==f?void 0:f.parentSpan)??this.getActiveScopeSpan());l||(l=(null==k?void 0:k.active())??p);let m=l.getValue(u),n="number"!=typeof m||!t.has(m),o=v++;return f.attributes={"next.span_name":g,"next.span_type":b,...f.attributes},k.with(l.setValue(u,o),()=>this.getTracerInstance().startActiveSpan(g,f,a=>{let c;j&&b&&h.LogSpanAllowList.has(b)&&(c="performance"in globalThis&&"measure"in performance?globalThis.performance.now():void 0);let d=!1,g=()=>{!d&&(d=!0,t.delete(o),c&&performance.measure(`${j}:next-${(b.split(".").pop()||"").replace(/[A-Z]/g,a=>"-"+a.toLowerCase())}`,{start:c,end:performance.now()}))};if(n&&t.set(o,new Map(Object.entries(f.attributes??{}))),e.length>1)try{return e(a,b=>s(a,b))}catch(b){throw s(a,b),b}finally{g()}try{let b=e(a);if((0,i.isThenable)(b))return b.then(b=>(a.end(),b)).catch(b=>{throw s(a,b),b}).finally(g);return a.end(),g(),b}catch(b){throw s(a,b),g(),b}}))}wrap(...a){let b=this,[c,d,e]=3===a.length?a:[a[0],{},a[1]];return h.NextVanillaSpanAllowlist.has(c)||"1"===process.env.NEXT_OTEL_VERBOSE?function(){let a=d;"function"==typeof a&&"function"==typeof e&&(a=a.apply(this,arguments));let f=arguments.length-1,g=arguments[f];if("function"!=typeof g)return b.trace(c,a,()=>e.apply(this,arguments));{let d=b.getContext().bind(k.active(),g);return b.trace(c,a,(a,b)=>(arguments[f]=function(a){return null==b||b(a),d.apply(this,arguments)},e.apply(this,arguments)))}}:e}startSpan(...a){let[b,c]=a,d=this.getSpanContext((null==c?void 0:c.parentSpan)??this.getActiveScopeSpan());return this.getTracerInstance().startSpan(b,c,d)}getSpanContext(a){return a?m.setSpan(k.active(),a):void 0}getRootSpanAttributes(){let a=k.active().getValue(u);return t.get(a)}setRootSpanAttribute(a,b){let c=k.active().getValue(u),d=t.get(c);d&&!d.has(a)&&d.set(a,b)}withSpan(a,b){let c=m.setSpan(k.active(),a);return k.with(c,b)}}let y=(e=new x,()=>e)},15e3:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={bootstrap:function(){return k},error:function(){return m},errorOnce:function(){return v},event:function(){return q},info:function(){return p},prefixes:function(){return h},ready:function(){return o},trace:function(){return r},wait:function(){return l},warn:function(){return n},warnOnce:function(){return t}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(56872),g=c(9913),h={wait:(0,f.white)((0,f.bold)("○")),error:(0,f.red)((0,f.bold)("⨯")),warn:(0,f.yellow)((0,f.bold)("⚠")),ready:"▲",info:(0,f.white)((0,f.bold)(" ")),event:(0,f.green)((0,f.bold)("✓")),trace:(0,f.magenta)((0,f.bold)("\xbb"))},i={log:"log",warn:"warn",error:"error"};function j(a,...b){(""===b[0]||void 0===b[0])&&1===b.length&&b.shift();let c=a in i?i[a]:"log",d=h[a];0===b.length?console[c](""):1===b.length&&"string"==typeof b[0]?console[c](d+" "+b[0]):console[c](d,...b)}function k(a){console.log(a)}function l(...a){j("wait",...a)}function m(...a){j("error",...a)}function n(...a){j("warn",...a)}function o(...a){j("ready",...a)}function p(...a){j("info",...a)}function q(...a){j("event",...a)}function r(...a){j("trace",...a)}let s=new g.LRUCache(1e4,a=>a.length);function t(...a){let b=a.join(" ");s.has(b)||(s.set(b,b),n(...a))}let u=new g.LRUCache(1e4,a=>a.length);function v(...a){let b=a.join(" ");u.has(b)||(u.set(b,b),m(...a))}},15971:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RedirectStatusCode",{enumerable:!0,get:function(){return d}});var c,d=((c={})[c.SeeOther=303]="SeeOther",c[c.TemporaryRedirect=307]="TemporaryRedirect",c[c.PermanentRedirect=308]="PermanentRedirect",c);("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},16129:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextFetchEvent:function(){return l},getWaitUntilPromiseFromEvent:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(68802),g=Symbol("response"),h=Symbol("passThrough"),i=Symbol("waitUntil");class j{constructor(a,b){this[h]=!1,this[i]=b?{kind:"external",function:b}:{kind:"internal",promises:[]}}respondWith(a){this[g]||(this[g]=Promise.resolve(a))}passThroughOnException(){this[h]=!0}waitUntil(a){if("external"===this[i].kind)return(0,this[i].function)(a);this[i].promises.push(a)}}function k(a){return"internal"===a[i].kind?Promise.all(a[i].promises).then(()=>{}):void 0}class l extends j{constructor(a){var b;super(a.request,null==(b=a.context)?void 0:b.waitUntil),this.sourcePage=a.page}get request(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}},16698:a=>{"use strict";a.exports=require("node:async_hooks")},16841:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getSortedRouteObjects:function(){return f.getSortedRouteObjects},getSortedRoutes:function(){return f.getSortedRoutes},isDynamicRoute:function(){return g.isDynamicRoute}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(85503),g=c(4945)},17343:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createApiKey:()=>k,deleteApiKey:()=>m,getApiKeyById:()=>i,getApiKeyByKey:()=>j,getApiKeys:()=>h,updateApiKey:()=>l,validateApiKey:()=>n});var d=c(43892),e=c(59339),f=c(33323);function g(a){return a?{id:a.id,key:a.key,name:a.name,machineId:a.machineId,allowedModels:(0,f.q)(a.allowedModels,null),isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt}:null}async function h(){return(await (0,e.c)()).all("SELECT * FROM apiKeys ORDER BY createdAt ASC").map(g)}async function i(a){return g((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE id = ?",[a]))}async function j(a){return g((await (0,e.c)()).get("SELECT * FROM apiKeys WHERE key = ?",[a]))}async function k(a,b,g=null){if(!b)throw Error("machineId is required");let h=await (0,e.c)(),{generateApiKeyWithMachine:i}=await c.e(241).then(c.bind(c,241)),j=i(b),l={id:(0,d.A)(),name:a,key:j.key,machineId:b,allowedModels:g,isActive:!0,createdAt:new Date().toISOString()};return h.run("INSERT INTO apiKeys(id, key, name, machineId, allowedModels, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?, ?)",[l.id,l.key,l.name,l.machineId,g?(0,f.s)(g):null,1,l.createdAt]),l}async function l(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM apiKeys WHERE id = ?",[a]);if(!e)return;let h={...g(e),...b};c.run("UPDATE apiKeys SET key = ?, name = ?, machineId = ?, allowedModels = ?, isActive = ? WHERE id = ?",[h.key,h.name,h.machineId,h.allowedModels?(0,f.s)(h.allowedModels):null,+!!h.isActive,a]),d=h}),d}async function m(a){let b=(await (0,e.c)()).run("DELETE FROM apiKeys WHERE id = ?",[a]);return(b?.changes??0)>0}async function n(a){let b=(await (0,e.c)()).get("SELECT isActive FROM apiKeys WHERE key = ?",[a]);return!!b&&(1===b.isActive||!0===b.isActive)}},17385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextResponse",{enumerable:!0,get:function(){return l}});let d=c(38955),e=c(92729),f=c(99751),g=c(31050),h=c(38955),i=Symbol("internal response"),j=new Set([301,302,303,307,308]);function k(a,b){var c;if(null==a||null==(c=a.request)?void 0:c.headers){if(!(a.request.headers instanceof Headers))throw Object.defineProperty(Error("request.headers must be an instance of Headers"),"__NEXT_ERROR_CODE",{value:"E119",enumerable:!1,configurable:!0});let c=[];for(let[d,e]of a.request.headers)b.set("x-middleware-request-"+d,e),c.push(d);b.set("x-middleware-override-headers",c.join(","))}}class l extends Response{constructor(a,b={}){super(a,b);const c=this.headers,j=new Proxy(new h.ResponseCookies(c),{get(a,e,f){switch(e){case"delete":case"set":return(...f)=>{let g=Reflect.apply(a[e],a,f),i=new Headers(c);return g instanceof h.ResponseCookies&&c.set("x-middleware-set-cookie",g.getAll().map(a=>(0,d.stringifyCookie)(a)).join(",")),k(b,i),g};default:return g.ReflectAdapter.get(a,e,f)}}});this[i]={cookies:j,url:b.url?new e.NextURL(b.url,{headers:(0,f.toNodeOutgoingHttpHeaders)(c),nextConfig:b.nextConfig}):void 0}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,url:this.url,body:this.body,bodyUsed:this.bodyUsed,headers:Object.fromEntries(this.headers),ok:this.ok,redirected:this.redirected,status:this.status,statusText:this.statusText,type:this.type}}get cookies(){return this[i].cookies}static json(a,b){let c=Response.json(a,b);return new l(c.body,c)}static redirect(a,b){let c="number"==typeof b?b:(null==b?void 0:b.status)??307;if(!j.has(c))throw Object.defineProperty(RangeError('Failed to execute "redirect" on "response": Invalid status code'),"__NEXT_ERROR_CODE",{value:"E529",enumerable:!1,configurable:!0});let d="object"==typeof b?b:{},e=new Headers(null==d?void 0:d.headers);return e.set("Location",(0,f.validateURL)(a)),new l(null,{...d,headers:e,status:c})}static rewrite(a,b){let c=new Headers(null==b?void 0:b.headers);return c.set("x-middleware-rewrite",(0,f.validateURL)(a)),k(b,c),new l(null,{...b,headers:c})}static next(a){let b=new Headers(null==a?void 0:a.headers);return b.set("x-middleware-next","1"),k(a,b),new l(null,{...a,headers:b})}}},17888:(a,b)=>{"use strict";function c(a){return a.startsWith("/")?a:`/${a}`}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ensureLeadingSlash",{enumerable:!0,get:function(){return c}})},18975:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getTestReqInfo:function(){return i},withRequest:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=new(c(16698)).AsyncLocalStorage;function g(a,b){let c=b.header(a,"next-test-proxy-port");if(!c)return;let d=b.url(a);return{url:d,proxyPort:Number(c),testData:b.header(a,"next-test-data")||""}}function h(a,b,c){let d=g(a,b);return d?f.run(d,c):c()}function i(a,b){let c=f.getStore();return c||(a&&b?g(a,b):void 0)}},19293:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"connection",{enumerable:!0,get:function(){return k}});let d=c(29294),e=c(63033),f=c(8912),g=c(49540),h=c(80311),i=c(72106);c(54795);let j=c(42776);function k(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(b&&"after"===b.phase&&!(0,i.isRequestAPICallableInsideAfter)())throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside \`after()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but \`after()\` executes after the request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/canary/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E827",enumerable:!1,configurable:!0});if(a.forceStatic)return Promise.resolve(void 0);if(a.dynamicShouldError)throw Object.defineProperty(new g.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`connection()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E847",enumerable:!1,configurable:!0});if(b)switch(b.type){case"cache":{let b=Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside "use cache". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual request, but caches must be able to be produced before a request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E841",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,k),a.invalidDynamicUsageError??=b,b}case"private-cache":{let b=Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside "use cache: private". The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual navigation request, but caches must be able to be produced before a navigation request, so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E837",enumerable:!1,configurable:!0});throw Error.captureStackTrace(b,k),a.invalidDynamicUsageError??=b,b}case"unstable-cache":throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside a function cached with \`unstable_cache()\`. The \`connection()\` function is used to indicate the subsequent code must only run when there is an actual Request, but caches must be able to be produced before a Request so this function is not allowed in this scope. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E840",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${a.route} used \`connection()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1125",enumerable:!1,configurable:!0});case"prerender":case"prerender-client":case"prerender-runtime":return(0,h.makeHangingPromise)(b.renderSignal,a.route,"`connection()`");case"validation-client":{let a="`connection`";throw Object.defineProperty(new j.InvariantError(`${a} must not be used within a Client Component. Next.js should be preventing ${a} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1063",enumerable:!1,configurable:!0})}case"prerender-ppr":return(0,f.postponeWithTracking)(a.route,"connection",b.dynamicTracking);case"prerender-legacy":return(0,f.throwToInterruptStaticGeneration)("connection",a,b);case"request":if((0,f.trackDynamicDataInDynamicRender)(b),b.asyncApiPromises)return b.asyncApiPromises.connection;return Promise.resolve(void 0)}}(0,e.throwForMissingRequestStore)("connection")}},19524:(a,b)=>{"use strict";function c(a){return a.replace(/\/$/,"")||"/"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},19560:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b,c,d,e,f={};f.parse=function(a,c){if("string"!=typeof a)throw TypeError("argument str must be a string");for(var e={},f=a.split(d),g=(c||{}).decode||b,h=0;h<f.length;h++){var i=f[h],j=i.indexOf("=");if(!(j<0)){var k=i.substr(0,j).trim(),l=i.substr(++j,i.length).trim();'"'==l[0]&&(l=l.slice(1,-1)),void 0==e[k]&&(e[k]=function(a,b){try{return b(a)}catch(b){return a}}(l,g))}}return e},f.serialize=function(a,b,d){var f=d||{},g=f.encode||c;if("function"!=typeof g)throw TypeError("option encode is invalid");if(!e.test(a))throw TypeError("argument name is invalid");var h=g(b);if(h&&!e.test(h))throw TypeError("argument val is invalid");var i=a+"="+h;if(null!=f.maxAge){var j=f.maxAge-0;if(isNaN(j)||!isFinite(j))throw TypeError("option maxAge is invalid");i+="; Max-Age="+Math.floor(j)}if(f.domain){if(!e.test(f.domain))throw TypeError("option domain is invalid");i+="; Domain="+f.domain}if(f.path){if(!e.test(f.path))throw TypeError("option path is invalid");i+="; Path="+f.path}if(f.expires){if("function"!=typeof f.expires.toUTCString)throw TypeError("option expires is invalid");i+="; Expires="+f.expires.toUTCString()}if(f.httpOnly&&(i+="; HttpOnly"),f.secure&&(i+="; Secure"),f.sameSite)switch("string"==typeof f.sameSite?f.sameSite.toLowerCase():f.sameSite){case!0:case"strict":i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"none":i+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return i},b=decodeURIComponent,c=encodeURIComponent,d=/; */,e=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,a.exports=f})()},20399:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={indexOfUint8Array:function(){return e},isEquivalentUint8Arrays:function(){return f},removeFromUint8Array:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;if("u">typeof Buffer)return(Buffer.isBuffer(a)?a:Buffer.from(a.buffer,a.byteOffset,a.byteLength)).indexOf(b);for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function f(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function g(a,b){let c=e(a,b);if(0===c)return a.subarray(b.length);if(!(c>-1))return a;{let d=new Uint8Array(a.length-b.length);return d.set(a.subarray(0,c)),d.set(a.subarray(c+b.length),c),d}}},20742:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={safeCompile:function(){return i},safePathToRegexp:function(){return h},safeRegexpToFunction:function(){return j},safeRouteMatcher:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(7039),g=c(61873);function h(a,b,c){if("string"!=typeof a)return(0,f.pathToRegexp)(a,b,c);let d=(0,g.hasAdjacentParameterIssues)(a),e=d?(0,g.normalizeAdjacentParameters)(a):a;try{return(0,f.pathToRegexp)(e,b,c)}catch(e){if(!d)try{let d=(0,g.normalizeAdjacentParameters)(a);return(0,f.pathToRegexp)(d,b,c)}catch(a){}throw e}}function i(a,b){let c=(0,g.hasAdjacentParameterIssues)(a),d=c?(0,g.normalizeAdjacentParameters)(a):a;try{let a=(0,f.compile)(d,b);if(c)return b=>(0,g.stripNormalizedSeparators)(a(b));return a}catch(d){if(!c)try{let c=(0,g.normalizeAdjacentParameters)(a),d=(0,f.compile)(c,b);return a=>(0,g.stripNormalizedSeparators)(d(a))}catch(a){}throw d}}function j(a,b){let c=(0,f.regexpToFunction)(a,b||[]);return a=>{let b=c(a);return!!b&&{...b,params:(0,g.stripParameterSeparators)(b.params)}}}function k(a){return b=>{let c=a(b);return!!c&&(0,g.stripParameterSeparators)(c)}}},21804:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseUrl",{enumerable:!0,get:function(){return f}});let d=c(68202),e=c(68047);function f(a){if(a.startsWith("/"))return(0,e.parseRelativeUrl)(a);let b=new URL(a),c=b.username,f=b.password,g=c?f?`${c}:${f}`:c:null,h=b.pathname,i=b.search;return{auth:g,hash:b.hash,hostname:b.hostname,href:b.href,pathname:h,port:b.port,protocol:b.protocol,query:(0,d.searchParamsToUrlQuery)(b.searchParams),search:i,origin:b.origin,slashes:"//"===b.href.slice(b.protocol.length,b.protocol.length+2)}}},21820:a=>{"use strict";a.exports=require("os")},22697:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={HTTPAccessErrorStatus:function(){return e},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return g},getAccessFallbackErrorTypeByStatus:function(){return j},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},f=new Set(Object.values(e)),g="NEXT_HTTP_ERROR_FALLBACK";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===g&&f.has(Number(c))}function i(a){return Number(a.digest.split(";")[1])}function j(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},24025:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={computeCacheBustingSearchParam:function(){return k},computeLegacyCacheBustingSearchParam:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12217),g=new TextEncoder;function h(a){return void 0===a?"0":Array.isArray(a)?a.join(","):a}function i(a,b,c,d){return(void 0===a||"0"===a)&&void 0===b&&void 0===c&&void 0===d?null:[a??"0",h(b),h(c),h(d)].join(",")}async function j(a){var b=new Uint8Array(await globalThis.crypto.subtle.digest("SHA-256",g.encode(a))).subarray(0,12);let c="";for(let a=0;a<b.length;a++)c+=String.fromCharCode(b[a]);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function k(a,b,c,d){let e=i(a,b,c,d);return null===e?"":j(e)}function l(a,b,c,d){let e=i(a,b,c,d);return null===e?"":(0,f.hexHash)(e)}},24453:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createRequestStoreForAPI:function(){return n},createRequestStoreForRender:function(){return m},synchronizeMutableCookies:function(){return p}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g=c(36023),h=c(93384),i=c(38955),j=c(38169),k=c(99751);function l(a,b){if("x-middleware-set-cookie"in a.headers&&"string"==typeof a.headers["x-middleware-set-cookie"]){let c=a.headers["x-middleware-set-cookie"],d=new Headers;for(let a of(0,k.splitCookiesString)(c))d.append("set-cookie",a);for(let a of new i.ResponseCookies(d).getAll())b.set(a)}}function m(a,b,c,d,e,f,g,h,i,j,k){return o("render",a,b,c,d,e,f,j,g,h,i,k)}function n(a,b,c,d,e){return o("action",a,void 0,b,{},c,d,null,e,!1,void 0,null)}function o(a,b,c,d,e,k,m,n,o,p,q,r){function s(a){c&&c.setHeader("Set-Cookie",a)}let t={};return{type:"request",phase:a,implicitTags:k,url:{pathname:d.pathname,search:d.search??""},rootParams:e,get headers(){return t.headers||(t.headers=function(a){let b=g.HeadersAdapter.from(a);for(let a of f.FLIGHT_HEADERS)b.delete(a);return g.HeadersAdapter.seal(b)}(b.headers)),t.headers},get cookies(){if(!t.cookies){let a=new i.RequestCookies(g.HeadersAdapter.from(b.headers));l(b,a),t.cookies=h.RequestCookiesAdapter.seal(a)}return t.cookies},set cookies(value){t.cookies=value},get mutableCookies(){if(!t.mutableCookies){var u,v;let a,d=(u=b.headers,v=m||(c?s:void 0),a=new i.RequestCookies(g.HeadersAdapter.from(u)),h.MutableRequestCookiesAdapter.wrap(a,v));l(b,d),t.mutableCookies=d}return t.mutableCookies},get userspaceMutableCookies(){return t.userspaceMutableCookies||(t.userspaceMutableCookies=(0,h.createCookiesWithMutableAccessCheck)(this)),t.userspaceMutableCookies},get draftMode(){return t.draftMode||(t.draftMode=new j.DraftModeProvider(o,b,this.cookies,this.mutableCookies)),t.draftMode},renderResumeDataCache:n??null,isHmrRefresh:p,serverComponentsHmrCache:q||globalThis.__serverComponentsHmrCache,fallbackParams:r}}function p(a){a.cookies=h.RequestCookiesAdapter.seal((0,h.responseCookiesToRequestCookies)(a.mutableCookies))}},26670:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePagePath",{enumerable:!0,get:function(){return g}});let d=c(17888),e=c(16841),f=c(80670);function g(a){let b=/^\/index(\/|$)/.test(a)&&!(0,e.isDynamicRoute)(a)?`/index${a}`:"/"===a?"/index":(0,d.ensureLeadingSlash)(a);{let{posix:a}=c(33873),d=a.normalize(b);if(d!==b)throw new f.NormalizeError(`Requested and resolved page mismatch: ${b} ${d}`)}return b}},27048:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={chainStreams:function(){return q},continueDynamicHTMLResume:function(){return N},continueDynamicPrerender:function(){return K},continueFizzStream:function(){return J},continueStaticFallbackPrerender:function(){return M},continueStaticPrerender:function(){return L},createBufferedTransformStream:function(){return x},createDocumentClosingStream:function(){return O},createInstantTestScriptInsertionTransformStream:function(){return C},createRootLayoutValidatorStream:function(){return H},createRuntimePrefetchTransformStream:function(){return P},renderToInitialFizzStream:function(){return y},streamFromBuffer:function(){return s},streamFromString:function(){return r},streamToBuffer:function(){return v},streamToString:function(){return w},streamToUint8Array:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(12726),g=c(88026),h=c(59841),i=c(28704),j=c(6492),k=c(20399),l=c(52201),m=c(62192),n=c(24025);function o(){}let p=new TextEncoder;function q(...a){if(0===a.length)return new ReadableStream({start(a){a.close()}});if(1===a.length)return a[0];let{readable:b,writable:c}=new TransformStream,d=a[0].pipeTo(c,{preventClose:!0}),e=1;for(;e<a.length-1;e++){let b=a[e];d=d.then(()=>b.pipeTo(c,{preventClose:!0}))}let f=a[e];return(d=d.then(()=>f.pipeTo(c))).catch(o),b}function r(a){return new ReadableStream({start(b){b.enqueue(p.encode(a)),b.close()}})}function s(a){return new ReadableStream({start(b){b.enqueue(a),b.close()}})}async function t(a){let b=a.getReader(),c=[];for(;;){let{done:a,value:d}=await b.read();if(a)break;c.push(d)}return c}async function u(a){var b=await t(a);let c=new Uint8Array(b.reduce((a,b)=>a+b.length,0)),d=0;for(let a of b)c.set(a,d),d+=a.length;return c}async function v(a){return Buffer.concat(await t(a))}async function w(a,b){let c=new TextDecoder("utf-8",{fatal:!0}),d="";for await(let e of a){if(null==b?void 0:b.aborted)return d;d+=c.decode(e,{stream:!0})}return d+c.decode()}function x(a={}){let b,{maxBufferByteLength:c=1/0}=a,d=[],e=0,f=a=>{try{if(0===d.length)return;let b=new Uint8Array(e),c=0;for(let a=0;a<d.length;a++){let e=d[a];b.set(e,c),c+=e.byteLength}d.length=0,e=0,a.enqueue(b)}catch{}};return new TransformStream({transform(a,g){d.push(a),(e+=a.byteLength)>=c?f(g):(a=>{if(b)return;let c=new h.DetachedPromise;b=c,(0,i.scheduleImmediate)(()=>{try{f(a)}finally{b=void 0,c.resolve()}})})(g)},flush:()=>null==b?void 0:b.promise})}function y({ReactDOMServer:a,element:b,streamOptions:c}){return(0,f.getTracer)().trace(g.AppRenderSpan.renderToReadableStream,async()=>a.renderToReadableStream(b,c))}function z(a){let b=-1,c=!1;return new TransformStream({async transform(d,e){let f=-1,g=-1;if(b++,c)return void e.enqueue(d);let h=0;if(-1===f){if(-1===(f=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.META.ICON_MARK)))return void e.enqueue(d);47===d[f+(h=j.ENCODED_TAGS.META.ICON_MARK.length)]?h+=2:h++}if(0===b){if(g=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD),-1!==f){if(f<g){let a=new Uint8Array(d.length-h);a.set(d.subarray(0,f)),a.set(d.subarray(f+h),f),d=a}else{let b=await a(),c=p.encode(b),e=c.length,g=new Uint8Array(d.length-h+e);g.set(d.subarray(0,f)),g.set(c,f),g.set(d.subarray(f+h),f+e),d=g}c=!0}}else{let b=await a(),e=p.encode(b),g=e.length,i=new Uint8Array(d.length-h+g);i.set(d.subarray(0,f)),i.set(e,f),i.set(d.subarray(f+h),f+g),d=i,c=!0}e.enqueue(d)}})}function A(a){let b=!1,c=!1;return new TransformStream({async transform(d,e){c=!0;let f=await a();if(b){if(f){let a=p.encode(f);e.enqueue(a)}e.enqueue(d)}else{let a=(0,k.indexOfUint8Array)(d,j.ENCODED_TAGS.CLOSED.HEAD);if(-1!==a){if(f){let b=p.encode(f),c=new Uint8Array(d.length+b.length);c.set(d.slice(0,a)),c.set(b,a),c.set(d.slice(a),a+b.length),e.enqueue(c)}else e.enqueue(d);b=!0}else f&&e.enqueue(p.encode(f)),e.enqueue(d),b=!0}},async flush(b){if(c){let c=await a();c&&b.enqueue(p.encode(c))}}})}async function B(){let a=await (0,n.computeCacheBustingSearchParam)("1","/_full",void 0,void 0),b=`${m.NEXT_RSC_UNION_QUERY}=${a}`,c=`<script>__NEXT_CLIENT_RESUME=fetch(location.pathname+'?${b}',{credentials:'same-origin',headers:{'${m.RSC_HEADER}': '1','${m.NEXT_ROUTER_PREFETCH_HEADER}': '1','${m.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}': '/_full'}})</script>`,d=!1;return new TransformStream({transform(a,b){if(d)return void b.enqueue(a);let e=(0,k.indexOfUint8Array)(a,j.ENCODED_TAGS.CLOSED.HEAD);if(-1===e)return void b.enqueue(a);let f=p.encode(c),g=new Uint8Array(a.length+f.length);g.set(a.slice(0,e)),g.set(f,e),g.set(a.slice(e),e+f.length),b.enqueue(g),d=!0}})}async function C(a){let b="/_full",c=await (0,n.computeCacheBustingSearchParam)("1",b,void 0,void 0),d=`${m.NEXT_RSC_UNION_QUERY}=${c}`,e=null!==a?`self.__next_r=${JSON.stringify(a)};`:"",f=`<script>${e}self.__next_instant_test=fetch(location.pathname+'?${d}',{credentials:'same-origin',headers:{'${m.RSC_HEADER}':'1','${m.NEXT_ROUTER_PREFETCH_HEADER}':'1','${m.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER}':'${b}','${m.NEXT_INSTANT_PREFETCH_HEADER}':'1'}})</script>`,g=!1;return new TransformStream({transform(a,b){if(g)return void b.enqueue(a);let c=(0,k.indexOfUint8Array)(a,j.ENCODED_TAGS.OPENING.HEAD);if(-1===c)return void b.enqueue(a);let d=a.indexOf(62,c+j.ENCODED_TAGS.OPENING.HEAD.length);if(-1===d)return void b.enqueue(a);let e=p.encode(f),h=d+1,i=new Uint8Array(a.length+e.length);i.set(a.slice(0,h)),i.set(e,h),i.set(a.slice(h),h+e.length),b.enqueue(i),g=!0},flush(a){a.enqueue(j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function D(a,b){let c=!1,d=null,e=!1;function f(a){return d||(d=g(a)),d}async function g(d){let f=a.getReader();b&&await (0,i.atLeastOneTask)();try{for(;;){let{done:a,value:g}=await f.read();if(a){e=!0;return}b||c||await (0,i.atLeastOneTask)(),d.enqueue(g)}}catch(a){d.error(a)}}return new TransformStream({start(a){b||f(a)},transform(a,c){c.enqueue(a),b&&f(c)},flush(a){if(c=!0,!e)return f(a)}})}let E="</body></html>";function F(){let a=!1;return new TransformStream({transform(b,c){if(a)return c.enqueue(b);let d=(0,k.indexOfUint8Array)(b,j.ENCODED_TAGS.CLOSED.BODY_AND_HTML);if(d>-1){if(a=!0,b.length===j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length)return;let e=b.slice(0,d);if(c.enqueue(e),b.length>j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length+d){let a=b.slice(d+j.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length);c.enqueue(a)}}else c.enqueue(b)},flush(a){a.enqueue(j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function G(a){let b=!1;return new TransformStream({transform(c,d){if(b)return void d.enqueue(c);let e=(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML);if(-1===e)return void d.enqueue(c);let f=e+j.ENCODED_TAGS.OPENING.HTML.length,g=` data-dpl-id="${a}"`,h=p.encode(g),i=new Uint8Array(c.length+h.length);i.set(c.subarray(0,f)),i.set(h,f),i.set(c.subarray(f),f+h.length),d.enqueue(i),b=!0}})}function H(){let a=!1,b=!1;return new TransformStream({async transform(c,d){!a&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.HTML)>-1&&(a=!0),!b&&(0,k.indexOfUint8Array)(c,j.ENCODED_TAGS.OPENING.BODY)>-1&&(b=!0),d.enqueue(c)},flush(c){let d=[];a||d.push("html"),b||d.push("body"),d.length&&c.enqueue(p.encode(`<html id="__next_error__">
5
5
  <template
6
6
  data-next-error-message="Missing ${d.map(a=>`<${a}>`).join(d.length>1?" and ":"")} tags in the root layout.
7
7
  Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
@@ -9,19 +9,19 @@ Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
9
9
  data-next-error-stack=""
10
10
  ></template>
11
11
  `))}})}function I(a,b){let c=a;for(let a of b)a&&(c=c.pipeThrough(a));return c}async function J(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,deploymentId:e,getServerInsertedHTML:f,getServerInsertedMetadata:g,validateRootLayout:j}){let k,l,m=b?b.split(E,1)[0]:null;return d?await a.allReady:await (0,i.waitAtLeastOneReactRenderTask)(),I(a,[x(),e?G(e):null,z(g),null!=m&&m.length>0?(l=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!l){let a;l=!0,k=a=new h.DetachedPromise,(0,i.scheduleImmediate)(()=>{try{b.enqueue(p.encode(m))}catch{}finally{k=void 0,a.resolve()}})}},flush(a){if(k)return k.promise;l||a.enqueue(p.encode(m))}})):null,c?D(c,!0):null,j?H():null,F(),A(f)])}async function K(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c,deploymentId:d}){return I(a,[x(),new TransformStream({transform(a,b){(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.BODY)||(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.HTML)||(a=(0,k.removeFromUint8Array)(a,j.ENCODED_TAGS.CLOSED.BODY),a=(0,k.removeFromUint8Array)(a,j.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}}),d?G(d):null,A(b),z(c)])}async function L(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,deploymentId:e}){return I(a,[x(),e?G(e):null,A(c),z(d),D(b,!0),F()])}async function M(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,deploymentId:e}){return I(a,[x(),e?G(e):null,A(c),await B(),z(d),D(b,!0),F()])}async function N(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e,deploymentId:f}){return I(a,[x(),f?G(f):null,A(d),z(e),D(c,b),F()])}function O(){return r(E)}function P(a,b,c){let d=new TextEncoder,e=d.encode(`[${a}]`),f=e[0],g=d.encode(`[${b},${c}]`),h=e.length,i=null,j=!1;function k(a,b){if(j){b&&a.enqueue(b);return}if(i){let c=i.length-(h-1);if(b&&(c+=Math.min(b.length,h-1)),c<1){a.enqueue(i),i=b;return}let d=i.indexOf(f);a:for(;-1<d&&d<c;){let c=1;for(;c<h;){let a=d+c;if((a<i.length?i[a]:b[a-i.length])!==e[c]){d=i.indexOf(f,d+1);continue a}c++}if(j=!0,a.enqueue(i.subarray(0,d)),a.enqueue(g),d+h<i.length&&a.enqueue(i.slice(d+h)),b){let c=d+h-i.length,e=c>0?b.subarray(c):b;a.enqueue(e)}i=null;return}a.enqueue(i)}i=b}return new TransformStream({transform(a,b){k(b,a)},flush(a){k(a,null)}})}},28344:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={formatUrl:function(){return h},formatWithValidation:function(){return j},urlObjectKeys:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(44001)._(c(68202)),g=/https?|ftp|gopher|file/;function h(a){let{auth:b,hostname:c}=a,d=a.protocol||"",e=a.pathname||"",h=a.hash||"",i=a.query||"",j=!1;b=b?encodeURIComponent(b).replace(/%3A/i,":")+"@":"",a.host?j=b+a.host:c&&(j=b+(~c.indexOf(":")?`[${c}]`:c),a.port&&(j+=":"+a.port)),i&&"object"==typeof i&&(i=String(f.urlQueryToSearchParams(i)));let k=a.search||i&&`?${i}`||"";return d&&!d.endsWith(":")&&(d+=":"),a.slashes||(!d||g.test(d))&&!1!==j?(j="//"+(j||""),e&&"/"!==e[0]&&(e="/"+e)):j||(j=""),h&&"#"!==h[0]&&(h="#"+h),k&&"?"!==k[0]&&(k="?"+k),e=e.replace(/[?#]/g,encodeURIComponent),k=k.replace("#","%23"),`${d}${j}${e}${k}${h}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function j(a){return h(a)}},28516:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizeLocalePath",{enumerable:!0,get:function(){return d}});let c=new WeakMap;function d(a,b){let d;if(!b)return{pathname:a};let e=c.get(b);e||(e=b.map(a=>a.toLowerCase()),c.set(b,e));let f=a.split("/",2);if(!f[1])return{pathname:a};let g=f[1].toLowerCase(),h=e.indexOf(g);return h<0?{pathname:a}:(d=b[h],{pathname:a=a.slice(d.length+1)||"/",detectedLocale:d})}},28629:(a,b,c)=>{"use strict";c.d(b,{n:()=>r});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h),j=c(76760),k=c.n(j),l=c(48161),m=c.n(l);function n(a){if(!a)return!1;try{let b=k().join(a,".migrated-from");if(e().existsSync(b))return!1;let c="win32"===process.platform?k().join(process.env.APPDATA||k().join(m().homedir(),"AppData","Roaming"),"9router"):k().join(m().homedir(),".9router");if(!c||!e().existsSync(c))return e().mkdirSync(a,{recursive:!0}),e().writeFileSync(b,"none\n"),!1;if(function(a){let b=["db.sqlite","db.json","usage.json","settings.json"],c=[];try{for(let d of e().readdirSync(a))b.includes(d)&&c.push(d)}catch{}return c}(a).length>0)return e().writeFileSync(b,"skipped: new dir already populated\n"),!1;return e().mkdirSync(a,{recursive:!0}),function a(b,c){for(let d of(e().mkdirSync(c,{recursive:!0}),e().readdirSync(b,{withFileTypes:!0}))){if("runtime"===d.name)continue;let f=k().join(b,d.name),g=k().join(c,d.name);d.isDirectory()?a(f,g):e().copyFileSync(f,g)}}(c,a),e().writeFileSync(b,`${c}
12
- `),console.log(`[extremerouter] migrated data from ${c} → ${a}`),!0}catch(a){return console.warn(`[extremerouter] data migration skipped: ${a?.message||a}`),!1}}let o="extremerouter";function p(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),o):g().join(i().homedir(),`.${o}`)}function q(){let a=p();return e().mkdirSync(a,{recursive:!0}),n(a),a}let r=function(){let a=process.env.DATA_DIR,b=a||p();if("win32"===process.platform&&a&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),q();try{return e().mkdirSync(b,{recursive:!0}),a||n(b),b}catch(a){if(a?.code==="EACCES"||a?.code==="EPERM")return console.warn(`[DATA_DIR] '${b}' not writable → fallback ~/.${o}`),q();throw a}}()},28704:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={atLeastOneTask:function(){return g},scheduleImmediate:function(){return f},scheduleOnNextTick:function(){return e},waitAtLeastOneReactRenderTask:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},f=a=>{setImmediate(a)};function g(){return new Promise(a=>f(a))}function h(){return new Promise(a=>setImmediate(a))}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29299:(a,b)=>{"use strict";function c(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createPromiseWithResolvers",{enumerable:!0,get:function(){return c}})},30585:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"resolveParamValue",{enumerable:!0,get:function(){return f}});let d=c(42776),e=c(58486);function f(a,b,c,f,g){switch(b){case"catchall":case"optional-catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":let h=[];for(let a=c;a<f.segments.length;a++){let d=f.segments[a];if("static"===d.type){let f=d.name,g=(0,e.interceptionPrefixFromParamType)(b);g&&a===c&&g===d.interceptionMarker&&(f=f.replace(d.interceptionMarker,"")),h.push(f)}else{if(!g.hasOwnProperty(d.param.paramName)){if("optional-catchall"===d.param.paramType)break;return}let a=g[d.param.paramName];Array.isArray(a)?h.push(...a):h.push(a)}}if(h.length>0)return h;if("optional-catchall"===b)return;throw Object.defineProperty(new d.InvariantError(`Unexpected empty path segments match for a route "${f.pathname}" with param "${a}" of type "${b}"`),"__NEXT_ERROR_CODE",{value:"E931",enumerable:!1,configurable:!0});case"dynamic":case"dynamic-intercepted-(..)(..)":case"dynamic-intercepted-(.)":case"dynamic-intercepted-(..)":case"dynamic-intercepted-(...)":if(c<f.segments.length){let a=f.segments[c];if("dynamic"===a.type&&!g.hasOwnProperty(a.param.paramName))return;return"dynamic"===a.type?g[a.param.paramName]:(0,e.interceptionPrefixFromParamType)(b)===a.interceptionMarker?a.name.replace(a.interceptionMarker,""):a.name}return}}},31050:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReflectAdapter",{enumerable:!0,get:function(){return c}});class c{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},31147:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={createLazyResult:function(){return e},isResolvedLazyResult:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b,c={then:(d,e)=>(b||(b=Promise.resolve(a())),b.then(a=>{c.value=a}).catch(()=>{}),b.then(d,e))};return c}function f(a){return a.hasOwnProperty("value")}},31385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={PARAMETER_PATTERN:function(){return l},getDynamicParam:function(){return k},interpolateParallelRouteParams:function(){return j},parseMatchedParameter:function(){return n},parseParameter:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42776),g=c(71185),h=c(36081),i=c(30585);function j(a,b,c,d){let e=structuredClone(b),j=[{tree:a,depth:0}],k=(0,h.parseAppRoute)(c,!0);for(;j.length>0;){let{tree:a,depth:b}=j.pop(),{segment:c,parallelRoutes:l}=(0,g.parseLoaderTree)(a),m=(0,h.parseAppRouteSegment)(c);if(m?.type==="dynamic"&&!e.hasOwnProperty(m.param.paramName)&&!d?.has(m.param.paramName)){let{paramName:a,paramType:c}=m.param,d=(0,i.resolveParamValue)(a,c,b,k,e);if(void 0!==d)e[a]=d;else if("optional-catchall"!==c)throw Object.defineProperty(new f.InvariantError(`Could not resolve param value for segment: ${a}`),"__NEXT_ERROR_CODE",{value:"E932",enumerable:!1,configurable:!0})}let n=b;for(let a of(m&&"route-group"!==m.type&&"parallel-route"!==m.type&&n++,Object.values(l)))j.push({tree:a,depth:n})}return e}function k(a,b,c,d,e){let g=function(a,b,c){let d=a[b];if(c?.has(b)){let[a]=c.get(b);d=a}else Array.isArray(d)?d=d.map(a=>encodeURIComponent(a)):"string"==typeof d&&(d=encodeURIComponent(d));return d}(a,b,d);if(!g||0===g.length){if("oc"===c)return{param:b,value:null,type:c,treeSegment:[b,"",c,e]};throw Object.defineProperty(new f.InvariantError(`Missing value for segment key: "${b}" with dynamic param type: ${c}`),"__NEXT_ERROR_CODE",{value:"E864",enumerable:!1,configurable:!0})}let h=Array.isArray(g)?g.join("/"):g;return{param:b,value:g,treeSegment:[b,h,c,e],type:c}}let l=/^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/;function m(a){let b=a.match(l);return b?n(b[2]):n(a)}function n(a){let b=a.startsWith("[")&&a.endsWith("]");b&&(a=a.slice(1,-1));let c=a.startsWith("...");return c&&(a=a.slice(3)),{key:a,repeat:c,optional:b}}},31574:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImplicitTags",{enumerable:!0,get:function(){return h}});let d=c(96100),e=c(57155),f=c(67751),g=c(31147);async function h(a,b,c){let h=new Set;for(let b of(a=>{let b=["/layout"];if(a.startsWith("/")){let c=a.split("/");for(let a=1;a<c.length+1;a++){let d=c.slice(0,a).join("/");d&&(d.endsWith("/page")||d.endsWith("/route")||(d=`${d}${!d.endsWith("/")?"/":""}layout`),b.push(d))}}return b})(a))b=(0,f.encodeCacheTag)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`),h.add(b);if(b&&(!c||0===c.size)){let a=(0,f.encodeCacheTag)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`);h.add(a)}h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`),h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`);let i=Array.from(h);return{tags:i,expirationsByCacheKind:function(a){let b=new Map,c=(0,e.getCacheHandlerEntries)();if(c)for(let[d,e]of c)"getExpiration"in e&&b.set(d,(0,g.createLazyResult)(async()=>e.getExpiration(a)));return b}(i)}}},32053:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},32457:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDefaultCacheHandler",{enumerable:!0,get:function(){return f}});let d=c(9913),e=c(36820);function f(a){if(0===a)return{get:()=>Promise.resolve(void 0),set:()=>Promise.resolve(),refreshTags:()=>Promise.resolve(),getExpiration:()=>Promise.resolve(0),updateTags:()=>Promise.resolve()};let b=new d.LRUCache(a,a=>a.size),c=new Map,f=process.env.NEXT_PRIVATE_DEBUG_CACHE?console.debug.bind(console,"DefaultCacheHandler:"):void 0;return{async get(a){let d=c.get(a);d&&(null==f||f("get",a,"pending"),await d);let g=b.get(a);if(!g){null==f||f("get",a,"not found");return}let h=g.entry;if(performance.timeOrigin+performance.now()>h.timestamp+1e3*h.revalidate){null==f||f("get",a,"expired");return}let i=h.revalidate;if((0,e.areTagsExpired)(h.tags,h.timestamp)){null==f||f("get",a,"had expired tag");return}(0,e.areTagsStale)(h.tags,h.timestamp)&&(null==f||f("get",a,"had stale tag"),i=-1);let[j,k]=h.value.tee();return h.value=k,null==f||f("get",a,"found",{tags:h.tags,timestamp:h.timestamp,expire:h.expire,revalidate:i}),{...h,revalidate:i,value:j}},async set(a,d){null==f||f("set",a,"start");let e=()=>{},g=new Promise(a=>{e=a});c.set(a,g);let h=await d,i=0;try{let[c,d]=h.value.tee();h.value=c;let e=d.getReader();for(let a;!(a=await e.read()).done;)i+=Buffer.from(a.value).byteLength;b.set(a,{entry:h,isErrored:!1,errorRetryCount:0,size:i}),null==f||f("set",a,"done")}catch(b){null==f||f("set",a,"failed",b)}finally{e(),c.delete(a)}},async refreshTags(){},async getExpiration(a){let b=Math.max(...a.map(a=>{let b=e.tagsManifest.get(a);return b&&b.expired||0}),0);return null==f||f("getExpiration",{tags:a,expiration:b}),b},async updateTags(a,b){let c=Math.round(performance.timeOrigin+performance.now());for(let d of(null==f||f("updateTags",{tags:a,timestamp:c}),a)){let a=e.tagsManifest.get(d)||{};if(b){let f={...a};f.stale=c,void 0!==b.expire&&(f.expired=c+1e3*b.expire),e.tagsManifest.set(d,f)}else e.tagsManifest.set(d,{...a,expired:c})}}}}},32648:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={edgeInstrumentationOnRequestError:function(){return h},ensureInstrumentationRegistered:function(){return j},getEdgeInstrumentationModule:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});async function e(){return"_ENTRIES"in globalThis&&_ENTRIES.middleware_instrumentation&&await _ENTRIES.middleware_instrumentation}let f=null;async function g(){if("phase-production-build"===process.env.NEXT_PHASE)return;f||(f=e());let a=await f;if(null==a?void 0:a.register)try{await a.register()}catch(a){throw a.message=`An error occurred while loading instrumentation hook: ${a.message}`,a}}async function h(...a){let b=await e();try{var c;await (null==b||null==(c=b.onRequestError)?void 0:c.call(b,...a))}catch(a){console.error("Error in instrumentation.onRequestError:",a)}}let i=null;function j(){return i||(i=g()),i}},33323:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},33873:a=>{"use strict";a.exports=require("path")},34196:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"URLPattern",{enumerable:!0,get:function(){return c}});let c="u"<typeof URLPattern?void 0:URLPattern},34539:(a,b,c)=>{"use strict";a.exports=c(6796).vendored["react-rsc"].React},36023:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={HeadersAdapter:function(){return h},ReadonlyHeadersError:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(31050);class g extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers")}static callable(){throw new g}}class h extends Headers{constructor(a){super(),this.headers=new Proxy(a,{get(b,c,d){if("symbol"==typeof c)return f.ReflectAdapter.get(b,c,d);let e=c.toLowerCase(),g=Object.keys(a).find(a=>a.toLowerCase()===e);if(void 0!==g)return f.ReflectAdapter.get(b,g,d)},set(b,c,d,e){if("symbol"==typeof c)return f.ReflectAdapter.set(b,c,d,e);let g=c.toLowerCase(),h=Object.keys(a).find(a=>a.toLowerCase()===g);return f.ReflectAdapter.set(b,h??c,d,e)},has(b,c){if("symbol"==typeof c)return f.ReflectAdapter.has(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0!==e&&f.ReflectAdapter.has(b,e)},deleteProperty(b,c){if("symbol"==typeof c)return f.ReflectAdapter.deleteProperty(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0===e||f.ReflectAdapter.deleteProperty(b,e)}})}static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"append":case"delete":case"set":return g.callable;default:return f.ReflectAdapter.get(a,b,c)}}})}merge(a){return Array.isArray(a)?a.join(", "):a}static from(a){return a instanceof Headers?a:new h(a)}append(a,b){let c=this.headers[a];"string"==typeof c?this.headers[a]=[c,b]:Array.isArray(c)?c.push(b):this.headers[a]=b}delete(a){delete this.headers[a]}get(a){let b=this.headers[a];return void 0!==b?this.merge(b):null}has(a){return void 0!==this.headers[a]}set(a,b){this.headers[a]=b}forEach(a,b){for(let[c,d]of this.entries())a.call(b,d,c,this)}*entries(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase(),c=this.get(b);yield[b,c]}}*keys(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase();yield b}}*values(){for(let a of Object.keys(this.headers)){let b=this.get(a);yield b}}[Symbol.iterator](){return this.entries()}}},36066:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathSuffix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return`${c}${b}${e}${f}`}},36081:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isInterceptionAppRoute:function(){return k},isNormalizedAppRoute:function(){return j},parseAppRoute:function(){return function a(b,c){let d,e,h,j=b.split("/").filter(Boolean),k=[];for(let l of j){let j=i(function(a){if(!/%5b|%5d/i.test(a))return a;try{let b=decodeURIComponent(a);return(0,g.getSegmentParam)(b)?b:a}catch{return a}}(l));if(j){if(c&&("route-group"===j.type||"parallel-route"===j.type))throw Object.defineProperty(new f.InvariantError(`${b} is being parsed as a normalized route, but it has a route group or parallel route segment.`),"__NEXT_ERROR_CODE",{value:"E923",enumerable:!1,configurable:!0});if(k.push(j),j.interceptionMarker){let f=b.split(j.interceptionMarker);if(2!==f.length)throw Object.defineProperty(Error(`Invalid interception route: ${b}`),"__NEXT_ERROR_CODE",{value:"E924",enumerable:!1,configurable:!0});e=c?a(f[0],!0):a(f[0],!1),h=c?a(f[1],!0):a(f[1],!1),d=j.interceptionMarker}}}let l=k.filter(a=>"dynamic"===a.type);return{normalized:c,pathname:b,segments:k,dynamicSegments:l,interceptionMarker:d,interceptingRoute:e,interceptedRoute:h}}},parseAppRouteSegment:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42776),g=c(51597),h=c(11042);function i(a){if(""===a)return null;let b=h.INTERCEPTION_ROUTE_MARKERS.find(b=>a.startsWith(b)),c=(0,g.getSegmentParam)(a);return c?{type:"dynamic",name:a,param:c,interceptionMarker:b}:a.startsWith("(")&&a.endsWith(")")?{type:"route-group",name:a,interceptionMarker:b}:a.startsWith("@")?{type:"parallel-route",name:a,interceptionMarker:b}:{type:"static",name:a,interceptionMarker:b}}function j(a){return a.normalized}function k(a){return void 0!==a.interceptionMarker&&void 0!==a.interceptingRoute&&void 0!==a.interceptedRoute}},36241:(a,b,c)=>{"use strict";c.d(b,{getPricingForModel:()=>f}),c(59339);let d=(0,c(71509).U)("pricing");async function e(){return await d.getAll()}async function f(a,b){if(!b)return null;let d=await e();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:f}=await Promise.resolve().then(c.bind(c,26763));return f(a,b)}},36299:(a,b)=>{"use strict";function c(a,b,c){if(a){for(let d of(c&&(c=c.toLowerCase()),a))if(b===d.domain?.split(":",1)[0].toLowerCase()||c===d.defaultLocale.toLowerCase()||d.locales?.some(a=>a.toLowerCase()===c))return d}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"detectDomainLocale",{enumerable:!0,get:function(){return c}})},36820:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/tags-manifest.external.js")},38169:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DraftModeProvider",{enumerable:!0,get:function(){return e}});let d=c(97010);class e{constructor(a,b,c,e){var f;const g=a&&(0,d.checkIsOnDemandRevalidate)(b,a).isOnDemandRevalidate,h=null==(f=c.get(d.COOKIE_NAME_PRERENDER_BYPASS))?void 0:f.value;this._isEnabled=!!(!g&&h&&a&&h===a.previewModeId),this._previewModeId=null==a?void 0:a.previewModeId,this._mutableCookies=e}get isEnabled(){return this._isEnabled}enable(){if(!this._previewModeId)throw Object.defineProperty(Error("Invariant: previewProps missing previewModeId this should never happen"),"__NEXT_ERROR_CODE",{value:"E93",enumerable:!1,configurable:!0});this._mutableCookies.set({name:d.COOKIE_NAME_PRERENDER_BYPASS,value:this._previewModeId,httpOnly:!0,sameSite:"none",secure:!0,path:"/"}),this._isEnabled=!0}disable(){this._mutableCookies.set({name:d.COOKIE_NAME_PRERENDER_BYPASS,value:"",httpOnly:!0,sameSite:"none",secure:!0,path:"/",expires:new Date(0)}),this._isEnabled=!1}}},38955:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(90810)},40694:(a,b,c)=>{"use strict";a.exports=c(33873)},42097:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={isNodeNextRequest:function(){return g},isNodeNextResponse:function(){return h},isWebNextRequest:function(){return e},isWebNextResponse:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>!1,f=a=>!1,g=a=>!0,h=a=>!0},42501:(a,b)=>{"use strict";function c(){throw Object.defineProperty(Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'),"__NEXT_ERROR_CODE",{value:"E183",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ImageResponse",{enumerable:!0,get:function(){return c}})},42776:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"InvariantError",{enumerable:!0,get:function(){return c}});class c extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},43892:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(k)}},44001:(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}function e(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}c.r(b),c.d(b,{_:()=>e})},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},49540:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={StaticGenBailoutError:function(){return f},isStaticGenBailoutError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="NEXT_STATIC_GEN_BAILOUT";class f extends Error{constructor(...a){super(...a),this.code=e}}function g(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===e}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},49731:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compileNonPath:function(){return m},matchHas:function(){return l},parseDestination:function(){return n},prepareDestination:function(){return o}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(73896),g=c(21804),h=c(11042),i=c(8007),j=c(20742);function k(a){return a.replace(/__ESC_COLON_/gi,":")}function l(a,b,c=[],d=[]){let e={},f=c=>{let d,f=c.key;switch(c.type){case"header":f=f.toLowerCase(),d=a.headers[f];break;case"cookie":d="cookies"in a?a.cookies[c.key]:(0,i.getCookieParser)(a.headers)()[c.key];break;case"query":d=b[f];break;case"host":{let{host:b}=a?.headers||{};d=b?.split(":",1)[0].toLowerCase()}}if(!c.value&&d)return e[function(a){let b="";for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);(d>64&&d<91||d>96&&d<123)&&(b+=a[c])}return b}(f)]=d,!0;if(d){let a=RegExp(`^${c.value}$`),b=Array.isArray(d)?d.slice(-1)[0].match(a):d.match(a);if(b)return Array.isArray(b)&&(b.groups?Object.keys(b.groups).forEach(a=>{e[a]=b.groups[a]}):"host"===c.type&&b[0]&&(e.host=b[0])),!0}return!1};return!(!c.every(a=>f(a))||d.some(a=>f(a)))&&e}function m(a,b){if(!a.includes(":"))return a;for(let c of Object.keys(b))a.includes(`:${c}`)&&(a=a.replace(RegExp(`:${c}\\*`,"g"),`:${c}--ESCAPED_PARAM_ASTERISKS`).replace(RegExp(`:${c}\\?`,"g"),`:${c}--ESCAPED_PARAM_QUESTION`).replace(RegExp(`:${c}\\+`,"g"),`:${c}--ESCAPED_PARAM_PLUS`).replace(RegExp(`:${c}(?!\\w)`,"g"),`--ESCAPED_PARAM_COLON${c}`));return a=a.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,"\\$1").replace(/--ESCAPED_PARAM_PLUS/g,"+").replace(/--ESCAPED_PARAM_COLON/g,":").replace(/--ESCAPED_PARAM_QUESTION/g,"?").replace(/--ESCAPED_PARAM_ASTERISKS/g,"*"),(0,j.safeCompile)(`/${a}`,{validate:!1})(b).slice(1)}function n(a){let b=a.destination;for(let c of Object.keys({...a.params,...a.query}))c&&(b=b.replace(RegExp(`:${(0,f.escapeStringRegexp)(c)}`,"g"),`__ESC_COLON_${c}`));let c=(0,g.parseUrl)(b),d=c.pathname;d&&(d=k(d));let e=c.href;e&&(e=k(e));let h=c.hostname;h&&(h=k(h));let i=c.hash;i&&(i=k(i));let j=c.search;j&&(j=k(j));let l=c.origin;return l&&(l=k(l)),{...c,pathname:d,hostname:h,href:e,hash:i,search:j,origin:l}}function o(a){let b,c,d=n(a),{hostname:e,query:f,search:g}=d,i=d.pathname;d.hash&&(i=`${i}${d.hash}`);let l=[],o=[];for(let a of((0,j.safePathToRegexp)(i,o),o))l.push(a.name);if(e){let a=[];for(let b of((0,j.safePathToRegexp)(e,a),a))l.push(b.name)}let p=(0,j.safeCompile)(i,{validate:!1});for(let[c,d]of(e&&(b=(0,j.safeCompile)(e,{validate:!1,encode:encodeURIComponent})),Object.entries(f)))Array.isArray(d)?f[c]=d.map(b=>m(k(b),a.params)):"string"==typeof d&&(f[c]=m(k(d),a.params));let q=Object.keys(a.params).filter(a=>"nextInternalLocale"!==a);if(a.appendParamsToQuery&&!q.some(a=>l.includes(a)))for(let b of q)b in f||(f[b]=a.params[b]);if((0,h.isInterceptionRouteAppPath)(i))for(let b of i.split("/")){let c=h.INTERCEPTION_ROUTE_MARKERS.find(a=>b.startsWith(a));if(c){"(..)(..)"===c?(a.params["0"]="(..)",a.params["1"]="(..)"):a.params["0"]=c;break}}try{let[e,f]=(c=p(a.params)).split("#",2);b&&(d.hostname=b(a.params)),d.pathname=e,d.hash=`${f?"#":""}${f||""}`,d.search=g?m(g,a.params):""}catch(a){if(a.message.match(/Expected .*? to not repeat, but got an array/))throw Object.defineProperty(Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match"),"__NEXT_ERROR_CODE",{value:"E329",enumerable:!1,configurable:!0});throw a}return d.query={...a.query,...d.query},{newUrl:c,destQuery:f,parsedDestination:d}}},50158:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={METADATA_BOUNDARY_NAME:function(){return e},OUTLET_BOUNDARY_NAME:function(){return g},ROOT_LAYOUT_BOUNDARY_NAME:function(){return h},VIEWPORT_BOUNDARY_NAME:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="__next_metadata_boundary__",f="__next_viewport_boundary__",g="__next_outlet_boundary__",h="__next_root_layout_boundary__"},51597:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getParamProperties:function(){return i},getSegmentParam:function(){return g},isCatchAll:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(11042);function g(a){let b=f.INTERCEPTION_ROUTE_MARKERS.find(b=>a.startsWith(b));return(b&&(a=a.slice(b.length)),a.startsWith("[[...")&&a.endsWith("]]"))?{paramType:"optional-catchall",paramName:a.slice(5,-2)}:a.startsWith("[...")&&a.endsWith("]")?{paramType:b?`catchall-intercepted-${b}`:"catchall",paramName:a.slice(4,-1)}:a.startsWith("[")&&a.endsWith("]")?{paramType:b?`dynamic-intercepted-${b}`:"dynamic",paramName:a.slice(1,-1)}:null}function h(a){return"catchall"===a||"catchall-intercepted-(..)(..)"===a||"catchall-intercepted-(.)"===a||"catchall-intercepted-(..)"===a||"catchall-intercepted-(...)"===a||"optional-catchall"===a}function i(a){let b=!1,c=!1;switch(a){case"catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":b=!0;break;case"optional-catchall":b=!0,c=!0}return{repeat:b,optional:c}}},52201:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},53180:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getPathMatch",{enumerable:!0,get:function(){return e}});let d=c(7039);function e(a,b){let c=[],e=(0,d.pathToRegexp)(a,c,{delimiter:"/",sensitive:"boolean"==typeof b?.sensitive&&b.sensitive,strict:b?.strict}),f=(0,d.regexpToFunction)(b?.regexModifier?new RegExp(b.regexModifier(e.source),e.flags):e,c);return(a,d)=>{if("string"!=typeof a)return!1;let e=f(a);if(!e)return!1;if(b?.removeUnnamedParams)for(let a of c)"number"==typeof a.name&&delete e.params[a.name];return{...d,...e.params}}}},53610:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DEFAULT_SEGMENT_KEY:function(){return k},NOT_FOUND_SEGMENT_KEY:function(){return l},PAGE_SEGMENT_KEY:function(){return j},addSearchParamsIfPageSegment:function(){return h},computeSelectedLayoutSegment:function(){return i},getSegmentValue:function(){return e},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,f=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return f;let h=e(g[0]);return!h||h.startsWith(j)?f:(f.push(h),a(g,c,!1,f))}},isGroupSegment:function(){return f},isParallelRouteSegment:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){return Array.isArray(a)?a[1]:a}function f(a){return"("===a[0]&&a.endsWith(")")}function g(a){return a.startsWith("@")&&"@children"!==a}function h(a,b){if(a.includes(j)){let a=JSON.stringify(b);return"{}"!==a?j+"?"+a:j}return a}function i(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===k?null:c}let j="__PAGE__",k="__DEFAULT__",l="/_not-found"},54795:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={RenderStage:function(){return i},StagedRenderingController:function(){return j}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(42776),h=c(29299);var i=((d={})[d.Before=1]="Before",d[d.EarlyStatic=2]="EarlyStatic",d[d.Static=3]="Static",d[d.EarlyRuntime=4]="EarlyRuntime",d[d.Runtime=5]="Runtime",d[d.Dynamic=6]="Dynamic",d[d.Abandoned=7]="Abandoned",d);class j{constructor(a,b,c){this.abortSignal=a,this.abandonController=b,this.shouldTrackSyncIO=c,this.currentStage=1,this.syncInterruptReason=null,this.staticStageEndTime=1/0,this.runtimeStageEndTime=1/0,this.staticStageListeners=[],this.earlyRuntimeStageListeners=[],this.runtimeStageListeners=[],this.dynamicStageListeners=[],this.staticStagePromise=(0,h.createPromiseWithResolvers)(),this.earlyRuntimeStagePromise=(0,h.createPromiseWithResolvers)(),this.runtimeStagePromise=(0,h.createPromiseWithResolvers)(),this.dynamicStagePromise=(0,h.createPromiseWithResolvers)(),a&&a.addEventListener("abort",()=>{let{reason:b}=a;this.staticStagePromise.promise.catch(k),this.staticStagePromise.reject(b),this.earlyRuntimeStagePromise.promise.catch(k),this.earlyRuntimeStagePromise.reject(b),this.runtimeStagePromise.promise.catch(k),this.runtimeStagePromise.reject(b),this.dynamicStagePromise.promise.catch(k),this.dynamicStagePromise.reject(b)},{once:!0}),b&&b.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(a,b){if(this.currentStage>=a)b();else if(3===a)this.staticStageListeners.push(b);else if(4===a)this.earlyRuntimeStageListeners.push(b);else if(5===a)this.runtimeStageListeners.push(b);else if(6===a)this.dynamicStageListeners.push(b);else throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}shouldTrackSyncInterrupt(){if(!this.shouldTrackSyncIO)return!1;switch(this.currentStage){case 1:case 5:case 6:case 7:default:return!1;case 2:case 3:case 4:return!0}}syncInterruptCurrentStageWithReason(a){if(1!==this.currentStage&&7!==this.currentStage){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=a,this.currentStage=7;return}switch(this.currentStage){case 2:case 3:case 4:this.syncInterruptReason=a,this.advanceStage(6);return;case 5:return}}}getSyncInterruptReason(){return this.syncInterruptReason}getStaticStageEndTime(){return this.staticStageEndTime}getRuntimeStageEndTime(){return this.runtimeStageEndTime}abandonRender(){let{currentStage:a}=this;switch(a){case 2:this.resolveStaticStage();case 3:this.resolveEarlyRuntimeStage();case 4:this.resolveRuntimeStage();case 5:this.currentStage=7;return}}advanceStage(a){if(a<=this.currentStage)return;let b=this.currentStage;if(this.currentStage=a,b<3&&a>=3&&this.resolveStaticStage(),b<4&&a>=4&&this.resolveEarlyRuntimeStage(),b<5&&a>=5&&(this.staticStageEndTime=performance.now()+performance.timeOrigin,this.resolveRuntimeStage()),b<6&&a>=6){this.runtimeStageEndTime=performance.now()+performance.timeOrigin,this.resolveDynamicStage();return}}resolveStaticStage(){let a=this.staticStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.staticStagePromise.resolve()}resolveEarlyRuntimeStage(){let a=this.earlyRuntimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.earlyRuntimeStagePromise.resolve()}resolveRuntimeStage(){let a=this.runtimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.runtimeStagePromise.resolve()}resolveDynamicStage(){let a=this.dynamicStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.dynamicStagePromise.resolve()}getStagePromise(a){switch(a){case 3:return this.staticStagePromise.promise;case 4:return this.earlyRuntimeStagePromise.promise;case 5:return this.runtimeStagePromise.promise;case 6:return this.dynamicStagePromise.promise;default:throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){var d,e,f;let g,h=(d=this.getStagePromise(a),e=b,f=c,g=new Promise((a,b)=>{d.then(a.bind(null,f),b)}),void 0!==e&&(g.displayName=e),g);return this.abortSignal&&h.catch(k),h}}function k(){}},55122:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getPreviouslyRevalidatedTags:function(){return w},getServerUtils:function(){return v},interpolateDynamicPath:function(){return t},normalizeCdnUrl:function(){return s},normalizeDynamicRouteParams:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(28516),g=c(53180),h=c(70580),i=c(62447),j=c(49731),k=c(19524),l=c(92539),m=c(96100),n=c(99751),o=c(4522),p=c(86948),q=c(28344);function r(a,b){for(let c in delete a.nextInternalLocale,a){let d=c!==m.NEXT_QUERY_PARAM_PREFIX&&c.startsWith(m.NEXT_QUERY_PARAM_PREFIX),e=c!==m.NEXT_INTERCEPTION_MARKER_PREFIX&&c.startsWith(m.NEXT_INTERCEPTION_MARKER_PREFIX);(d||e||b.includes(c))&&delete a[c]}}function s(a,b){let c=(0,p.parseReqUrl)(a.url);if(!c)return a.url;delete c.search,r(c.query,b),a.url=(0,q.formatUrl)(c)}function t(a,b,c){if(!c)return a;for(let d of Object.keys(c.groups)){let e,{optional:f,repeat:g}=c.groups[d],h=`[${g?"...":""}${d}]`;f&&(h=`[${h}]`);let i=b[d];((e=Array.isArray(i)?i.map(a=>a&&encodeURIComponent(a)).join("/"):i?encodeURIComponent(i):"")||f)&&(a=a.replaceAll(h,e))}return a}function u(a,b,c,d){let e=(a,b)=>{if(!a)return!1;let c=(0,l.normalizeRscURL)(a);for(let a=0;a<3;a++){if(c===b)return!0;let a=(0,o.decodeQueryPathParameter)(c);if(a===c)break;c=a}return!1},f={};for(let g of Object.keys(b.groups)){let h=a[g];"string"==typeof h?h=(0,l.normalizeRscURL)(h):Array.isArray(h)&&(h=h.map(l.normalizeRscURL));let i=c[g],j=b.groups[g].optional;if((Array.isArray(i)?i.some(a=>Array.isArray(h)?h.some(b=>e(b,a)):e(h,a)):Array.isArray(h)?h.some(a=>e(a,i)):e(h,i))||void 0===h&&!(j&&d))return{params:{},hasValidParams:!1};j&&(!h||Array.isArray(h)&&1===h.length&&("index"===h[0]||h[0]===`[[...${g}]]`)||"index"===h||h===`[[...${g}]]`)&&(h=void 0,delete a[g]),h&&"string"==typeof h&&b.groups[g].repeat&&(h=h.split("/")),h&&(f[g]=h)}return{params:f,hasValidParams:!0}}function v({page:a,i18n:b,basePath:c,rewrites:d,pageIsDynamic:e,trailingSlash:l,caseSensitive:m}){let p,q,w;return e&&(p=(0,h.getNamedRouteRegex)(a,{prefixRouteKeys:!1}),w=(q=(0,i.getRouteMatcher)(p))(a)),{handleRewrites:function(h,i){let n=structuredClone(i),o={},p=n.pathname,r=d=>{let i=(0,g.getPathMatch)(d.source+(l?"(/)?":""),{removeUnnamedParams:!0,strict:!0,sensitive:!!m});if(!n.pathname)return!1;let k=i(n.pathname);if((d.has||d.missing)&&k){let a=(0,j.matchHas)(h,n.query,d.has,d.missing);a?Object.assign(k,a):k=!1}if(k){let{parsedDestination:g,destQuery:h}=(0,j.prepareDestination)({appendParamsToQuery:!0,destination:d.destination,params:k,query:n.query});if(g.protocol)return!0;if(Object.assign(o,h,k),Object.assign(n.query,g.query),delete g.query,Object.assign(n,g),!(p=n.pathname))return!1;if(c&&(p=p.replace(RegExp(`^${c}`),"")||"/"),b){let a=(0,f.normalizeLocalePath)(p,b.locales);p=a.pathname,n.query.nextInternalLocale=a.detectedLocale||k.nextInternalLocale}if(p===a)return!0;if(e&&q){let a=q(p);if(a)return n.query={...n.query,...a},!0}}return!1};for(let a of d.beforeFiles||[])r(a);if(p!==a){let b,c=!1;for(let a of d.afterFiles||[])if(c=r(a))break;if(!c&&!((b=(0,k.removeTrailingSlash)(p||""))===(0,k.removeTrailingSlash)(a)||(null==q?void 0:q(b)))){for(let a of d.fallback||[])if(c=r(a))break}}return{rewriteParams:o,rewrittenParsedUrl:n}},defaultRouteRegex:p,dynamicRouteMatcher:q,defaultRouteMatches:w,normalizeQueryParams:function(a,b){for(let[c,d]of(delete a.nextInternalLocale,Object.entries(a))){let e=(0,n.normalizeNextQueryParam)(c);e&&(delete a[c],b.add(e),void 0!==d&&(a[e]=Array.isArray(d)?d.map(a=>(0,o.decodeQueryPathParameter)(a)):(0,o.decodeQueryPathParameter)(d)))}},getParamsFromRouteMatches:function(a){if(!p)return null;let{groups:b,routeKeys:c}=p,d=(0,i.getRouteMatcher)({re:{exec:a=>{let d=Object.fromEntries(new URLSearchParams(a));for(let[a,b]of Object.entries(d)){let c=(0,n.normalizeNextQueryParam)(a);c&&(d[c]=b,delete d[a])}let e={};for(let a of Object.keys(c)){let f=c[a];if(!f)continue;let g=b[f],h=d[a];if(!g.optional&&!h)return null;e[g.pos]=h}return e}},groups:b})(a);return d||null},normalizeDynamicRouteParams:(a,b)=>p&&w?u(a,p,w,b):{params:{},hasValidParams:!1},normalizeCdnUrl:(a,b)=>s(a,b),interpolateDynamicPath:(a,b)=>t(a,b,p),filterInternalQuery:(a,b)=>r(a,b)}}function w(a,b){return"string"==typeof a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER]&&a[m.NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER]===b?a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER].split(","):[]}},55511:a=>{"use strict";a.exports=require("crypto")},56840:(a,b,c)=>{"use strict";c.r(b),c.d(b,{cleanupProviderConnections:()=>v,createProviderConnection:()=>q,deleteProviderConnection:()=>s,deleteProviderConnectionsByProvider:()=>t,getProviderConnectionById:()=>o,getProviderConnections:()=>m,invalidateConnectionsCache:()=>n,reorderProviderConnections:()=>u,updateProviderConnection:()=>r});var d=c(43892),e=c(59339),f=c(33323);let g=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt"];function h(a){return a?{...(0,f.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function i(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=a;return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:h??null,isActive:+(!1!==i),data:(0,f.s)(l),createdAt:j,updatedAt:k}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
12
+ `),console.log(`[extremerouter] migrated data from ${c} → ${a}`),!0}catch(a){return console.warn(`[extremerouter] data migration skipped: ${a?.message||a}`),!1}}let o="extremerouter";function p(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),o):g().join(i().homedir(),`.${o}`)}function q(){let a=p();return e().mkdirSync(a,{recursive:!0}),n(a),a}let r=function(){let a=process.env.DATA_DIR,b=a||p();if("win32"===process.platform&&a&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),q();try{return e().mkdirSync(b,{recursive:!0}),a||n(b),b}catch(a){if(a?.code==="EACCES"||a?.code==="EPERM")return console.warn(`[DATA_DIR] '${b}' not writable → fallback ~/.${o}`),q();throw a}}()},28704:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={atLeastOneTask:function(){return g},scheduleImmediate:function(){return f},scheduleOnNextTick:function(){return e},waitAtLeastOneReactRenderTask:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},f=a=>{setImmediate(a)};function g(){return new Promise(a=>f(a))}function h(){return new Promise(a=>setImmediate(a))}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29299:(a,b)=>{"use strict";function c(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createPromiseWithResolvers",{enumerable:!0,get:function(){return c}})},30585:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"resolveParamValue",{enumerable:!0,get:function(){return f}});let d=c(42776),e=c(58486);function f(a,b,c,f,g){switch(b){case"catchall":case"optional-catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":let h=[];for(let a=c;a<f.segments.length;a++){let d=f.segments[a];if("static"===d.type){let f=d.name,g=(0,e.interceptionPrefixFromParamType)(b);g&&a===c&&g===d.interceptionMarker&&(f=f.replace(d.interceptionMarker,"")),h.push(f)}else{if(!g.hasOwnProperty(d.param.paramName)){if("optional-catchall"===d.param.paramType)break;return}let a=g[d.param.paramName];Array.isArray(a)?h.push(...a):h.push(a)}}if(h.length>0)return h;if("optional-catchall"===b)return;throw Object.defineProperty(new d.InvariantError(`Unexpected empty path segments match for a route "${f.pathname}" with param "${a}" of type "${b}"`),"__NEXT_ERROR_CODE",{value:"E931",enumerable:!1,configurable:!0});case"dynamic":case"dynamic-intercepted-(..)(..)":case"dynamic-intercepted-(.)":case"dynamic-intercepted-(..)":case"dynamic-intercepted-(...)":if(c<f.segments.length){let a=f.segments[c];if("dynamic"===a.type&&!g.hasOwnProperty(a.param.paramName))return;return"dynamic"===a.type?g[a.param.paramName]:(0,e.interceptionPrefixFromParamType)(b)===a.interceptionMarker?a.name.replace(a.interceptionMarker,""):a.name}return}}},31050:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReflectAdapter",{enumerable:!0,get:function(){return c}});class c{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},31147:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={createLazyResult:function(){return e},isResolvedLazyResult:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b,c={then:(d,e)=>(b||(b=Promise.resolve(a())),b.then(a=>{c.value=a}).catch(()=>{}),b.then(d,e))};return c}function f(a){return a.hasOwnProperty("value")}},31385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={PARAMETER_PATTERN:function(){return l},getDynamicParam:function(){return k},interpolateParallelRouteParams:function(){return j},parseMatchedParameter:function(){return n},parseParameter:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42776),g=c(71185),h=c(36081),i=c(30585);function j(a,b,c,d){let e=structuredClone(b),j=[{tree:a,depth:0}],k=(0,h.parseAppRoute)(c,!0);for(;j.length>0;){let{tree:a,depth:b}=j.pop(),{segment:c,parallelRoutes:l}=(0,g.parseLoaderTree)(a),m=(0,h.parseAppRouteSegment)(c);if(m?.type==="dynamic"&&!e.hasOwnProperty(m.param.paramName)&&!d?.has(m.param.paramName)){let{paramName:a,paramType:c}=m.param,d=(0,i.resolveParamValue)(a,c,b,k,e);if(void 0!==d)e[a]=d;else if("optional-catchall"!==c)throw Object.defineProperty(new f.InvariantError(`Could not resolve param value for segment: ${a}`),"__NEXT_ERROR_CODE",{value:"E932",enumerable:!1,configurable:!0})}let n=b;for(let a of(m&&"route-group"!==m.type&&"parallel-route"!==m.type&&n++,Object.values(l)))j.push({tree:a,depth:n})}return e}function k(a,b,c,d,e){let g=function(a,b,c){let d=a[b];if(c?.has(b)){let[a]=c.get(b);d=a}else Array.isArray(d)?d=d.map(a=>encodeURIComponent(a)):"string"==typeof d&&(d=encodeURIComponent(d));return d}(a,b,d);if(!g||0===g.length){if("oc"===c)return{param:b,value:null,type:c,treeSegment:[b,"",c,e]};throw Object.defineProperty(new f.InvariantError(`Missing value for segment key: "${b}" with dynamic param type: ${c}`),"__NEXT_ERROR_CODE",{value:"E864",enumerable:!1,configurable:!0})}let h=Array.isArray(g)?g.join("/"):g;return{param:b,value:g,treeSegment:[b,h,c,e],type:c}}let l=/^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/;function m(a){let b=a.match(l);return b?n(b[2]):n(a)}function n(a){let b=a.startsWith("[")&&a.endsWith("]");b&&(a=a.slice(1,-1));let c=a.startsWith("...");return c&&(a=a.slice(3)),{key:a,repeat:c,optional:b}}},31574:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImplicitTags",{enumerable:!0,get:function(){return h}});let d=c(96100),e=c(57155),f=c(67751),g=c(31147);async function h(a,b,c){let h=new Set;for(let b of(a=>{let b=["/layout"];if(a.startsWith("/")){let c=a.split("/");for(let a=1;a<c.length+1;a++){let d=c.slice(0,a).join("/");d&&(d.endsWith("/page")||d.endsWith("/route")||(d=`${d}${!d.endsWith("/")?"/":""}layout`),b.push(d))}}return b})(a))b=(0,f.encodeCacheTag)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`),h.add(b);if(b&&(!c||0===c.size)){let a=(0,f.encodeCacheTag)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`);h.add(a)}h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`),h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`);let i=Array.from(h);return{tags:i,expirationsByCacheKind:function(a){let b=new Map,c=(0,e.getCacheHandlerEntries)();if(c)for(let[d,e]of c)"getExpiration"in e&&b.set(d,(0,g.createLazyResult)(async()=>e.getExpiration(a)));return b}(i)}}},32053:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},32457:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDefaultCacheHandler",{enumerable:!0,get:function(){return f}});let d=c(9913),e=c(36820);function f(a){if(0===a)return{get:()=>Promise.resolve(void 0),set:()=>Promise.resolve(),refreshTags:()=>Promise.resolve(),getExpiration:()=>Promise.resolve(0),updateTags:()=>Promise.resolve()};let b=new d.LRUCache(a,a=>a.size),c=new Map,f=process.env.NEXT_PRIVATE_DEBUG_CACHE?console.debug.bind(console,"DefaultCacheHandler:"):void 0;return{async get(a){let d=c.get(a);d&&(null==f||f("get",a,"pending"),await d);let g=b.get(a);if(!g){null==f||f("get",a,"not found");return}let h=g.entry;if(performance.timeOrigin+performance.now()>h.timestamp+1e3*h.revalidate){null==f||f("get",a,"expired");return}let i=h.revalidate;if((0,e.areTagsExpired)(h.tags,h.timestamp)){null==f||f("get",a,"had expired tag");return}(0,e.areTagsStale)(h.tags,h.timestamp)&&(null==f||f("get",a,"had stale tag"),i=-1);let[j,k]=h.value.tee();return h.value=k,null==f||f("get",a,"found",{tags:h.tags,timestamp:h.timestamp,expire:h.expire,revalidate:i}),{...h,revalidate:i,value:j}},async set(a,d){null==f||f("set",a,"start");let e=()=>{},g=new Promise(a=>{e=a});c.set(a,g);let h=await d,i=0;try{let[c,d]=h.value.tee();h.value=c;let e=d.getReader();for(let a;!(a=await e.read()).done;)i+=Buffer.from(a.value).byteLength;b.set(a,{entry:h,isErrored:!1,errorRetryCount:0,size:i}),null==f||f("set",a,"done")}catch(b){null==f||f("set",a,"failed",b)}finally{e(),c.delete(a)}},async refreshTags(){},async getExpiration(a){let b=Math.max(...a.map(a=>{let b=e.tagsManifest.get(a);return b&&b.expired||0}),0);return null==f||f("getExpiration",{tags:a,expiration:b}),b},async updateTags(a,b){let c=Math.round(performance.timeOrigin+performance.now());for(let d of(null==f||f("updateTags",{tags:a,timestamp:c}),a)){let a=e.tagsManifest.get(d)||{};if(b){let f={...a};f.stale=c,void 0!==b.expire&&(f.expired=c+1e3*b.expire),e.tagsManifest.set(d,f)}else e.tagsManifest.set(d,{...a,expired:c})}}}}},32648:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={edgeInstrumentationOnRequestError:function(){return h},ensureInstrumentationRegistered:function(){return j},getEdgeInstrumentationModule:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});async function e(){return"_ENTRIES"in globalThis&&_ENTRIES.middleware_instrumentation&&await _ENTRIES.middleware_instrumentation}let f=null;async function g(){if("phase-production-build"===process.env.NEXT_PHASE)return;f||(f=e());let a=await f;if(null==a?void 0:a.register)try{await a.register()}catch(a){throw a.message=`An error occurred while loading instrumentation hook: ${a.message}`,a}}async function h(...a){let b=await e();try{var c;await (null==b||null==(c=b.onRequestError)?void 0:c.call(b,...a))}catch(a){console.error("Error in instrumentation.onRequestError:",a)}}let i=null;function j(){return i||(i=g()),i}},33323:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},33873:a=>{"use strict";a.exports=require("path")},34196:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"URLPattern",{enumerable:!0,get:function(){return c}});let c="u"<typeof URLPattern?void 0:URLPattern},34539:(a,b,c)=>{"use strict";a.exports=c(6796).vendored["react-rsc"].React},36023:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={HeadersAdapter:function(){return h},ReadonlyHeadersError:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(31050);class g extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers")}static callable(){throw new g}}class h extends Headers{constructor(a){super(),this.headers=new Proxy(a,{get(b,c,d){if("symbol"==typeof c)return f.ReflectAdapter.get(b,c,d);let e=c.toLowerCase(),g=Object.keys(a).find(a=>a.toLowerCase()===e);if(void 0!==g)return f.ReflectAdapter.get(b,g,d)},set(b,c,d,e){if("symbol"==typeof c)return f.ReflectAdapter.set(b,c,d,e);let g=c.toLowerCase(),h=Object.keys(a).find(a=>a.toLowerCase()===g);return f.ReflectAdapter.set(b,h??c,d,e)},has(b,c){if("symbol"==typeof c)return f.ReflectAdapter.has(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0!==e&&f.ReflectAdapter.has(b,e)},deleteProperty(b,c){if("symbol"==typeof c)return f.ReflectAdapter.deleteProperty(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0===e||f.ReflectAdapter.deleteProperty(b,e)}})}static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"append":case"delete":case"set":return g.callable;default:return f.ReflectAdapter.get(a,b,c)}}})}merge(a){return Array.isArray(a)?a.join(", "):a}static from(a){return a instanceof Headers?a:new h(a)}append(a,b){let c=this.headers[a];"string"==typeof c?this.headers[a]=[c,b]:Array.isArray(c)?c.push(b):this.headers[a]=b}delete(a){delete this.headers[a]}get(a){let b=this.headers[a];return void 0!==b?this.merge(b):null}has(a){return void 0!==this.headers[a]}set(a,b){this.headers[a]=b}forEach(a,b){for(let[c,d]of this.entries())a.call(b,d,c,this)}*entries(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase(),c=this.get(b);yield[b,c]}}*keys(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase();yield b}}*values(){for(let a of Object.keys(this.headers)){let b=this.get(a);yield b}}[Symbol.iterator](){return this.entries()}}},36066:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathSuffix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return`${c}${b}${e}${f}`}},36081:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isInterceptionAppRoute:function(){return k},isNormalizedAppRoute:function(){return j},parseAppRoute:function(){return function a(b,c){let d,e,h,j=b.split("/").filter(Boolean),k=[];for(let l of j){let j=i(function(a){if(!/%5b|%5d/i.test(a))return a;try{let b=decodeURIComponent(a);return(0,g.getSegmentParam)(b)?b:a}catch{return a}}(l));if(j){if(c&&("route-group"===j.type||"parallel-route"===j.type))throw Object.defineProperty(new f.InvariantError(`${b} is being parsed as a normalized route, but it has a route group or parallel route segment.`),"__NEXT_ERROR_CODE",{value:"E923",enumerable:!1,configurable:!0});if(k.push(j),j.interceptionMarker){let f=b.split(j.interceptionMarker);if(2!==f.length)throw Object.defineProperty(Error(`Invalid interception route: ${b}`),"__NEXT_ERROR_CODE",{value:"E924",enumerable:!1,configurable:!0});e=c?a(f[0],!0):a(f[0],!1),h=c?a(f[1],!0):a(f[1],!1),d=j.interceptionMarker}}}let l=k.filter(a=>"dynamic"===a.type);return{normalized:c,pathname:b,segments:k,dynamicSegments:l,interceptionMarker:d,interceptingRoute:e,interceptedRoute:h}}},parseAppRouteSegment:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42776),g=c(51597),h=c(11042);function i(a){if(""===a)return null;let b=h.INTERCEPTION_ROUTE_MARKERS.find(b=>a.startsWith(b)),c=(0,g.getSegmentParam)(a);return c?{type:"dynamic",name:a,param:c,interceptionMarker:b}:a.startsWith("(")&&a.endsWith(")")?{type:"route-group",name:a,interceptionMarker:b}:a.startsWith("@")?{type:"parallel-route",name:a,interceptionMarker:b}:{type:"static",name:a,interceptionMarker:b}}function j(a){return a.normalized}function k(a){return void 0!==a.interceptionMarker&&void 0!==a.interceptingRoute&&void 0!==a.interceptedRoute}},36241:(a,b,c)=>{"use strict";c.d(b,{getPricingForModel:()=>f}),c(59339);let d=(0,c(71509).U)("pricing");async function e(){return await d.getAll()}async function f(a,b){if(!b)return null;let d=await e();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:f}=await Promise.resolve().then(c.bind(c,57178));return f(a,b)}},36299:(a,b)=>{"use strict";function c(a,b,c){if(a){for(let d of(c&&(c=c.toLowerCase()),a))if(b===d.domain?.split(":",1)[0].toLowerCase()||c===d.defaultLocale.toLowerCase()||d.locales?.some(a=>a.toLowerCase()===c))return d}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"detectDomainLocale",{enumerable:!0,get:function(){return c}})},36820:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/tags-manifest.external.js")},38169:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DraftModeProvider",{enumerable:!0,get:function(){return e}});let d=c(97010);class e{constructor(a,b,c,e){var f;const g=a&&(0,d.checkIsOnDemandRevalidate)(b,a).isOnDemandRevalidate,h=null==(f=c.get(d.COOKIE_NAME_PRERENDER_BYPASS))?void 0:f.value;this._isEnabled=!!(!g&&h&&a&&h===a.previewModeId),this._previewModeId=null==a?void 0:a.previewModeId,this._mutableCookies=e}get isEnabled(){return this._isEnabled}enable(){if(!this._previewModeId)throw Object.defineProperty(Error("Invariant: previewProps missing previewModeId this should never happen"),"__NEXT_ERROR_CODE",{value:"E93",enumerable:!1,configurable:!0});this._mutableCookies.set({name:d.COOKIE_NAME_PRERENDER_BYPASS,value:this._previewModeId,httpOnly:!0,sameSite:"none",secure:!0,path:"/"}),this._isEnabled=!0}disable(){this._mutableCookies.set({name:d.COOKIE_NAME_PRERENDER_BYPASS,value:"",httpOnly:!0,sameSite:"none",secure:!0,path:"/",expires:new Date(0)}),this._isEnabled=!1}}},38955:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={RequestCookies:function(){return f.RequestCookies},ResponseCookies:function(){return f.ResponseCookies},stringifyCookie:function(){return f.stringifyCookie}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(90810)},40694:(a,b,c)=>{"use strict";a.exports=c(33873)},42097:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={isNodeNextRequest:function(){return g},isNodeNextResponse:function(){return h},isWebNextRequest:function(){return e},isWebNextResponse:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>!1,f=a=>!1,g=a=>!0,h=a=>!0},42501:(a,b)=>{"use strict";function c(){throw Object.defineProperty(Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'),"__NEXT_ERROR_CODE",{value:"E183",enumerable:!1,configurable:!0})}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ImageResponse",{enumerable:!0,get:function(){return c}})},42776:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"InvariantError",{enumerable:!0,get:function(){return c}});class c extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},43892:(a,b,c)=>{"use strict";c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length,h=[];for(let a=0;a<256;++a)h.push((a+256).toString(16).slice(1));let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return function(a,b=0){return(h[a[b+0]]+h[a[b+1]]+h[a[b+2]]+h[a[b+3]]+"-"+h[a[b+4]]+h[a[b+5]]+"-"+h[a[b+6]]+h[a[b+7]]+"-"+h[a[b+8]]+h[a[b+9]]+"-"+h[a[b+10]]+h[a[b+11]]+h[a[b+12]]+h[a[b+13]]+h[a[b+14]]+h[a[b+15]]).toLowerCase()}(k)}},44001:(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}function e(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}c.r(b),c.d(b,{_:()=>e})},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},49540:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={StaticGenBailoutError:function(){return f},isStaticGenBailoutError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="NEXT_STATIC_GEN_BAILOUT";class f extends Error{constructor(...a){super(...a),this.code=e}}function g(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===e}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},49731:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compileNonPath:function(){return m},matchHas:function(){return l},parseDestination:function(){return n},prepareDestination:function(){return o}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(73896),g=c(21804),h=c(11042),i=c(8007),j=c(20742);function k(a){return a.replace(/__ESC_COLON_/gi,":")}function l(a,b,c=[],d=[]){let e={},f=c=>{let d,f=c.key;switch(c.type){case"header":f=f.toLowerCase(),d=a.headers[f];break;case"cookie":d="cookies"in a?a.cookies[c.key]:(0,i.getCookieParser)(a.headers)()[c.key];break;case"query":d=b[f];break;case"host":{let{host:b}=a?.headers||{};d=b?.split(":",1)[0].toLowerCase()}}if(!c.value&&d)return e[function(a){let b="";for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);(d>64&&d<91||d>96&&d<123)&&(b+=a[c])}return b}(f)]=d,!0;if(d){let a=RegExp(`^${c.value}$`),b=Array.isArray(d)?d.slice(-1)[0].match(a):d.match(a);if(b)return Array.isArray(b)&&(b.groups?Object.keys(b.groups).forEach(a=>{e[a]=b.groups[a]}):"host"===c.type&&b[0]&&(e.host=b[0])),!0}return!1};return!(!c.every(a=>f(a))||d.some(a=>f(a)))&&e}function m(a,b){if(!a.includes(":"))return a;for(let c of Object.keys(b))a.includes(`:${c}`)&&(a=a.replace(RegExp(`:${c}\\*`,"g"),`:${c}--ESCAPED_PARAM_ASTERISKS`).replace(RegExp(`:${c}\\?`,"g"),`:${c}--ESCAPED_PARAM_QUESTION`).replace(RegExp(`:${c}\\+`,"g"),`:${c}--ESCAPED_PARAM_PLUS`).replace(RegExp(`:${c}(?!\\w)`,"g"),`--ESCAPED_PARAM_COLON${c}`));return a=a.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,"\\$1").replace(/--ESCAPED_PARAM_PLUS/g,"+").replace(/--ESCAPED_PARAM_COLON/g,":").replace(/--ESCAPED_PARAM_QUESTION/g,"?").replace(/--ESCAPED_PARAM_ASTERISKS/g,"*"),(0,j.safeCompile)(`/${a}`,{validate:!1})(b).slice(1)}function n(a){let b=a.destination;for(let c of Object.keys({...a.params,...a.query}))c&&(b=b.replace(RegExp(`:${(0,f.escapeStringRegexp)(c)}`,"g"),`__ESC_COLON_${c}`));let c=(0,g.parseUrl)(b),d=c.pathname;d&&(d=k(d));let e=c.href;e&&(e=k(e));let h=c.hostname;h&&(h=k(h));let i=c.hash;i&&(i=k(i));let j=c.search;j&&(j=k(j));let l=c.origin;return l&&(l=k(l)),{...c,pathname:d,hostname:h,href:e,hash:i,search:j,origin:l}}function o(a){let b,c,d=n(a),{hostname:e,query:f,search:g}=d,i=d.pathname;d.hash&&(i=`${i}${d.hash}`);let l=[],o=[];for(let a of((0,j.safePathToRegexp)(i,o),o))l.push(a.name);if(e){let a=[];for(let b of((0,j.safePathToRegexp)(e,a),a))l.push(b.name)}let p=(0,j.safeCompile)(i,{validate:!1});for(let[c,d]of(e&&(b=(0,j.safeCompile)(e,{validate:!1,encode:encodeURIComponent})),Object.entries(f)))Array.isArray(d)?f[c]=d.map(b=>m(k(b),a.params)):"string"==typeof d&&(f[c]=m(k(d),a.params));let q=Object.keys(a.params).filter(a=>"nextInternalLocale"!==a);if(a.appendParamsToQuery&&!q.some(a=>l.includes(a)))for(let b of q)b in f||(f[b]=a.params[b]);if((0,h.isInterceptionRouteAppPath)(i))for(let b of i.split("/")){let c=h.INTERCEPTION_ROUTE_MARKERS.find(a=>b.startsWith(a));if(c){"(..)(..)"===c?(a.params["0"]="(..)",a.params["1"]="(..)"):a.params["0"]=c;break}}try{let[e,f]=(c=p(a.params)).split("#",2);b&&(d.hostname=b(a.params)),d.pathname=e,d.hash=`${f?"#":""}${f||""}`,d.search=g?m(g,a.params):""}catch(a){if(a.message.match(/Expected .*? to not repeat, but got an array/))throw Object.defineProperty(Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match"),"__NEXT_ERROR_CODE",{value:"E329",enumerable:!1,configurable:!0});throw a}return d.query={...a.query,...d.query},{newUrl:c,destQuery:f,parsedDestination:d}}},50158:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={METADATA_BOUNDARY_NAME:function(){return e},OUTLET_BOUNDARY_NAME:function(){return g},ROOT_LAYOUT_BOUNDARY_NAME:function(){return h},VIEWPORT_BOUNDARY_NAME:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="__next_metadata_boundary__",f="__next_viewport_boundary__",g="__next_outlet_boundary__",h="__next_root_layout_boundary__"},51597:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getParamProperties:function(){return i},getSegmentParam:function(){return g},isCatchAll:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(11042);function g(a){let b=f.INTERCEPTION_ROUTE_MARKERS.find(b=>a.startsWith(b));return(b&&(a=a.slice(b.length)),a.startsWith("[[...")&&a.endsWith("]]"))?{paramType:"optional-catchall",paramName:a.slice(5,-2)}:a.startsWith("[...")&&a.endsWith("]")?{paramType:b?`catchall-intercepted-${b}`:"catchall",paramName:a.slice(4,-1)}:a.startsWith("[")&&a.endsWith("]")?{paramType:b?`dynamic-intercepted-${b}`:"dynamic",paramName:a.slice(1,-1)}:null}function h(a){return"catchall"===a||"catchall-intercepted-(..)(..)"===a||"catchall-intercepted-(.)"===a||"catchall-intercepted-(..)"===a||"catchall-intercepted-(...)"===a||"optional-catchall"===a}function i(a){let b=!1,c=!1;switch(a){case"catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":b=!0;break;case"optional-catchall":b=!0,c=!0}return{repeat:b,optional:c}}},52201:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},53180:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getPathMatch",{enumerable:!0,get:function(){return e}});let d=c(7039);function e(a,b){let c=[],e=(0,d.pathToRegexp)(a,c,{delimiter:"/",sensitive:"boolean"==typeof b?.sensitive&&b.sensitive,strict:b?.strict}),f=(0,d.regexpToFunction)(b?.regexModifier?new RegExp(b.regexModifier(e.source),e.flags):e,c);return(a,d)=>{if("string"!=typeof a)return!1;let e=f(a);if(!e)return!1;if(b?.removeUnnamedParams)for(let a of c)"number"==typeof a.name&&delete e.params[a.name];return{...d,...e.params}}}},53610:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DEFAULT_SEGMENT_KEY:function(){return k},NOT_FOUND_SEGMENT_KEY:function(){return l},PAGE_SEGMENT_KEY:function(){return j},addSearchParamsIfPageSegment:function(){return h},computeSelectedLayoutSegment:function(){return i},getSegmentValue:function(){return e},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,f=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return f;let h=e(g[0]);return!h||h.startsWith(j)?f:(f.push(h),a(g,c,!1,f))}},isGroupSegment:function(){return f},isParallelRouteSegment:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){return Array.isArray(a)?a[1]:a}function f(a){return"("===a[0]&&a.endsWith(")")}function g(a){return a.startsWith("@")&&"@children"!==a}function h(a,b){if(a.includes(j)){let a=JSON.stringify(b);return"{}"!==a?j+"?"+a:j}return a}function i(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===k?null:c}let j="__PAGE__",k="__DEFAULT__",l="/_not-found"},54795:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={RenderStage:function(){return i},StagedRenderingController:function(){return j}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(42776),h=c(29299);var i=((d={})[d.Before=1]="Before",d[d.EarlyStatic=2]="EarlyStatic",d[d.Static=3]="Static",d[d.EarlyRuntime=4]="EarlyRuntime",d[d.Runtime=5]="Runtime",d[d.Dynamic=6]="Dynamic",d[d.Abandoned=7]="Abandoned",d);class j{constructor(a,b,c){this.abortSignal=a,this.abandonController=b,this.shouldTrackSyncIO=c,this.currentStage=1,this.syncInterruptReason=null,this.staticStageEndTime=1/0,this.runtimeStageEndTime=1/0,this.staticStageListeners=[],this.earlyRuntimeStageListeners=[],this.runtimeStageListeners=[],this.dynamicStageListeners=[],this.staticStagePromise=(0,h.createPromiseWithResolvers)(),this.earlyRuntimeStagePromise=(0,h.createPromiseWithResolvers)(),this.runtimeStagePromise=(0,h.createPromiseWithResolvers)(),this.dynamicStagePromise=(0,h.createPromiseWithResolvers)(),a&&a.addEventListener("abort",()=>{let{reason:b}=a;this.staticStagePromise.promise.catch(k),this.staticStagePromise.reject(b),this.earlyRuntimeStagePromise.promise.catch(k),this.earlyRuntimeStagePromise.reject(b),this.runtimeStagePromise.promise.catch(k),this.runtimeStagePromise.reject(b),this.dynamicStagePromise.promise.catch(k),this.dynamicStagePromise.reject(b)},{once:!0}),b&&b.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(a,b){if(this.currentStage>=a)b();else if(3===a)this.staticStageListeners.push(b);else if(4===a)this.earlyRuntimeStageListeners.push(b);else if(5===a)this.runtimeStageListeners.push(b);else if(6===a)this.dynamicStageListeners.push(b);else throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}shouldTrackSyncInterrupt(){if(!this.shouldTrackSyncIO)return!1;switch(this.currentStage){case 1:case 5:case 6:case 7:default:return!1;case 2:case 3:case 4:return!0}}syncInterruptCurrentStageWithReason(a){if(1!==this.currentStage&&7!==this.currentStage){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=a,this.currentStage=7;return}switch(this.currentStage){case 2:case 3:case 4:this.syncInterruptReason=a,this.advanceStage(6);return;case 5:return}}}getSyncInterruptReason(){return this.syncInterruptReason}getStaticStageEndTime(){return this.staticStageEndTime}getRuntimeStageEndTime(){return this.runtimeStageEndTime}abandonRender(){let{currentStage:a}=this;switch(a){case 2:this.resolveStaticStage();case 3:this.resolveEarlyRuntimeStage();case 4:this.resolveRuntimeStage();case 5:this.currentStage=7;return}}advanceStage(a){if(a<=this.currentStage)return;let b=this.currentStage;if(this.currentStage=a,b<3&&a>=3&&this.resolveStaticStage(),b<4&&a>=4&&this.resolveEarlyRuntimeStage(),b<5&&a>=5&&(this.staticStageEndTime=performance.now()+performance.timeOrigin,this.resolveRuntimeStage()),b<6&&a>=6){this.runtimeStageEndTime=performance.now()+performance.timeOrigin,this.resolveDynamicStage();return}}resolveStaticStage(){let a=this.staticStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.staticStagePromise.resolve()}resolveEarlyRuntimeStage(){let a=this.earlyRuntimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.earlyRuntimeStagePromise.resolve()}resolveRuntimeStage(){let a=this.runtimeStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.runtimeStagePromise.resolve()}resolveDynamicStage(){let a=this.dynamicStageListeners;for(let b=0;b<a.length;b++)a[b]();a.length=0,this.dynamicStagePromise.resolve()}getStagePromise(a){switch(a){case 3:return this.staticStagePromise.promise;case 4:return this.earlyRuntimeStagePromise.promise;case 5:return this.runtimeStagePromise.promise;case 6:return this.dynamicStagePromise.promise;default:throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){var d,e,f;let g,h=(d=this.getStagePromise(a),e=b,f=c,g=new Promise((a,b)=>{d.then(a.bind(null,f),b)}),void 0!==e&&(g.displayName=e),g);return this.abortSignal&&h.catch(k),h}}function k(){}},55122:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getPreviouslyRevalidatedTags:function(){return w},getServerUtils:function(){return v},interpolateDynamicPath:function(){return t},normalizeCdnUrl:function(){return s},normalizeDynamicRouteParams:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(28516),g=c(53180),h=c(70580),i=c(62447),j=c(49731),k=c(19524),l=c(92539),m=c(96100),n=c(99751),o=c(4522),p=c(86948),q=c(28344);function r(a,b){for(let c in delete a.nextInternalLocale,a){let d=c!==m.NEXT_QUERY_PARAM_PREFIX&&c.startsWith(m.NEXT_QUERY_PARAM_PREFIX),e=c!==m.NEXT_INTERCEPTION_MARKER_PREFIX&&c.startsWith(m.NEXT_INTERCEPTION_MARKER_PREFIX);(d||e||b.includes(c))&&delete a[c]}}function s(a,b){let c=(0,p.parseReqUrl)(a.url);if(!c)return a.url;delete c.search,r(c.query,b),a.url=(0,q.formatUrl)(c)}function t(a,b,c){if(!c)return a;for(let d of Object.keys(c.groups)){let e,{optional:f,repeat:g}=c.groups[d],h=`[${g?"...":""}${d}]`;f&&(h=`[${h}]`);let i=b[d];((e=Array.isArray(i)?i.map(a=>a&&encodeURIComponent(a)).join("/"):i?encodeURIComponent(i):"")||f)&&(a=a.replaceAll(h,e))}return a}function u(a,b,c,d){let e=(a,b)=>{if(!a)return!1;let c=(0,l.normalizeRscURL)(a);for(let a=0;a<3;a++){if(c===b)return!0;let a=(0,o.decodeQueryPathParameter)(c);if(a===c)break;c=a}return!1},f={};for(let g of Object.keys(b.groups)){let h=a[g];"string"==typeof h?h=(0,l.normalizeRscURL)(h):Array.isArray(h)&&(h=h.map(l.normalizeRscURL));let i=c[g],j=b.groups[g].optional;if((Array.isArray(i)?i.some(a=>Array.isArray(h)?h.some(b=>e(b,a)):e(h,a)):Array.isArray(h)?h.some(a=>e(a,i)):e(h,i))||void 0===h&&!(j&&d))return{params:{},hasValidParams:!1};j&&(!h||Array.isArray(h)&&1===h.length&&("index"===h[0]||h[0]===`[[...${g}]]`)||"index"===h||h===`[[...${g}]]`)&&(h=void 0,delete a[g]),h&&"string"==typeof h&&b.groups[g].repeat&&(h=h.split("/")),h&&(f[g]=h)}return{params:f,hasValidParams:!0}}function v({page:a,i18n:b,basePath:c,rewrites:d,pageIsDynamic:e,trailingSlash:l,caseSensitive:m}){let p,q,w;return e&&(p=(0,h.getNamedRouteRegex)(a,{prefixRouteKeys:!1}),w=(q=(0,i.getRouteMatcher)(p))(a)),{handleRewrites:function(h,i){let n=structuredClone(i),o={},p=n.pathname,r=d=>{let i=(0,g.getPathMatch)(d.source+(l?"(/)?":""),{removeUnnamedParams:!0,strict:!0,sensitive:!!m});if(!n.pathname)return!1;let k=i(n.pathname);if((d.has||d.missing)&&k){let a=(0,j.matchHas)(h,n.query,d.has,d.missing);a?Object.assign(k,a):k=!1}if(k){let{parsedDestination:g,destQuery:h}=(0,j.prepareDestination)({appendParamsToQuery:!0,destination:d.destination,params:k,query:n.query});if(g.protocol)return!0;if(Object.assign(o,h,k),Object.assign(n.query,g.query),delete g.query,Object.assign(n,g),!(p=n.pathname))return!1;if(c&&(p=p.replace(RegExp(`^${c}`),"")||"/"),b){let a=(0,f.normalizeLocalePath)(p,b.locales);p=a.pathname,n.query.nextInternalLocale=a.detectedLocale||k.nextInternalLocale}if(p===a)return!0;if(e&&q){let a=q(p);if(a)return n.query={...n.query,...a},!0}}return!1};for(let a of d.beforeFiles||[])r(a);if(p!==a){let b,c=!1;for(let a of d.afterFiles||[])if(c=r(a))break;if(!c&&!((b=(0,k.removeTrailingSlash)(p||""))===(0,k.removeTrailingSlash)(a)||(null==q?void 0:q(b)))){for(let a of d.fallback||[])if(c=r(a))break}}return{rewriteParams:o,rewrittenParsedUrl:n}},defaultRouteRegex:p,dynamicRouteMatcher:q,defaultRouteMatches:w,normalizeQueryParams:function(a,b){for(let[c,d]of(delete a.nextInternalLocale,Object.entries(a))){let e=(0,n.normalizeNextQueryParam)(c);e&&(delete a[c],b.add(e),void 0!==d&&(a[e]=Array.isArray(d)?d.map(a=>(0,o.decodeQueryPathParameter)(a)):(0,o.decodeQueryPathParameter)(d)))}},getParamsFromRouteMatches:function(a){if(!p)return null;let{groups:b,routeKeys:c}=p,d=(0,i.getRouteMatcher)({re:{exec:a=>{let d=Object.fromEntries(new URLSearchParams(a));for(let[a,b]of Object.entries(d)){let c=(0,n.normalizeNextQueryParam)(a);c&&(d[c]=b,delete d[a])}let e={};for(let a of Object.keys(c)){let f=c[a];if(!f)continue;let g=b[f],h=d[a];if(!g.optional&&!h)return null;e[g.pos]=h}return e}},groups:b})(a);return d||null},normalizeDynamicRouteParams:(a,b)=>p&&w?u(a,p,w,b):{params:{},hasValidParams:!1},normalizeCdnUrl:(a,b)=>s(a,b),interpolateDynamicPath:(a,b)=>t(a,b,p),filterInternalQuery:(a,b)=>r(a,b)}}function w(a,b){return"string"==typeof a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER]&&a[m.NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER]===b?a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER].split(","):[]}},55511:a=>{"use strict";a.exports=require("crypto")},56840:(a,b,c)=>{"use strict";c.r(b),c.d(b,{cleanupProviderConnections:()=>v,createProviderConnection:()=>q,deleteProviderConnection:()=>s,deleteProviderConnectionsByProvider:()=>t,getProviderConnectionById:()=>o,getProviderConnections:()=>m,invalidateConnectionsCache:()=>n,reorderProviderConnections:()=>u,updateProviderConnection:()=>r});var d=c(43892),e=c(59339),f=c(33323);let g=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt"];function h(a){return a?{...(0,f.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function i(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=a;return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:h??null,isActive:+(!1!==i),data:(0,f.s)(l),createdAt:j,updatedAt:k}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
13
13
  VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
14
14
  ON CONFLICT(id) DO UPDATE SET
15
15
  provider=excluded.provider, authType=excluded.authType, name=excluded.name,
16
16
  email=excluded.email, priority=excluded.priority, isActive=excluded.isActive,
17
- data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}let j=new Map,k=new Set(["lastUsedAt","consecutiveUseCount","lastRefreshAt","lastTested","lastError","lastErrorAt","errorCode","expiresIn"]);async function l(a){let b=await (0,e.c)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(h);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function m(a={}){let b=function(a={}){let b=[];return a.provider&&b.push(`p:${a.provider}`),void 0!==a.isActive&&b.push(`a:${+!!a.isActive}`),b.length?b.join("|"):"all"}(a),c=Date.now(),d=j.get(b);if(d&&c-d.at<2e3)return d.promise.then(a=>a.slice());let e=l(a).catch(a=>{throw j.delete(b),a});return j.set(b,{promise:e,at:c}),e.then(a=>a.slice())}function n(){j.clear()}async function o(a){return h((await (0,e.c)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function p(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(h);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[c+1,b.id])})}async function q(a){let b,c=await (0,e.c)(),f=new Date().toISOString();return c.transaction(()=>{let e=c.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(h),j=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;j=e.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(j=e.find(b=>"apikey"===b.authType&&b.name===a.name));if(j){let d={...j,...a,updatedAt:f};i(c,d),b=d;return}let k=a.name||null;k||"oauth"!==a.authType&&"access_token"!==a.authType||(k=a.email||`Account ${e.length+1}`);let l=a.priority;l||(l=e.reduce((a,b)=>Math.max(a,b.priority||0),0)+1);let m={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:k,priority:l,isActive:void 0===a.isActive||a.isActive,createdAt:f,updatedAt:f};for(let b of g)void 0!==a[b]&&null!==a[b]&&(m[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(m.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(m.email=a.email),i(c,m),p(c,a.provider),b=m}),n(),b}async function r(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=h(e),g={...f,...b,updatedAt:new Date().toISOString()};i(d,g),void 0!==b.priority&&p(d,f.provider),c=g}),(!b||"object"!=typeof b||Object.keys(b).some(a=>!k.has(a)))&&n(),c}async function s(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),p(b,d.provider),c=!0)}),c&&n(),c}async function t(a){let b=await (0,e.c)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n&&n(),c?.n||0}async function u(a){let b=await (0,e.c)();b.transaction(()=>p(b,a)),n()}async function v(){let a=await (0,e.c)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=h(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&i(a,e)}}),c&&n(),c}},56872:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d={bgBlack:function(){return C},bgBlue:function(){return G},bgCyan:function(){return I},bgGreen:function(){return E},bgMagenta:function(){return H},bgRed:function(){return D},bgWhite:function(){return J},bgYellow:function(){return F},black:function(){return s},blue:function(){return w},bold:function(){return l},cyan:function(){return z},dim:function(){return m},gray:function(){return B},green:function(){return u},hidden:function(){return q},inverse:function(){return p},italic:function(){return n},magenta:function(){return x},purple:function(){return y},red:function(){return t},reset:function(){return k},strikethrough:function(){return r},underline:function(){return o},white:function(){return A},yellow:function(){return v}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let{env:f,stdout:g}=(null==(c=globalThis)?void 0:c.process)??{},h=f&&!f.NO_COLOR&&(f.FORCE_COLOR||(null==g?void 0:g.isTTY)&&!f.CI&&"dumb"!==f.TERM),i=(a,b,c,d)=>{let e=a.substring(0,d)+c,f=a.substring(d+b.length),g=f.indexOf(b);return~g?e+i(f,b,c,g):e+f},j=(a,b,c=a)=>h?d=>{let e=""+d,f=e.indexOf(b,a.length);return~f?a+i(e,b,c,f)+b:a+e+b}:String,k=h?a=>`\x1b[0m${a}\x1b[0m`:String,l=j("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m"),m=j("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),n=j("\x1b[3m","\x1b[23m"),o=j("\x1b[4m","\x1b[24m"),p=j("\x1b[7m","\x1b[27m"),q=j("\x1b[8m","\x1b[28m"),r=j("\x1b[9m","\x1b[29m"),s=j("\x1b[30m","\x1b[39m"),t=j("\x1b[31m","\x1b[39m"),u=j("\x1b[32m","\x1b[39m"),v=j("\x1b[33m","\x1b[39m"),w=j("\x1b[34m","\x1b[39m"),x=j("\x1b[35m","\x1b[39m"),y=j("\x1b[38;2;173;127;168m","\x1b[39m"),z=j("\x1b[36m","\x1b[39m"),A=j("\x1b[37m","\x1b[39m"),B=j("\x1b[90m","\x1b[39m"),C=j("\x1b[40m","\x1b[49m"),D=j("\x1b[41m","\x1b[49m"),E=j("\x1b[42m","\x1b[49m"),F=j("\x1b[43m","\x1b[49m"),G=j("\x1b[44m","\x1b[49m"),H=j("\x1b[45m","\x1b[49m"),I=j("\x1b[46m","\x1b[49m"),J=j("\x1b[47m","\x1b[49m")},57155:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getCacheHandler:function(){return m},getCacheHandlerEntries:function(){return o},getCacheHandlers:function(){return n},initializeCacheHandlers:function(){return l},setCacheHandler:function(){return p}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(32457),g=process.env.NEXT_PRIVATE_DEBUG_CACHE?(a,...b)=>{console.log(`use-cache: ${a}`,...b)}:void 0,h=Symbol.for("@next/cache-handlers"),i=Symbol.for("@next/cache-handlers-map"),j=Symbol.for("@next/cache-handlers-set"),k=globalThis;function l(a){if(k[i])return null==g||g("cache handlers already initialized"),!1;if(null==g||g("initializing cache handlers"),k[i]=new Map,k[h]){let b;k[h].DefaultCache?(null==g||g('setting "default" cache handler from symbol'),b=k[h].DefaultCache):(null==g||g('setting "default" cache handler from default'),b=(0,f.createDefaultCacheHandler)(a)),k[i].set("default",b),k[h].RemoteCache?(null==g||g('setting "remote" cache handler from symbol'),k[i].set("remote",k[h].RemoteCache)):(null==g||g('setting "remote" cache handler from default'),k[i].set("remote",b))}else{let b=(0,f.createDefaultCacheHandler)(a);null==g||g('setting "default" cache handler from default'),k[i].set("default",b),null==g||g('setting "remote" cache handler from default'),k[i].set("remote",b)}return k[j]=new Set(k[i].values()),!0}function m(a){if(!k[i])throw Object.defineProperty(Error("Cache handlers not initialized"),"__NEXT_ERROR_CODE",{value:"E649",enumerable:!1,configurable:!0});return k[i].get(a)}function n(){if(k[j])return k[j].values()}function o(){if(k[i])return k[i].entries()}function p(a,b){if(!k[i]||!k[j])throw Object.defineProperty(Error("Cache handlers not initialized"),"__NEXT_ERROR_CODE",{value:"E649",enumerable:!1,configurable:!0});null==g||g('setting cache handler for "%s"',a),k[i].set(a,b),k[j].add(b)}},57202:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={handleFetch:function(){return i},interceptFetch:function(){return j},reader:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(18975),g={url:a=>a.url,header:(a,b)=>a.headers.get(b)};async function h(a,b){let{url:c,method:d,headers:e,body:f,cache:g,credentials:h,integrity:i,mode:j,redirect:k,referrer:l,referrerPolicy:m}=b;return{testData:a,api:"fetch",request:{url:c,method:d,headers:[...Array.from(e),["next-test-stack",function(){let a=(Error().stack??"").split("\n");for(let b=1;b<a.length;b++)if(a[b].length>0){a=a.slice(b);break}return(a=(a=(a=a.filter(a=>!a.includes("/next/dist/"))).slice(0,5)).map(a=>a.replace("webpack-internal:///(rsc)/","").trim())).join(" ")}()]],body:f?Buffer.from(await b.arrayBuffer()).toString("base64"):null,cache:g,credentials:h,integrity:i,mode:j,redirect:k,referrer:l,referrerPolicy:m}}}async function i(a,b){let c=(0,f.getTestReqInfo)(b,g);if(!c)return a(b);let{testData:d,proxyPort:e}=c,i=await h(d,b),j=await a(`http://localhost:${e}`,{method:"POST",body:JSON.stringify(i),next:{internal:!0}});if(!j.ok)throw Object.defineProperty(Error(`Proxy request failed: ${j.status}`),"__NEXT_ERROR_CODE",{value:"E146",enumerable:!1,configurable:!0});let k=await j.json(),{api:l}=k;switch(l){case"continue":return a(b);case"abort":case"unhandled":throw Object.defineProperty(Error(`Proxy request aborted [${b.method} ${b.url}]`),"__NEXT_ERROR_CODE",{value:"E145",enumerable:!1,configurable:!0});case"fetch":return function(a){let{status:b,headers:c,body:d}=a.response;return new Response(d?Buffer.from(d,"base64"):null,{status:b,headers:new Headers(c)})}(k);default:return l}}function j(a){return global.fetch=function(b,c){var d;return(null==c||null==(d=c.next)?void 0:d.internal)?a(b,c):i(a,new Request(b,c))},()=>{global.fetch=a}}},58486:(a,b)=>{"use strict";function c(a){switch(a){case"catchall-intercepted-(..)(..)":case"dynamic-intercepted-(..)(..)":return"(..)(..)";case"catchall-intercepted-(.)":case"dynamic-intercepted-(.)":return"(.)";case"catchall-intercepted-(..)":case"dynamic-intercepted-(..)":return"(..)";case"catchall-intercepted-(...)":case"dynamic-intercepted-(...)":return"(...)";default:return null}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"interceptionPrefixFromParamType",{enumerable:!0,get:function(){return c}})},58930:a=>{(()=>{"use strict";let b,c,d,e,f;var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w={491:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ContextAPI=void 0;let d=c(223),e=c(172),f=c(930),g="context",h=new d.NoopContextManager;class i{static getInstance(){return this._instance||(this._instance=new i),this._instance}setGlobalContextManager(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}active(){return this._getContextManager().active()}with(a,b,c,...d){return this._getContextManager().with(a,b,c,...d)}bind(a,b){return this._getContextManager().bind(a,b)}_getContextManager(){return(0,e.getGlobal)(g)||h}disable(){this._getContextManager().disable(),(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.ContextAPI=i},930:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagAPI=void 0;let d=c(56),e=c(912),f=c(957),g=c(172);class h{constructor(){function a(a){return function(...b){let c=(0,g.getGlobal)("diag");if(c)return c[a](...b)}}const b=this;b.setLogger=(a,c={logLevel:f.DiagLogLevel.INFO})=>{var d,h,i;if(a===b){let a=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return b.error(null!=(d=a.stack)?d:a.message),!1}"number"==typeof c&&(c={logLevel:c});let j=(0,g.getGlobal)("diag"),k=(0,e.createLogLevelDiagLogger)(null!=(h=c.logLevel)?h:f.DiagLogLevel.INFO,a);if(j&&!c.suppressOverrideMessage){let a=null!=(i=Error().stack)?i:"<failed to generate stacktrace>";j.warn(`Current logger will be overwritten from ${a}`),k.warn(`Current logger will overwrite one already registered from ${a}`)}return(0,g.registerGlobal)("diag",k,b,!0)},b.disable=()=>{(0,g.unregisterGlobal)("diag",b)},b.createComponentLogger=a=>new d.DiagComponentLogger(a),b.verbose=a("verbose"),b.debug=a("debug"),b.info=a("info"),b.warn=a("warn"),b.error=a("error")}static instance(){return this._instance||(this._instance=new h),this._instance}}b.DiagAPI=h},653:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.MetricsAPI=void 0;let d=c(660),e=c(172),f=c(930),g="metrics";class h{static getInstance(){return this._instance||(this._instance=new h),this._instance}setGlobalMeterProvider(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}getMeterProvider(){return(0,e.getGlobal)(g)||d.NOOP_METER_PROVIDER}getMeter(a,b,c){return this.getMeterProvider().getMeter(a,b,c)}disable(){(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.MetricsAPI=h},181:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.PropagationAPI=void 0;let d=c(172),e=c(874),f=c(194),g=c(277),h=c(369),i=c(930),j="propagation",k=new e.NoopTextMapPropagator;class l{constructor(){this.createBaggage=h.createBaggage,this.getBaggage=g.getBaggage,this.getActiveBaggage=g.getActiveBaggage,this.setBaggage=g.setBaggage,this.deleteBaggage=g.deleteBaggage}static getInstance(){return this._instance||(this._instance=new l),this._instance}setGlobalPropagator(a){return(0,d.registerGlobal)(j,a,i.DiagAPI.instance())}inject(a,b,c=f.defaultTextMapSetter){return this._getGlobalPropagator().inject(a,b,c)}extract(a,b,c=f.defaultTextMapGetter){return this._getGlobalPropagator().extract(a,b,c)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,d.unregisterGlobal)(j,i.DiagAPI.instance())}_getGlobalPropagator(){return(0,d.getGlobal)(j)||k}}b.PropagationAPI=l},997:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceAPI=void 0;let d=c(172),e=c(846),f=c(139),g=c(607),h=c(930),i="trace";class j{constructor(){this._proxyTracerProvider=new e.ProxyTracerProvider,this.wrapSpanContext=f.wrapSpanContext,this.isSpanContextValid=f.isSpanContextValid,this.deleteSpan=g.deleteSpan,this.getSpan=g.getSpan,this.getActiveSpan=g.getActiveSpan,this.getSpanContext=g.getSpanContext,this.setSpan=g.setSpan,this.setSpanContext=g.setSpanContext}static getInstance(){return this._instance||(this._instance=new j),this._instance}setGlobalTracerProvider(a){let b=(0,d.registerGlobal)(i,this._proxyTracerProvider,h.DiagAPI.instance());return b&&this._proxyTracerProvider.setDelegate(a),b}getTracerProvider(){return(0,d.getGlobal)(i)||this._proxyTracerProvider}getTracer(a,b){return this.getTracerProvider().getTracer(a,b)}disable(){(0,d.unregisterGlobal)(i,h.DiagAPI.instance()),this._proxyTracerProvider=new e.ProxyTracerProvider}}b.TraceAPI=j},277:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.deleteBaggage=b.setBaggage=b.getActiveBaggage=b.getBaggage=void 0;let d=c(491),e=(0,c(780).createContextKey)("OpenTelemetry Baggage Key");function f(a){return a.getValue(e)||void 0}b.getBaggage=f,b.getActiveBaggage=function(){return f(d.ContextAPI.getInstance().active())},b.setBaggage=function(a,b){return a.setValue(e,b)},b.deleteBaggage=function(a){return a.deleteValue(e)}},993:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.BaggageImpl=void 0;class c{constructor(a){this._entries=a?new Map(a):new Map}getEntry(a){let b=this._entries.get(a);if(b)return Object.assign({},b)}getAllEntries(){return Array.from(this._entries.entries()).map(([a,b])=>[a,b])}setEntry(a,b){let d=new c(this._entries);return d._entries.set(a,b),d}removeEntry(a){let b=new c(this._entries);return b._entries.delete(a),b}removeEntries(...a){let b=new c(this._entries);for(let c of a)b._entries.delete(c);return b}clear(){return new c}}b.BaggageImpl=c},830:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataSymbol=void 0,b.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")},369:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataFromString=b.createBaggage=void 0;let d=c(930),e=c(993),f=c(830),g=d.DiagAPI.instance();b.createBaggage=function(a={}){return new e.BaggageImpl(new Map(Object.entries(a)))},b.baggageEntryMetadataFromString=function(a){return"string"!=typeof a&&(g.error(`Cannot create baggage metadata from unknown type: ${typeof a}`),a=""),{__TYPE__:f.baggageEntryMetadataSymbol,toString:()=>a}}},67:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.context=void 0,b.context=c(491).ContextAPI.getInstance()},223:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopContextManager=void 0;let d=c(780);class e{active(){return d.ROOT_CONTEXT}with(a,b,c,...d){return b.call(c,...d)}bind(a,b){return b}enable(){return this}disable(){return this}}b.NoopContextManager=e},780:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ROOT_CONTEXT=b.createContextKey=void 0,b.createContextKey=function(a){return Symbol.for(a)};class c{constructor(a){const b=this;b._currentContext=a?new Map(a):new Map,b.getValue=a=>b._currentContext.get(a),b.setValue=(a,d)=>{let e=new c(b._currentContext);return e._currentContext.set(a,d),e},b.deleteValue=a=>{let d=new c(b._currentContext);return d._currentContext.delete(a),d}}}b.ROOT_CONTEXT=new c},506:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.diag=void 0,b.diag=c(930).DiagAPI.instance()},56:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagComponentLogger=void 0;let d=c(172);class e{constructor(a){this._namespace=a.namespace||"DiagComponentLogger"}debug(...a){return f("debug",this._namespace,a)}error(...a){return f("error",this._namespace,a)}info(...a){return f("info",this._namespace,a)}warn(...a){return f("warn",this._namespace,a)}verbose(...a){return f("verbose",this._namespace,a)}}function f(a,b,c){let e=(0,d.getGlobal)("diag");if(e)return c.unshift(b),e[a](...c)}b.DiagComponentLogger=e},972:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagConsoleLogger=void 0;let c=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class d{constructor(){for(let a=0;a<c.length;a++)this[c[a].n]=function(a){return function(...b){if(console){let c=console[a];if("function"!=typeof c&&(c=console.log),"function"==typeof c)return c.apply(console,b)}}}(c[a].c)}}b.DiagConsoleLogger=d},912:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createLogLevelDiagLogger=void 0;let d=c(957);b.createLogLevelDiagLogger=function(a,b){function c(c,d){let e=b[c];return"function"==typeof e&&a>=d?e.bind(b):function(){}}return a<d.DiagLogLevel.NONE?a=d.DiagLogLevel.NONE:a>d.DiagLogLevel.ALL&&(a=d.DiagLogLevel.ALL),b=b||{},{error:c("error",d.DiagLogLevel.ERROR),warn:c("warn",d.DiagLogLevel.WARN),info:c("info",d.DiagLogLevel.INFO),debug:c("debug",d.DiagLogLevel.DEBUG),verbose:c("verbose",d.DiagLogLevel.VERBOSE)}}},957:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.DiagLogLevel=void 0,(c=b.DiagLogLevel||(b.DiagLogLevel={}))[c.NONE=0]="NONE",c[c.ERROR=30]="ERROR",c[c.WARN=50]="WARN",c[c.INFO=60]="INFO",c[c.DEBUG=70]="DEBUG",c[c.VERBOSE=80]="VERBOSE",c[c.ALL=9999]="ALL"},172:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.unregisterGlobal=b.getGlobal=b.registerGlobal=void 0;let d=c(200),e=c(521),f=c(130),g=e.VERSION.split(".")[0],h=Symbol.for(`opentelemetry.js.api.${g}`),i=d._globalThis;b.registerGlobal=function(a,b,c,d=!1){var f;let g=i[h]=null!=(f=i[h])?f:{version:e.VERSION};if(!d&&g[a]){let b=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${a}`);return c.error(b.stack||b.message),!1}if(g.version!==e.VERSION){let b=Error(`@opentelemetry/api: Registration of version v${g.version} for ${a} does not match previously registered API v${e.VERSION}`);return c.error(b.stack||b.message),!1}return g[a]=b,c.debug(`@opentelemetry/api: Registered a global for ${a} v${e.VERSION}.`),!0},b.getGlobal=function(a){var b,c;let d=null==(b=i[h])?void 0:b.version;if(d&&(0,f.isCompatible)(d))return null==(c=i[h])?void 0:c[a]},b.unregisterGlobal=function(a,b){b.debug(`@opentelemetry/api: Unregistering a global for ${a} v${e.VERSION}.`);let c=i[h];c&&delete c[a]}},130:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isCompatible=b._makeCompatibilityCheck=void 0;let d=c(521),e=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function f(a){let b=new Set([a]),c=new Set,d=a.match(e);if(!d)return()=>!1;let f={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=f.prerelease)return function(b){return b===a};function g(a){return c.add(a),!1}return function(a){if(b.has(a))return!0;if(c.has(a))return!1;let d=a.match(e);if(!d)return g(a);let h={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=h.prerelease||f.major!==h.major)return g(a);if(0===f.major)return f.minor===h.minor&&f.patch<=h.patch?(b.add(a),!0):g(a);return f.minor<=h.minor?(b.add(a),!0):g(a)}}b._makeCompatibilityCheck=f,b.isCompatible=f(d.VERSION)},886:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.metrics=void 0,b.metrics=c(653).MetricsAPI.getInstance()},901:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.ValueType=void 0,(c=b.ValueType||(b.ValueType={}))[c.INT=0]="INT",c[c.DOUBLE=1]="DOUBLE"},102:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createNoopMeter=b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=b.NOOP_OBSERVABLE_GAUGE_METRIC=b.NOOP_OBSERVABLE_COUNTER_METRIC=b.NOOP_UP_DOWN_COUNTER_METRIC=b.NOOP_HISTOGRAM_METRIC=b.NOOP_COUNTER_METRIC=b.NOOP_METER=b.NoopObservableUpDownCounterMetric=b.NoopObservableGaugeMetric=b.NoopObservableCounterMetric=b.NoopObservableMetric=b.NoopHistogramMetric=b.NoopUpDownCounterMetric=b.NoopCounterMetric=b.NoopMetric=b.NoopMeter=void 0;class c{createHistogram(a,c){return b.NOOP_HISTOGRAM_METRIC}createCounter(a,c){return b.NOOP_COUNTER_METRIC}createUpDownCounter(a,c){return b.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(a,c){return b.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(a,c){return b.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(a,c){return b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(a,b){}removeBatchObservableCallback(a){}}b.NoopMeter=c;class d{}b.NoopMetric=d;class e extends d{add(a,b){}}b.NoopCounterMetric=e;class f extends d{add(a,b){}}b.NoopUpDownCounterMetric=f;class g extends d{record(a,b){}}b.NoopHistogramMetric=g;class h{addCallback(a){}removeCallback(a){}}b.NoopObservableMetric=h;class i extends h{}b.NoopObservableCounterMetric=i;class j extends h{}b.NoopObservableGaugeMetric=j;class k extends h{}b.NoopObservableUpDownCounterMetric=k,b.NOOP_METER=new c,b.NOOP_COUNTER_METRIC=new e,b.NOOP_HISTOGRAM_METRIC=new g,b.NOOP_UP_DOWN_COUNTER_METRIC=new f,b.NOOP_OBSERVABLE_COUNTER_METRIC=new i,b.NOOP_OBSERVABLE_GAUGE_METRIC=new j,b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new k,b.createNoopMeter=function(){return b.NOOP_METER}},660:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NOOP_METER_PROVIDER=b.NoopMeterProvider=void 0;let d=c(102);class e{getMeter(a,b,c){return d.NOOP_METER}}b.NoopMeterProvider=e,b.NOOP_METER_PROVIDER=new e},200:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(46),b)},651:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b._globalThis=void 0,b._globalThis="object"==typeof globalThis?globalThis:global},46:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(651),b)},939:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.propagation=void 0,b.propagation=c(181).PropagationAPI.getInstance()},874:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTextMapPropagator=void 0;class c{inject(a,b){}extract(a,b){return a}fields(){return[]}}b.NoopTextMapPropagator=c},194:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.defaultTextMapSetter=b.defaultTextMapGetter=void 0,b.defaultTextMapGetter={get(a,b){if(null!=a)return a[b]},keys:a=>null==a?[]:Object.keys(a)},b.defaultTextMapSetter={set(a,b,c){null!=a&&(a[b]=c)}}},845:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.trace=void 0,b.trace=c(997).TraceAPI.getInstance()},403:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NonRecordingSpan=void 0;let d=c(476);class e{constructor(a=d.INVALID_SPAN_CONTEXT){this._spanContext=a}spanContext(){return this._spanContext}setAttribute(a,b){return this}setAttributes(a){return this}addEvent(a,b){return this}setStatus(a){return this}updateName(a){return this}end(a){}isRecording(){return!1}recordException(a,b){}}b.NonRecordingSpan=e},614:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracer=void 0;let d=c(491),e=c(607),f=c(403),g=c(139),h=d.ContextAPI.getInstance();class i{startSpan(a,b,c=h.active()){var d;if(null==b?void 0:b.root)return new f.NonRecordingSpan;let i=c&&(0,e.getSpanContext)(c);return"object"==typeof(d=i)&&"string"==typeof d.spanId&&"string"==typeof d.traceId&&"number"==typeof d.traceFlags&&(0,g.isSpanContextValid)(i)?new f.NonRecordingSpan(i):new f.NonRecordingSpan}startActiveSpan(a,b,c,d){let f,g,i;if(arguments.length<2)return;2==arguments.length?i=b:3==arguments.length?(f=b,i=c):(f=b,g=c,i=d);let j=null!=g?g:h.active(),k=this.startSpan(a,f,j),l=(0,e.setSpan)(j,k);return h.with(l,i,void 0,k)}}b.NoopTracer=i},124:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracerProvider=void 0;let d=c(614);class e{getTracer(a,b,c){return new d.NoopTracer}}b.NoopTracerProvider=e},125:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracer=void 0;let d=new(c(614)).NoopTracer;class e{constructor(a,b,c,d){this._provider=a,this.name=b,this.version=c,this.options=d}startSpan(a,b,c){return this._getTracer().startSpan(a,b,c)}startActiveSpan(a,b,c,d){let e=this._getTracer();return Reflect.apply(e.startActiveSpan,e,arguments)}_getTracer(){if(this._delegate)return this._delegate;let a=this._provider.getDelegateTracer(this.name,this.version,this.options);return a?(this._delegate=a,this._delegate):d}}b.ProxyTracer=e},846:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracerProvider=void 0;let d=c(125),e=new(c(124)).NoopTracerProvider;class f{getTracer(a,b,c){var e;return null!=(e=this.getDelegateTracer(a,b,c))?e:new d.ProxyTracer(this,a,b,c)}getDelegate(){var a;return null!=(a=this._delegate)?a:e}setDelegate(a){this._delegate=a}getDelegateTracer(a,b,c){var d;return null==(d=this._delegate)?void 0:d.getTracer(a,b,c)}}b.ProxyTracerProvider=f},996:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SamplingDecision=void 0,(c=b.SamplingDecision||(b.SamplingDecision={}))[c.NOT_RECORD=0]="NOT_RECORD",c[c.RECORD=1]="RECORD",c[c.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"},607:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getSpanContext=b.setSpanContext=b.deleteSpan=b.setSpan=b.getActiveSpan=b.getSpan=void 0;let d=c(780),e=c(403),f=c(491),g=(0,d.createContextKey)("OpenTelemetry Context Key SPAN");function h(a){return a.getValue(g)||void 0}function i(a,b){return a.setValue(g,b)}b.getSpan=h,b.getActiveSpan=function(){return h(f.ContextAPI.getInstance().active())},b.setSpan=i,b.deleteSpan=function(a){return a.deleteValue(g)},b.setSpanContext=function(a,b){return i(a,new e.NonRecordingSpan(b))},b.getSpanContext=function(a){var b;return null==(b=h(a))?void 0:b.spanContext()}},325:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceStateImpl=void 0;let d=c(564);class e{constructor(a){this._internalState=new Map,a&&this._parse(a)}set(a,b){let c=this._clone();return c._internalState.has(a)&&c._internalState.delete(a),c._internalState.set(a,b),c}unset(a){let b=this._clone();return b._internalState.delete(a),b}get(a){return this._internalState.get(a)}serialize(){return this._keys().reduce((a,b)=>(a.push(b+"="+this.get(b)),a),[]).join(",")}_parse(a){!(a.length>512)&&(this._internalState=a.split(",").reverse().reduce((a,b)=>{let c=b.trim(),e=c.indexOf("=");if(-1!==e){let f=c.slice(0,e),g=c.slice(e+1,b.length);(0,d.validateKey)(f)&&(0,d.validateValue)(g)&&a.set(f,g)}return a},new Map),this._internalState.size>32&&(this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,32))))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let a=new e;return a._internalState=new Map(this._internalState),a}}b.TraceStateImpl=e},564:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.validateValue=b.validateKey=void 0;let c="[_0-9a-z-*/]",d=`[a-z]${c}{0,255}`,e=`[a-z0-9]${c}{0,240}@[a-z]${c}{0,13}`,f=RegExp(`^(?:${d}|${e})$`),g=/^[ -~]{0,255}[!-~]$/,h=/,|=/;b.validateKey=function(a){return f.test(a)},b.validateValue=function(a){return g.test(a)&&!h.test(a)}},98:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createTraceState=void 0;let d=c(325);b.createTraceState=function(a){return new d.TraceStateImpl(a)}},476:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.INVALID_SPAN_CONTEXT=b.INVALID_TRACEID=b.INVALID_SPANID=void 0;let d=c(475);b.INVALID_SPANID="0000000000000000",b.INVALID_TRACEID="00000000000000000000000000000000",b.INVALID_SPAN_CONTEXT={traceId:b.INVALID_TRACEID,spanId:b.INVALID_SPANID,traceFlags:d.TraceFlags.NONE}},357:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SpanKind=void 0,(c=b.SpanKind||(b.SpanKind={}))[c.INTERNAL=0]="INTERNAL",c[c.SERVER=1]="SERVER",c[c.CLIENT=2]="CLIENT",c[c.PRODUCER=3]="PRODUCER",c[c.CONSUMER=4]="CONSUMER"},139:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.wrapSpanContext=b.isSpanContextValid=b.isValidSpanId=b.isValidTraceId=void 0;let d=c(476),e=c(403),f=/^([0-9a-f]{32})$/i,g=/^[0-9a-f]{16}$/i;function h(a){return f.test(a)&&a!==d.INVALID_TRACEID}function i(a){return g.test(a)&&a!==d.INVALID_SPANID}b.isValidTraceId=h,b.isValidSpanId=i,b.isSpanContextValid=function(a){return h(a.traceId)&&i(a.spanId)},b.wrapSpanContext=function(a){return new e.NonRecordingSpan(a)}},847:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SpanStatusCode=void 0,(c=b.SpanStatusCode||(b.SpanStatusCode={}))[c.UNSET=0]="UNSET",c[c.OK=1]="OK",c[c.ERROR=2]="ERROR"},475:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.TraceFlags=void 0,(c=b.TraceFlags||(b.TraceFlags={}))[c.NONE=0]="NONE",c[c.SAMPLED=1]="SAMPLED"},521:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.VERSION=void 0,b.VERSION="1.6.0"}},x={};function y(a){var b=x[a];if(void 0!==b)return b.exports;var c=x[a]={exports:{}},d=!0;try{w[a].call(c.exports,c,c.exports,y),d=!1}finally{d&&delete x[a]}return c.exports}y.ab=__dirname+"/";var z={};Object.defineProperty(z,"__esModule",{value:!0}),z.trace=z.propagation=z.metrics=z.diag=z.context=z.INVALID_SPAN_CONTEXT=z.INVALID_TRACEID=z.INVALID_SPANID=z.isValidSpanId=z.isValidTraceId=z.isSpanContextValid=z.createTraceState=z.TraceFlags=z.SpanStatusCode=z.SpanKind=z.SamplingDecision=z.ProxyTracerProvider=z.ProxyTracer=z.defaultTextMapSetter=z.defaultTextMapGetter=z.ValueType=z.createNoopMeter=z.DiagLogLevel=z.DiagConsoleLogger=z.ROOT_CONTEXT=z.createContextKey=z.baggageEntryMetadataFromString=void 0,g=y(369),Object.defineProperty(z,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return g.baggageEntryMetadataFromString}}),h=y(780),Object.defineProperty(z,"createContextKey",{enumerable:!0,get:function(){return h.createContextKey}}),Object.defineProperty(z,"ROOT_CONTEXT",{enumerable:!0,get:function(){return h.ROOT_CONTEXT}}),i=y(972),Object.defineProperty(z,"DiagConsoleLogger",{enumerable:!0,get:function(){return i.DiagConsoleLogger}}),j=y(957),Object.defineProperty(z,"DiagLogLevel",{enumerable:!0,get:function(){return j.DiagLogLevel}}),k=y(102),Object.defineProperty(z,"createNoopMeter",{enumerable:!0,get:function(){return k.createNoopMeter}}),l=y(901),Object.defineProperty(z,"ValueType",{enumerable:!0,get:function(){return l.ValueType}}),m=y(194),Object.defineProperty(z,"defaultTextMapGetter",{enumerable:!0,get:function(){return m.defaultTextMapGetter}}),Object.defineProperty(z,"defaultTextMapSetter",{enumerable:!0,get:function(){return m.defaultTextMapSetter}}),n=y(125),Object.defineProperty(z,"ProxyTracer",{enumerable:!0,get:function(){return n.ProxyTracer}}),o=y(846),Object.defineProperty(z,"ProxyTracerProvider",{enumerable:!0,get:function(){return o.ProxyTracerProvider}}),p=y(996),Object.defineProperty(z,"SamplingDecision",{enumerable:!0,get:function(){return p.SamplingDecision}}),q=y(357),Object.defineProperty(z,"SpanKind",{enumerable:!0,get:function(){return q.SpanKind}}),r=y(847),Object.defineProperty(z,"SpanStatusCode",{enumerable:!0,get:function(){return r.SpanStatusCode}}),s=y(475),Object.defineProperty(z,"TraceFlags",{enumerable:!0,get:function(){return s.TraceFlags}}),t=y(98),Object.defineProperty(z,"createTraceState",{enumerable:!0,get:function(){return t.createTraceState}}),u=y(139),Object.defineProperty(z,"isSpanContextValid",{enumerable:!0,get:function(){return u.isSpanContextValid}}),Object.defineProperty(z,"isValidTraceId",{enumerable:!0,get:function(){return u.isValidTraceId}}),Object.defineProperty(z,"isValidSpanId",{enumerable:!0,get:function(){return u.isValidSpanId}}),v=y(476),Object.defineProperty(z,"INVALID_SPANID",{enumerable:!0,get:function(){return v.INVALID_SPANID}}),Object.defineProperty(z,"INVALID_TRACEID",{enumerable:!0,get:function(){return v.INVALID_TRACEID}}),Object.defineProperty(z,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return v.INVALID_SPAN_CONTEXT}}),b=y(67),Object.defineProperty(z,"context",{enumerable:!0,get:function(){return b.context}}),c=y(506),Object.defineProperty(z,"diag",{enumerable:!0,get:function(){return c.diag}}),d=y(886),Object.defineProperty(z,"metrics",{enumerable:!0,get:function(){return d.metrics}}),e=y(939),Object.defineProperty(z,"propagation",{enumerable:!0,get:function(){return e.propagation}}),f=y(845),Object.defineProperty(z,"trace",{enumerable:!0,get:function(){return f.trace}}),z.default={context:b.context,diag:c.diag,metrics:d.metrics,propagation:e.propagation,trace:f.trace},a.exports=z})()},59339:(a,b,c)=>{"use strict";c.d(b,{c:()=>k});var d=c(7841);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let e=global._dbAdapter;async function f(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(698).then(c.bind(c,90698));return await a(d.AL)}catch(a){return console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function g(){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(507).then(c.bind(c,90507));return a(d.AL)}catch(a){return console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function h(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(7965).then(c.bind(c,57965));return await a(d.AL)}catch(a){return console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function i(){try{let{createSqlJsAdapter:a}=await c.e(4780).then(c.bind(c,34780));return await a(d.AL)}catch(a){return console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function j(){(0,d.Jh)();let a=await f();if(a||(a=await g()),a||(a=await h()),a||(a=await i()),!a)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");e.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${d.AL}`),e.logged=!0);let{runMigrationOnce:b}=await c.e(422).then(c.bind(c,60422));return await b(a),a}async function k(){return e.instance?e.instance:(e.initPromise||(e.initPromise=j().then(a=>(e.instance=a,a))),e.initPromise)}},59841:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DetachedPromise",{enumerable:!0,get:function(){return c}});class c{constructor(){let a,b;this.promise=new Promise((c,d)=>{a=c,b=d}),this.resolve=a,this.reject=b}}},61544:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={NEXT_REQUEST_META:function(){return e},addRequestMeta:function(){return h},getRequestMeta:function(){return f},removeRequestMeta:function(){return i},setRequestMeta:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=Symbol.for("NextInternalRequestMeta");function f(a,b){let c=a[e]||{};return"string"==typeof b?c[b]:c}function g(a,b){return a[e]=b,b}function h(a,b,c){let d=f(a);return d[b]=c,g(a,d)}function i(a,b){let c=f(a);return delete c[b],g(a,c)}},61595:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createWorkStore",{enumerable:!0,get:function(){return i}});let d=c(85292),e=c(92539),f=c(31147),g=c(57155),h=c(89218);function i({page:a,renderOpts:b,isPrefetchRequest:c,buildId:j,deploymentId:k,previouslyRevalidatedTags:l,nonce:m}){let n=!b.shouldWaitOnAllReady&&!b.supportsDynamicResponse&&!b.isDraftMode&&!b.isPossibleServerAction,o=n&&(!!process.env.NEXT_DEBUG_BUILD||"1"===process.env.NEXT_SSG_FETCH_METRICS),p={isStaticGeneration:n,page:a,route:(0,e.normalizeAppPath)(a),incrementalCache:b.incrementalCache||globalThis.__incrementalCache,cacheLifeProfiles:b.cacheLifeProfiles,isBuildTimePrerendering:b.isBuildTimePrerendering,fetchCache:b.fetchCache,isOnDemandRevalidate:b.isOnDemandRevalidate,isDraftMode:b.isDraftMode,isPrefetchRequest:c,buildId:j,deploymentId:k,reactLoadableManifest:(null==b?void 0:b.reactLoadableManifest)||{},assetPrefix:(null==b?void 0:b.assetPrefix)||"",nonce:m,afterContext:function(a){let{waitUntil:b,onClose:c,onAfterTaskError:e}=a;return new d.AfterContext({waitUntil:b,onClose:c,onTaskError:e})}(b),cacheComponentsEnabled:b.cacheComponents,previouslyRevalidatedTags:l,refreshTagsByCacheKind:function(){let a=new Map,b=(0,g.getCacheHandlerEntries)();if(b)for(let[c,d]of b)"refreshTags"in d&&a.set(c,(0,f.createLazyResult)(async()=>d.refreshTags()));return a}(),runInCleanSnapshot:(0,h.createSnapshot)(),shouldTrackFetchMetrics:o,reactServerErrorsByDigest:new Map};return b.store=p,p}},61873:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PARAM_SEPARATOR:function(){return e},hasAdjacentParameterIssues:function(){return f},normalizeAdjacentParameters:function(){return g},normalizeTokensForRegexp:function(){return h},stripNormalizedSeparators:function(){return i},stripParameterSeparators:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="_NEXTSEP_";function f(a){return"string"==typeof a&&!!(/\/\(\.{1,3}\):[^/\s]+/.test(a)||/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(a))}function g(a){let b=a;return(b=b.replace(/(\([^)]*\)):([^/\s]+)/g,`$1${e}:$2`)).replace(/:([^:/\s)]+)(?=:)/g,`:$1${e}`)}function h(a){return a.map(a=>"object"==typeof a&&null!==a&&"modifier"in a&&("*"===a.modifier||"+"===a.modifier)&&"prefix"in a&&"suffix"in a&&""===a.prefix&&""===a.suffix?{...a,prefix:"/"}:a)}function i(a){return a.replace(RegExp(`\\)${e}`,"g"),")")}function j(a){let b={};for(let[c,d]of Object.entries(a))"string"==typeof d?b[c]=d.replace(RegExp(`^${e}`),""):Array.isArray(d)?b[c]=d.map(a=>"string"==typeof a?a.replace(RegExp(`^${e}`),""):a):b[c]=d;return b}},62192:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_HEADER:function(){return f},FLIGHT_HEADERS:function(){return p},NEXT_ACTION_NOT_FOUND_HEADER:function(){return w},NEXT_ACTION_REVALIDATED_HEADER:function(){return z},NEXT_DID_POSTPONE_HEADER:function(){return s},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return k},NEXT_HMR_REFRESH_HEADER:function(){return j},NEXT_HTML_REQUEST_ID_HEADER:function(){return y},NEXT_INSTANT_PREFETCH_HEADER:function(){return n},NEXT_INSTANT_TEST_COOKIE:function(){return o},NEXT_IS_PRERENDER_HEADER:function(){return v},NEXT_REQUEST_ID_HEADER:function(){return x},NEXT_REWRITTEN_PATH_HEADER:function(){return t},NEXT_REWRITTEN_QUERY_HEADER:function(){return u},NEXT_ROUTER_PREFETCH_HEADER:function(){return h},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return i},NEXT_ROUTER_STALE_TIME_HEADER:function(){return r},NEXT_ROUTER_STATE_TREE_HEADER:function(){return g},NEXT_RSC_UNION_QUERY:function(){return q},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return m},RSC_HEADER:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="rsc",f="next-action",g="next-router-state-tree",h="next-router-prefetch",i="next-router-segment-prefetch",j="next-hmr-refresh",k="__next_hmr_refresh_hash__",l="next-url",m="text/x-component",n="next-instant-navigation-testing-prefetch",o="next-instant-navigation-testing",p=[e,g,h,j,i],q="_rsc",r="x-nextjs-stale-time",s="x-nextjs-postponed",t="x-nextjs-rewritten-path",u="x-nextjs-rewritten-query",v="x-nextjs-prerender",w="x-nextjs-action-not-found",x="x-nextjs-request-id",y="x-nextjs-html-request-id",z="x-action-revalidated";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},62447:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRouteMatcher",{enumerable:!0,get:function(){return f}});let d=c(80670),e=c(20742);function f({re:a,groups:b}){return(0,e.safeRouteMatcher)(c=>{let e=a.exec(c);if(!e)return!1;let f=a=>{try{return decodeURIComponent(a)}catch{throw Object.defineProperty(new d.DecodeError("failed to decode param"),"__NEXT_ERROR_CODE",{value:"E528",enumerable:!1,configurable:!0})}},g={};for(let[a,c]of Object.entries(b)){let b=e[c.pos];void 0!==b&&(c.repeat?g[a]=b.split("/").map(a=>f(a)):g[a]=f(b))}return g})}},62929:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return d}});var c,d=((c={}).PAGES="PAGES",c.PAGES_API="PAGES_API",c.APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.IMAGE="IMAGE",c)},62940:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ImageResponse:function(){return f.ImageResponse},NextRequest:function(){return g.NextRequest},NextResponse:function(){return h.NextResponse},URLPattern:function(){return j.URLPattern},after:function(){return k.after},connection:function(){return l.connection},userAgent:function(){return i.userAgent},userAgentFromString:function(){return i.userAgentFromString}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42501),g=c(84573),h=c(17385),i=c(97645),j=c(34196),k=c(3144),l=c(19293)},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63891:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createLocalRequestContext:function(){return i},getBuiltinRequestContext:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(89218);function g(){let a=globalThis[h];return null==a?void 0:a.get()}let h=Symbol.for("@next/request-context");function i(){let a=(0,f.createAsyncLocalStorage)();return{get:()=>a.getStore(),run:(b,c)=>a.run(b,c)}}},64718:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getRelativeURL:function(){return f},parseRelativeURL:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){let c="string"==typeof b?new URL(b):b,d=new URL(a,b),e=d.origin===c.origin;return{url:e?d.toString().slice(c.origin.length):d.toString(),isRelative:e}}function f(a,b){return e(a,b).url}},67205:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={executeRevalidates:function(){return j},withExecuteRevalidates:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(57155);async function g(a,b){if(!a)return b();let c=h(a);try{return await b()}finally{var d,e;let b,f,g=(d=c,e=h(a),b=new Set(d.pendingRevalidatedTags.map(a=>{let b="object"==typeof a.profile?JSON.stringify(a.profile):a.profile||"";return`${a.tag}:${b}`})),f=new Set(d.pendingRevalidateWrites),{pendingRevalidatedTags:e.pendingRevalidatedTags.filter(a=>{let c="object"==typeof a.profile?JSON.stringify(a.profile):a.profile||"";return!b.has(`${a.tag}:${c}`)}),pendingRevalidates:Object.fromEntries(Object.entries(e.pendingRevalidates).filter(([a])=>!(a in d.pendingRevalidates))),pendingRevalidateWrites:e.pendingRevalidateWrites.filter(a=>!f.has(a))});await j(a,g)}}function h(a){return{pendingRevalidatedTags:a.pendingRevalidatedTags?[...a.pendingRevalidatedTags]:[],pendingRevalidates:{...a.pendingRevalidates},pendingRevalidateWrites:a.pendingRevalidateWrites?[...a.pendingRevalidateWrites]:[]}}async function i(a,b,c){if(0===a.length)return;let d=(0,f.getCacheHandlers)(),e=[],g=new Map;for(let b of a){let a,c=b.profile;for(let[b]of g)if("string"==typeof b&&"string"==typeof c&&b===c||"object"==typeof b&&"object"==typeof c&&JSON.stringify(b)===JSON.stringify(c)||b===c){a=b;break}let d=a||c;g.has(d)||g.set(d,[]),g.get(d).push(b.tag)}for(let[a,f]of g){let g;if(a){let b;if("object"==typeof a)b=a;else if("string"==typeof a){var h;if(!(b=null==c||null==(h=c.cacheLifeProfiles)?void 0:h[a]))throw Object.defineProperty(Error(`Invalid profile provided "${a}" must be configured under cacheLife in next.config or be "max"`),"__NEXT_ERROR_CODE",{value:"E873",enumerable:!1,configurable:!0})}b&&(g={expire:b.expire})}for(let b of d||[])a?e.push(null==b.updateTags?void 0:b.updateTags.call(b,f,g)):e.push(null==b.updateTags?void 0:b.updateTags.call(b,f));b&&e.push(b.revalidateTag(f,g))}await Promise.all(e)}function j(a,b){let c=[],d=(null==b?void 0:b.pendingRevalidatedTags)??a.pendingRevalidatedTags??[];return d.length>0&&c.push(i(d,a.incrementalCache,a)),c.push(...Object.values((null==b?void 0:b.pendingRevalidates)??a.pendingRevalidates??{})),c.push(...(null==b?void 0:b.pendingRevalidateWrites)??a.pendingRevalidateWrites??[]),0!==c.length&&Promise.all(c).then(()=>void 0)}},67301:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return`${b}${c}${e}${f}`}},67751:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"encodeCacheTag",{enumerable:!0,get:function(){return e}});let c=/[^\t\x20-\x7e]/,d=/[^\t\x20-\x7e]+/g;function e(a){return c.test(a)?a.replace(d,a=>encodeURIComponent(a)):a}},68047:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseRelativeUrl",{enumerable:!0,get:function(){return e}}),c(80670);let d=c(68202);function e(a,b,c=!0){let f=new URL("http://n"),g=b?new URL(b,f):a.startsWith(".")?new URL("http://n"):f,{pathname:h,searchParams:i,search:j,hash:k,href:l,origin:m}=a.startsWith("/")?new URL(`${g.protocol}//${g.host}${a}`):new URL(a,g);if(m!==f.origin)throw Object.defineProperty(Error(`invariant: invalid relative URL, router received ${a}`),"__NEXT_ERROR_CODE",{value:"E159",enumerable:!1,configurable:!0});return{auth:null,host:null,hostname:null,pathname:h,port:null,protocol:null,query:c?(0,d.searchParamsToUrlQuery)(i):void 0,search:j,hash:k,href:l.slice(m.length),slashes:null}}},68202:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={assign:function(){return h},searchParamsToUrlQuery:function(){return e},urlQueryToSearchParams:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b={};for(let[c,d]of a.entries()){let a=b[c];void 0===a?b[c]=d:Array.isArray(a)?a.push(d):b[c]=[a,d]}return b}function f(a){return"string"==typeof a?a:("number"!=typeof a||isNaN(a))&&"boolean"!=typeof a?"":String(a)}function g(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.append(c,f(a));else b.set(c,f(d));return b}function h(a,...b){for(let c of b){for(let b of c.keys())a.delete(b);for(let[b,d]of c.entries())a.append(b,d)}return a}},68802:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PageSignatureError:function(){return e},RemovedPageError:function(){return f},RemovedUAError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e extends Error{constructor({page:a}){super(`The middleware "${a}" accepts an async API directly with the form:
17
+ data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}let j=new Map,k=new Set(["lastUsedAt","consecutiveUseCount","lastRefreshAt","lastTested","lastError","lastErrorAt","errorCode","expiresIn"]);async function l(a){let b=await (0,e.c)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(h);return g.sort((a,b)=>(a.priority||999)-(b.priority||999)),g}async function m(a={}){let b=function(a={}){let b=[];return a.provider&&b.push(`p:${a.provider}`),void 0!==a.isActive&&b.push(`a:${+!!a.isActive}`),b.length?b.join("|"):"all"}(a),c=Date.now(),d=j.get(b);if(d&&c-d.at<2e3)return d.promise.then(a=>a.slice());let e=l(a).catch(a=>{throw j.delete(b),a});return j.set(b,{promise:e,at:c}),e.then(a=>a.slice())}function n(){j.clear()}async function o(a){return h((await (0,e.c)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}function p(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(h);c.sort((a,b)=>{let c=(a.priority||0)-(b.priority||0);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[c+1,b.id])})}async function q(a){let b,c=await (0,e.c)(),f=new Date().toISOString();return c.transaction(()=>{let e=c.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(h),j=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;j=e.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(j=e.find(b=>"apikey"===b.authType&&b.name===a.name));if(j){let d={...j,...a,updatedAt:f};i(c,d),b=d;return}let k=a.name||null;k||"oauth"!==a.authType&&"access_token"!==a.authType||(k=a.email||`Account ${e.length+1}`);let l=a.priority;l||(l=e.reduce((a,b)=>Math.max(a,b.priority||0),0)+1);let m={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:k,priority:l,isActive:void 0===a.isActive||a.isActive,createdAt:f,updatedAt:f};for(let b of g)void 0!==a[b]&&null!==a[b]&&(m[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(m.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(m.email=a.email),i(c,m),p(c,a.provider),b=m}),n(),b}async function r(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=h(e),g={...f,...b,updatedAt:new Date().toISOString()};i(d,g),void 0!==b.priority&&p(d,f.provider),c=g}),(!b||"object"!=typeof b||Object.keys(b).some(a=>!k.has(a)))&&n(),c}async function s(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),p(b,d.provider),c=!0)}),c&&n(),c}async function t(a){let b=await (0,e.c)(),c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a]);return b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),c?.n&&n(),c?.n||0}async function u(a){let b=await (0,e.c)();b.transaction(()=>p(b,a)),n()}async function v(){let a=await (0,e.c)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=h(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&i(a,e)}}),c&&n(),c}},56872:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d={bgBlack:function(){return C},bgBlue:function(){return G},bgCyan:function(){return I},bgGreen:function(){return E},bgMagenta:function(){return H},bgRed:function(){return D},bgWhite:function(){return J},bgYellow:function(){return F},black:function(){return s},blue:function(){return w},bold:function(){return l},cyan:function(){return z},dim:function(){return m},gray:function(){return B},green:function(){return u},hidden:function(){return q},inverse:function(){return p},italic:function(){return n},magenta:function(){return x},purple:function(){return y},red:function(){return t},reset:function(){return k},strikethrough:function(){return r},underline:function(){return o},white:function(){return A},yellow:function(){return v}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let{env:f,stdout:g}=(null==(c=globalThis)?void 0:c.process)??{},h=f&&!f.NO_COLOR&&(f.FORCE_COLOR||(null==g?void 0:g.isTTY)&&!f.CI&&"dumb"!==f.TERM),i=(a,b,c,d)=>{let e=a.substring(0,d)+c,f=a.substring(d+b.length),g=f.indexOf(b);return~g?e+i(f,b,c,g):e+f},j=(a,b,c=a)=>h?d=>{let e=""+d,f=e.indexOf(b,a.length);return~f?a+i(e,b,c,f)+b:a+e+b}:String,k=h?a=>`\x1b[0m${a}\x1b[0m`:String,l=j("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m"),m=j("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),n=j("\x1b[3m","\x1b[23m"),o=j("\x1b[4m","\x1b[24m"),p=j("\x1b[7m","\x1b[27m"),q=j("\x1b[8m","\x1b[28m"),r=j("\x1b[9m","\x1b[29m"),s=j("\x1b[30m","\x1b[39m"),t=j("\x1b[31m","\x1b[39m"),u=j("\x1b[32m","\x1b[39m"),v=j("\x1b[33m","\x1b[39m"),w=j("\x1b[34m","\x1b[39m"),x=j("\x1b[35m","\x1b[39m"),y=j("\x1b[38;2;173;127;168m","\x1b[39m"),z=j("\x1b[36m","\x1b[39m"),A=j("\x1b[37m","\x1b[39m"),B=j("\x1b[90m","\x1b[39m"),C=j("\x1b[40m","\x1b[49m"),D=j("\x1b[41m","\x1b[49m"),E=j("\x1b[42m","\x1b[49m"),F=j("\x1b[43m","\x1b[49m"),G=j("\x1b[44m","\x1b[49m"),H=j("\x1b[45m","\x1b[49m"),I=j("\x1b[46m","\x1b[49m"),J=j("\x1b[47m","\x1b[49m")},57155:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getCacheHandler:function(){return m},getCacheHandlerEntries:function(){return o},getCacheHandlers:function(){return n},initializeCacheHandlers:function(){return l},setCacheHandler:function(){return p}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(32457),g=process.env.NEXT_PRIVATE_DEBUG_CACHE?(a,...b)=>{console.log(`use-cache: ${a}`,...b)}:void 0,h=Symbol.for("@next/cache-handlers"),i=Symbol.for("@next/cache-handlers-map"),j=Symbol.for("@next/cache-handlers-set"),k=globalThis;function l(a){if(k[i])return null==g||g("cache handlers already initialized"),!1;if(null==g||g("initializing cache handlers"),k[i]=new Map,k[h]){let b;k[h].DefaultCache?(null==g||g('setting "default" cache handler from symbol'),b=k[h].DefaultCache):(null==g||g('setting "default" cache handler from default'),b=(0,f.createDefaultCacheHandler)(a)),k[i].set("default",b),k[h].RemoteCache?(null==g||g('setting "remote" cache handler from symbol'),k[i].set("remote",k[h].RemoteCache)):(null==g||g('setting "remote" cache handler from default'),k[i].set("remote",b))}else{let b=(0,f.createDefaultCacheHandler)(a);null==g||g('setting "default" cache handler from default'),k[i].set("default",b),null==g||g('setting "remote" cache handler from default'),k[i].set("remote",b)}return k[j]=new Set(k[i].values()),!0}function m(a){if(!k[i])throw Object.defineProperty(Error("Cache handlers not initialized"),"__NEXT_ERROR_CODE",{value:"E649",enumerable:!1,configurable:!0});return k[i].get(a)}function n(){if(k[j])return k[j].values()}function o(){if(k[i])return k[i].entries()}function p(a,b){if(!k[i]||!k[j])throw Object.defineProperty(Error("Cache handlers not initialized"),"__NEXT_ERROR_CODE",{value:"E649",enumerable:!1,configurable:!0});null==g||g('setting cache handler for "%s"',a),k[i].set(a,b),k[j].add(b)}},57178:(a,b,c)=>{"use strict";c.d(b,{PROVIDER_PRICING:()=>N,calculateCostFromTokens:()=>R,getPricingForModel:()=>Q});var d=c(21820);let e={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"};process.version,function(){switch((0,d.arch)()){case"x64":case"arm64":case"ia32":return;default:return(0,d.arch)()}}(),function(){switch((0,d.platform)()){case"darwin":case"win32":case"linux":case"freebsd":return;default:return(0,d.platform)()}}();let f=(a,b)=>"u">typeof process&&process.env?.[a]||b,g={clientId:f("ANTIGRAVITY_OAUTH_CLIENT_ID","1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com"),clientSecret:f("ANTIGRAVITY_OAUTH_CLIENT_SECRET","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")},h={clientId:f("GEMINI_OAUTH_CLIENT_ID","681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com"),clientSecret:f("GEMINI_OAUTH_CLIENT_SECRET","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")},i={clientId:f("IFLOW_OAUTH_CLIENT_ID","10009311001"),clientSecret:f("IFLOW_OAUTH_CLIENT_SECRET","4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW")},j={id:"antigravity",priority:20,alias:"ag",uiAlias:"ag",display:{name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",serviceKinds:["llm","image"],transport:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":"antigravity/1.107.0 darwin/arm64"},retry:{429:{attempts:3},500:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token"},clientId:g.clientId,clientSecret:g.clientSecret},models:[{id:"gemini-3.6-flash-high",name:"Gemini 3.6 Flash (High)",upstreamModelId:"gemini-3.6-flash-tiered(high)"},{id:"gemini-3.6-flash-medium",name:"Gemini 3.6 Flash (Medium)",upstreamModelId:"gemini-3.6-flash-tiered(medium)"},{id:"gemini-3.6-flash-low",name:"Gemini 3.6 Flash (Low)",upstreamModelId:"gemini-3.6-flash-tiered(low)"},{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium)"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1},{id:"gemini-3.1-flash-image",name:"Gemini 3.1 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",refreshLeadMs:3e5},features:{usage:!0}},k={id:"commandcode",priority:100,alias:"commandcode",aliases:["cmc"],uiAlias:"cmc",display:{name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Command Code is a multi-model AI router with OpenAI and Anthropic API support. Create an API key at commandcode.ai/studio, then paste it here. Supports Claude, GPT, DeepSeek, GLM, Kimi, and more.",apiKeyUrl:"https://commandcode.ai/studio"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.commandcode.ai/provider/v1/chat/completions",format:"openai",validateUrl:"https://api.commandcode.ai/provider/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},transports:[{format:"openai",baseUrl:"https://api.commandcode.ai/provider/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.commandcode.ai/provider/v1/messages",headers:{...e},auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[],passthroughModels:!0,modelsFetcher:{url:"https://api.commandcode.ai/provider/v1/models",type:"openai"}},l={id:"deepseek",priority:110,alias:"deepseek",aliases:["ds"],uiAlias:"ds",display:{name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},category:"apikey",thinkingConfig:{options:["auto","low","high","max"],defaultMode:"auto"},transport:{baseUrl:"https://api.deepseek.com/chat/completions",validateUrl:"https://api.deepseek.com/models",reasoningInject:{scope:"all"}},transports:[{format:"openai",baseUrl:"https://api.deepseek.com/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.deepseek.com/anthropic/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},m={id:"gemini-cli",priority:20,hasFree:!0,alias:"gc",uiAlias:"gc",display:{name:"Gemini CLI",icon:"terminal",color:"#4285F4",website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",cliVersion:"0.34.0",apiClient:"google-genai-sdk/1.41.0 gl-node/v22.19.0",usage:{quotaUrl:"https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",loadCodeAssistUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist"},clientId:h.clientId,clientSecret:h.clientSecret},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],refresh:{encoding:"form"}},features:{usage:!0}},n={id:"gemini",priority:50,hasFree:!0,alias:"gemini",display:{name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"}},category:"freeTier",mediaPriority:1,transport:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:h.clientId,clientSecret:h.clientSecret,auth:{apiKey:{header:"x-goog-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}}},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",kind:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",kind:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",kind:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",kind:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",params:[],kind:"image"},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",params:[],kind:"image"},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",params:[],kind:"image"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",kind:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",kind:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",kind:"tts"},{id:"embedding-001",name:"Embedding 001",dimensions:768,kind:"embedding"}],serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts"},sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt"},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key"},imageConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models"},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."}},o={id:"glm",priority:140,alias:"glm",display:{name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{url:"https://api.z.ai/api/monitor/usage/quota/limit"}},transports:[{format:"openai",baseUrl:"https://api.z.ai/api/coding/paas/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-high",name:"GLM 5.3 High",upstreamModelId:"glm-5.3"},{id:"glm-5.3-low",name:"GLM 5.3 Low",upstreamModelId:"glm-5.3"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],features:{usage:!0,usageApikey:!0}},p={id:"iflow",hidden:!0,priority:110,alias:"if",display:{name:"iFlow AI",icon:"water_drop",color:"#6366F1",website:"https://iflow.cn",notice:{signupUrl:"https://iflow.cn"}},category:"oauth",transport:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",thinkingFormat:"openai",headers:{"User-Agent":"iFlow-Cli"}},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],oauth:{clientId:i.clientId,clientSecret:i.clientSecret,authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"},refreshLeadMs:864e5}},q={id:"kimi-coding",hidden:!0,priority:120,alias:"kmc",display:{name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC",website:"https://kimi.moonshot.cn",notice:{signupUrl:"https://kimi.moonshot.cn"}},category:"oauth",transport:{baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}},transports:[{format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}},{format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}}],models:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],oauth:{deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshLeadMs:3e5},features:{usage:!0}},r={id:"kimi",priority:170,alias:"kimi",display:{name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}},transports:[{format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"kimi-k2.5",endpoint:"https://api.moonshot.cn/v1/chat/completions",pricingUrl:"https://platform.moonshot.ai/docs/pricing/chat"}},s={id:"minimax-cn",priority:190,alias:"minimax-cn",display:{name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},quirks:{dropOutputConfig:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimaxi.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},features:{usage:!0,usageApikey:!0}},t={id:"minimax",priority:90,alias:"minimax",display:{name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...e},quirks:{dropOutputConfig:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimax.io/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",params:["n","size","response_format"],kind:"image"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","image","imageToText","webSearch","tts"],ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},imageConfig:{baseUrl:"https://api.minimaxi.com/v1/images/generations"},searchViaChat:{defaultModel:"MiniMax-M2.7",endpoint:"https://api.minimaxi.com/v1/text/chatcompletion_v2",pricingUrl:"https://www.minimaxi.com/document/price"},features:{usage:!0,usageApikey:!0}},u={id:"xiaomi-mimo",priority:290,alias:"xiaomi-mimo",aliases:["mimo"],uiAlias:"mimo",display:{name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://xiaomimimo.com"}},category:"apikey",transport:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5",name:"MiMo V2.5"}]},v={id:"xiaomi-tokenplan",priority:300,alias:"xiaomi-tokenplan",aliases:["xmtp"],uiAlias:"xmtp",display:{name:"Xiaomi MiMo (Token Plan)",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://mimo.xiaomi.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://mimo.xiaomi.com"}},category:"apikey",hasProviderSpecificData:!0,regions:[{id:"sgp",label:"Singapore (新加坡)"},{id:"cn",label:"China (中国大陆)"},{id:"ams",label:"Amsterdam (阿姆斯特丹)"}],defaultRegion:"sgp",transport:{baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1/chat/completions",regions:{sgp:"https://token-plan-sgp.xiaomimimo.com/v1",cn:"https://token-plan-cn.xiaomimimo.com/v1",ams:"https://token-plan-ams.xiaomimimo.com/v1"},defaultRegion:"sgp"},transports:[{format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5-pro-claude",name:"MiMo V2.5 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.5-pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-tts",name:"MiMo V2 TTS"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design"}]},w="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",x={id:"qwen-cloud",priority:164,alias:"qwc",aliases:["qwen-cloud","qwen-cloud-token-plan"],uiAlias:"qwc",display:{name:"Qwen Cloud",icon:"cloud",color:"#7A5EF4",textIcon:"QC",website:"https://dashscope.console.aliyun.com",notice:{signupUrl:"https://dashscope.console.aliyun.com",apiKeyUrl:"https://dashscope.console.aliyun.com/apiKey",text:"Alibaba DashScope international API. Create an API key at dashscope.console.aliyun.com, then paste it here. Supports OpenAI, Anthropic, and Responses API formats — works with any client (Claude Code, Cline, OpenAI, etc.). Hosts Qwen, GLM, DeepSeek, and Kimi models."}},category:"apikey",authType:"apikey",transport:{baseUrl:`${w}/chat/completions`,format:"openai",responsesUrl:`${w}/responses`,validateUrl:`${w}/models`,auth:{combined:!0,header:"Authorization",scheme:"bearer"},quirks:{dropStreamOptions:!0}},transports:[{format:"openai",baseUrl:`${w}/chat/completions`,responsesUrl:`${w}/responses`,auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"openai-responses",baseUrl:`${w}/responses`,auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://dashscope-intl.aliyuncs.com/apps/anthropic/v1/messages",headers:{...e},auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"qwen3.8-max-preview",name:"Qwen3.8 Max Preview",contextWindow:1e6,maxOutput:65536},{id:"qwen3.7-max",name:"Qwen3.7 Max",contextWindow:1e6,maxOutput:65536},{id:"qwen3.7-max-2026-06-08",name:"Qwen3.7 Max (2026-06-08)",contextWindow:1e6,maxOutput:65536},{id:"qwen3.7-plus",name:"Qwen3.7 Plus",contextWindow:1e6,maxOutput:65536},{id:"qwen3.6-plus",name:"Qwen3.6 Plus",contextWindow:1e6,maxOutput:65536},{id:"qwen3.6-flash",name:"Qwen3.6 Flash",contextWindow:1e6,maxOutput:32768},{id:"qwen3.6-27b",name:"Qwen3.6 27B",contextWindow:1e6,maxOutput:32768},{id:"qwen3.6-35b-a3b",name:"Qwen3.6 35B A3B",contextWindow:1e6,maxOutput:32768},{id:"qwen3.5-plus-2026-04-20",name:"Qwen3.5 Plus (2026-04-20)",contextWindow:1e6,maxOutput:32768},{id:"qwen3.5-122b-a10b",name:"Qwen3.5 122B A10B",contextWindow:1e6,maxOutput:32768},{id:"qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B",contextWindow:1e6,maxOutput:32768},{id:"glm-5.2",name:"GLM 5.2",contextWindow:1e6,maxOutput:16384},{id:"glm-5.2-fast-preview",name:"GLM 5.2 Fast Preview",contextWindow:1e6,maxOutput:16384},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:163840,maxOutput:32768},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:163840,maxOutput:32768},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",contextWindow:1e6,maxOutput:65536}],passthroughModels:!0,modelsFetcher:{url:`${w}/models`,type:"openai"},reasoningInject:{scope:"all"},thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"}},y={id:"hcnsec",priority:330,alias:"hcnsec",aliases:["hc"],uiAlias:"hc",display:{name:"Huancheng Public API",icon:"security",color:"#0EA5E9",textIcon:"HC",website:"https://api.hcnsec.cn",notice:{signupUrl:"https://api.hcnsec.cn/sign-up?aff=ZKgv",apiKeyUrl:"https://api.hcnsec.cn/sign-up?aff=ZKgv",text:"Xinjiang Huancheng Cybersecurity public LLM API platform. Free credits with daily check-ins. Create an API key at api.hcnsec.cn, then paste it here. Supports both OpenAI and Anthropic API formats — works with any client."}},category:"freeTier",hasFree:!0,authType:"apikey",transport:{baseUrl:"https://api.hcnsec.cn/v1/chat/completions",format:"openai",validateUrl:"https://api.hcnsec.cn/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},transports:[{format:"openai",baseUrl:"https://api.hcnsec.cn/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.hcnsec.cn/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"deepseek-v3",name:"DeepSeek V3"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"qwq-32b",name:"QwQ 32B"}],passthroughModels:!0,modelsFetcher:{url:"https://api.hcnsec.cn/v1/models",type:"hcnsec"}},z={id:"inxorastudio",priority:340,alias:"inxora",aliases:[],uiAlias:"inxora",display:{name:"InxoraStudio Labs",icon:"science",color:"#8B5CF6",textIcon:"IX",website:"https://labs.inxorastudio.com",notice:{signupUrl:"https://labs.inxorastudio.com",apiKeyUrl:"https://labs.inxorastudio.com/dashboard",text:"InxoraStudio Labs is a multi-model AI gateway hosting Claude, GLM, DeepSeek, and more behind a single API key. Create an API key at labs.inxorastudio.com/dashboard, then paste it here. Supports both OpenAI and Anthropic API formats."}},category:"freeTier",hasFree:!0,authType:"apikey",transport:{baseUrl:"https://labs.inxorastudio.com/v1/chat/completions",format:"openai",validateUrl:"https://labs.inxorastudio.com/api/ai/models",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},transports:[{format:"openai",baseUrl:"https://labs.inxorastudio.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://labs.inxorastudio.com/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[],passthroughModels:!0,modelsFetcher:{url:"https://labs.inxorastudio.com/api/ai/models",type:"inxora"}},A={id:"bynara",priority:350,alias:"bynara",aliases:["by"],uiAlias:"by",display:{name:"Bynara",icon:"hub",color:"#6366F1",textIcon:"BY",website:"https://router.bynara.id",notice:{signupUrl:"https://router.bynara.id/register?ref=884C9YJM",apiKeyUrl:"https://router.bynara.id/register?ref=884C9YJM",text:"Bynara is a multi-model AI router with OpenAI, Anthropic, and Responses API support. Create an API key at router.bynara.id, then paste it here. Supports LLM chat, image generation, and image editing."}},category:"freeTier",hasFree:!0,authType:"apikey",transport:{baseUrl:"https://router.bynara.id/v1/chat/completions",format:"openai",responsesUrl:"https://router.bynara.id/v1/responses",validateUrl:"https://router.bynara.id/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},transports:[{format:"openai",baseUrl:"https://router.bynara.id/v1/chat/completions",responsesUrl:"https://router.bynara.id/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://router.bynara.id/v1/messages",headers:{...e},auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[],passthroughModels:!0,modelsFetcher:{url:"https://router.bynara.id/v1/models",type:"bynara"},serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://api-images.bynara.id/v1/images/generations",editUrl:"https://api-images.bynara.id/v1/images/edits",bodyFields:["model","prompt","n","size","response_format"]}},B={id:"infron",priority:355,alias:"infron",aliases:["ifr"],uiAlias:"ifr",display:{name:"Infron AI",icon:"hub",color:"#06B6D4",textIcon:"IF",website:"https://onerouter.pro",notice:{signupUrl:"https://onerouter.pro",apiKeyUrl:"https://onerouter.pro",text:"Infron AI is a multi-model AI router with OpenAI and Anthropic API support. 457+ models including Claude, GPT, Gemini, DeepSeek, Kimi, and more. Create an API key at onerouter.pro, then paste it here."}},category:"freeTier",hasFree:!0,authType:"apikey",transport:{baseUrl:"https://llm.onerouter.pro/v1/chat/completions",format:"openai",validateUrl:"https://llm.onerouter.pro/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{balanceUrl:"https://api.onerouter.pro/v1/balance"}},transports:[{format:"openai",baseUrl:"https://llm.onerouter.pro/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://llm.onerouter.pro/v1/messages",headers:{...e},auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[],passthroughModels:!0,modelsFetcher:{url:"https://llm.onerouter.pro/v1/models",type:"openai"},features:{usage:!0,usageApikey:!0}},C={id:"agentrouter",priority:360,alias:"agentrouter",aliases:["ar"],uiAlias:"ar",display:{name:"AgentRouter",icon:"hub",color:"#F97316",textIcon:"AR",website:"https://agentrouter.org",notice:{signupUrl:"https://agentrouter.org",apiKeyUrl:"https://agentrouter.org",text:"AgentRouter is a multi-model AI router with OpenAI and Anthropic API support. Create an API key at agentrouter.org, then paste it here. Models: GLM 5.2, GPT 5.5, Claude Opus 4.6/4.7/4.8."}},category:"freeTier",hasFree:!0,authType:"apikey",transport:{baseUrl:"https://agentrouter.org/v1/chat/completions",format:"openai",validateUrl:"https://agentrouter.org/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},transports:[{format:"openai",baseUrl:"https://agentrouter.org/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://agentrouter.org/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.2",name:"GLM 5.2"},{id:"gpt-5.5",name:"GPT 5.5"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-8",name:"Claude Opus 4.8"}],passthroughModels:!0,modelsFetcher:{url:"https://agentrouter.org/api/pricing",type:"agentrouter"}},D="https://public-api.wordpress.com/wpcom/v2/ai-api-proxy",E={id:"wp-studio",priority:57,alias:"wp-studio",aliases:["wps","wpstudio"],uiAlias:"wps",display:{name:"WordPress Studio Code",icon:"code",color:"#3499CD",textIcon:"WP",website:"https://developer.wordpress.com/studio/",notice:{signupUrl:"https://developer.wordpress.com/studio/",text:"WordPress Studio Code provides access to Claude Sonnet 5, Opus 4.8, and GPT-5.6 Sol via the WordPress.com AI proxy. Install Studio Code, log in with your WordPress.com account, then import your credentials here."}},category:"oauth",authType:"oauth",transport:{baseUrl:`${D}/v1/messages`,format:"claude",headers:{"X-WPCOM-AI-Feature":"studio-assistant-anthropic"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}},transports:[{format:"claude",baseUrl:`${D}/v1/messages`,headers:{"X-WPCOM-AI-Feature":"studio-assistant-anthropic"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"openai",baseUrl:`${D}/v1/chat/completions`,headers:{"X-WPCOM-AI-Feature":"studio-assistant"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindow:2e5},{id:"claude-opus-4-8",name:"Claude Opus 4.8",contextWindow:2e5},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindow:128e3}],passthroughModels:!0,oauth:{apiEndpoint:D,refreshLeadMs:864e5}},F="https://effulgent-pika-7b150e.netlify.app",G={id:"qwen2api",priority:60,alias:"extreme-exclusive",aliases:["qwen2api","qwen-proxy"],uiAlias:"extreme-exclusive",display:{name:"ExtremeRouter (Exclusive)",icon:"diamond",color:"#FF6B35",textIcon:"EX",website:"https://github.com/smanx/qwen2api",notice:{signupUrl:"https://github.com/smanx/qwen2api",text:"Exclusive ExtremeRouter provider — Qwen models (3.7/3.8) via OpenAI-compatible proxy. No API key required. Dual endpoint with automatic fallback."}},category:"free",authType:"apikey",noAuth:!0,transport:{baseUrl:`${F}/v1/chat/completions`,format:"openai",validateUrl:`${F}/v1/models`},transports:[{format:"openai",baseUrl:`${F}/v1/chat/completions`},{format:"openai",baseUrl:"https://qwen2api-n.smanx.xx.kg/v1/chat/completions"}],models:[{id:"qwen3.8-max-preview",name:"Qwen3.8 Max Preview",contextWindow:1e6},{id:"qwen3.7-max",name:"Qwen3.7 Max",contextWindow:1e6},{id:"qwen3.7-plus",name:"Qwen3.7 Plus",contextWindow:1e6},{id:"qwen3.6-plus",name:"Qwen3.6 Plus",contextWindow:1e6}],passthroughModels:!0,modelsFetcher:{url:`${F}/v1/models`,type:"openai"}},H="https://api.stepfun.ai",I={id:"stepfun",priority:63,alias:"stepfun",aliases:["step","sf"],uiAlias:"stepfun",display:{name:"StepFun",icon:"stairs",color:"#FF6B35",textIcon:"SF",website:"https://platform.stepfun.ai",notice:{signupUrl:"https://platform.stepfun.ai",apiKeyUrl:"https://platform.stepfun.ai",text:"StepFun provides access to the Step-3/3.x model family (multimodal MoE, 256K context, vision, video, reasoning). Create an API key at platform.stepfun.ai, then paste it here. Supports OpenAI, Responses API, and Anthropic formats."}},category:"apikey",authType:"apikey",transport:{baseUrl:`${H}/v1/chat/completions`,format:"openai",responsesUrl:`${H}/v1/responses`,validateUrl:`${H}/v1/models`,auth:{combined:!0,header:"Authorization",scheme:"bearer"}},transports:[{format:"openai",baseUrl:`${H}/v1/chat/completions`,responsesUrl:`${H}/v1/responses`,auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"openai-responses",baseUrl:`${H}/v1/responses`,auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:`${H}/v1/messages`,auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"step-3.7-flash",name:"Step 3.7 Flash",contextWindow:256e3},{id:"step-3.5-flash",name:"Step 3.5 Flash",contextWindow:256e3},{id:"step-3.5-flash-2603",name:"Step 3.5 Flash 2603",contextWindow:256e3},{id:"step-3",name:"Step 3",contextWindow:65536},{id:"step-image-edit-2",name:"Step Image Edit 2",kind:"image"}],passthroughModels:!0,modelsFetcher:{url:`${H}/v1/models`,type:"openai"},thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},serviceKinds:["llm","image"],imageConfig:{baseUrl:`${H}/v1/images/generations`,editUrl:`${H}/v1/images/edits`,bodyFields:["model","prompt","n","size","response_format","cfg_scale","steps","seed"]}},J={id:"tokenharbor",priority:300,alias:"th",uiAlias:"th",display:{name:"TokenHarbor",icon:"anchor",color:"#0EA5E9",textIcon:"TH",website:"https://tokenharbor.ai",notice:{signupUrl:"https://tokenharbor.ai/login?invite=TH-ATB2-9CP7",apiKeyUrl:"https://tokenharbor.ai/login?invite=TH-ATB2-9CP7",text:"TokenHarbor — AI model gateway with a shared cache. One API key fronts OpenAI- and Anthropic-compatible endpoints (Claude Opus 5, GPT-5.6, Kimi K3, GLM 5.2, Gemini 3.6 Flash…). Create a key at tokenharbor.ai. Per-request cache control: set X-TH-Cache-Control: bypass (skip lookup, still write) or force-refresh (pure passthrough, no write) on the request to override caching."}},category:"apikey",authType:"apikey",features:{usage:!0,usageApikey:!0},transport:{baseUrl:"https://tokenharbor.ai/v1/chat/completions",format:"openai",thinkingFormat:"openai",validateUrl:"https://tokenharbor.ai/v1/models"},transports:[{format:"openai",baseUrl:"https://tokenharbor.ai/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://tokenharbor.ai/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"claude-opus-5",name:"Claude Opus 5",targetFormat:"claude"},{id:"claude-fable-5",name:"Claude Fable 5",targetFormat:"claude"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",targetFormat:"claude"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"kimi-k3",name:"Kimi K3"},{id:"qwen3.8-max",name:"Qwen3.8 Max"},{id:"grok-4.5",name:"Grok 4.5"},{id:"glm-5.2",name:"GLM 5.2"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash"}],passthroughModels:!0,pricing:"tokenharbor",thinkingConfig:{options:["auto","none","low","medium","high","xhigh","max"],defaultMode:"auto"}},K={id:"meta-ai",priority:300,alias:"ma",uiAlias:"ma",display:{name:"Meta AI",icon:"smart_toy",textIcon:"MA",website:"https://api.meta.ai",notice:{signupUrl:"https://www.meta.ai",apiKeyUrl:"https://api.meta.ai",text:'Meta AI — Muse Spark via one API key. Two tiers: Standard (private data, $1.25/$4.25 per 1M input/output) and Contributor (data-sharing, $0.10/$0.20; ~60 req/min, ~250K tokens/day cap). Cached input $0.15/1M. Muse Spark is a reasoning model — reasoning_effort minimal/low/medium/high/xhigh at request top level; "none" is not supported (HTTP 400).'}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.meta.ai/v1/chat/completions",format:"openai",thinkingFormat:"openai",validateUrl:"https://api.meta.ai/v1/models"},transports:[{format:"openai",baseUrl:"https://api.meta.ai/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.meta.ai/v1/messages",headers:{...e},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"muse-spark-1.2",name:"Muse Spark 1.2"},{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 (Contributor)"},{id:"muse-spark-1.1",name:"Muse Spark 1.1"}],passthroughModels:!0,pricing:"meta-ai",thinkingConfig:{options:["auto","minimal","low","medium","high","xhigh"],defaultMode:"auto"}},L={el:"elevenlabs",jina:"jina-ai","jina-ai":"jina-ai",polly:"aws-polly","aws-polly":"aws-polly"};for(let a of[{id:"adapta-web",priority:150,alias:"adapta-web",aliases:["adp-web"],uiAlias:"adp-web",display:{name:"Adapta Web",icon:"hub",color:"#7C3AED",textIcon:"AD",website:"https://agent.adapta.one",notice:{signupUrl:"https://agent.adapta.one",apiKeyUrl:"https://agent.adapta.one",text:"Adapta agentic chat (GPT/Claude/Gemini/Grok/DeepSeek/Llama routed via Adapta's 'ONE' auto-select). Log into agent.adapta.one, then copy the __client cookie value from DevTools → Application → Cookies → clerk.agent.adapta.one. Paste it here (bare JWT or __client=<jwt>). The executor auto-refreshes the short-lived session JWT via Clerk. Streaming is translated to OpenAI format."}},category:"webCookie",authType:"cookie",authHint:"Paste your clerk.agent.adapta.one __client cookie value (bare JWT or __client=<jwt>).",transport:{baseUrl:"https://agent.adapta.one/api/chat/stream/v1",format:"adapta-web",authType:"cookie"},models:[{id:"adapta-one",name:"Adapta ONE (Auto)"},{id:"adapta-gpt",name:"GPT-5 (via Adapta)"},{id:"adapta-claude",name:"Claude Sonnet 4.6 (via Adapta)"},{id:"adapta-gemini",name:"Gemini 2.5 Pro (via Adapta)"},{id:"adapta-grok",name:"Grok 4 (via Adapta)"},{id:"adapta-deepseek",name:"DeepSeek R2 (via Adapta)"},{id:"adapta-llama",name:"Llama 4 (via Adapta)"}],passthroughModels:!0},{id:"alicode-intl",priority:10,alias:"alicode-intl",display:{name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alicode",priority:20,alias:"alicode",display:{name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},category:"apikey",transport:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"anthropic",priority:30,alias:"anthropic",display:{name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"}},category:"apikey",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"}},models:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],serviceKinds:["llm","imageToText"]},j,{id:"assemblyai",priority:30,alias:"assemblyai",aliases:["aai"],uiAlias:"aai",display:{name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",validateUrl:"https://api.assemblyai.com/v1/account"},models:[{id:"universal-3-pro",name:"Universal 3 Pro",params:["language"],kind:"stt"},{id:"universal-2",name:"Universal 2",params:["language"],kind:"stt"},{id:"best",name:"Best (Nano + Universal)",kind:"stt"},{id:"nano",name:"Nano (Fast)",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"authorization",format:"assemblyai"}},{id:"aws-polly",alias:"polly",display:{name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{id:"neural",name:"Neural"},{id:"long-form",name:"Long-form"},{id:"generative",name:"Generative"}]},hasProviderSpecificData:!0},{id:"azure",priority:40,alias:"azure",display:{name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"}},category:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"",headers:{}}},{id:"black-forest-labs",priority:50,alias:"black-forest-labs",aliases:["bfl"],uiAlias:"bfl",display:{name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",params:["n","size"],kind:"image"},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",params:["size"],kind:"image"},{id:"flux-pro",name:"FLUX Pro",params:["n","size"],kind:"image"},{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",params:["size"],capabilities:["edit"],kind:"image"},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",params:["size"],capabilities:["edit"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.bfl.ai/v1"}},{id:"blackbox-web",priority:60,alias:"blackbox-web",aliases:["bb-web"],uiAlias:"bb-web",display:{name:"Blackbox AI (Web)",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://app.blackbox.ai",notice:{signupUrl:"https://app.blackbox.ai",apiKeyUrl:"https://app.blackbox.ai",text:"Blackbox AI free/paid web chat. Open app.blackbox.ai, log in, then copy your next-auth.session-token cookie (DevTools → Application → Cookies). Paste the full cookie string here. Premium models require a paid subscription; the executor probes your subscription status automatically."}},category:"webCookie",authType:"cookie",authHint:"Paste your app.blackbox.ai cookie (full Cookie header or just the next-auth.session-token value).",transport:{baseUrl:"https://app.blackbox.ai/api/chat",format:"blackbox-web",authType:"cookie"},models:[{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"claude-3-opus",name:"Claude 3 Opus"},{id:"claude-3-sonnet",name:"Claude 3 Sonnet"},{id:"gemini-pro",name:"Gemini Pro"}],passthroughModels:!0},{id:"blackbox",priority:50,alias:"blackbox",aliases:["bb"],uiAlias:"bb",display:{name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"}},category:"apikey",serviceKinds:["llm"],thinkingConfig:{options:["auto","none","low","medium","high","xhigh"],defaultMode:"auto"},transport:{baseUrl:"https://api.blackbox.ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"claude-fable-5",name:"Claude Fable 5",upstreamModelId:"blackboxai/anthropic/claude-fable-5"},{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"blackboxai/anthropic/claude-opus-4.8"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"blackboxai/anthropic/claude-sonnet-4.6"},{id:"gpt-5.5",name:"GPT-5.5",upstreamModelId:"blackboxai/openai/gpt-5.5"},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",upstreamModelId:"blackboxai/openai/gpt-5.4-pro"},{id:"gpt-5.4",name:"GPT-5.4",upstreamModelId:"blackboxai/openai/gpt-5.4"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",upstreamModelId:"blackboxai/openai/gpt-5.3-codex"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",upstreamModelId:"blackboxai/openai/gpt-5.4-nano"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"blackboxai/deepseek/deepseek-v4-flash"},{id:"grok-4.3",name:"Grok 4.3",upstreamModelId:"blackboxai/x-ai/grok-4.3"}]},{id:"brave-search",alias:"brave",display:{name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"byteplus",priority:70,alias:"byteplus",aliases:["bpm"],uiAlias:"bpm",display:{name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"}},category:"freeTier",transport:{baseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],serviceKinds:["llm"]},{id:"cartesia",alias:"cartesia",display:{name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]},hidden:!0},{id:"cerebras",priority:60,alias:"cerebras",display:{name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},category:"apikey",transport:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",validateUrl:"https://api.cerebras.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},{id:"zai-web",priority:60,alias:"zai-web",uiAlias:"zai-web",display:{name:"Z.ai Web",icon:"auto_awesome",color:"#2563EB",textIcon:"ZW",website:"https://chat.z.ai",notice:{signupUrl:"https://chat.z.ai",apiKeyUrl:"https://chat.z.ai",text:'Z.ai free web chat (GLM-5.2, GLM-5.1, GLM-5-Turbo, GLM-5V-Turbo). Open chat.z.ai, log in, then copy the "token" value from DevTools → Application → Local Storage → chat.z.ai and paste it here — do NOT copy cookies; the token is what the executor authenticates with. A JSON credential including captcha_verify_param is accepted when a CAPTCHA challenge is active.'}},category:"webCookie",authType:"cookie",authHint:'Copy the "token" value from chat.z.ai → DevTools → Application → Local Storage → chat.z.ai and paste it (raw value, or a JSON credential with captcha_verify_param when challenged). Do not copy cookies.',transport:{baseUrl:"https://chat.z.ai",format:"zai-web",authType:"cookie"},models:[{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5-turbo",name:"GLM-5 Turbo"},{id:"glm-5v-turbo",name:"GLM-5V Turbo"}],passthroughModels:!0,thinkingConfig:{options:["auto","on","off"],defaultMode:"auto"}},{id:"chatgpt-web",priority:150,alias:"chatgpt-web",aliases:["cgpt-web"],uiAlias:"cgpt-web",display:{name:"ChatGPT Web (chatgpt.com)",icon:"smart_toy",color:"#10A37F",textIcon:"CW",website:"https://chatgpt.com",notice:{signupUrl:"https://chatgpt.com",apiKeyUrl:"https://chatgpt.com",text:"ChatGPT Web (chatgpt.com) cookie provider (Plus/Pro session). Open chatgpt.com, log in, then copy your __Secure-next-auth.session-token cookie value (or the full 'Cookie:' line from DevTools → Network). ⚠️ chatgpt.com uses Sentinel anti-bot (proof-of-work + Turnstile + TLS fingerprint). OmniRoute bypasses it with native TLS impersonation; ExtremeRouter does NOT have that, so even though we solve the PoW and send exact headers, requests usually get blocked (403 / 'needs a browser'). Your cookie is probably valid when that happens — the TLS fingerprint is rejected, not your login. For reliable access use the official 'openai' provider instead."}},category:"webCookie",authType:"cookie",authHint:"Paste your chatgpt.com __Secure-next-auth.session-token value (or full Cookie line).",transport:{baseUrl:"https://chatgpt.com/backend-api/f/conversation",format:"chatgpt-web",authType:"cookie"},models:[{id:"gpt-5.5-pro",name:"GPT-5.5 Pro"},{id:"gpt-5.5-pro-extended",name:"GPT-5.5 Pro Extended"},{id:"gpt-5.5-thinking",name:"GPT-5.5 Thinking"},{id:"gpt-5.5",name:"GPT-5.5 Instant"},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro"},{id:"gpt-5.4-thinking",name:"GPT-5.4 Thinking"},{id:"gpt-5.4-thinking-mini",name:"GPT-5.4 Thinking Mini"},{id:"gpt-5.3",name:"GPT-5.3 Instant"},{id:"gpt-5.3-mini",name:"GPT-5.3 Mini"},{id:"o3",name:"o3"}],passthroughModels:!0},{id:"chutes",priority:70,alias:"chutes",aliases:["ch"],uiAlias:"ch",display:{name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},category:"apikey",transport:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",validateUrl:"https://llm.chutes.ai/v1/models"}},{id:"claude-web",priority:150,alias:"claude-web",aliases:["cw"],uiAlias:"cw",display:{name:"Claude Web (claude.ai)",icon:"psychology",color:"#D97757",textIcon:"CW",website:"https://claude.ai",notice:{signupUrl:"https://claude.ai",apiKeyUrl:"https://claude.ai/new",text:"Claude Web (claude.ai) cookie provider. Open claude.ai, log in, then copy your cookies (DevTools → Application → Cookies) — you need sessionKey= (and ideally a cf_clearance= scraped from a residential-IP browser). ⚠️ claude.ai is behind Cloudflare bot management: OmniRoute bypasses it with native TLS impersonation + Turnstile solving, which ExtremeRouter does NOT have. Requests will usually be blocked (403 'Just a moment' / cf-mitigated). When this happens your cookie is probably still valid — the TLS fingerprint is rejected, not your login. For reliable access use the official 'claude' provider instead."}},category:"webCookie",authType:"cookie",authHint:"Paste your claude.ai cookies (need sessionKey=, and ideally cf_clearance=).",transport:{baseUrl:"https://claude.ai/api",format:"claude-web",authType:"cookie"},models:[{id:"claude-sonnet-4-6",name:"Claude 4.6 Sonnet (web)"},{id:"claude-haiku-4-5",name:"Claude 4.5 Haiku (web)"}],passthroughModels:!0},{id:"claude",priority:10,alias:"cc",uiAlias:"cc",display:{name:"Claude Code",icon:"smart_toy",color:"#D97757",website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.92 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"600"},quirks:{cloakToolsOnOAuth:!0},auth:{apiKey:{header:"x-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"},hooks:["claudeOverlay"]},usage:{oauthUrl:"https://api.anthropic.com/api/oauth/usage",orgUrl:"https://api.anthropic.com/v1/organizations/{org_id}/usage",settingsUrl:"https://api.anthropic.com/v1/settings"}},models:[{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],oauth:{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256",refreshLeadMs:144e5,refresh:{encoding:"json"}},features:{usage:!0}},{id:"cline",priority:80,alias:"cl",uiAlias:"cl",display:{name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot",apiKeyUrl:"https://app.cline.bot/settings#api-keys"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",forceStream:!0,headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline","x-client-type":"cline-cli"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]},usage:{url:"https://api.cline.bot/api/v1/users/me/plan/usage-limits"}},models:[{id:"anthropic/claude-opus-5",name:"Claude Opus 5",upstreamModelId:"anthropic/claude-opus-5"},{id:"claude-opus-5",name:"Claude Opus 5",upstreamModelId:"anthropic/claude-opus-5"},{id:"zai/glm-5.2",name:"GLM 5.2",upstreamModelId:"zai/glm-5.2"},{id:"glm-5.2",name:"GLM 5.2",upstreamModelId:"zai/glm-5.2"},{id:"x-ai/grok-4.5",name:"Grok 4.5",upstreamModelId:"x-ai/grok-4.5"},{id:"grok-4.5",name:"Grok 4.5",upstreamModelId:"x-ai/grok-4.5"},{id:"openai/gpt-5.6-sol",name:"GPT-5.6 Sol",upstreamModelId:"openai/gpt-5.6-sol"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",upstreamModelId:"openai/gpt-5.6-sol"},{id:"moonshotai/kimi-k3",name:"Kimi K3",upstreamModelId:"moonshotai/kimi-k3"},{id:"kimi-k3",name:"Kimi K3",upstreamModelId:"moonshotai/kimi-k3"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"deepseek/deepseek-v4-flash"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"deepseek/deepseek-v4-flash"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",upstreamModelId:"deepseek/deepseek-v4-pro"},{id:"poolside/laguna-s-2.1:free",name:"Laguna S 2.1 (Free)",upstreamModelId:"poolside/laguna-s-2.1:free"},{id:"laguna-s-2.1:free",name:"Laguna S 2.1 (Free)",upstreamModelId:"poolside/laguna-s-2.1:free"},{id:"stepfun/step-3.7-flash",name:"Step 3.7 Flash",upstreamModelId:"stepfun/step-3.7-flash"},{id:"step-3.7-flash",name:"Step 3.7 Flash",upstreamModelId:"stepfun/step-3.7-flash"},{id:"anthropic/claude-opus-4-7",name:"Claude Opus 4.7",upstreamModelId:"anthropic/claude-opus-4-7"},{id:"anthropic/claude-opus-4-6",name:"Claude Opus 4.6",upstreamModelId:"anthropic/claude-opus-4-6"},{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6",upstreamModelId:"anthropic/claude-sonnet-4-6"},{id:"anthropic/claude-3-7-sonnet",name:"Claude 3.7 Sonnet",upstreamModelId:"anthropic/claude-3-7-sonnet"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex",upstreamModelId:"openai/gpt-5.3-codex"},{id:"openai/gpt-5.4",name:"GPT-5.4",upstreamModelId:"openai/gpt-5.4"},{id:"openai/gpt-4o",name:"GPT-4o",upstreamModelId:"openai/gpt-4o"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",upstreamModelId:"google/gemini-3.1-pro-preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",upstreamModelId:"google/gemini-3.1-flash-lite-preview"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",upstreamModelId:"google/gemini-2.5-pro"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat",upstreamModelId:"deepseek/deepseek-chat"},{id:"minimax/minimax-m2.5",name:"MiniMax M2.5 (Free)",upstreamModelId:"minimax/minimax-m2.5"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro",upstreamModelId:"kwaipilot/kat-coder-pro"}],passthroughModels:!0,oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},thinkingConfig:{options:["auto","on","off"],defaultMode:"auto"},features:{usage:!0,usageApikey:!0}},{id:"clinepass",priority:85,alias:"clinepass",uiAlias:"clinepass",display:{name:"ClinePass",icon:"vpn_key",color:"#5B9BD5",textIcon:"CP",website:"https://cline.bot",notice:{signupUrl:"https://app.cline.bot",apiKeyUrl:"https://app.cline.bot/settings#api-keys",text:"ClinePass is a paid Cline subscription ($4.99–$9.99/mo) for curated open-weight coding models. Create an API key in your Cline account settings, then add it here."}},category:"oauth",authModes:["apikey","oauth"],hasOAuth:!0,transport:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]},usage:{url:"https://api.cline.bot/api/v1/users/me/plan/usage-limits"}},models:[{id:"cline-pass/glm-5.2",name:"GLM-5.2 (ClinePass)",upstreamModelId:"cline-pass/glm-5.2"},{id:"cline-pass/kimi-k2.7-code",name:"Kimi K2.7 Code (ClinePass)",upstreamModelId:"cline-pass/kimi-k2.7-code"},{id:"cline-pass/kimi-k2.6",name:"Kimi K2.6 (ClinePass)",upstreamModelId:"cline-pass/kimi-k2.6"},{id:"cline-pass/deepseek-v4-pro",name:"DeepSeek V4 Pro (ClinePass)",upstreamModelId:"cline-pass/deepseek-v4-pro"},{id:"cline-pass/deepseek-v4-flash",name:"DeepSeek V4 Flash (ClinePass)",upstreamModelId:"cline-pass/deepseek-v4-flash"},{id:"cline-pass/mimo-v2.5",name:"MiMo-V2.5 (ClinePass)",upstreamModelId:"cline-pass/mimo-v2.5"},{id:"cline-pass/mimo-v2.5-pro",name:"MiMo-V2.5-Pro (ClinePass)",upstreamModelId:"cline-pass/mimo-v2.5-pro"},{id:"cline-pass/minimax-m3",name:"MiniMax M3 (ClinePass)",upstreamModelId:"cline-pass/minimax-m3"},{id:"cline-pass/qwen3.7-max",name:"Qwen3.7 Max (ClinePass)",upstreamModelId:"cline-pass/qwen3.7-max"},{id:"cline-pass/qwen3.7-plus",name:"Qwen3.7 Plus (ClinePass)",upstreamModelId:"cline-pass/qwen3.7-plus"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},thinkingConfig:{options:["auto","on","off"],defaultMode:"auto"},features:{usage:!0,usageApikey:!0}},{id:"cloudflare-ai",priority:60,hasFree:!0,alias:"cloudflare-ai",aliases:["cf"],uiAlias:"cf",display:{name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"}},category:"freeTier",hasProviderSpecificData:!0,transport:{baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",params:["size"],kind:"image"},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",params:["size"],kind:"image"},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",params:["size"],kind:"image"},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",params:["size"],kind:"image"},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",params:["size"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",params:["size"],capabilities:["edit"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",params:["size"],capabilities:["edit","mask"],kind:"image"},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:["size"],kind:"image"}],serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://api.cloudflare.com/client/v4/accounts"}},{id:"codebuddy-cn",alias:"cbcn",uiAlias:"cbcn",hidden:!1,priority:90,display:{name:"CodeBuddy CN",icon:"smart_toy",color:"#006EFF",website:"https://copilot.tencent.com",notice:{signupUrl:"https://copilot.tencent.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://copilot.tencent.com/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"CLI/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"CLI","X-IDE-Name":"CLI","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://copilot.tencent.com/v2/billing/meter/get-user-resource"}},models:[{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0",name:"GLM-5.0"},{id:"glm-5.0-turbo",name:"GLM-5.0-Turbo"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"hy3",name:"Hy3"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3-preview",name:"Hy3 Preview"},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro"},{id:"deepseek-v4-flash",name:"DeepSeek-V4-Flash"},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2"}],oauth:{baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},{id:"codex",priority:30,alias:"cx",uiAlias:"cx",display:{name:"OpenAI Codex",icon:"code",color:"#3B82F6",website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"},deprecated:!0,deprecationNotice:"RISK_NOTICE",kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."}},category:"oauth",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",forceStream:!0,headers:{originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"},usage:{url:"https://chatgpt.com/backend-api/wham/usage",resetCreditsUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits",resetCreditsConsumeUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"}},models:[{id:"gpt-5.6-sol",name:"GPT 5.6 Sol"},{id:"gpt-5.6-sol-review",name:"GPT 5.6 Sol Review",upstreamModelId:"gpt-5.6-sol",quotaFamily:"review"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra"},{id:"gpt-5.6-terra-review",name:"GPT 5.6 Terra Review",upstreamModelId:"gpt-5.6-terra",quotaFamily:"review"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna"},{id:"gpt-5.6-luna-review",name:"GPT 5.6 Luna Review",upstreamModelId:"gpt-5.6-luna",quotaFamily:"review"},{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.5-review",name:"GPT 5.5 Review",upstreamModelId:"gpt-5.5",quotaFamily:"review"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.4-review",name:"GPT 5.4 Review",upstreamModelId:"gpt-5.4",quotaFamily:"review"},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini"},{id:"gpt-5.4-mini-review",name:"GPT 5.4 Mini Review",upstreamModelId:"gpt-5.4-mini",quotaFamily:"review"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-review",name:"GPT 5.3 Codex Review",upstreamModelId:"gpt-5.3-codex",quotaFamily:"review"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-xhigh-review",name:"GPT 5.3 Codex (xHigh) Review",upstreamModelId:"gpt-5.3-codex-xhigh",quotaFamily:"review"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-high-review",name:"GPT 5.3 Codex (High) Review",upstreamModelId:"gpt-5.3-codex-high",quotaFamily:"review"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-low-review",name:"GPT 5.3 Codex (Low) Review",upstreamModelId:"gpt-5.3-codex-low",quotaFamily:"review"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.3-codex-none-review",name:"GPT 5.3 Codex (None) Review",upstreamModelId:"gpt-5.3-codex-none",quotaFamily:"review"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.3-codex-spark-review",name:"GPT 5.3 Codex Spark Review",upstreamModelId:"gpt-5.3-codex-spark",quotaFamily:"review"},{id:"gpt-5.5-image",name:"GPT 5.5 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.4-image",name:"GPT 5.4 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.3-image",name:"GPT 5.3 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"}],serviceKinds:["llm","image"],oauth:{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",fixedPort:1455,callbackPath:"/auth/callback",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"},refreshLeadMs:432e6,refresh:{encoding:"form",scope:"openid profile email offline_access"},maxRefreshAgeMs:6912e5,trackRefreshAt:!0},features:{usage:!0}},{id:"cody",priority:50,alias:"cody",uiAlias:"cody",display:{name:"Cody (Sourcegraph)",icon:"code_blocks",color:"#FF6B35",textIcon:"CO",website:"https://sourcegraph.com/cody",notice:{signupUrl:"https://sourcegraph.com/cody",apiKeyUrl:"https://sourcegraph.com/user/settings/tokens",text:"Sourcegraph Cody — coding assistant with a free plan (~200 messages/month). Create a personal access token (sgp_...) at sourcegraph.com/user/settings/tokens, then paste it here. Models include Claude Sonnet 4, GPT-4o, and Gemini Pro."}},category:"oauth",authModes:["apikey"],hasOAuth:!1,transport:{baseUrl:"https://sourcegraph.com/.api/llm/completions/Stream",format:"openai",headers:{"X-Requested-With":"Sourcegraph-Editor"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"anthropic::new::claude-sonnet-4",name:"Claude Sonnet 4 (Cody)"},{id:"anthropic::new::claude-haiku-4",name:"Claude Haiku 4 (Cody)"},{id:"anthropic::new::claude-3.7-sonnet",name:"Claude 3.7 Sonnet (Cody)"},{id:"openai::new::gpt-4o",name:"GPT-4o (Cody)"},{id:"openai::new::o3-mini",name:"o3-mini (Cody)"},{id:"google::new::gemini-2.5-pro",name:"Gemini 2.5 Pro (Cody)"},{id:"google::new::gemini-2.0-flash",name:"Gemini 2.0 Flash (Cody)"},{id:"mixtral-8x22B",name:"Mixtral 8x22B (Cody)"}],passthroughModels:!0},{id:"cohere",priority:90,alias:"cohere",display:{name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.cohere.ai/v1/chat/completions",validateUrl:"https://api.cohere.ai/v1/models"},models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},{id:"comfyui",priority:120,alias:"comfyui",display:{name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},category:"apikey",transport:null,models:[{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"sdxl",name:"SDXL",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:8188"}},k,{id:"copilot-web",priority:150,alias:"copilot-web",aliases:["copilot"],uiAlias:"copilot",display:{name:"Microsoft Copilot Web (Cookie)",icon:"smart_toy",color:"#0A7BBA",textIcon:"CP",website:"https://copilot.microsoft.com"},category:"webCookie",authType:"cookie",authHint:"Paste your access_token from copilot.microsoft.com (anonymous works with limited models)",transport:{baseUrl:"wss://copilot.microsoft.com/c/api/chat?api-version=2",format:"copilot-web",authType:"cookie"},models:[{id:"copilot",name:"Copilot Chat"},{id:"copilot-chat",name:"Copilot Chat"},{id:"copilot-think",name:"Copilot Think (reasoning)"},{id:"copilot-think-deeper",name:"Copilot Think Deeper (reasoning)"},{id:"copilot-smart",name:"Copilot Smart"},{id:"copilot-gpt5",name:"Copilot GPT-5"},{id:"copilot-study",name:"Copilot Study"},{id:"gpt-4o",name:"GPT-4o (via Copilot)"},{id:"gpt-4-turbo",name:"GPT-4 Turbo (via Copilot)"},{id:"gpt-4",name:"GPT-4 (via Copilot)"},{id:"gpt-5",name:"GPT-5 (via Copilot)"},{id:"o1",name:"o1 (reasoning)"},{id:"o3",name:"o3 (reasoning)"}],passthroughModels:!0},{id:"coqui",alias:"coqui",display:{name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},hidden:!0},{id:"cursor",priority:50,alias:"cu",uiAlias:"cu",display:{name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},category:"oauth",transport:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.1.0"},models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],oauth:{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}}},{id:"deepgram",priority:20,alias:"deepgram",aliases:["dg"],uiAlias:"dg",display:{name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.deepgram.com/v1/listen"},models:[{id:"nova-3",name:"Nova 3",params:["language"],kind:"stt"},{id:"nova-2",name:"Nova 2",params:["language"],kind:"stt"},{id:"whisper-large",name:"Whisper Large",params:["language"],kind:"stt"},{id:"nova",name:"Nova",kind:"stt"}],serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram"}},{id:"deepseek-web",priority:130,alias:"ds-web",uiAlias:"ds-web",display:{name:"DeepSeek Web (Subscription)",icon:"psychology",color:"#4D6BFE",textIcon:"DS",website:"https://chat.deepseek.com",notice:{signupUrl:"https://chat.deepseek.com",apiKeyUrl:"https://chat.deepseek.com",text:"DeepSeek free web chat. Open chat.deepseek.com, log in, then copy your userToken from DevTools (Application → Local Storage → chat.deepseek.com → userToken). Paste it here. The token is exchanged for a short-lived access token automatically, and a proof-of-work challenge is solved per request. Responses are streamed from the web backend and translated to OpenAI format."}},category:"webCookie",authType:"cookie",authHint:"Paste your userToken value from chat.deepseek.com (DevTools → Application → Local Storage → userToken).",transport:{baseUrl:"https://chat.deepseek.com",format:"deepseek-web",authType:"cookie"},models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-think",name:"DeepSeek V4 Pro Think",supportsReasoning:!0},{id:"deepseek-v4-pro-search",name:"DeepSeek V4 Pro Search"},{id:"deepseek-v4-pro-think-search",name:"DeepSeek V4 Pro Think+Search",supportsReasoning:!0},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-flash-think",name:"DeepSeek V4 Flash Think",supportsReasoning:!0},{id:"deepseek-v4-flash-search",name:"DeepSeek V4 Flash Search"},{id:"deepseek-v4-flash-think-search",name:"DeepSeek V4 Flash Think+Search",supportsReasoning:!0},{id:"deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek-reasoner",name:"DeepSeek Reasoner",supportsReasoning:!0},{id:"DeepSeek-R1",name:"DeepSeek R1",supportsReasoning:!0},{id:"DeepSeek-R1-Search",name:"DeepSeek R1 Search",supportsReasoning:!0},{id:"DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"DeepSeek-Search",name:"DeepSeek Search"}],passthroughModels:!0},l,{id:"devin",priority:70,alias:"devin",uiAlias:"devin",display:{name:"Devin CLI",icon:"smart_toy",color:"#7C5CFF",textIcon:"DV",website:"https://devin.ai",notice:{signupUrl:"https://app.devin.ai",apiKeyUrl:"https://app.devin.ai/settings",text:"Devin (by Cognition) is a session-based AI software engineer. Create an API key (cog_...) in your Devin account settings. Each model below maps to a Devin agent mode. Responses are aggregated from Devin sessions and streamed back — they may take longer than a typical chat model."}},category:"apikey",authModes:["apikey"],hasOAuth:!1,transport:{baseUrl:"https://api.devin.ai",headers:{"Content-Type":"application/json",Accept:"application/json"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"devin-normal",name:"Devin (Normal)",upstreamModelId:"normal"},{id:"devin-fast",name:"Devin (Fast)",upstreamModelId:"fast"},{id:"devin-lite",name:"Devin Lite",upstreamModelId:"lite"},{id:"devin-ultra",name:"Devin Ultra",upstreamModelId:"ultra"}]},{id:"doubao-web",priority:150,alias:"doubao-web",aliases:["db"],uiAlias:"db",display:{name:"Doubao Web (Cookie)",icon:"smart_toy",color:"#3B5BFF",textIcon:"豆",website:"https://www.doubao.com"},category:"webCookie",authType:"cookie",authHint:"Paste your full Cookie header from doubao.com",transport:{baseUrl:"https://www.doubao.com/api/chat",format:"openai",authType:"cookie"},models:[{id:"doubao-default",name:"Doubao Default"},{id:"doubao-pro",name:"Doubao Pro"}],passthroughModels:!0},{id:"duckduckgo-web",priority:60,alias:"duckduckgo-web",aliases:["ddgw"],uiAlias:"ddgw",display:{name:"DuckDuckGo AI Chat",icon:"public",color:"#DE5833",textIcon:"DD",website:"https://duckduckgo.com/?q=DuckDuckGo+AI+Chat&ia=chat&duckai=1",notice:{signupUrl:"https://duckduckgo.com/?q=DuckDuckGo+AI+Chat&ia=chat&duckai=1",apiKeyUrl:"https://duckduckgo.com/?q=DuckDuckGo+AI+Chat&ia=chat&duckai=1",text:"DuckDuckGo AI Chat is free and anonymous — no login or cookie required. It exposes GPT-4o Mini, GPT-5 Mini, Claude 3.5 Haiku, Llama 4 Scout, Mistral Small and O3 Mini. No credential is needed; an anonymous VQD token is acquired per request. DuckDuckGo rate-limits anonymous sessions, so it is best for light use."}},category:"webCookie",authType:"none",noAuth:!0,authHint:"No credential needed — DuckDuckGo AI Chat is free and anonymous.",transport:{baseUrl:"https://duckduckgo.com",format:"duckduckgo-web",authType:"none"},models:[{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"claude-3-5-haiku-20241022",name:"Claude 3.5 Haiku"},{id:"llama-4-scout",name:"Llama 4 Scout"},{id:"mistral-small-2501",name:"Mistral Small"},{id:"o3-mini",name:"O3 Mini"}],passthroughModels:!0},{id:"edge-tts",alias:"edge-tts",display:{name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},{id:"elevenlabs",alias:"el",display:{name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]}},{id:"exa",alias:"exa",display:{name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},{id:"fal-ai",priority:90,hasFree:!0,alias:"fal-ai",aliases:["fal"],uiAlias:"fal",display:{name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",params:["n","size"],kind:"image"},{id:"fal-ai/flux/dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",params:["n","size"],kind:"image"},{id:"fal-ai/recraft-v3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",params:["n","size","style"],kind:"image"},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://queue.fal.run"}},{id:"firecrawl",alias:"firecrawl",display:{name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},{id:"fireworks",priority:50,alias:"fireworks",display:{name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys",text:"Fireworks hosts 200+ open-weight models (DeepSeek, GLM, Kimi, Qwen, Llama) on fast serverless GPUs. Get a key at fireworks.ai/account/api-keys — new accounts include free credits. OpenAI-compatible — works with any standard client."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",validateUrl:"https://api.fireworks.ai/inference/v1/models",thinkingFormat:"openai"},models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/glm-5p2",name:"GLM-5.2"},{id:"accounts/fireworks/models/kimi-k2p6",name:"Kimi K2.6"},{id:"accounts/fireworks/models/kimi-k2-instruct-0905",name:"Kimi K2 Instruct 0905"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.fireworks.ai/inference/v1/embeddings"}},m,{id:"gemini-web",priority:150,alias:"gemini-web",aliases:["gweb"],uiAlias:"gweb",display:{name:"Gemini Web (Google)",icon:"auto_awesome",color:"#4285F4",textIcon:"GE",website:"https://gemini.google.com",notice:{signupUrl:"https://gemini.google.com",apiKeyUrl:"https://gemini.google.com/app",text:"Gemini Web (gemini.google.com) cookie provider. Open gemini.google.com, log in, then copy your cookies (DevTools → Application → Cookies) — you need at least __Secure-1PSID and __Secure-1PSIDTS. ⚠️ Google blocks programmatic (non-browser) requests: this provider will often fail with 403/empty responses because ExtremeRouter cannot impersonate a browser TLS fingerprint. The cookies are probably valid when this happens — the request shape is rejected, not your login. Responses are translated to OpenAI format."}},category:"webCookie",authType:"cookie",authHint:"Paste your gemini.google.com cookies (need __Secure-1PSID + __Secure-1PSIDTS).",transport:{baseUrl:"https://gemini.google.com/app",format:"gemini-web",authType:"cookie"},models:[{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.0-pro",name:"Gemini 2.0 Pro"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"}],passthroughModels:!0},n,{id:"github",priority:40,alias:"gh",uiAlias:"gh",display:{name:"GitHub Copilot",icon:"code",color:"#333333",website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",messagesUrl:"https://api.githubcopilot.com/v1/messages",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},copilot:{vscodeVersion:"1.110.0",chatVersion:"0.38.0",userAgent:"GitHubCopilotChat/0.38.0",apiVersion:"2025-04-01"},usage:{url:"https://api.github.com/copilot_internal/user"}},models:[{id:"claude-fable-5",name:"Claude Fable 5",targetFormat:"claude",contextWindow:1e6,maxOutput:64e3},{id:"claude-opus-4.8-fast",name:"Claude Opus 4.8 (fast mode)",targetFormat:"claude",contextWindow:1e6,maxOutput:64e3,unsupportedParams:["temperature","top_p","top_k"]},{id:"claude-opus-4.8",name:"Claude Opus 4.8",targetFormat:"claude",contextWindow:1e6,maxOutput:64e3,unsupportedParams:["temperature","top_p","top_k"]},{id:"claude-opus-4.7",name:"Claude Opus 4.7",targetFormat:"claude",contextWindow:1e6,maxOutput:64e3},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",targetFormat:"claude",contextWindow:1e6,maxOutput:64e3},{id:"claude-opus-4.5",name:"Claude Opus 4.5",targetFormat:"claude",contextWindow:2e5,maxOutput:32e3},{id:"claude-sonnet-5",name:"Claude Sonnet 5",targetFormat:"claude",contextWindow:1e6,maxOutput:64e3},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5",targetFormat:"claude",contextWindow:2e5,maxOutput:32e3},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",targetFormat:"claude",contextWindow:2e5,maxOutput:32e3},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro",contextWindow:1e6,maxOutput:64e3},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",contextWindow:1e6,maxOutput:64e3},{id:"gpt-5.5",name:"GPT-5.5",targetFormat:"openai-responses",contextWindow:105e4,maxOutput:128e3},{id:"gpt-5.4",name:"GPT-5.4",targetFormat:"openai-responses",contextWindow:105e4,maxOutput:128e3},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",targetFormat:"openai-responses",contextWindow:4e5,maxOutput:128e3},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",targetFormat:"openai-responses",contextWindow:4e5,maxOutput:128e3},{id:"gpt-5-mini",name:"GPT-5 Mini",targetFormat:"openai-responses",contextWindow:264e3,maxOutput:64e3},{id:"gpt-4o-2024-11-20",name:"GPT-4o",contextWindow:128e3,maxOutput:16384},{id:"gpt-4o-mini",name:"GPT-4o Mini",contextWindow:128e3,maxOutput:4096},{id:"gpt-4-0125-preview",name:"GPT 4 Turbo",contextWindow:128e3,maxOutput:4096},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",contextWindow:256e3,maxOutput:32e3},{id:"mai-code-1-flash",name:"MAI-Code-1-Flash",targetFormat:"openai-responses",contextWindow:256e3,maxOutput:128e3},{id:"oswe-vscode-prime",name:"Raptor Mini",targetFormat:"openai-responses",contextWindow:264e3,maxOutput:64e3},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",kind:"embedding"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://models.github.ai/inference/embeddings",authType:"apikey",authHeader:"bearer"},oauth:{clientId:"Iv1.b507a08c87ecfe98",authorizeUrl:"https://github.com/login/oauth/authorize",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},features:{usage:!0}},{id:"gitlab",hidden:!0,priority:100,display:{name:"GitLab Duo",icon:"code",color:"#FC6D26",textIcon:"GL",website:"https://gitlab.com",notice:{signupUrl:"https://gitlab.com"}},category:"oauth",transport:{baseUrl:"https://gitlab.com/api/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},oauth:{defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"}},{id:"glm-cn",priority:130,alias:"glm-cn",display:{name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",headers:{},usage:{url:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"}},models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-high",name:"GLM 5.3 High",upstreamModelId:"glm-5.3"},{id:"glm-5.3-low",name:"GLM 5.3 Low",upstreamModelId:"glm-5.3"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],features:{usage:!0,usageApikey:!0}},o,{id:"google-pse",alias:"gpse",display:{name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"google-tts",alias:"google-tts",display:{name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},{id:"grok-web",priority:150,alias:"grok-web",aliases:["gw"],uiAlias:"gw",display:{name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com"},category:"webCookie",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",transport:{baseUrl:"https://grok.com/rest/app-chat/conversations/new",format:"grok-web",authType:"cookie",usage:{rateLimitsUrl:"https://grok.com/rest/rate-limits"}},models:[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],passthroughModels:!0,features:{usage:!0}},{id:"groq",priority:60,hasFree:!0,alias:"groq",display:{name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"}},category:"apikey",transport:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",validateUrl:"https://api.groq.com/openai/v1/models"},models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"huggingchat",priority:60,alias:"huggingchat",aliases:["hc-web"],uiAlias:"huggingchat",display:{name:"HuggingChat (Web)",icon:"smart_toy",color:"#FFD21E",textIcon:"HC",website:"https://huggingface.co/chat",notice:{signupUrl:"https://huggingface.co/chat",apiKeyUrl:"https://huggingface.co/chat",text:"⚠️ ANTI-BOT: HuggingFace is behind AWS WAF which blocks non-browser requests. Even with valid cookies (hf-chat + token + aws-waf-token), server-side requests are rejected. This provider may not work until a headless browser integration is added. Consider using HuggingFace Inference API (API key) as an alternative."}},category:"webCookie",authType:"cookie",comingSoon:!0,authHint:"Paste the FULL cookie string from huggingface.co/chat. Note: AWS WAF may block server-side requests regardless of cookie validity.",transport:{baseUrl:"https://huggingface.co",format:"huggingchat",authType:"cookie"},models:[{id:"omni",name:"Omni (Auto-Router)"},{id:"baidu/ERNIE-4.5-VL-424B-A47B-Base-PT",name:"ERNIE 4.5 VL 424B A47B Base PT"},{id:"CohereLabs/c4ai-command-r7b-12-2024",name:"Command R7B 12-2024"},{id:"CohereLabs/command-a-reasoning-08-2025",name:"Command A Reasoning 08-2025"},{id:"CohereLabs/command-a-vision-07-2025",name:"Command A Vision 07-2025"},{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"google/gemma-4-31B-it",name:"Gemma 4 31B"},{id:"google/gemma-4-26B-A4B-it",name:"Gemma 4 26B A4B"},{id:"inclusionAI/Ling-2.6-1T",name:"Ling 2.6 1T"},{id:"meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama 4 Scout 17B 16E Instruct"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick 17B 128E Instruct FP8"},{id:"MiniMaxAI/MiniMax-M3",name:"MiniMax M3"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-NVFP4",name:"NVIDIA Nemotron 3 Ultra 550B A55B NVFP4"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"openai/gpt-oss-20b",name:"GPT-OSS 20B"},{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen3.5 122B A10B"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5 397B A17B"},{id:"Qwen/Qwen3.6-27B",name:"Qwen3.6 27B"},{id:"Qwen/Qwen3.6-35B-A3B",name:"Qwen3.6 35B A3B"},{id:"stepfun-ai/Step-3.7-Flash",name:"Step 3.7 Flash"},{id:"XiaomiMiMo/MiMo-V2.5-Pro",name:"MiMo V2.5 Pro"},{id:"zai-org/GLM-5.2",name:"GLM 5.2"}],passthroughModels:!0},{id:"huggingface",priority:70,hasFree:!0,alias:"huggingface",aliases:["hf"],uiAlias:"hf",display:{name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens"}},category:"apikey",authType:"apikey",hiddenKinds:["tts"],transport:null,models:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:[],kind:"image"},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",params:["language"],kind:"stt"},{id:"openai/whisper-small",name:"Whisper Small (HF)",params:["language"],kind:"stt"}],serviceKinds:["image","stt"],imageConfig:{baseUrl:"https://api-inference.huggingface.co/models"}},{id:"hyperbolic",priority:160,alias:"hyperbolic",aliases:["hyp"],uiAlias:"hyp",display:{name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",validateUrl:"https://api.hyperbolic.xyz/v1/models"},models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},p,{id:"inworld",alias:"inworld",display:{name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},{id:"jina-ai",alias:"jina",display:{name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial), no credit card required.",apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]}},{id:"jina-reader",alias:"jina-reader",display:{name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}},{id:"kilocode",priority:70,alias:"kc",uiAlias:"kc",display:{name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},category:"oauth",transport:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",headers:{},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kilocodeOrg"]}},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],modelsFetcher:{url:"https://api.kilo.ai/api/gateway/models",type:"openrouter-free"},passthroughModels:!0,oauth:{apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"}},{id:"kimchi",priority:95,alias:"kimchi",uiAlias:"kimchi",display:{name:"Kimchi",icon:"restaurant",color:"#FF521D",textIcon:"KC",website:"https://kimchi.dev",notice:{signupUrl:"https://app.kimchi.dev"}},category:"oauth",authModes:["oauth"],hasOAuth:!0,transport:{baseUrl:"https://llm.kimchi.dev/openai/v1/chat/completions",format:"openai",quirks:{dropStreamOptions:!0},headers:{"User-Agent":"kimchi/0.1.76"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"kimi-k2.7",name:"Kimi K2.7"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"minimax-m3",name:"MiniMax M3"},{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"nemotron-3-ultra-fp4",name:"Nemotron 3 Ultra FP4"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"}],serviceKinds:["llm","imageToText"],features:{usage:!0},oauth:{webAppUrl:"https://app.kimchi.dev",validationUrl:"https://api.cast.ai/v1/llm/openai/supported-providers",userInfoUrl:"https://app.kimchi.dev/api/v1/me",modelsUrl:"https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true"},passthroughModels:!0},q,{id:"kimi-web",priority:130,alias:"kimi-web",uiAlias:"kimi-web",display:{name:"Kimi Web (Subscription)",icon:"auto_fix_high",color:"#1F1F1F",textIcon:"KM",website:"https://www.kimi.com",notice:{signupUrl:"https://www.kimi.com",apiKeyUrl:"https://www.kimi.com",text:"Moonshot Kimi free web chat (international). Open www.kimi.com, log in, then copy your Cookie header (DevTools → Application → Cookies → kimi-auth, or DevTools → Network → any request → Cookie). The kimi-auth JWT is what we actually use — paste the full cookie string or just the JWT value. Responses are streamed over the Connect-RPC protocol and translated to OpenAI format."}},category:"webCookie",authType:"cookie",authHint:"Paste your Cookie header from www.kimi.com (must contain kimi-auth=<JWT>), or just the kimi-auth JWT value.",transport:{baseUrl:"https://www.kimi.com",format:"kimi-web",authType:"cookie"},models:[{id:"kimi-default",name:"Kimi Default"},{id:"kimi-k2.6",name:"Kimi K2.6 (Thinking)",supportsReasoning:!0},{id:"kimi-128k",name:"Kimi 128K (Long Context)"}],passthroughModels:!0},r,{id:"kiro",priority:10,alias:"kr",uiAlias:"kr",display:{name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{baseUrl:"https://runtime.us-east-1.kiro.dev/generateAssistantResponse",baseUrls:["https://runtime.us-east-1.kiro.dev/generateAssistantResponse","https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse","https://q.us-east-1.amazonaws.com/generateAssistantResponse"],format:"kiro",retry:{429:0},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev",usage:{cwHost:"https://codewhisperer.us-east-1.amazonaws.com",qHost:"https://q.us-east-1.amazonaws.com",limitsPath:"/getUsageLimits"}},models:[{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextLength:1e6,maxOutputTokens:128e3},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextLength:1e6,maxOutputTokens:128e3},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",contextLength:2e5,maxOutputTokens:128e3},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"claude-sonnet-5-thinking",name:"Claude Sonnet 5 (Thinking)",contextLength:1e6,maxOutputTokens:128e3},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)",contextLength:1e6,maxOutputTokens:128e3},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)",contextLength:2e5,maxOutputTokens:128e3},{id:"claude-sonnet-5-agentic",name:"Claude Sonnet 5 (Agentic)",contextLength:1e6,maxOutputTokens:128e3},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)",contextLength:1e6,maxOutputTokens:128e3},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)",contextLength:2e5,maxOutputTokens:128e3},{id:"claude-sonnet-5-thinking-agentic",name:"Claude Sonnet 5 (Thinking + Agentic)",contextLength:1e6,maxOutputTokens:128e3},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)",contextLength:1e6,maxOutputTokens:128e3},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)",contextLength:2e5,maxOutputTokens:128e3},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextLength:272e3,maxOutputTokens:128e3},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextLength:272e3,maxOutputTokens:128e3},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextLength:272e3,maxOutputTokens:128e3},{id:"gpt-5.6-sol-thinking",name:"GPT-5.6 Sol (Thinking)",contextLength:272e3,maxOutputTokens:128e3},{id:"gpt-5.6-terra-thinking",name:"GPT-5.6 Terra (Thinking)",contextLength:272e3,maxOutputTokens:128e3},{id:"gpt-5.6-luna-thinking",name:"GPT-5.6 Luna (Thinking)",contextLength:272e3,maxOutputTokens:128e3},{id:"gpt-5.6-sol-agentic",name:"GPT-5.6 Sol (Agentic)",contextLength:272e3,maxOutputTokens:128e3},{id:"gpt-5.6-terra-agentic",name:"GPT-5.6 Terra (Agentic)",contextLength:272e3,maxOutputTokens:128e3},{id:"gpt-5.6-luna-agentic",name:"GPT-5.6 Luna (Agentic)",contextLength:272e3,maxOutputTokens:128e3},{id:"gpt-5.6-sol-thinking-agentic",name:"GPT-5.6 Sol (Thinking + Agentic)",contextLength:272e3,maxOutputTokens:128e3},{id:"gpt-5.6-terra-thinking-agentic",name:"GPT-5.6 Terra (Thinking + Agentic)",contextLength:272e3,maxOutputTokens:128e3},{id:"gpt-5.6-luna-thinking-agentic",name:"GPT-5.6 Luna (Thinking + Agentic)",contextLength:272e3,maxOutputTokens:128e3}],oauth:{ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},features:{usage:!0,usageApikey:!0}},{id:"linkup",alias:"linkup",display:{name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"lmarena",priority:150,alias:"lmarena",aliases:["lma"],uiAlias:"lmarena",display:{name:"LMArena (Free)",icon:"auto_awesome",color:"#FF6B6B",textIcon:"LMA",website:"https://lmarena.ai",notice:{signupUrl:"https://lmarena.ai",apiKeyUrl:"https://lmarena.ai",text:"LMArena is FREE for testing models — a model comparison platform with 40+ frontier models (GPT, Claude, Gemini, Llama, ...). No subscription required. Log into lmarena.ai, then copy the FULL Cookie header from any request (DevTools → Network → request → Request Headers → Cookie). The session is now split across arena-auth-prod-v1.0, .1, … — copy the whole header. Paste it here; the executor auto-recombines the chunks. Works with the free tier for basic comparisons."}},category:"webCookie",authType:"cookie",authHint:"Paste the full Cookie header from lmarena.ai (DevTools → Network → request → Cookie). Includes arena-auth-prod-v1.0/.1/… chunks.",transport:{baseUrl:"https://arena.ai/nextjs-api/stream",format:"lmarena",authType:"cookie"},models:[{id:"gpt-5",name:"GPT-5 (via LMArena)"},{id:"gpt-5-mini",name:"GPT-5 Mini (via LMArena)"},{id:"gpt-4.1",name:"GPT-4.1 (via LMArena)"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (via LMArena)"},{id:"claude-opus-4-1",name:"Claude Opus 4.1 (via LMArena)"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (via LMArena)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (via LMArena)"},{id:"grok-4",name:"Grok 4 (via LMArena)"},{id:"deepseek-v3-2",name:"DeepSeek V3.2 (via LMArena)"},{id:"qwen3-235b",name:"Qwen3 235B (via LMArena)"},{id:"llama-4-maverick",name:"Llama 4 Maverick (via LMArena)"}],passthroughModels:!0},{id:"local-device",alias:"local-device",display:{name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},{id:"mimo-free",priority:50,hasFree:!0,alias:"mmf",uiAlias:"mmf",display:{name:"MiMo Code Free",icon:"smart_toy",color:"#FF6900",textIcon:"MF"},category:"free",noAuth:!0,transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}],modelsFetcher:{url:"https://models.dev/api.json",type:"mimo-free"},passthroughModels:!0},s,t,{id:"mistral",priority:80,alias:"mistral",display:{name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"}},category:"apikey",transport:{baseUrl:"https://api.mistral.ai/v1/chat/completions",validateUrl:"https://api.mistral.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",kind:"embedding"}],serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"muse-spark-web",priority:150,alias:"muse-spark-web",aliases:["ms-web"],uiAlias:"ms-web",display:{name:"Muse Spark Web (Meta AI)",icon:"auto_awesome",color:"#0866FF",textIcon:"MS",website:"https://www.meta.ai",notice:{signupUrl:"https://www.meta.ai",apiKeyUrl:"https://www.meta.ai",text:"Muse Spark (Meta AI) free web chat. Log into meta.ai, then copy the ecto_1_sess cookie value from DevTools → Application → Cookies → www.meta.ai. Paste it here (bare value or full cookie line). Streaming responses from Meta's GraphQL endpoint are translated to OpenAI format. Thinking/contemplating models expose reasoning_content."}},category:"webCookie",authType:"cookie",authHint:"Paste your meta.ai ecto_1_sess cookie value (or the full cookie line from DevTools).",transport:{baseUrl:"https://www.meta.ai/api/graphql",format:"muse-spark-web",authType:"cookie"},models:[{id:"muse-spark",name:"Muse Spark"},{id:"muse-spark-thinking",name:"Muse Spark Thinking",supportsReasoning:!0},{id:"muse-spark-contemplating",name:"Muse Spark Contemplating",supportsReasoning:!0}],passthroughModels:!0},{id:"nanobanana",priority:80,hasFree:!0,alias:"nanobanana",aliases:["nb"],uiAlias:"nb",display:{name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"}},category:"apikey",transport:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",validateUrl:"https://api.nanobananaapi.ai/v1/models"},models:[{id:"nanobanana-flash",name:"NanoBanana Flash",params:["n","size"],kind:"image"},{id:"nanobanana-pro",name:"NanoBanana Pro",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",pollUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info"}},{id:"nebius",priority:70,alias:"nebius",display:{name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",validateUrl:"https://api.studio.nebius.ai/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings"}},{id:"nvidia",priority:20,hasFree:!0,alias:"nvidia",display:{name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},category:"freeTier",transport:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",validateUrl:"https://integrate.api.nvidia.com/v1/models"},models:[{id:"minimaxai/minimax-m2.7",name:"MiniMax M2.7"},{id:"minimaxai/minimax-m3",name:"MiniMax M3"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"deepseek-ai/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",kind:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",params:["language"],kind:"stt"},{id:"fastpitch",name:"FastPitch",kind:"tts"},{id:"tacotron2",name:"Tacotron2",kind:"tts"}],serviceKinds:["llm","tts","embedding"],ttsConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts"},embeddingConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"ollama-local",priority:50,hasFree:!0,alias:"ollama-local",display:{name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},category:"apikey",transport:{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},serviceKinds:["llm"]},{id:"ollama",priority:30,hasFree:!0,alias:"ollama",display:{name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"freeTier",transport:{baseUrl:"https://ollama.com/api/chat",validateUrl:"https://ollama.com/api/tags",format:"ollama"},models:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"},{id:"minimax-m3",name:"MiniMax M3"}],serviceKinds:["llm"],features:{usage:!0,usageApikey:!0}},{id:"openai",priority:30,alias:"openai",display:{name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"}},category:"apikey",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://api.openai.com/v1/chat/completions",forceStream:!0},models:[{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",kind:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",kind:"embedding"},{id:"tts-1",name:"TTS-1",kind:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"whisper-1",name:"Whisper 1",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-image-1",name:"GPT Image 1",params:["n","size","quality","response_format"],kind:"image"},{id:"dall-e-3",name:"DALL-E 3",params:["size","quality","style","response_format"],kind:"image"},{id:"dall-e-2",name:"DALL-E 2",params:["n","size","response_format"],kind:"image"}],serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultModel:"gpt-4o-mini-tts"},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.openai.com/v1/images/generations"},searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"}},{id:"opencode-go",priority:210,alias:"opencode-go",aliases:["ocg"],uiAlias:"ocg",display:{name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go subscription: $5/mo (then 0/mo). Access to Kimi, GLM, Qwen, MiMo, MiniMax models.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",headers:{}},models:[{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.2-high",name:"GLM 5.2 (High Effort)"},{id:"glm-5.2-max",name:"GLM 5.2 (Max Effort)"},{id:"glm-5.1",name:"GLM 5.1"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-low",name:"DeepSeek V4 Pro (Low Effort)"},{id:"deepseek-v4-pro-medium",name:"DeepSeek V4 Pro (Medium Effort)"},{id:"deepseek-v4-pro-high",name:"DeepSeek V4 Pro (High Effort)"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro (Max Effort)"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2.5-high",name:"MiMo V2.5 (High Effort)"},{id:"mimo-v2.5-max",name:"MiMo V2.5 (Max Effort)"},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"minimax-m3",name:"MiniMax M3",targetFormat:"claude"},{id:"minimax-m2.7",name:"MiniMax M2.7",targetFormat:"claude"},{id:"minimax-m2.5",name:"MiniMax M2.5",targetFormat:"claude"},{id:"qwen3.7-max",name:"Qwen 3.7 Max",targetFormat:"claude"},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",targetFormat:"claude"},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",targetFormat:"claude"}]},{id:"opencode",priority:40,hasFree:!0,alias:"oc",uiAlias:"oc",display:{name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC"},category:"free",noAuth:!0,transport:{baseUrl:"https://opencode.ai",headers:{"x-opencode-client":"desktop"},noAuth:!0},models:[],modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"openrouter",priority:10,hasFree:!0,alias:"openrouter",display:{name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After 0 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"}},category:"freeTier",transport:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",thinkingFormat:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",kind:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",kind:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",kind:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",kind:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",kind:"embedding"},{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"openai/tts-1",name:"TTS-1",kind:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",params:["size","quality","style","response_format"],kind:"image"},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",params:["n","size","quality","response_format"],kind:"image"},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",params:["n","size"],kind:"image"},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",params:["n","size"],kind:"image"}],serviceKinds:["llm","embedding","tts","imageToText"],ttsConfig:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",defaultModel:"openai/gpt-4o-mini-tts",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},imageConfig:{baseUrl:"https://openrouter.ai/api/v1/images/generations",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0},{id:"perplexity-web",priority:220,alias:"perplexity-web",aliases:["pw"],uiAlias:"pw",display:{name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai"},category:"webCookie",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",transport:{baseUrl:"https://www.perplexity.ai/rest/sse/perplexity_ask",format:"perplexity-web",authType:"cookie"},models:[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}]},{id:"perplexity",priority:180,alias:"perplexity",aliases:["pplx"],uiAlias:"pplx",display:{name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/chat/completions",validateUrl:"https://api.perplexity.ai/models"},models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"sonar",endpoint:"https://api.perplexity.ai/chat/completions",pricingUrl:"https://docs.perplexity.ai/guides/pricing"}},{id:"playht",alias:"playht",display:{name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play 3.0 Mini"}]},hidden:!0},{id:"poe-web",priority:150,alias:"poe-web",aliases:["poe"],uiAlias:"poe",display:{name:"Poe Web (Subscription)",icon:"forum",color:"#7C3AED",textIcon:"P",website:"https://www.poe.com"},category:"webCookie",authType:"cookie",authHint:"Paste your p-b= cookie value from poe.com",transport:{baseUrl:"https://www.poe.com/api/gql_POST",format:"poe-web",authType:"cookie"},models:[{id:"gpt-4o",name:"GPT-4o (via Poe)"},{id:"gpt-4-turbo",name:"GPT-4 Turbo (via Poe)"},{id:"claude-3.5-sonnet",name:"Claude 3.5 Sonnet (via Poe)"},{id:"claude-3-opus",name:"Claude 3 Opus (via Poe)"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash (via Poe)"},{id:"llama-3-70b",name:"Llama 3 70B (via Poe)"},{id:"mixtral-8x22b",name:"Mixtral 8x22B (via Poe)"},{id:"poe-default",name:"Poe Assistant"}],passthroughModels:!0},{id:"pollinations",priority:80,alias:"pollinations",aliases:["pol"],uiAlias:"pollinations",display:{name:"Pollinations",icon:"local_florist",color:"#7C3AED",textIcon:"PL",website:"https://pollinations.ai",notice:{signupUrl:"https://enter.pollinations.ai",apiKeyUrl:"https://enter.pollinations.ai",text:"Pollinations is FREE text + image generation. Keyless models (openai, openai-fast, openai-large, qwen-coder, mistral, deepseek, grok, gemini-flash-lite-3.1, perplexity-fast, perplexity-reasoning) need no auth. Premium models (claude, gemini, midijourney) require a Pollinations API key from enter.pollinations.ai. No credential is required for the free tier; paste an API key only to unlock premium models."}},category:"webCookie",authType:"none",noAuth:!0,authHint:"Optional — leave blank for free keyless models. Paste a Pollinations API key for premium models.",transport:{baseUrl:"https://gen.pollinations.ai/v1/chat/completions",format:"pollinations",authType:"none"},models:[{id:"openai",name:"OpenAI (Pollinations)"},{id:"openai-fast",name:"OpenAI Fast (Pollinations)"},{id:"openai-large",name:"OpenAI Large (Pollinations)"},{id:"qwen-coder",name:"Qwen Coder (Pollinations)"},{id:"mistral",name:"Mistral (Pollinations)"},{id:"gemini",name:"Gemini (Pollinations)"},{id:"gemini-flash-lite-3.1",name:"Gemini Flash Lite 3.1 (Pollinations)"},{id:"gemini-fast",name:"Gemini Fast (Pollinations)"},{id:"deepseek",name:"DeepSeek (Pollinations)"},{id:"grok",name:"Grok (Pollinations)"},{id:"grok-large",name:"Grok Large (Pollinations)"},{id:"gemini-search",name:"Gemini Search (Pollinations)"},{id:"midijourney",name:"Midijourney (Pollinations)"},{id:"midijourney-large",name:"Midijourney Large (Pollinations)"},{id:"claude-fast",name:"Claude Fast (Pollinations)"},{id:"claude",name:"Claude (Pollinations)"},{id:"claude-large",name:"Claude Large (Pollinations)"},{id:"perplexity-fast",name:"Perplexity Fast (Pollinations)"},{id:"perplexity-reasoning",name:"Perplexity Reasoning (Pollinations)"},{id:"kimi",name:"Kimi (Pollinations)"},{id:"gemini-large",name:"Gemini Large (Pollinations)"},{id:"nova-fast",name:"Nova Fast (Pollinations)"},{id:"nova",name:"Nova (Pollinations)"},{id:"glm",name:"GLM (Pollinations)"},{id:"minimax",name:"MiniMax (Pollinations)"},{id:"mistral-large",name:"Mistral Large (Pollinations)"},{id:"polly",name:"Polly (Pollinations)"},{id:"qwen-coder-large",name:"Qwen Coder Large (Pollinations)"},{id:"qwen-large",name:"Qwen Large (Pollinations)"},{id:"qwen-vision",name:"Qwen Vision (Pollinations)"},{id:"qwen-safety",name:"Qwen Safety (Pollinations)"}],passthroughModels:!0},{id:"puter",priority:60,alias:"puter",uiAlias:"puter",display:{name:"Puter AI",icon:"cloud_circle",color:"#6366F1",textIcon:"PU",website:"https://puter.com",notice:{signupUrl:"https://puter.com",apiKeyUrl:"https://puter.com/dashboard",text:'Puter is FREE AI. Log in at puter.com, then open the dashboard and click "Copy Auth Token" (or copy your puter_auth_token cookie). Paste the token here — it works as a Bearer credential. Puter exposes 500+ models (GPT, Claude, Gemini, Grok, DeepSeek, Qwen, Mistral, Llama...) through one OpenAI-compatible endpoint. Model IDs use provider/model-name format for non-OpenAI models. Only chat completions (with streaming) are available via REST.'}},category:"webCookie",authType:"cookie",authHint:"Paste your Puter auth token (from puter.com/dashboard → Copy Auth Token) or your puter_auth_token cookie value.",transport:{baseUrl:"https://api.puter.com/puterai/openai/v1/chat/completions",format:"puter",authType:"cookie"},models:[{id:"gpt-5.5",name:"GPT-5.5 (Puter)"},{id:"gpt-5.4",name:"GPT-5.4 (Puter)"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini (Puter)"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano (Puter)"},{id:"gpt-4o",name:"GPT-4o (Puter)"},{id:"gpt-4o-mini",name:"GPT-4o Mini (Puter)"},{id:"o3",name:"OpenAI o3 (Puter)"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (Puter)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Puter)"},{id:"claude-opus-4-7",name:"Claude Opus 4.7 (Puter)"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash (Puter)"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite (Puter)"},{id:"google/gemini-3-flash",name:"Gemini 3 Flash (Puter)"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro (Puter)"},{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro (Puter)",supportsReasoning:!0},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash (Puter)",supportsReasoning:!0},{id:"x-ai/grok-4.3",name:"Grok 4.3 (Puter)"},{id:"x-ai/grok-4.20",name:"Grok 4.20 (Puter)"},{id:"llama-4-scout",name:"Llama 4 Scout (Puter)"},{id:"llama-4-maverick",name:"Llama 4 Maverick (Puter)"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B (Puter)"},{id:"mistral-small-2603",name:"Mistral Small 4 (Puter)"},{id:"mistral-medium-3-5",name:"Mistral Medium 3.5 (Puter)"},{id:"mistral-large-2512",name:"Mistral Large (Puter)"},{id:"devstral-2512",name:"Devstral 2 (Puter)"},{id:"codestral-2508",name:"Codestral (Puter)"},{id:"mistral-nemo",name:"Mistral Nemo (Puter)"},{id:"qwen/qwen3.6-plus",name:"Qwen 3.6 Plus (Puter)"},{id:"qwen/qwen3.5-397b-a17b",name:"Qwen 3.5 397B (Puter)"},{id:"perplexity/sonar-deep-research",name:"Perplexity Sonar Deep Research (Puter)"},{id:"perplexity/sonar-pro-search",name:"Perplexity Sonar Pro Search (Puter)"},{id:"perplexity/sonar-pro",name:"Perplexity Sonar Pro (Puter)"},{id:"perplexity/sonar-reasoning-pro",name:"Perplexity Sonar Reasoning Pro (Puter)"},{id:"perplexity/sonar",name:"Perplexity Sonar (Puter)"}],passthroughModels:!0},{id:"qoder",priority:30,alias:"qd",uiAlias:"qd",display:{name:"Qoder",icon:"water_drop",color:"#EC4899",website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) from https://qoder.com/account/integrations",transport:{baseUrl:"https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.sh/api/v2/quota/usage"}},models:[{id:"qmodel_latest",name:"Qoder Qwen 3.7 Max"}],oauth:{openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},features:{usage:!0,usageApikey:!0}},{id:"qwen-web",priority:130,alias:"qwen-web",uiAlias:"qwen-web",display:{name:"Qwen Web (Subscription)",icon:"hub",color:"#615CED",textIcon:"QW",website:"https://chat.qwen.ai",notice:{signupUrl:"https://chat.qwen.ai",apiKeyUrl:"https://chat.qwen.ai",text:"Alibaba Tongyi Qwen Chat free web access. Open chat.qwen.ai, log in, then copy your FULL Cookie header (DevTools → Network → any request → Request Headers → Cookie, or DevTools → Application → Cookies). Paste ALL cookies here — the WAF (baxia) requires the complete cookie jar (cna, ssxmod_itna, token, ...), not just the bearer token. The auth token is read from the `token` cookie automatically. Optionally append `bx-umidtoken=<value>` (captured from DevTools → Network → request headers) to bypass the anti-bot check if you get 'unauthorized' errors. Responses are streamed from the v2 API and translated to OpenAI format."}},category:"webCookie",authType:"cookie",authHint:"Paste your FULL Cookie header from chat.qwen.ai (must include cna, ssxmod_itna and token cookies). Optionally append bx-umidtoken=<value> (from request headers) if you get 'unauthorized' errors.",transport:{baseUrl:"https://chat.qwen.ai",format:"qwen-web",authType:"cookie"},models:[{id:"qwen3.8-max-preview",name:"Qwen3.8 Max Preview",contextWindow:1e6,maxOutput:65536},{id:"qwen3.7-max",name:"Qwen3.7 Max",contextWindow:1e6,maxOutput:65536},{id:"qwen3.7-plus",name:"Qwen3.7 Plus",contextWindow:1e6,maxOutput:65536},{id:"qwen3.6-plus",name:"Qwen3.6 Plus",contextWindow:1e6,maxOutput:65536}],passthroughModels:!0},{id:"qwen",hidden:!0,priority:130,alias:"qw",display:{name:"Qwen Code",icon:"psychology",color:"#10B981",website:"https://chat.qwen.ai",notice:{signupUrl:"https://chat.qwen.ai"}},category:"oauth",transport:{baseUrl:"https://portal.qwen.ai/v1/chat/completions"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.6 Coder Model"}],oauth:{clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256",refreshLeadMs:12e5}},{id:"recraft",priority:70,alias:"recraft",display:{name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"recraftv3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"recraftv2",name:"Recraft V2",params:["n","size","style"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://external.api.recraft.ai/v1/images/generations"}},{id:"runwayml",priority:80,alias:"runwayml",aliases:["runway"],uiAlias:"runway",display:{name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"gen4_image",name:"Gen-4 Image",params:["size"],kind:"image"},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",params:["size"],kind:"image"},{id:"gen4_turbo",name:"Gen-4 Turbo",params:[],kind:"video"},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",params:[],kind:"video"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.dev.runwayml.com/v1"}},{id:"sdwebui",priority:110,alias:"sdwebui",display:{name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},category:"apikey",transport:null,models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",params:["n","size"],kind:"image"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"http://localhost:7860/sdapi/v1/txt2img"}},{id:"searchapi",alias:"searchapi",display:{name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"searxng",alias:"searxng",display:{name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org"},category:"freeTier",authType:"none",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{baseUrl:"http://localhost:8888/search",method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},{id:"serper",alias:"serper",display:{name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"siliconflow",priority:250,alias:"siliconflow",display:{name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},category:"apikey",transport:{baseUrl:"https://api.siliconflow.com/v1/chat/completions",validateUrl:"https://api.siliconflow.com/v1/models",thinkingFormat:"openai"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"DeepSeek V3.2 Exp"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen 3.5 397B A17B"},{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen 3.5 122B A10B"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"inclusionAI/Ling-flash-2.0",name:"Ling Flash 2.0"}]},{id:"stability-ai",priority:60,alias:"stability-ai",aliases:["stability"],uiAlias:"stability",display:{name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"stable-image-ultra",name:"Stable Image Ultra",params:["size"],kind:"image"},{id:"stable-image-core",name:"Stable Image Core",params:["size","style"],kind:"image"},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",params:["size"],kind:"image"},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",params:["size"],kind:"image"},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",params:["size"],kind:"image"}],serviceKinds:["image"],imageConfig:{baseUrl:"https://api.stability.ai/v2beta/stable-image/generate"}},{id:"t3-web",priority:60,alias:"t3-web",aliases:["t3chat"],uiAlias:"t3chat",display:{name:"T3 Chat (Web)",icon:"chat",color:"#6D28D9",textIcon:"T3",website:"https://t3.chat",notice:{signupUrl:"https://t3.chat",apiKeyUrl:"https://t3.chat",text:"T3 Chat aggregates Claude, GPT, Gemini, DeepSeek, Grok, Llama, Mistral, Qwen and Kimi behind one subscription. Open t3.chat, log in, then copy your full Cookie header (DevTools → Network → request → Cookie), including convex-session-id. Paste the full cookie string here. Responses are translated from TanStack Start TSS/NDJSON into OpenAI format."}},category:"webCookie",authType:"cookie",authHint:"Paste your t3.chat full Cookie header (must include convex-session-id).",transport:{baseUrl:"https://t3.chat",format:"t3-web",authType:"cookie"},models:[{id:"claude-opus-4",name:"Claude Opus 4 (via t3.chat)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4 (via t3.chat)"},{id:"claude-haiku-4",name:"Claude Haiku 4 (via t3.chat)"},{id:"claude-3.7",name:"Claude 3.7 Sonnet (via t3.chat)"},{id:"gpt-5",name:"GPT-5 (via t3.chat)"},{id:"gpt-4o",name:"GPT-4o (via t3.chat)"},{id:"gpt-4.1",name:"GPT-4.1 (via t3.chat)"},{id:"o3",name:"o3 (via t3.chat)"},{id:"o4-mini",name:"o4-mini (via t3.chat)"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (via t3.chat)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (via t3.chat)"},{id:"deepseek-r1",name:"DeepSeek R1 (via t3.chat)"},{id:"deepseek-v3",name:"DeepSeek V3 (via t3.chat)"},{id:"grok-3",name:"Grok 3 (via t3.chat)"},{id:"grok-3-mini",name:"Grok 3 Mini (via t3.chat)"},{id:"llama-4-maverick",name:"Llama 4 Maverick (via t3.chat)"},{id:"llama-4-scout",name:"Llama 4 Scout (via t3.chat)"},{id:"llama-3.3-70b",name:"Llama 3.3 70B (via t3.chat)"},{id:"devstral",name:"Devstral (via t3.chat)"},{id:"mistral-large",name:"Mistral Large (via t3.chat)"},{id:"qwen3-235b",name:"Qwen3 235B (via t3.chat)"},{id:"qwen3-32b",name:"Qwen3 32B (via t3.chat)"},{id:"kimi-k2",name:"Kimi K2 (via t3.chat)"}],passthroughModels:!0},{id:"tavily",alias:"tavily",display:{name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},{id:"together",priority:60,alias:"together",display:{name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.together.xyz/v1/chat/completions",validateUrl:"https://api.together.xyz/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",kind:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.together.xyz/v1/embeddings"}},{id:"topaz",alias:"topaz",display:{name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"}},category:"apikey",authType:"apikey",serviceKinds:["image"]},{id:"tortoise",alias:"tortoise",display:{name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},hidden:!0},{id:"trae",priority:55,alias:"tr",uiAlias:"tr",display:{name:"Trae (ByteDance)",icon:"code",color:"#8B5CF6",textIcon:"TR",website:"https://trae.ai",notice:{signupUrl:"https://trae.ai",apiKeyUrl:"https://solo.trae.ai",text:"ByteDance Trae coding IDE — sign in at solo.trae.ai, then copy the Cloud-IDE-JWT token from the Authorization header (DevTools → Network). Lifetime ~14 days. Models include Gemini 3.1 Pro, MiniMax M3 (1M ctx), Kimi K2.5, GPT-5.4/5.2, and an 'auto' router."}},category:"oauth",authModes:["apikey"],hasOAuth:!1,transport:{baseUrl:"https://core-normal.trae.ai/api/remote/v1",format:"trae",auth:{combined:!0,header:"Authorization",scheme:"raw"}},models:[{id:"auto",name:"Auto (Code \xb7 Server Picks)"},{id:"work",name:"Work (Auto \xb7 fast)"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",upstreamModelId:"gemini-3.1-pro"},{id:"gemini-3-flash-solo",name:"Gemini 3 Flash"},{id:"minimax-m3",name:"MiniMax M3",upstreamModelId:"minimax-m3"},{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.2",name:"GPT 5.2"}],passthroughModels:!0},{id:"v0-vercel-web",priority:150,alias:"v0-vercel-web",aliases:["v0"],uiAlias:"v0",display:{name:"v0 (Vercel)",icon:"code",color:"#000000",textIcon:"v0",website:"https://v0.app",notice:{signupUrl:"https://v0.app",apiKeyUrl:"https://v0.app",text:"v0 is Vercel's AI code generation tool. Log in at v0.app, then open DevTools → Application → Cookies → copy the FULL cookie string (must include user_session + v0-last-scope). Default model: v0-mini. Free tier: 5 credits/month."}},category:"webCookie",authType:"cookie",authHint:"Paste your full Cookie header from v0.app (must include user_session and v0-last-scope cookies).",transport:{baseUrl:"https://v0.app/chat/api/chat",format:"v0-vercel-web",authType:"cookie"},models:[{id:"v0-mini",name:"v0 Mini"},{id:"v0-default",name:"v0 Default"}],passthroughModels:!0},{id:"venice-web",priority:60,alias:"venice-web",aliases:["ven-web"],uiAlias:"ven-web",display:{name:"Venice (Web)",icon:"lock",color:"#9333EA",textIcon:"VE",website:"https://venice.ai",notice:{signupUrl:"https://venice.ai",apiKeyUrl:"https://venice.ai",text:"Venice is a privacy-focused AI chat. Open venice.ai, log in, then copy your full Cookie header (DevTools → Application → Cookies). Paste the full cookie string here. Responses are streamed from the web /api/chat endpoint and translated to OpenAI format."}},category:"webCookie",authType:"cookie",authHint:"Paste your venice.ai full Cookie header.",transport:{baseUrl:"https://venice.ai",format:"venice-web",authType:"cookie"},models:[{id:"venice-latest",name:"Venice Latest"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"qwen-2.5-coder",name:"Qwen 2.5 Coder"}],passthroughModels:!0},{id:"venice",priority:115,alias:"venice",aliases:["vn"],uiAlias:"venice",display:{name:"Venice AI",icon:"shield",color:"#DC2626",textIcon:"VE",website:"https://venice.ai",notice:{text:"OpenAI-compatible. Private inference + uncensored models (Venice Uncensored, GLM, Qwen, DeepSeek, Llama).",apiKeyUrl:"https://venice.ai/settings/api"}},category:"apikey",transport:{baseUrl:"https://api.venice.ai/api/v1/chat/completions",validateUrl:"https://api.venice.ai/api/v1/models",thinkingFormat:"openai"},models:[{id:"venice-uncensored-1-2",name:"Venice Uncensored 1.2"},{id:"zai-org-glm-5",name:"GLM-5"},{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-coder-480b-a35b-instruct-turbo",name:"Qwen3 Coder 480B A35B Turbo"},{id:"qwen3-vl-235b-a22b",name:"Qwen3 VL 235B A22B"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"hermes-3-llama-3.1-405b",name:"Hermes 3 Llama 3.1 405B"},{id:"mistral-small-3-2-24b-instruct",name:"Mistral Small 3.2 24B"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-bge-m3",name:"BGE-M3 Embedding",kind:"embedding"},{id:"text-embedding-qwen3-8b",name:"Qwen3 8B Embedding",kind:"embedding"},{id:"venice-sd35",name:"Venice SD3.5",params:["n","size"],kind:"image"},{id:"flux-2-pro",name:"FLUX.2 Pro",params:["n","size"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2 (via Venice)",params:["n","size","quality"],kind:"image"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.venice.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.venice.ai/api/v1/images/generations"},modelsFetcher:{url:"https://api.venice.ai/api/v1/models",type:"openai"},passthroughModels:!0},{id:"veoaifree-web",priority:150,alias:"veoaifree-web",aliases:["veo-free"],uiAlias:"veo-free",display:{name:"Veo AI Free",icon:"movie",color:"#10B981",textIcon:"VF",website:"https://veoaifree.com",notice:{signupUrl:"https://veoaifree.com",apiKeyUrl:"https://veoaifree.com",text:"Veo AI Free (veoaifree.com) — free multi-tool via WordPress AJAX: text-to-video, image generation, TTS, and prompt enhancement. No auth required. Intent is detected from the model id / prompt (e.g. models containing 'image'/'tts'/'enhance'). Limited to ~6 requests/hour per IP. Send the prompt as the last user message; optional system message can set aspect_ratio:/voice:/lang: hints. No connection key needed — paste any placeholder."}},category:"webCookie",authType:"cookie",authHint:"No auth required — veoaifree.com is free. Paste any placeholder value (the key is ignored).",transport:{baseUrl:"https://veoaifree.com",format:"veoaifree-web",authType:"cookie"},models:[{id:"veo",name:"VEO 3.1"},{id:"seedance",name:"Seedance"}],passthroughModels:!0},{id:"vercel-ai-gateway",priority:160,alias:"vercel-ai-gateway",aliases:["vercel"],uiAlias:"vercel",display:{name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"}},category:"apikey",transport:{baseUrl:"https://ai-gateway.vercel.sh/v1/chat/completions",thinkingFormat:"openai",retry:{429:2},usage:{url:"https://ai-gateway.vercel.sh/v1/credits"}},serviceKinds:["llm","embedding","image","imageToText","webSearch"],embeddingConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/embeddings"},imageConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/images/generations"},searchViaChat:{defaultModel:"openai/gpt-4o-mini",pricingUrl:"https://vercel.com/docs/ai-gateway/pricing"},modelsFetcher:{url:"https://ai-gateway.vercel.sh/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"vertex-partner",priority:260,alias:"vertex-partner",aliases:["vxp"],uiAlias:"vxp",display:{name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"apikey",transport:{baseUrl:"https://aiplatform.googleapis.com"},models:[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}]},{id:"vertex",priority:40,alias:"vertex",aliases:["vx"],uiAlias:"vx",display:{name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"freeTier",transport:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],serviceKinds:["llm","imageToText"]},{id:"volcengine-ark",priority:270,alias:"volcengine-ark",aliases:["ark"],uiAlias:"ark",display:{name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},category:"apikey",transport:{baseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}]},{id:"voyage-ai",priority:40,alias:"voyage-ai",uiAlias:"voyage",display:{name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"voyage-3-large",name:"Voyage 3 Large",kind:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",kind:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",kind:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",kind:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",kind:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",kind:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.voyageai.com/v1/embeddings"}},{id:"windsurf",priority:45,alias:"ws",uiAlias:"ws",display:{name:"Windsurf",icon:"surfing",color:"#1FB6FF",textIcon:"WS",website:"https://windsurf.com",notice:{signupUrl:"https://windsurf.com",apiKeyUrl:"https://windsurf.com/show-auth-token",text:"Windsurf coding IDE — Claude Opus 4.7 (full effort tiers), Sonnet 4.6 1M context, GPT-5.5/5.4, Gemini 3.1 Pro, SWE models. ⚠️ COMING SOON: Windsurf speaks gRPC-web+protobuf, not REST — a native adapter is pending. The brand icon & catalog are shown now; chat requests will return a clear 'gRPC adapter pending' error until the adapter lands."}},category:"oauth",authModes:["apikey"],hasOAuth:!1,comingSoon:!0,transport:{baseUrl:"https://server.self-serve.windsurf.com",format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"swe-1.6-fast",name:"SWE-1.6 Fast"},{id:"swe-1.6",name:"SWE-1.6"},{id:"swe-1.5-fast",name:"SWE-1.5 Fast"},{id:"swe-1.5",name:"SWE-1.5"},{id:"claude-opus-4.7-max",name:"Claude Opus 4.7 Max",contextLength:2e5},{id:"claude-opus-4.7-xhigh",name:"Claude Opus 4.7 XHigh",contextLength:2e5},{id:"claude-opus-4.7-high",name:"Claude Opus 4.7 High",contextLength:2e5},{id:"claude-opus-4.7-medium",name:"Claude Opus 4.7 Medium",contextLength:2e5},{id:"claude-opus-4.7-low",name:"Claude Opus 4.7 Low",contextLength:2e5},{id:"claude-opus-4.7-review",name:"Claude Opus 4.7 Review",contextLength:2e5},{id:"claude-sonnet-4.6-thinking-1m",name:"Claude Sonnet 4.6 Thinking 1M",contextLength:1e6},{id:"claude-sonnet-4.6-1m",name:"Claude Sonnet 4.6 1M",contextLength:1e6},{id:"claude-sonnet-4.6-thinking",name:"Claude Sonnet 4.6 Thinking",contextLength:2e5},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextLength:2e5},{id:"claude-opus-4.6-thinking",name:"Claude Opus 4.6 Thinking",contextLength:2e5},{id:"claude-opus-4.6",name:"Claude Opus 4.6",contextLength:2e5},{id:"gpt-5.5-xhigh",name:"GPT-5.5 XHigh",contextLength:2e5},{id:"gpt-5.5-high",name:"GPT-5.5 High",contextLength:2e5},{id:"gpt-5.5-medium",name:"GPT-5.5 Medium",contextLength:2e5},{id:"gpt-5.5-low",name:"GPT-5.5 Low",contextLength:2e5},{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High",contextLength:1e6},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low",contextLength:1e6},{id:"gemini-3.0-flash-high",name:"Gemini 3 Flash High",contextLength:1e6}],passthroughModels:!0},{id:"xai",priority:280,alias:"xai",display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://api.x.ai/v1/chat/completions",validateUrl:"https://api.x.ai/v1/models",responsesUrl:"https://api.x.ai/v1/responses",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token",usage:{billingUrl:"https://api.x.ai/v1/billing?format=credits",subscriptionUrl:"https://api.x.ai/v1/user?include=subscription"}},features:{usage:!0,usageApikey:!0},models:[{id:"grok-4.5",name:"Grok 4.5",contextWindow:5e5},{id:"grok-4.20-multi-agent",name:"Grok 4.20 Multi-Agent"},{id:"grok-4.20-reasoning",name:"Grok 4.20 Reasoning"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-imagine-image-quality",name:"Grok Imagine (Image Quality)",params:["n","response_format"],kind:"image"},{id:"grok-2-image-1212",name:"Grok 2 Image",params:["n","response_format"],kind:"image"},{id:"grok-imagine-video-1.5",name:"Grok Imagine Video 1.5",kind:"video"}],serviceKinds:["llm","imageToText","webSearch","image","video"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}},u,v,{id:"youcom",alias:"youcom",display:{name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"zenmux-free",priority:65,alias:"zmf",uiAlias:"zmf",display:{name:"ZenMux Free",icon:"hub",color:"#6366F1",textIcon:"ZM",website:"https://zenmux.ai",notice:{signupUrl:"https://zenmux.ai",apiKeyUrl:"https://zenmux.ai",text:"ZenMux Free tier — log in at zenmux.ai, export all cookies (EditThisCookie / Cookie-Editor / DevTools), and paste the full Cookie string. Must include `ctoken`. Free models: DeepSeek V3.2, GLM 4.7 Flash, MiMo V2 Flash, KAT Coder Pro, and more."}},category:"webCookie",authType:"cookie",authHint:"Paste the FULL cookie string from zenmux.ai (must include ctoken). Use EditThisCookie or DevTools → Application → Cookies → copy all.",transport:{baseUrl:"https://zenmux.ai/api/anthropic/v1/messages",format:"zenmux-free",authType:"cookie"},models:[{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"},{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"z-ai/glm-4.7-flash-free",name:"GLM 4.7 Flash Free"},{id:"z-ai/glm-4.6v-flash-free",name:"GLM 4.6V Flash Free"},{id:"z-ai/glm-4.7",name:"GLM 4.7"},{id:"z-ai/glm-4.6v-flash",name:"GLM 4.6V Flash"},{id:"qwen/qwen3.7-plus",name:"Qwen 3.7 Plus"},{id:"minimax/minimax-m3",name:"MiniMax M3"},{id:"minimax/minimax-m2.1",name:"MiniMax M2.1"},{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash"},{id:"stepfun/step-3.7-flash",name:"Step 3.7 Flash"},{id:"stepfun/step-3.7-flash-free",name:"Step 3.7 Flash Free"},{id:"stepfun/step-3",name:"Step 3"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-image",name:"Gemini 3.1 Flash Lite Image"},{id:"anthropic/claude-fable-5",name:"Claude Fable 5"},{id:"anthropic/claude-sonnet-5",name:"Claude Sonnet 5"},{id:"moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"inclusionai/ling-2.6-1t",name:"Ling 2.6 1T"},{id:"inclusionai/ring-2.6-1t",name:"Ring 2.6 1T"},{id:"meituan/longcat-2.0",name:"Longcat 2.0"},{id:"kuaishou/kat-coder-pro-v2.5",name:"KAT Coder Pro V2.5"},{id:"kuaishou/kat-coder-air-v2.5",name:"KAT Coder Air V2.5"},{id:"sapiens-ai/agnes-image-1.2",name:"Agnes Image 1.2"}],passthroughModels:!0},{id:"api-airforce",priority:70,alias:"airforce",aliases:["airforce","af"],uiAlias:"airforce",display:{name:"Api.Airforce",icon:"flight",color:"#6366F1",textIcon:"AF",website:"https://api.airforce",notice:{signupUrl:"https://api.airforce/playground/",apiKeyUrl:"https://api.airforce/playground/",text:"Api.Airforce is an OpenAI-compatible gateway with 65+ models. Log in at api.airforce/playground/, then open DevTools → Application → Cookies → copy the `airforce_session` cookie value (a JWT starting with eyJ). Paste it here — ExtremeRouter exchanges it for your API key automatically. Free tier: 10 free chat models (gpt-4o-mini, glm-4.7-flash, gpt-oss-120b/20b). Paid models need a positive balance at api.airforce/dashboard."}},category:"webCookie",authType:"cookie",authHint:"Paste your airforce_session cookie value (JWT from api.airforce DevTools → Application → Cookies), or the full `airforce_session=...` cookie string.",transport:{baseUrl:"https://api.airforce/v1/chat/completions",format:"openai",authType:"cookie"},models:[{id:"gpt-4o-mini",name:"GPT-4o mini (Free)"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash (Free)"},{id:"gpt-oss-120b",name:"GPT-OSS 120B (Free)"},{id:"gpt-oss-20b",name:"GPT-OSS 20B (Free)"},{id:"minimax-m2.5",name:"MiniMax M2.5 (Free)"},{id:"seed-rp",name:"Seed RP (Free)"},{id:"unmoderated-gpt",name:"Unmoderated GPT (Free)"},{id:"gemma3-270m:free",name:"Gemma 3 270M (Free)"},{id:"rnj-1",name:"RNJ-1 (Free)"},{id:"plutotext-r3-emotional",name:"PlutoText R3 Emotional (Free)"},{id:"claude-sonnet-4.6-rp",name:"Claude Sonnet 4.6 (Paid)"},{id:"claude-opus-4.5-rp",name:"Claude Opus 4.5 (Paid)"},{id:"gpt-5",name:"GPT-5 (Paid)"},{id:"deepseek-v3-0324",name:"DeepSeek V3.2 (Paid)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (Paid)"}],passthroughModels:!0},{id:"openvecta",priority:310,alias:"openvecta",aliases:["ov"],uiAlias:"ov",display:{name:"OpenVecta",icon:"hub",color:"#7C3AED",textIcon:"OV",website:"https://openvecta.com",notice:{signupUrl:"https://openvecta.com",apiKeyUrl:"https://openvecta.com",text:"OpenVecta is a pay-per-use AI inference gateway. Sign up at openvecta.com for free credits, then paste your API key. OpenAI-compatible — works with any OpenAI-format client. ~17 LLMs + embeddings available."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.openvecta.com/v1/chat/completions",format:"openai",validateUrl:"https://api.openvecta.com/v1/models"},models:[{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"gpt-oss-120b",name:"GPT-OSS 120B"},{id:"gemma-4-31b",name:"Gemma 4 31B"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B Instruct"},{id:"llama-4-maverick",name:"Llama 4 Maverick"},{id:"nemotron-3-super-120b",name:"Nemotron 3 Super 120B"}],passthroughModels:!0},{id:"freebuff-web",priority:65,alias:"fb-web",aliases:["freebuff-web","freebuff-cookie"],uiAlias:"fbw",display:{name:"FreeBuff",icon:"bolt",color:"#F97316",textIcon:"FB",website:"https://freebuff.com",notice:{signupUrl:"https://freebuff.com",apiKeyUrl:"https://freebuff.com",text:"FreeBuff is a FREE AI assistant with coding help, web research, and deep reasoning. Log in at freebuff.com/chat, then open DevTools → Application → Cookies → copy the __Secure-next-auth.session-token cookie value (or the full cookie string). Default model: deepseek-v4-flash."}},category:"webCookie",authType:"cookie",authHint:"Paste your freebuff.com session cookie (__Secure-next-auth.session-token value or full cookie string).",transport:{baseUrl:"https://freebuff.com/api/chat/stream",format:"freebuff-web",authType:"cookie"},models:[{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash (FreeBuff)"}],passthroughModels:!0},{id:"perplexity-agent",priority:175,alias:"pplx-agent",aliases:["pplxa","perplexity-agent"],uiAlias:"pplxa",display:{name:"Perplexity Agent",icon:"smart_toy",color:"#20A39E",textIcon:"PA",website:"https://www.perplexity.ai",notice:{signupUrl:"https://www.perplexity.ai",apiKeyUrl:"https://www.perplexity.ai/settings/api",text:"Perplexity Agent API routes to 30+ third-party models (GPT, Claude, Gemini, Grok, GLM, Kimi, Sonar) through one Perplexity API key. Get a key at perplexity.ai/settings/api. Uses the Responses API format."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.perplexity.ai/v1/agent",format:"openai-responses",validateUrl:"https://api.perplexity.ai/v1/models"},models:[{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"openai/gpt-5",name:"GPT-5"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"openai/gpt-5.5",name:"GPT-5.5"},{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4-7",name:"Claude Opus 4.7"},{id:"anthropic/claude-haiku-4-5",name:"Claude Haiku 4.5"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"xai/grok-4.20-multi-agent",name:"Grok 4.20 Multi-Agent"},{id:"perplexity/glm-5.2",name:"GLM 5.2"},{id:"perplexity/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"perplexity/sonar",name:"Sonar"}],passthroughModels:!0},{id:"featherless",priority:290,alias:"featherless",aliases:["fl"],uiAlias:"fl",display:{name:"Featherless",icon:"flutter_dash",color:"#FF6B35",textIcon:"FL",website:"https://featherless.ai",notice:{signupUrl:"https://featherless.ai",apiKeyUrl:"https://featherless.ai/account/api-keys",text:"Featherless hosts 46,000+ open-source models from HuggingFace. Get a key at featherless.ai/account/api-keys. OpenAI-compatible — works with any standard client. Models are auto-discovered at runtime."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.featherless.ai/v1/chat/completions",format:"openai",validateUrl:"https://api.featherless.ai/v1/models"},modelsFetcher:{url:"https://api.featherless.ai/v1/models?available_on_current_plan=true&per_page=100",type:"openai"},models:[{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Llama 3.1 8B"},{id:"meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B"},{id:"Qwen/Qwen2.5-7B-Instruct",name:"Qwen 2.5 7B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"google/gemma-2-9b-it",name:"Gemma 2 9B"},{id:"mistralai/Mistral-7B-Instruct-v0.3",name:"Mistral 7B v0.3"},{id:"mistralai/Mixtral-8x7B-Instruct-v0.1",name:"Mixtral 8x7B"},{id:"deepseek-ai/deepseek-llm-7b-chat",name:"DeepSeek LLM 7B Chat"},{id:"microsoft/Phi-3.5-mini-instruct",name:"Phi 3.5 Mini"}],passthroughModels:!0},{id:"moonshot",priority:165,alias:"moonshot",aliases:["ms"],uiAlias:"ms",display:{name:"Moonshot AI",icon:"dark_mode",color:"#6D28D9",textIcon:"MS",website:"https://platform.moonshot.ai",notice:{signupUrl:"https://platform.moonshot.ai/console/api-keys",apiKeyUrl:"https://platform.moonshot.ai/console/api-keys",text:"Moonshot AI is the official platform for Kimi models (kimi-k3, kimi-k2.6, kimi-k2.5). Get an API key at platform.moonshot.ai. OpenAI-compatible. kimi-k3 supports reasoning_effort: max."}},category:"apikey",authType:"apikey",thinkingConfig:{options:["auto","none","max"],defaultMode:"auto"},transport:{baseUrl:"https://api.moonshot.ai/v1/chat/completions",format:"openai",validateUrl:"https://api.moonshot.ai/v1/models"},models:[{id:"kimi-k3",name:"Kimi K3"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"moonshot-v1-8k-vision-preview",name:"Moonshot v1 8K Vision"},{id:"moonshot-v1-32k-vision-preview",name:"Moonshot v1 32K Vision"},{id:"moonshot-v1-128k-vision-preview",name:"Moonshot v1 128K Vision"}],passthroughModels:!0},{id:"qwencloud",priority:65,alias:"qc",aliases:["qwencloud"],uiAlias:"qc",display:{name:"QwenCloud",icon:"cloud",color:"#615CED",textIcon:"QC",website:"https://www.qwencloud.com",notice:{signupUrl:"https://www.qwencloud.com",apiKeyUrl:"https://www.qwencloud.com",text:"QwenCloud provides access to Qwen 3.7 models via web chat. Log in at qwencloud.com, open the chat at qwencloud.com/try-ai/chat?models=qwen3.7-max, then copy the FULL Cookie string + bx-ua + bx-umidtoken from DevTools. The executor handles the multi-step auth flow automatically."}},category:"webCookie",authType:"cookie",authHint:"Paste your cookie string from qwencloud.com (must include login_qwencloud_ticket). Optionally append: ; bx-ua=<value>; bx-umidtoken=<value> for accessToken generation.",transport:{baseUrl:"https://cs-stream.qwencloud.com/sse/console4Json",format:"qwencloud",authType:"cookie"},models:[{id:"qwen3.7-max",name:"Qwen 3.7 Max"},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus"}],passthroughModels:!0},{id:"forge",priority:310,alias:"forge",aliases:["fg","forgeai"],uiAlias:"fg",display:{name:"Forge Workspace",icon:"local_fire_department",color:"#FF6B35",textIcon:"FG",website:"https://www.forge-ai.space/",notice:{signupUrl:"https://www.forge-ai.space/?ref=ref-a556c7a8",apiKeyUrl:"https://www.forge-ai.space/?ref=ref-a556c7a8",text:"Forge Workspace is an AI model gateway with 33+ models across FREE and PRO tiers. Sign up for free credits at forge-ai.space, then paste your API key. OpenAI-compatible — works with any OpenAI-format client."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://forge-gateway-api.fly.dev/v1/chat/completions",format:"openai",validateUrl:"https://forge-gateway-api.fly.dev/v1/models"},models:[{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",contextWindow:105e4,tier:"FREE"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",contextWindow:105e4,tier:"FREE"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",contextWindow:105e4,tier:"FREE"},{id:"gpt-5.5",name:"GPT-5.5",contextWindow:128e3,tier:"FREE"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindow:4e5,tier:"FREE"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,tier:"FREE"},{id:"claude-sonnet-4-6-thinking",name:"Claude Sonnet 4.6 Thinking",contextWindow:1e6,tier:"FREE"},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextWindow:1e6,tier:"FREE"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",contextWindow:2e5,tier:"FREE"},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",contextWindow:2e5,tier:"FREE"},{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",contextWindow:2e5,tier:"FREE"},{id:"claude-fable-5",name:"Claude Fable 5",contextWindow:1e6,tier:"PRO"},{id:"grok-4.5",name:"Grok 4.5",contextWindow:5e5,tier:"FREE"},{id:"grok-4.3",name:"Grok 4.3",contextWindow:1e6,tier:"FREE"},{id:"grok-build-0.1",name:"Grok Build 0.1",contextWindow:256e3,tier:"FREE"},{id:"deepseek-r1",name:"DeepSeek R1",contextWindow:128e3,tier:"FREE"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,tier:"FREE"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,tier:"FREE"},{id:"deepseek-v3.2",name:"DeepSeek V3.2",contextWindow:163e3,tier:"FREE"},{id:"deepseek-v3.1",name:"DeepSeek V3.1",contextWindow:128e3,tier:"FREE"},{id:"deepseek-v3",name:"DeepSeek V3",contextWindow:128e3,tier:"FREE"},{id:"kimi-k3",name:"Kimi K3",contextWindow:1e6,tier:"FREE"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",contextWindow:1e6,tier:"FREE"},{id:"kimi-k2.6",name:"Kimi K2.6",contextWindow:1e6,tier:"FREE"},{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:1e6,tier:"FREE"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,tier:"FREE"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",contextWindow:1e6,tier:"FREE"},{id:"tencent/hy3",name:"Tencent HY3",contextWindow:1e6,tier:"FREE"},{id:"mimo-v2.5",name:"MiMo V2.5",contextWindow:1e6,tier:"FREE"},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",contextWindow:1e6,tier:"FREE"},{id:"MiniMax-M3",name:"MiniMax M3",contextWindow:1e6,tier:"FREE"},{id:"MiniMax-M2.5",name:"MiniMax M2.5",contextWindow:1e6,tier:"FREE"},{id:"glm-5.2",name:"GLM 5.2",contextWindow:1e6,tier:"FREE"}],modelsFetcher:{url:"https://forge-gateway-api.fly.dev/v1/models",type:"forge"},thinkingConfig:{options:["auto","none","max"],defaultMode:"auto"},passthroughModels:!0},{id:"tokenrouter",priority:320,alias:"tokenrouter",aliases:[],uiAlias:"tr",display:{name:"TokenRouter",icon:"router",color:"#10B981",textIcon:"TR",website:"https://api.tokenrouter.com",notice:{signupUrl:"https://api.tokenrouter.com",apiKeyUrl:"https://api.tokenrouter.com",text:"TokenRouter is an AI model gateway with Claude, GPT, Gemini, Kimi, DeepSeek, GLM and more. Create an API key at api.tokenrouter.com, then paste it here. OpenAI-compatible — works with any OpenAI-format client. For Quota Tracker, also paste your management key (separate from the chat sk- key)."}},category:"apikey",authType:"apikey",features:{usage:!0,usageApikey:!0},transport:{baseUrl:"https://api.tokenrouter.com/v1/chat/completions",format:"openai",thinkingFormat:"openai",validateUrl:"https://api.tokenrouter.com/v1/models",usage:{walletUrl:"https://api.tokenrouter.com/api/management/self/wallet"}},models:[],passthroughModels:!0,modelsFetcher:{url:"https://api.tokenrouter.com/v1/models",type:"tokenrouter"},pricing:"tokenrouter",thinkingConfig:{options:["auto","none","low","medium","high","xhigh","max"],defaultMode:"auto"}},x,{id:"alibaba",priority:160,alias:"alibaba",aliases:["ali"],uiAlias:"ali",display:{name:"Alibaba (Model Studio)",icon:"cloud",color:"#FF6A00",textIcon:"AL",website:"https://dashscope.console.aliyun.com",notice:{signupUrl:"https://dashscope.console.aliyun.com",apiKeyUrl:"https://dashscope.console.aliyun.com/apiKey",text:"Alibaba Cloud Model Studio (DashScope International). Create an API key at dashscope.console.aliyun.com. OpenAI-compatible."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",format:"openai",validateUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen3.6-plus",name:"Qwen3.6 Plus"},{id:"qwen3.6-27b",name:"Qwen3.6 27B"},{id:"qwen3.6-35b-a3b",name:"Qwen3.6 35B A3B"},{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"qwen3.5-122b-a10b",name:"Qwen3.5 122B A10B"},{id:"qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.2-fast-preview",name:"GLM 5.2 Fast Preview"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"}],passthroughModels:!0},{id:"alibaba-cn",priority:161,alias:"alibaba-cn",aliases:["alicn"],uiAlias:"alicn",display:{name:"Alibaba (China)",icon:"cloud",color:"#FF6A00",textIcon:"AC",website:"https://dashscope.console.aliyun.com",notice:{signupUrl:"https://dashscope.console.aliyun.com",apiKeyUrl:"https://dashscope.console.aliyun.com/apiKey",text:"Alibaba Cloud Model Studio (DashScope China region). Create an API key at dashscope.console.aliyun.com. OpenAI-compatible."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",format:"openai",validateUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"qwen3.7-max",name:"Qwen3.7 Max"},{id:"qwen3.7-plus",name:"Qwen3.7 Plus"},{id:"qwen3.6-plus",name:"Qwen3.6 Plus"},{id:"qwen3.6-27b",name:"Qwen3.6 27B"},{id:"qwen3.6-35b-a3b",name:"Qwen3.6 35B A3B"},{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"qwen3.5-122b-a10b",name:"Qwen3.5 122B A10B"},{id:"qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.2-fast-preview",name:"GLM 5.2 Fast Preview"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"}],passthroughModels:!0},y,z,{id:"inxorastudio-web",priority:345,alias:"ix-web",aliases:["ixweb"],uiAlias:"ix-web",display:{name:"InxoraStudio Labs (Web)",icon:"science",color:"#A78BFA",textIcon:"IX",website:"https://labs.inxorastudio.com",notice:{signupUrl:"https://labs.inxorastudio.com",text:"InxoraStudio Labs web dashboard chat. Log in at labs.inxorastudio.com, then open DevTools → Network → copy the Authorization Bearer token (eyJ...) from any API request. Paste it here."}},category:"webCookie",authType:"cookie",authHint:"Paste your Bearer JWT token (eyJ...) from labs.inxorastudio.com DevTools",transport:{baseUrl:"https://labs.inxorastudio.com/api/conversations",format:"inxorastudio-web",authType:"cookie"},models:[],passthroughModels:!0,modelsFetcher:{url:"https://labs.inxorastudio.com/api/ai/models",type:"inxora"}},A,B,C,{id:"1min",priority:365,alias:"1min",aliases:["1m"],uiAlias:"1m",display:{name:"1min.ai",icon:"bolt",color:"#8B5CF6",textIcon:"1M",website:"https://1min.ai",notice:{signupUrl:"https://1min.ai?referrer_id=3cf6f69c-2006-4ce2-93d5-de493365e967",text:"1min.ai is an AI platform with 38+ coding models (Claude, GPT, Gemini, DeepSeek, Qwen, GLM, Grok). Log in at app.1min.ai, then open DevTools → Network → copy the x-auth-token Bearer value (eyJ...) from any API request. Paste it here."}},category:"webCookie",authType:"cookie",authHint:"Paste your Bearer JWT token (eyJ...) from app.1min.ai DevTools (x-auth-token header)",transport:{baseUrl:"https://api.1min.ai/teams",format:"1min",authType:"cookie"},models:[{id:"claude-5-sonnet",name:"Claude 5 Sonnet"},{id:"claude-4-6-sonnet",name:"Claude 4.6 Sonnet"},{id:"claude-4-8-opus",name:"Claude 4.8 Opus"},{id:"gpt-5-6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5-6-terra",name:"GPT-5.6 Terra"},{id:"gpt-5-6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5-5",name:"GPT-5.5"},{id:"deepseek-v3-2-reasoner",name:"DeepSeek V3.2 Reasoner"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"gemini-3-5-flash",name:"Gemini 3.5 Flash"},{id:"glm-5-2",name:"GLM-5.2"},{id:"xai-grok-code-fast-1",name:"Grok Code Fast 1"}],passthroughModels:!0,modelsFetcher:{url:"https://api.1min.ai/models?feature=CODE_GENERATOR",type:"1min"}},{id:"1min-api",priority:364,alias:"1min-api",aliases:["1m-api","1minai"],uiAlias:"1m-api",display:{name:"1min.ai (API)",icon:"bolt",color:"#7C3AED",textIcon:"1M",website:"https://1min.ai",notice:{signupUrl:"https://1min.ai?referrer_id=3cf6f69c-2006-4ce2-93d5-de493365e967",apiKeyUrl:"https://1min.ai?referrer_id=3cf6f69c-2006-4ce2-93d5-de493365e967",text:"1min.ai official API. Create an API key in your dashboard (app.1min.ai → API), then paste it here. Uses the chat-with-ai streaming endpoint with 38+ models (Claude, GPT, Gemini, DeepSeek, Qwen, GLM, Grok)."}},category:"freeTier",hasFree:!0,authType:"apikey",authHint:"Paste your 1min.ai API key (from app.1min.ai → API). Starts with letters/numbers — no 'Bearer' prefix.",transport:{baseUrl:"https://api.1min.ai/api/chat-with-ai",format:"1min-api",authType:"apikey",auth:{header:"API-KEY",scheme:"raw"},validateUrl:"https://api.1min.ai/api/profile"},models:[{id:"claude-5-sonnet",name:"Claude 5 Sonnet"},{id:"claude-4-6-sonnet",name:"Claude 4.6 Sonnet"},{id:"claude-4-8-opus",name:"Claude 4.8 Opus"},{id:"gpt-5-6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5-6-terra",name:"GPT-5.6 Terra"},{id:"gpt-5-6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5-5",name:"GPT-5.5"},{id:"deepseek-v3-2-reasoner",name:"DeepSeek V3.2 Reasoner"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"gemini-3-5-flash",name:"Gemini 3.5 Flash"},{id:"glm-5-2",name:"GLM-5.2"},{id:"xai-grok-code-fast-1",name:"Grok Code Fast 1"}],passthroughModels:!0,modelsFetcher:{url:"https://api.1min.ai/models?feature=UNIFY_CHAT_WITH_AI",type:"1min"}},{id:"marathon",priority:363,alias:"marathon",aliases:["mara","marathonbuild"],uiAlias:"mara",display:{name:"Marathon",icon:"timer",color:"#0EA5E9",textIcon:"MR",website:"https://marathon.build",notice:{signupUrl:"https://marathon.build",apiKeyUrl:"https://marathon.build",text:"Marathon (by GoKite AI) is adaptive inference infrastructure. Choose a completion window per request: 'now' for real-time streaming, or 'soon'/'later'/'anytime' for up to 65% cost savings (delayed async with automatic polling). Create an API key at marathon.build, then paste it here."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://delayed-inference.prod.gokite.ai/v1/delayed/chat/completions",format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"kimi-k3",name:"Kimi K3"},{id:"glm-5-2",name:"GLM 5.2"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"qwen3-6-35b-a3b",name:"Qwen3.6-35B-A3B"},{id:"nemotron-3-ultra",name:"Nemotron 3 Ultra"}],passthroughModels:!0,modelsFetcher:{url:"https://delayed-inference.prod.gokite.ai/v1/models",type:"openai"}},{id:"zed",priority:56,alias:"zed",uiAlias:"zed",display:{name:"Zed Hosted AI",icon:"code",color:"#1348DC",textIcon:"Z",website:"https://zed.dev",notice:{signupUrl:"https://zed.dev",text:"Zed Hosted AI provides access to Claude, GPT, and Gemini models via the Zed Editor cloud. Import your Zed credentials (user ID + access token from the Zed keychain) to mint an LLM token automatically."}},category:"oauth",authType:"oauth",hasOAuth:!0,transport:{baseUrl:"https://cloud.zed.dev",chatPath:"/completions",format:"openai",forceStream:!0,headers:{"Content-Type":"application/json","x-zed-client-supports-status-messages":"true","x-zed-client-supports-stream-ended-request-completion-status":"true","x-zed-client-supports-x-ai":"true"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://cloud.zed.dev/client/users/me"},modelsUrl:"https://cloud.zed.dev/models"},models:[],passthroughModels:!0,oauth:{apiEndpoint:"https://cloud.zed.dev",completionsPath:"/completions",modelsPath:"/models",llmTokensPath:"/client/llm_tokens",usersMePath:"/client/users/me",refreshLeadMs:3e5}},E,{id:"agnes-web",priority:58,alias:"agnes",aliases:["agnes-web"],uiAlias:"agnes",display:{name:"Agnes (Web)",icon:"auto_awesome",color:"#6C5CE7",textIcon:"AG",website:"https://app.agnes-ai.com",notice:{signupUrl:"https://app.agnes-ai.com",text:"Agnes is an agentic AI assistant. Log in at app.agnes-ai.com, then copy the token cookie value (eyJ...) from DevTools. Paste it here. The JWT is valid for ~28 days."}},category:"webCookie",authType:"cookie",authHint:"Paste your Agnes JWT token (from app.agnes-ai.com cookie 'token' or Authorization Bearer header). Starts with eyJ...",transport:{baseUrl:"https://api.agnes-ai.com/api/v1/agnes/chat/stream",format:"agnes-web",authType:"cookie"},models:[{id:"agnes-super",name:"Agnes Super (Agent)"}],passthroughModels:!0},{id:"agnes-api",priority:59,alias:"agnes-api",aliases:["agnesaapi"],uiAlias:"agnes-api",display:{name:"Agnes AI (API)",icon:"auto_awesome",color:"#6C5CE7",textIcon:"AG",website:"https://app.agnes-ai.com",notice:{signupUrl:"https://app.agnes-ai.com",apiKeyUrl:"https://app.agnes-ai.com",text:"Agnes AI official API. Create an API key in your Agnes dashboard, then paste it here. OpenAI-compatible — supports streaming, vision, and reasoning. Free tier available for Agnes 2.0/2.5 Flash."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://apihub.agnes-ai.com/v1/chat/completions",format:"openai",validateUrl:"https://apihub.agnes-ai.com/v1/models",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"agnes-2.5-pro-alpha",name:"Agnes 2.5 Pro Alpha",contextWindow:1e6,maxOutput:65536},{id:"agnes-2.5-flash",name:"Agnes 2.5 Flash",contextWindow:524288,maxOutput:65536},{id:"agnes-2.0",name:"Agnes 2.0",contextWindow:524288,maxOutput:65536}],passthroughModels:!0,modelsFetcher:{url:"https://apihub.agnes-ai.com/v1/models",type:"openai"},serviceKinds:["llm","image"],imageConfig:{baseUrl:"https://apihub.agnes-ai.com/v1/images/generations",bodyFields:["model","prompt","n","size","response_format"]}},G,I,{id:"deepinfra",priority:50,alias:"deepinfra",display:{name:"DeepInfra",icon:"hub",color:"#2563EB",textIcon:"DI",website:"https://deepinfra.com",notice:{apiKeyUrl:"https://deepinfra.com/dash/api_keys",text:"DeepInfra hosts hundreds of open models (Llama, Qwen, DeepSeek, GLM, Kimi, MiniMax). Get an API key from deepinfra.com/dash/api_keys — free signup credits included."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.deepinfra.com/v1/openai/chat/completions",validateUrl:"https://api.deepinfra.com/v1/openai/models"},models:[{id:"anthropic/claude-4-opus",name:"Claude 4 Opus"},{id:"anthropic/claude-4-sonnet",name:"Claude 4 Sonnet"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"openai/gpt-oss-20b",name:"GPT OSS 20B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama 4 Scout"},{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5 397B"},{id:"Qwen/Qwen3.6-35B-A3B",name:"Qwen3.6 35B"},{id:"google/gemma-4-31B-it",name:"Gemma 4 31B"},{id:"XiaomiMiMo/MiMo-V2.5-Pro",name:"MiMo V2.5 Pro"}],passthroughModels:!0,hasFree:!0,freeNote:"Free signup credits for API testing and model exploration"},{id:"codestral",priority:50,alias:"codestral",display:{name:"Codestral",icon:"terminal",color:"#FF7000",textIcon:"CS",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys/",text:"Codestral is Mistral's code-specialist model. Get an API key from console.mistral.ai — free tier available for non-commercial use."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://codestral.mistral.ai/v1/chat/completions",validateUrl:"https://codestral.mistral.ai/v1/models"},models:[{id:"codestral-2508",name:"Codestral 2508"},{id:"codestral-latest",name:"Codestral Latest"}],passthroughModels:!0},{id:"databricks",priority:50,alias:"databricks",display:{name:"Databricks",icon:"table_chart",color:"#F97316",textIcon:"DB",website:"https://www.databricks.com",notice:{apiKeyUrl:"https://accounts.cloud.databricks.com/oidc/token",text:"Databricks Mosaic AI Model Serving. Base URL is your workspace serving-endpoint (https://<workspace>.cloud.databricks.com/serving-endpoints/...). For self-hosted workspaces, add the endpoint URL via a custom baseUrl connection."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://adb-0000000000000000.0.azuredatabricks.net/serving-endpoints",validateUrl:"https://adb-0000000000000000.0.azuredatabricks.net/serving-endpoints"},models:[{id:"databricks-gpt-5",name:"Databricks GPT-5"},{id:"databricks-meta-llama-3-3-70b-instruct",name:"Llama 3.3 70B Instruct"},{id:"databricks-claude-sonnet-4",name:"Claude Sonnet 4"},{id:"databricks-gemini-2-5-pro",name:"Gemini 2.5 Pro"}]},{id:"unimodel",priority:280,alias:"unimodel",aliases:["um","unimodel-ai"],uiAlias:"um",display:{name:"UniModel",icon:"hub",color:"#7C4DFF",textIcon:"UM",website:"https://unimodel.ai",notice:{signupUrl:"https://unimodel.ai",apiKeyUrl:"https://unimodel.ai",text:"UniModel.ai aggregates LLMs from one key, converting them to OpenAI-compatible endpoints. Get a key from the UniModel dashboard. Models are auto-discovered at runtime."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://sg.unimodel.ai/v1/chat/completions",format:"openai",validateUrl:"https://sg.unimodel.ai/v1/models"},modelsFetcher:{url:"https://sg.unimodel.ai/v1/models",type:"openai"},models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"claude-3-7-sonnet",name:"Claude 3.7 Sonnet"},{id:"claude-3-5-sonnet",name:"Claude 3.5 Sonnet"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek-reasoner",name:"DeepSeek Reasoner"}],passthroughModels:!0},{id:"inferx",priority:50,alias:"inferx",aliases:["ix"],uiAlias:"inferx",display:{name:"InferX",icon:"bolt",color:"#6366F1",textIcon:"IX",website:"https://model.inferx.net",notice:{signupUrl:"https://model.inferx.net/login",apiKeyUrl:"https://model.inferx.net/login",text:"InferX provides serverless OpenAI-compatible inference endpoints for open models. Sign up at model.inferx.net/login to get your tenant-scoped API key. Free / 100% discount models available."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://model.inferx.net/endpoints/v1/chat/completions",format:"openai",validateUrl:"https://model.inferx.net/endpoints/v1/models"},modelsFetcher:{url:"https://model.inferx.net/endpoints/v1/models",type:"openai"},models:[{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-flash-0731",name:"DeepSeek V4 Flash (0731)"},{id:"Qwen3.6-35B-A3B-FP8",name:"Qwen 3.6 35B A3B"},{id:"Qwen3.6-35B-A3B-fp8-no-thinking",name:"Qwen 3.6 35B A3B (No Thinking)"},{id:"Qwen3-Coder-Next-FP8",name:"Qwen 3 Coder Next"},{id:"gemma-4-31B-it-fp8",name:"Gemma 4 31B IT"},{id:"glm-52",name:"GLM 52"},{id:"Agents-A1",name:"Agents A1"},{id:"Devstral-2-123B-Instruct-2512-int4-AutoRound",name:"Devstral 2 123B Instruct"},{id:"Ornith-1.0-35B-FP8",name:"Ornith 1.0 35B"},{id:"Qwen3.6-27B-FP8",name:"Qwen 3.6 27B"},{id:"Qwen3-Embedding-8B",name:"Qwen 3 Embedding 8B"}],passthroughModels:!0,hasFree:!0,freeNote:"100% discount free-tier models available upon login at model.inferx.net"},{id:"novita",priority:50,alias:"novita",aliases:["nv"],uiAlias:"novita",display:{name:"Novita AI",icon:"hub",color:"#8B5CF6",textIcon:"NV",website:"https://novita.ai",notice:{signupUrl:"https://novita.ai",apiKeyUrl:"https://novita.ai/dashboard/key-management",text:"Novita AI offers fast, low-cost API inference for open LLMs (DeepSeek R1/V3, Llama, Qwen, GLM) with OpenAI SDK compatibility. Sign up at novita.ai to get your API key."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.novita.ai/v3/openai/chat/completions",format:"openai",validateUrl:"https://api.novita.ai/v3/openai/models"},modelsFetcher:{url:"https://api.novita.ai/v3/openai/models",type:"openai"},models:[{id:"deepseek/deepseek-r1",name:"DeepSeek R1"},{id:"deepseek/deepseek-v3",name:"DeepSeek V3"},{id:"deepseek/deepseek-r1-distill-llama-70b",name:"DeepSeek R1 Distill Llama 70B"},{id:"deepseek/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B Instruct"},{id:"meta-llama/llama-3.1-405b-instruct",name:"Llama 3.1 405B Instruct"},{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen 2.5 72B Instruct"},{id:"qwen/qwen-2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B"},{id:"mistralai/mistral-nemo",name:"Mistral Nemo"}],passthroughModels:!0,hasFree:!0,freeNote:"Free trial credits upon signup at novita.ai"},{id:"kimi-desktop",priority:131,alias:"kimi-desktop",uiAlias:"kimi-desktop",display:{name:"Kimi Desktop (App)",icon:"auto_fix_high",color:"#4338CA",textIcon:"KD",website:"https://www.kimi.com",notice:{signupUrl:"https://www.kimi.com",text:"Kimi Desktop (Windows/macOS app). Log in on the desktop app, then import the session automatically — the gateway reads the token store in the app's AppData folder and uses it against www.kimi.com. No browser cookies needed. If the session has expired, re-open the desktop app and re-login, then import again."}},category:"oauth",authType:"import_token",authHint:"Session imported from the Kimi desktop app. Re-import after re-login to refresh.",transport:{baseUrl:"https://www.kimi.com",format:"kimi-web",authType:"cookie"},models:[{id:"kimi-default",name:"Kimi Default"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 (Thinking)",supportsReasoning:!0},{id:"kimi-k2.5-search",name:"Kimi K2.5 (Search)"},{id:"kimi-k2.5-thinking-search",name:"Kimi K2.5 (Thinking + Search)",supportsReasoning:!0},{id:"kimi-2.6-fast",name:"Kimi 2.6 Fast"},{id:"kimi-2.6-thinking",name:"Kimi 2.6 (Thinking)",supportsReasoning:!0},{id:"kimi-2.6-search",name:"Kimi 2.6 (Search)"},{id:"kimi-2.6-thinking-search",name:"Kimi 2.6 (Thinking + Search)",supportsReasoning:!0},{id:"kimi-k2",name:"Kimi K2"},{id:"kimi-k2-thinking",name:"Kimi K2 (Thinking)",supportsReasoning:!0},{id:"kimi-k2-search",name:"Kimi K2 (Search)"},{id:"kimi-k2-thinking-search",name:"Kimi K2 (Thinking + Search)",supportsReasoning:!0},{id:"kimi-thinking",name:"Kimi (Thinking)",supportsReasoning:!0},{id:"kimi-search",name:"Kimi (Search)"},{id:"kimi-thinking-search",name:"Kimi (Thinking + Search)",supportsReasoning:!0},{id:"kimi-k3",name:"Kimi K3"}],passthroughModels:!0,features:{usage:!0},thinkingConfig:{options:["standard","high","max"],defaultMode:"high"},quotaFamily:"kimi-desktop",oauth:{tokenStoragePath:{win32:"%APPDATA%\\kimi-desktop\\bridge-store\\token-store.json",darwin:"~/Library/Application Support/kimi-desktop/bridge-store/token-store.json"},dbKeys:{accessToken:"tokens.access_token",refreshToken:"tokens.refresh_token",userId:"tokens.msh_user_id"}}},J,{id:"workbuddy",alias:"wb",uiAlias:"wb",hidden:!1,priority:90,display:{name:"WorkBuddy",icon:"smart_toy",color:"#006EFF",website:"https://www.workbuddy.ai",notice:{signupUrl:"https://www.workbuddy.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://www.workbuddy.ai/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"CLI/2.108.1 WorkBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"CLI","X-IDE-Name":"CLI","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://www.workbuddy.ai/v2/billing/meter/get-user-resource"}},models:[{id:"hy3",name:"Hy3"},{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0",name:"GLM-5.0"},{id:"glm-5.0-turbo",name:"GLM-5.0-Turbo"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"glm-4.7",name:"GLM-4.7"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3-preview",name:"Hy3 Preview"},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro"},{id:"deepseek-v4-flash",name:"DeepSeek-V4-Flash"},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2"}],oauth:{baseUrl:"https://www.workbuddy.ai",stateUrl:"https://www.workbuddy.ai/v2/plugin/auth/state",tokenUrl:"https://www.workbuddy.ai/v2/plugin/auth/token",refreshUrl:"https://www.workbuddy.ai/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 WorkBuddy/2.63.2",platform:"workbuddy",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},{id:"codebuddy-intl",alias:"cbai",uiAlias:"cbai",hidden:!1,priority:90,display:{name:"CodeBuddy Intl",icon:"smart_toy",color:"#006EFF",website:"https://www.codebuddy.ai",notice:{signupUrl:"https://www.codebuddy.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://www.codebuddy.ai/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"IDE/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"IDE","X-IDE-Name":"IDE","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://www.codebuddy.ai/v2/billing/meter/get-user-resource"}},models:[{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0",name:"GLM-5.0"},{id:"glm-5.0-turbo",name:"GLM-5.0-Turbo"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"glm-4.7",name:"GLM-4.7"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3-preview",name:"Hy3 Preview"},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro"},{id:"deepseek-v4-flash",name:"DeepSeek-V4-Flash"},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2"}],oauth:{baseUrl:"https://www.codebuddy.ai",stateUrl:"https://www.codebuddy.ai/v2/plugin/auth/state",tokenUrl:"https://www.codebuddy.ai/v2/plugin/auth/token",refreshUrl:"https://www.codebuddy.ai/v2/plugin/auth/token/refresh",userAgent:"IDE/2.63.2 CodeBuddy/2.63.2",platform:"ide",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},K,{id:"helyxai",priority:140,alias:"helyxai",aliases:["hx"],uiAlias:"hx",display:{name:"Helyx AI",icon:"hub",color:"#7C3AED",textIcon:"HX",website:"https://helyxai.space",notice:{signupUrl:"https://helyxai.space",apiKeyUrl:"https://helyxai.space/dashboard",text:"Helyx AI — one OpenAI-compatible API for 50+ models (GPT, Claude, Gemini, Kimi, DeepSeek, Grok) plus image/video generation. Free tier: 100K tokens/day, resets every 24h."}},category:"apikey",authType:"apikey",hasFree:!0,freeNote:"Free plan: 100K tokens daily, resets every 24 hours.",transport:{baseUrl:"https://helyxai.space/v1/chat/completions",format:"openai"},pricing:"helyxai",passthroughModels:!0,models:[{id:"DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna"},{id:"gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite"},{id:"GLM-5.2",name:"GLM 5.2"},{id:"Qwen3-32B",name:"Qwen3 32B"},{id:"MiniMax-M3",name:"MiniMax M3"},{id:"DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"Mistral-4",name:"Mistral 4"},{id:"gemma-4-31B-it",name:"Gemma 4 31B"},{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"Kimi-K3",name:"Kimi K3"},{id:"llama-3.1-8b-instruct",name:"Llama 3.1 8B Instruct"},{id:"flux-1",name:"FLUX 1",params:["n","size"],kind:"image"},{id:"kling-video",name:"Kling Video",params:["duration"],kind:"video"}],serviceKinds:["llm","image","video"],imageConfig:{baseUrl:"https://helyxai.space/v1/images/generations",bodyFields:["model","prompt","n","size","response_format"]},videoConfig:{baseUrl:"https://helyxai.space/v1/videos/generations",bodyFields:["model","prompt","duration"]}},{id:"freebuff",priority:66,alias:"fb",aliases:["freebuff-api","freebuff-token"],uiAlias:"fb",display:{name:"Freebuff (Account)",icon:"bolt",color:"#F97316",textIcon:"FB",website:"https://freebuff.com",notice:{signupUrl:"https://freebuff.llm.pm",apiKeyUrl:"https://freebuff.llm.pm",text:"Connect your Freebuff account with a guided browser login (freebuff.com GitHub/Google) — no manual token needed. Already have an authToken? Paste it from https://freebuff.llm.pm or import it from the Freebuff CLI (~/.config/manicode/credentials.json)."}},category:"oauth",authModes:["oauth"],hasOAuth:!0,transport:{baseUrl:"https://codebuff.com",format:"freebuff",authType:"token"},models:[{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash (Freebuff)"},{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro (Freebuff)"},{id:"openai/gpt-5.6-luna",name:"GPT-5.6 Luna (Freebuff)"},{id:"minimax/minimax-m3",name:"MiniMax M3 (Freebuff)"}],passthroughModels:!0},{id:"tencent-aistudio-web",priority:60,alias:"tasw",uiAlias:"tasw",display:{name:"Tencent AI Studio (Free)",icon:"auto_awesome",color:"#0052D9",textIcon:"TAS",website:"https://aistudio.tencent.ai",notice:{signupUrl:"https://aistudio.tencent.ai",apiKeyUrl:"https://aistudio.tencent.ai",text:"Free web session on Tencent AI Studio (aistudio.tencent.ai) — direct chat with Hunyuan models (hy3-g, Hunyuan Default, Hunyuan 3D). Open aistudio.tencent.ai, log in, then copy your full Cookie header (DevTools → Network → any request → Request Headers → Cookie). Paste the full cookie string here. Responses are streamed from the web /api/chat endpoint and translated to OpenAI format."}},category:"webCookie",authType:"cookie",authHint:"Log in to aistudio.tencent.ai, open DevTools → Network, copy any request Cookie header containing session tokens.",hasFree:!0,transport:{baseUrl:"https://aistudio.tencent.ai",format:"openai",authType:"cookie"},models:[{id:"hy3-g",name:"HY3-G (via Tencent AI Studio)",toolCalling:!1},{id:"hunyuan-default",name:"Hunyuan Default (via Tencent AI Studio)",toolCalling:!1},{id:"hunyuan-3d",name:"Hunyuan 3D (via Tencent AI Studio)",toolCalling:!1}]},{id:"aihorde",priority:60,alias:"aihorde",display:{name:"AI Horde",icon:"groups",color:"#9333EA",textIcon:"AH",website:"https://aihorde.net",notice:{text:"Crowdsourced inference from volunteer GPUs — free anonymous key (or an account key for higher queue priority via kudos). Requests wait in a shared queue, so latency is minutes, not seconds. No tool calling. The catalog changes as workers come and go."}},category:"free",noAuth:!0,hasFree:!0,transport:{baseUrl:"https://oai.aihorde.net/v1/chat/completions",format:"openai",noAuth:!0,timeoutMs:12e4},models:[{id:"aphrodite/TheDrummer/Cydonia-24B-v4.3",name:"Cydonia 24B (AI Horde)",contextLength:32768,toolCalling:!1},{id:"aphrodite/TheDrummer/Skyfall-31B-v4.2",name:"Skyfall 31B (AI Horde)",contextLength:32768,toolCalling:!1},{id:"google/gemma-4-31b",name:"Gemma 4 31B (AI Horde)",contextLength:32768,toolCalling:!1}],passthroughModels:!0},{id:"bazaarlink",priority:60,alias:"bzl",uiAlias:"bzl",display:{name:"BazaarLink",icon:"storefront",color:"#10B981",textIcon:"BZ",website:"https://bazaarlink.ai",notice:{apiKeyUrl:"https://bazaarlink.ai",text:"OpenAI-compatible gateway with a free tier: `auto:free` routes to zero-cost inference (4M tokens/day, no credit card). Sign up at bazaarlink.ai for an API key; the paid catalog (Claude, GPT-5.5, Grok, Gemini, GLM, Kimi, MiniMax, Qwen, Mistral, Llama, Nemotron) bills at vendor rates."}},category:"apikey",authType:"apikey",authHint:"Create an API key at bazaarlink.ai. Use model `auto:free` for the zero-cost free tier.",hasFree:!0,transport:{baseUrl:"https://bazaarlink.ai/api/v1/chat/completions",format:"openai"},models:[{id:"auto:free",name:"Auto Free (Zero Cost)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"grok-4.3",name:"Grok 4.3"},{id:"grok-4.20",name:"Grok 4.20"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B"},{id:"gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B"},{id:"deepseek-v3.2",name:"DeepSeek V3.2"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"mimo-v2.5-pro",name:"MiMo-V2.5-Pro"},{id:"mimo-v2.5",name:"MiMo-V2.5"},{id:"minimax-m3",name:"MiniMax M3",contextLength:1048576,supportsVision:!0},{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"llama-4-maverick",name:"Llama 4 Maverick"},{id:"llama-4-scout",name:"Llama 4 Scout"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus"},{id:"mistral-large-2512",name:"Mistral Large 3"},{id:"mistral-medium-3.1",name:"Mistral Medium 3.1"},{id:"mistral-small-2603",name:"Mistral Small 4"},{id:"nemotron-3-super-120b-a12b",name:"Nemotron 3 Super"}]},{id:"dahl",priority:60,alias:"dahl",display:{name:"Dahl",icon:"local_florist",color:"#14B8A6",textIcon:"DH",website:"https://dahl.global",notice:{apiKeyUrl:"https://inference.dahl.global/tokens",text:"Free OpenAI-compatible inference — MiniMax M2.7 and Kimi K2.6. To mint a token: POST to https://inference.dahl.global/tokens, then paste the returned `token` field as the API key."}},category:"apikey",authType:"apikey",authHint:"POST https://inference.dahl.global/tokens (no body needed) → copy the `token` field from the JSON response into the API key field.",hasFree:!0,transport:{baseUrl:"https://inference.dahl.global/v1/chat/completions",format:"openai"},models:[{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"}]},{id:"dgrid",priority:60,alias:"dgrid",display:{name:"DGrid Free",icon:"grid_view",color:"#8B5CF6",textIcon:"DG",website:"https://dgrid.ai",notice:{apiKeyUrl:"https://dgrid.ai",text:"Free models router — `dgridai/free` auto-routes to available free models. Free tier: 10 requests/min and 100 requests/day."}},category:"apikey",authType:"apikey",authHint:"Create an API key at dgrid.ai. Free tier limited to 10 rpm / 100 rpd.",hasFree:!0,transport:{baseUrl:"https://api.dgrid.ai/v1/chat/completions",format:"openai"},models:[{id:"dgridai/free",name:"DGrid Free Models Router"}],passthroughModels:!0},{id:"felo-web",priority:60,alias:"felo",uiAlias:"felo",display:{name:"Felo (Free)",icon:"travel_explore",color:"#0EA5E9",textIcon:"FE",website:"https://felo.ai",notice:{signupUrl:"https://felo.ai",apiKeyUrl:"https://felo.ai",text:"Felo is a chat/search-agent aggregator backed by real frontier models (DeepSeek V4, GPT-5.6, Claude 5, Gemini 3.x…). Open felo.ai in a browser, run one search so the security check completes, then copy DevTools → Application → Session Storage → `turnstile_session_token` and paste it as `cf_token=<token>` (required for chat). For the profile badge, also copy the full Cookie header from any request (DevTools → Network → Request Headers) and append `; cookie=<full Cookie>` — the `felo-user-token` cookie identifies your account. `cf_token` alone is not enough for the badge."}},category:"webCookie",authType:"cookie",authHint:"Easiest: press 'Capture from Felo' above — it reads your logged-in session straight from the running browser (Brave/Chrome/Edge; if none is reachable, 'Launch browser' detects your OS and starts one with remote debugging). Manual: paste your session cookie `cookie=felo-user-token=<6h_...>` (DevTools → Application → Cookies → felo.ai — enough for chat AND the profile badge, no Turnstile needed for logged-in accounts). Anonymous fallback: `cf_token=<turnstile_session_token>` (DevTools → Application → Session Storage → felo.ai — NOT a cookie). Example: cookie=felo-user-token=6h_...",transport:{baseUrl:"https://felo.ai",format:"openai",authType:"cookie"},models:[{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash (Felo)",toolCalling:!1},{id:"gpt-5-6-terra",name:"GPT-5.6 Terra (Felo, Pro)",toolCalling:!1},{id:"gpt-5-6-luna",name:"GPT-5.6 Luna (Felo, Pro)",toolCalling:!1},{id:"claude-5-0-sonnet",name:"Claude 5 Sonnet (Felo, Pro)",toolCalling:!1},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash (Felo, Pro)",toolCalling:!1},{id:"grok-4.6",name:"Grok 4.6 (Felo, Pro)",toolCalling:!1},{id:"kimi-k2-thinking",name:"Kimi K2 (Felo, Pro)",toolCalling:!1}]},{id:"g4f-gemini",priority:60,alias:"g4fgem",uiAlias:"g4fgem",display:{name:"g4f.space — Gemini",icon:"auto_awesome",color:"#4285F4",textIcon:"G4",website:"https://g4f.space",notice:{text:"Free no-key reverse proxy to Gemini (gpt4free project) — rate-limited to ~5 req/min. No API key required."}},category:"free",noAuth:!0,hasFree:!0,transport:{baseUrl:"https://g4f.space/api/gemini/v1/chat/completions",format:"openai",noAuth:!0},models:[{id:"models/gemini-2.5-flash",name:"Gemini 2.5 Flash (g4f)"},{id:"models/gemini-2.5-pro",name:"Gemini 2.5 Pro (g4f)"}],passthroughModels:!0},{id:"g4f-groq",priority:60,alias:"g4fgroq",uiAlias:"g4fgroq",display:{name:"g4f.space — Groq",icon:"rocket_launch",color:"#F97316",textIcon:"G4",website:"https://g4f.space",notice:{text:"Free no-key reverse proxy to Groq (gpt4free project) — rate-limited to ~5 req/min. No API key required."}},category:"free",noAuth:!0,hasFree:!0,transport:{baseUrl:"https://g4f.space/api/groq/v1/chat/completions",format:"openai",noAuth:!0},models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B (g4f/Groq)"},{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B Instant (g4f/Groq)"}],passthroughModels:!0},{id:"g4f-nvidia",priority:60,alias:"g4fnv",uiAlias:"g4fnv",display:{name:"g4f.space — NVIDIA",icon:"memory",color:"#76B900",textIcon:"G4",website:"https://g4f.space",notice:{text:"Free no-key reverse proxy to NVIDIA NIM (gpt4free project) — rate-limited to ~5 req/min. No API key required."}},category:"free",noAuth:!0,hasFree:!0,transport:{baseUrl:"https://g4f.space/api/nvidia/v1/chat/completions",format:"openai",noAuth:!0},models:[{id:"nvidia/nemotron-3-nano-30b-a3b",name:"Nemotron 3 Nano 30B (g4f/NVIDIA)"},{id:"z-ai/glm-5.2",name:"GLM 5.2 (g4f/NVIDIA)"},{id:"minimaxai/minimax-m2.7",name:"MiniMax M2.7 (g4f/NVIDIA)"}],passthroughModels:!0},{id:"g4f-ollama",priority:60,alias:"g4foll",uiAlias:"g4foll",display:{name:"g4f.space — Ollama",icon:"smart_toy",color:"#6366F1",textIcon:"G4",website:"https://g4f.space",notice:{text:"Free no-key hosted Ollama gateway (gpt4free project) — rate-limited to ~5 req/min. No API key required."}},category:"free",noAuth:!0,hasFree:!0,transport:{baseUrl:"https://g4f.space/api/ollama/v1/chat/completions",format:"openai",noAuth:!0},models:[{id:"gemma3:4b",name:"Gemma 3 4B (g4f/Ollama)"}],passthroughModels:!0},{id:"g4f-pollinations",priority:60,alias:"g4fpol",uiAlias:"g4fpol",display:{name:"g4f.space — Pollinations",icon:"local_florist",color:"#A855F7",textIcon:"G4",website:"https://g4f.space",notice:{text:"Free no-key reverse proxy to Pollinations (gpt4free project) — rate-limited to ~5 req/min. No API key required."}},category:"free",noAuth:!0,hasFree:!0,transport:{baseUrl:"https://g4f.space/api/pollinations/v1/chat/completions",format:"openai",noAuth:!0},models:[{id:"openai",name:"OpenAI (g4f/Pollinations)"},{id:"openai-fast",name:"OpenAI Fast (g4f/Pollinations)"}],passthroughModels:!0},{id:"hackclub",priority:60,alias:"hcb",uiAlias:"hcb",display:{name:"Hack Club AI",icon:"construction",color:"#E8374C",textIcon:"HC",website:"https://hackclub.com",notice:{apiKeyUrl:"https://hackclub.com",text:"Free AI for Hack Club members — 30+ models (Llama, Mistral, DeepSeek, Qwen…), no credit card. Model ids are the Hugging Face ids (e.g. `meta-llama/llama-3.3-70b-instruct`). API key is optional."}},category:"free",noAuth:!0,hasFree:!0,transport:{baseUrl:"https://ai.hackclub.com/proxy/v1/chat/completions",format:"openai",noAuth:!0},models:[{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"deepseek-ai/deepseek-coder-33b",name:"DeepSeek Coder 33B"}],passthroughModels:!0},{id:"llm7",priority:60,alias:"llm7",display:{name:"LLM7",icon:"bolt",color:"#F59E0B",textIcon:"L7",website:"https://llm7.io",notice:{apiKeyUrl:"https://llm7.io",text:"No-signup free tier (2 req/s, 20 RPM, 100 req/hr). GPT-4o mini, GPT-4.1 nano, DeepSeek R1 and Qwen2.5 Coder via api.llm7.io."}},category:"apikey",authType:"apikey",authHint:"Create an API key at llm7.io. Free tier is rate-limited (~2 req/s).",hasFree:!0,transport:{baseUrl:"https://api.llm7.io/v1/chat/completions",format:"openai"},models:[{id:"gpt-4o-mini-2024-07-18",name:"GPT-4o mini (LLM7)"},{id:"gpt-4.1-nano-2025-04-14",name:"GPT-4.1 nano (LLM7)"},{id:"deepseek-r1-0528",name:"DeepSeek R1 (LLM7)"},{id:"qwen2.5-coder-32b-instruct",name:"Qwen2.5 Coder 32B (LLM7)"}]},{id:"mimocode",priority:60,alias:"mcode",uiAlias:"mcode",display:{name:"MiMoCode (Free)",icon:"smart_toy",color:"#FF6900",textIcon:"MC",website:"https://github.com/XiaomiMiMo/MiMo-Code",notice:{text:"Free Xiaomi MiMo models via bootstrap JWT auth — no API key required. Supports the `mimo-auto` model (1M context, 128K output) with streaming."}},category:"free",noAuth:!0,hasFree:!0,transport:{baseUrl:"https://api.xiaomimimo.com",format:"openai",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto",contextLength:1e6,maxOutput:131072}],passthroughModels:!0},{id:"theoldllm",priority:60,alias:"tllm",uiAlias:"tllm",display:{name:"The Old LLM (Free)",icon:"history_edu",color:"#F59E0B",textIcon:"TL",website:"https://theoldllm.vercel.app",notice:{text:"Free GPT-5.4, Claude 4.6 Opus/Sonnet/Haiku, Gemini 3 Pro, Grok 4, DeepSeek and more — no API key, tokens are auto-generated. If requests are blocked by Vercel bot protection, configure a residential/global proxy for this provider."}},category:"free",noAuth:!0,hasFree:!0,transport:{baseUrl:"https://theoldllm.vercel.app/api/chatgpt",format:"openai",noAuth:!0},models:[{id:"GPT_5_4",name:"GPT-5.4 (The Old LLM)",contextLength:4e5},{id:"GPT_5_3",name:"GPT-5.3 (The Old LLM)",contextLength:4e5},{id:"GPT_5_2",name:"GPT-5.2 (The Old LLM)",contextLength:4e5},{id:"GPT_5_1",name:"GPT-5.1 (The Old LLM)",contextLength:4e5},{id:"GPT_5",name:"GPT-5 (The Old LLM)",contextLength:4e5},{id:"GPT_o4_mini",name:"o4-mini (The Old LLM)"},{id:"GPT_o3_mini",name:"o3-mini (The Old LLM)"},{id:"gemini_3_pro",name:"Gemini 3 Pro (The Old LLM)",contextLength:1e6},{id:"gemini_2_5_pro",name:"Gemini 2.5 Pro (The Old LLM)",contextLength:1e6},{id:"gemini_2_0_flash",name:"Gemini 2.0 Flash (The Old LLM)",contextLength:1e6},{id:"gemini_1_5_flash",name:"Gemini 1.5 Flash (The Old LLM)",contextLength:1e6},{id:"CLAUDE_4_6_OPUS",name:"Claude 4.6 Opus (The Old LLM)",contextLength:2e5},{id:"CLAUDE_4_6_SONNET",name:"Claude 4.6 Sonnet (The Old LLM)",contextLength:2e5},{id:"CLAUDE_4_5_HAIKU",name:"Claude 4.5 Haiku (The Old LLM)",contextLength:2e5},{id:"openrouter_gpt_4_o",name:"GPT-4o (The Old LLM)"},{id:"openrouter_gpt_4_o_mini",name:"GPT-4o mini (The Old LLM)"},{id:"openrouter_grok_4",name:"Grok 4 (The Old LLM)"},{id:"together_deepseek_v3",name:"DeepSeek V3 (The Old LLM)"},{id:"openrouter_deepseek_r1",name:"DeepSeek R1 (The Old LLM)"},{id:"sonar-pro",name:"Sonar Pro (The Old LLM)"}],passthroughModels:!0},{id:"uncloseai",priority:60,alias:"unc",uiAlias:"unc",display:{name:"UncloseAI",icon:"lock_open",color:"#22C55E",textIcon:"UC",website:"https://hermes.ai.unturf.com",notice:{text:"Free forever OpenAI-compatible gateway — no signup, no credit card. Model ids are served verbatim (e.g. `adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic`, `qwen3.6:27b`, `gemma4:31b`). API key is optional."}},category:"free",noAuth:!0,hasFree:!0,transport:{baseUrl:"https://hermes.ai.unturf.com/v1/chat/completions",format:"openai",noAuth:!0},models:[{id:"adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic",name:"Hermes 3 Llama 3.1 8B (Free)"},{id:"qwen3.6:27b",name:"Qwen3 Coder 27B (Free)"},{id:"gemma4:31b",name:"Gemma 4 31B (Free)"}],passthroughModels:!0},{id:"ai21",priority:50,alias:"ai21",display:{name:"AI21 Labs",icon:"psychology_alt",color:"#0284C7",textIcon:"A21",website:"https://www.ai21.com",notice:{apiKeyUrl:"https://studio.ai21.com/account/api-keys",text:"$10 trial credits on signup (valid 3 months), no credit card required."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.ai21.com/studio/v1/chat/completions",validateUrl:"https://api.ai21.com/studio/v1/models"},models:[{id:"jamba-large-1.7",name:"Jamba Large 1.7"},{id:"jamba-mini-2",name:"Jamba Mini 2"}],serviceKinds:["llm"],hasFree:!0,freeNote:"$10 trial credits on signup (valid 3 months), no credit card required"},{id:"aimlapi",priority:50,alias:"aiml",display:{name:"AI/ML API",icon:"hub",color:"#6366F1",textIcon:"AI",website:"https://aimlapi.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.aimlapi.com/v1/chat/completions",validateUrl:"https://api.aimlapi.com/v1/models"},models:[{id:"gpt-4o",name:"GPT-4o (via AI/ML API)"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet (via AI/ML API)"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro (via AI/ML API)"},{id:"meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",name:"Llama 3.1 70B (via AI/ML API)"},{id:"deepseek-chat",name:"DeepSeek Chat (via AI/ML API)"},{id:"mistral-large-latest",name:"Mistral Large (via AI/ML API)"}],passthroughModels:!0,freeNote:"Free tier paused (2026) — AI/ML API is now pay-as-you-go only (min $20 top-up); no recurring free credits."},{id:"ainative",priority:50,alias:"ainative",display:{name:"AINative Studio",icon:"hub",color:"#7C3AED",textIcon:"AN",website:"https://ainative.studio",notice:{text:"Create a free API key at ainative.studio (no card), then paste it here Bearer token."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.ainative.studio/api/v1/chat/completions",validateUrl:"https://api.ainative.studio/api/v1/models"},models:[{id:"qwen3-235b-cerebras",name:"Qwen3 235B (Cerebras)"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-14b",name:"Qwen3 14B"},{id:"qwen3-8b",name:"Qwen3 8B"},{id:"llama-4-maverick",name:"Llama 4 Maverick"},{id:"llama3.1-8b-cerebras",name:"Llama 3.1 8B (Cerebras)"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"nous-coder",name:"Nous Coder"},{id:"gemini-flash",name:"Gemini Flash"}],passthroughModels:!0,hasFree:!0,freeNote:"Free tier ~10M tokens/month (claimed) across Qwen3, Llama 4, DeepSeek R1 and more."},{id:"aion",priority:50,alias:"aion",display:{name:"Aion Labs",icon:"hub",color:"#0EA5E9",textIcon:"AI",website:"https://www.aionlabs.ai",notice:{text:"Create a free API key at aionlabs.ai (no card), then paste it here Bearer token."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.aionlabs.ai/v1/chat/completions",validateUrl:"https://api.aionlabs.ai/v1/models"},models:[{id:"aion-labs/aion-3.0",name:"Aion 3.0"},{id:"aion-labs/aion-3.0-mini",name:"Aion 3.0 Mini"},{id:"aion-labs/aion-2.5",name:"Aion 2.5"},{id:"aion-labs/aion-2.0",name:"Aion 2.0"},{id:"aion-labs/aion-rp-llama-3.1-8b",name:"Aion RP Llama 3.1 8B"}],passthroughModels:!0,hasFree:!0,freeNote:"Free tier ~20k tokens/day across the Aion reasoning models."},{id:"anyapi",priority:50,alias:"anyapi",display:{name:"AnyAPI AI",icon:"hub",color:"#0EA5E9",textIcon:"AA",website:"https://anyapi.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.anyapi.ai/v1/chat/completions",validateUrl:"https://api.anyapi.ai/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Free plan: 100,000 ANY Tokens/day and 100 RPM for eligible Free/Basic models; no credit card required."},{id:"arcee-ai",priority:50,alias:"arcee-ai",aliases:["arcee"],uiAlias:"arcee",display:{name:"Arcee AI",icon:"auto_awesome",color:"#8B5CF6",textIcon:"AR",website:"https://arcee.ai",notice:{apiKeyUrl:"https://docs.arcee.ai/api-reference/authentication",text:"OpenAI-compatible. Free Trinity Large Thinking model (262K context), no credit card required."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.arcee.ai/api/v1/chat/completions",validateUrl:"https://api.arcee.ai/api/v1/models"},models:[{id:"trinity-mini",name:"Trinity Mini"},{id:"trinity-large-thinking",name:"Trinity Large Thinking"},{id:"trinity-large-preview",name:"Trinity Large Preview"}],serviceKinds:["llm"],hasFree:!0,freeNote:"Free Trinity Large Thinking model (262K context). No credit card required."},{id:"auriko",priority:50,alias:"auriko",display:{name:"Auriko",icon:"hub",color:"#0891B2",textIcon:"AU",website:"https://www.auriko.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.auriko.ai/v1/chat/completions",validateUrl:"https://api.auriko.ai/v1/models"},models:[{id:"minimax-m2-7",name:"MiniMax-M2.7"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"}],passthroughModels:!0,hasFree:!0,freeNote:"Free plan publishes 1,000 Platform RPM and 10,000 BYOK RPM. Platform inference still passes through provider cost; this is not a free-token pool or unlimited free inference."},{id:"azure-ai",priority:40,alias:"azure-ai",display:{name:"Azure AI Foundry",icon:"cloud",color:"#2563EB",textIcon:"AF",website:"https://learn.microsoft.com/azure/ai-foundry",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI",text:"Azure AI Foundry uses the OpenAI v1 surface with deployment names as models. Base URL is per resource — e.g. https://<resource>.services.ai.azure.com/openai/v1. Add the resource endpoint via a custom baseUrl connection."}},category:"apikey",authType:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"https://example-resource.services.ai.azure.com/openai/v1/chat/completions",validateUrl:"https://example-resource.services.ai.azure.com/openai/v1/models"},passthroughModels:!0},{id:"bai",priority:50,alias:"bai",display:{name:"b.ai",icon:"hub",color:"#6366F1",textIcon:"BA",website:"https://b.ai",notice:{text:"Bearer API key for the b.ai OpenAI-compatible LLM gateway (distinct from TheB.AI). Create a key at https://docs.b.ai, then use https://api.b.ai/v1 OpenAI-compat"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.b.ai/v1/chat/completions",validateUrl:"https://api.b.ai/v1/models"},passthroughModels:!0},{id:"baseten",priority:50,alias:"baseten",display:{name:"Baseten",icon:"deployed_code",color:"#111827",textIcon:"BT",website:"https://baseten.co"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://inference.baseten.co/v1/chat/completions",validateUrl:"https://inference.baseten.co/v1/models"},models:[{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5"},{id:"nvidia/Nemotron-120B-A12B",name:"Nemotron Super"},{id:"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B",name:"Nemotron Ultra"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K3",name:"Kimi K3"}],hasFree:!0,freeNote:"$30 free trial credits for GPU inference"},{id:"bluesminds",priority:50,alias:"bm",display:{name:"BluesMinds",icon:"psychology",color:"#3B82F6",textIcon:"BM",website:"https://www.bluesminds.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.bluesminds.com/v1/chat/completions",validateUrl:"https://api.bluesminds.com/v1/models"},models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash (Exp)"},{id:"deepseek-reasoner",name:"DeepSeek Reasoner"},{id:"deepseek-chat",name:"DeepSeek Chat"},{id:"qwen-plus",name:"Qwen Plus"},{id:"qwen-turbo",name:"Qwen Turbo"},{id:"kimi-k2",name:"Kimi K2"},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4-flash",name:"GLM 4 Flash"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (VIP)"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (VIP)"},{id:"grok-3",name:"Grok-3 (VIP)"},{id:"qwen-max",name:"Qwen Max (VIP)"}],hasFree:!0,freeNote:"Free daily pi credits — supports 200+ models including GPT-4o, GPT-4.1, Claude Sonnet 4.5, Gemini 2.0 Flash, DeepSeek V4, Qwen, Kimi K2"},{id:"bytez",priority:50,alias:"bytez",display:{name:"Bytez",icon:"api",color:"#6366F1",textIcon:"BZ",website:"https://bytez.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.bytez.com/v1/chat/completions",validateUrl:"https://api.bytez.com/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"$1 free credits, refreshes every 4 weeks"},{id:"charm-hyper",priority:50,alias:"charm-hyper",display:{name:"Charm Hyper",icon:"router",color:"#7C3AED",textIcon:"CH",website:"https://hyper.charm.land"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://hyper.charm.land/v1/chat/completions",validateUrl:"https://hyper.charm.land/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"100 free monthly Hypercredits on signup"},{id:"chat-oripe",priority:50,alias:"chat-oripe",display:{name:"Chat Oripe",icon:"router",color:"#64748B",textIcon:"CO",website:"https://api.oriper.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.oriper.com/v1/chat/completions",validateUrl:"https://api.oriper.com/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Official metadata advertises 2M tokens/month, but the public site and documentation were blocked during audit; treat the quota and brand mapping."},{id:"chatanywhere",priority:50,alias:"chatanywhere",display:{name:"ChatAnywhere",icon:"router",color:"#2563EB",textIcon:"CA",website:"https://chatanywhere.tech"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.chatanywhere.org/v1/chat/completions",validateUrl:"https://api.chatanywhere.org/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Personal, educational or research use only: public documentation cites 10,000 points/day and 200 requests/day per IP/key; do not use for commercial traffic."},{id:"cheaperinference",priority:50,alias:"cinf",display:{name:"Cheaper Inference",icon:"savings",color:"#31f889",textIcon:"CI",website:"https://cheaperinference.com/?utm_source=omniroute"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.cheaperinference.com/v1/chat/completions",validateUrl:"https://api.cheaperinference.com/v1/models"},passthroughModels:!0},{id:"chenzk",priority:50,alias:"chenzk",display:{name:"Chenzk API",icon:"hub",color:"#10B981",textIcon:"CZ",website:"https://chenzk.top"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://chenzk.top/v1/chat/completions",validateUrl:"https://chenzk.top/v1/models"},passthroughModels:!0},{id:"clarifai",priority:40,alias:"clarifai",display:{name:"Clarifai",icon:"hub",color:"#7C3AED",textIcon:"CF",website:"https://docs.clarifai.com",notice:{apiKeyUrl:"https://clarifai.com/settings/security",text:"OpenAI-compatible at /v2/ext/openai/v1. Use a Personal Access Token (PAT); sends the key as Authorization: Key <token>. App-scoped keys only work for resources inside that app."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.clarifai.com/v2/ext/openai/v1/chat/completions",validateUrl:"https://api.clarifai.com/v2/ext/openai/v1/models",auth:{combined:!0,header:"Authorization",scheme:"key"}},models:[{id:"claude-3-5-sonnet",name:"Claude 3.5 Sonnet"},{id:"gpt-4o",name:"GPT-4o"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}],serviceKinds:["llm"],passthroughModels:!0},{id:"cloudcode-one",priority:50,alias:"cloudcode-one",display:{name:"CloudCode.ONE",icon:"router",color:"#6366F1",textIcon:"CC",website:"https://cloudcode.one"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.cloudcode.one/v1/chat/completions",validateUrl:"https://api.cloudcode.one/v1/models"},models:[{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"glm-4.6v-flash",name:"GLM 4.6V Flash"}],passthroughModels:!0,hasFree:!0,freeNote:"Published free models include glm-4.7-flash and glm-4.6v-flash; no numeric quota is published, and key creation may require credit or a coupon."},{id:"conol-web",priority:150,alias:"cnl",display:{name:"Conol Web",icon:"auto_awesome",color:"#6D4AFF",textIcon:"CN",website:"https://conol.ai",notice:{signupUrl:"https://conol.ai",apiKeyUrl:"https://conol.ai",text:"Conol browser-session chat. Open conol.ai, log in, then copy the `__Secure-better-auth.session_token` cookie (or the full Cookie header) from DevTools → Application → Cookies → conol.ai and paste it here. Sessions are created and configured automatically (preset → model → effort); the executor reuses one session per logical chat. ⚠️ Reverse-engineered protocol — upstream may change without notice."}},category:"webCookie",authType:"cookie",authHint:'Copy the "__Secure-better-auth.session_token" cookie value from conol.ai → DevTools → Application → Cookies → conol.ai and paste it here.',transport:{baseUrl:"https://conol.ai",format:"conol-web",authType:"cookie"},models:[{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"z-ai/glm-5.2",name:"GLM 5.2"}],passthroughModels:!0},{id:"crof",priority:50,alias:"crof",display:{name:"CrofAI",icon:"auto_awesome",color:"#0EA5E9",textIcon:"CR",website:"https://crof.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://crof.ai/v1/chat/completions",validateUrl:"https://crof.ai/v1/models"},models:[{id:"deepseek-v4-pro-precision",name:"DeepSeek V4 Pro (Precision)"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-lightning",name:"DeepSeek V4 Pro (Lightning)"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731"},{id:"deepseek-v3.2",name:"DeepSeek V3.2"},{id:"kimi-k2.6-precision",name:"Kimi K2.6 (Precision)"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"kimi-k3",name:"Kimi K3"},{id:"kimi-k3-eco",name:"Kimi K3 Eco"},{id:"kimi-k2.5-lightning",name:"Kimi K2.5 (Lightning)"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5.1-precision",name:"GLM 5.1 (Precision)"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"mimo-v2.5-pro-precision",name:"Mimo 2.5 Pro (Precision)"},{id:"mimo-v2.5-pro",name:"Mimo 2.5 Pro"},{id:"gemma-4-31b-it",name:"Gemma 4 31B"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"qwen3.6-27b",name:"Qwen3.6 27B"},{id:"qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B"},{id:"qwen3.5-9b",name:"Qwen3.5 9B"}]},{id:"datarobot",priority:40,alias:"datarobot",display:{name:"DataRobot",icon:"precision_manufacturing",color:"#6D28D9",textIcon:"DR",website:"https://docs.datarobot.com",notice:{apiKeyUrl:"https://app.datarobot.com/account/api-token",text:"LLM Gateway catalogs active models from /genai/llmgw/catalog/. The gateway endpoint is per-account — add it via a custom baseUrl connection (OpenAI-compatible)."}},category:"apikey",authType:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"",validateUrl:""},passthroughModels:!0},{id:"digitalocean",priority:50,alias:"digitalocean",display:{name:"DigitalOcean",icon:"cloud",color:"#0060FF",textIcon:"DO",website:"https://docs.digitalocean.com/products/ai-platform/",notice:{text:"Use a DigitalOcean Personal Access Token (dop_v1_...) or a Model Access Key from the Inference console. OAuth tokens (doo_v1_...) may not have the required scopes.",apiKeyUrl:"https://cloud.digitalocean.com/account/api/tokens"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://inference.do-ai.run/v1/chat/completions",validateUrl:"https://inference.do-ai.run/v1/models"},models:[{id:"openai-gpt-5.2-pro",name:"OpenAI GPT-5.2 Pro"},{id:"openai-gpt-5.6-luna",name:"OpenAI GPT-5.6 Luna"},{id:"gte-large-en-v1.5",name:"GTE Large (v1.5)"},{id:"anthropic-claude-4.6-sonnet",name:"Anthropic Claude Sonnet 4.6"},{id:"openai-o3",name:"OpenAI o3"},{id:"anthropic-claude-opus-5",name:"Anthropic Claude Opus 5"}],passthroughModels:!0},{id:"dit",priority:50,alias:"dai",display:{name:"DIT.ai",icon:"hub",color:"#0EA5E9",textIcon:"DT",website:"https://dit.ai",notice:{text:"Use your dit.ai API key in Authorization: Bearer <key>. Fully OpenAI-compatible — a drop-in replacement, just change the base URL to https://api.dit.ai/v1."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.dit.ai/v1/chat/completions",validateUrl:"https://api.dit.ai/v1/models"},models:[{id:"gpt-5.4",name:"GPT-5.4 (DIT.ai)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (DIT.ai)"}]},{id:"docker-model-runner",priority:50,alias:"dmr",display:{name:"Docker Model Runner",icon:"dns",color:"#2496ED",textIcon:"DM",website:"https://docs.docker.com/ai/model-runner/",notice:{text:"Docker Model Runner — local AI model runner with OpenAI-compatible API (default port 12434). Base URL overridable per connection."}},category:"apikey",hasFree:!0,freeNote:"Runs on your own hardware — no per-token cost.",transport:{baseUrl:"http://localhost:12434/v1/chat/completions",format:"openai"},passthroughModels:!0,serviceKinds:["llm"]},{id:"dxnt",priority:50,alias:"dxnt",display:{name:"DXNT / DX Token",icon:"hub",color:"#111827",textIcon:"DX",website:"https://www.dxnt.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://www.dxnt.com/v1/chat/completions",validateUrl:"https://www.dxnt.com/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Free accounts are documented at 100 calls/day; the quota may increase through invitations and can vary by account."},{id:"electronhub",priority:50,alias:"electronhub",display:{name:"Electron Hub",icon:"hub",color:"#22C55E",textIcon:"EH",website:"https://www.electronhub.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.electronhub.ai/v1/chat/completions",validateUrl:"https://api.electronhub.ai/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Free plan: 5 RPM, $0.25 weekly credits and 10 Neutrinos/day for :free models; family budgets also apply."},{id:"empower",priority:50,alias:"empower",display:{name:"Empower",icon:"hub",color:"#14B8A6",textIcon:"EM",website:"https://docs.empower.dev",notice:{text:"Bearer API key for the Empower OpenAI-compatible endpoint."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://app.empower.dev/api/v1/chat/completions",validateUrl:"https://app.empower.dev/api/v1/models"},passthroughModels:!0},{id:"factory",priority:50,alias:"factory",display:{name:"Factory",icon:"smart_toy",color:"#0F172A",textIcon:"FA",website:"https://factory.ai",notice:{text:"Bearer API key for the Factory OpenAI-compatible gateway."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.factory.ai/v1/chat/completions",validateUrl:"https://api.factory.ai/v1/models"},passthroughModels:!0},{id:"fastrouter",priority:50,alias:"fastrouter",display:{name:"FastRouter",icon:"speed",color:"#F97316",textIcon:"FR",website:"https://fastrouter.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.fastrouter.ai/api/v1/chat/completions",validateUrl:"https://api.fastrouter.ai/api/v1/models"},models:[{id:"z-ai/glm-5",name:"GLM-5"},{id:"z-ai/glm-5.1",name:"GLM-5.1"},{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"google/gemini-3-pro-image-preview",name:"Nano Banana Pro"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemma-4-31b-it",name:"Gemma 4 31B IT"}],passthroughModels:!0,hasFree:!0,freeNote:"Models with the :free suffix allow 10 requests/day per organization and model; availability may change."},{id:"fishaudio",priority:30,alias:"fish",display:{name:"Fish Audio",icon:"record_voice_over",color:"#00C2A8",textIcon:"FA",website:"https://fish.audio",notice:{apiKeyUrl:"https://fish.audio/account",text:"TTS (Fish Speech S1 / 1.6 / 1.5). API key from fish.audio — model id is sent as an HTTP header."}},category:"apikey",authType:"apikey",serviceKinds:["tts"],models:[{id:"s1",name:"Fish Speech S1",kind:"tts"},{id:"speech-1.6",name:"Fish Speech 1.6",kind:"tts"},{id:"speech-1.5",name:"Fish Speech 1.5",kind:"tts"}],ttsConfig:{baseUrl:"https://api.fish.audio/v1/tts",authType:"apikey",authHeader:"bearer",format:"fishaudio"}},{id:"free-ai",priority:50,alias:"free-ai",display:{name:"Free.ai",icon:"hub",color:"#16A34A",textIcon:"FA",website:"https://free.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.free.ai/v1/chat/",validateUrl:"https://api.free.ai/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"30,000 tokens/day cover self-hosted models after email verification. Usage beyond the pool can bill at raw cost, and premium external models are paid."},{id:"freeaiapikey",priority:50,alias:"faik",display:{name:"FreeAIAPIKey",icon:"vpn_key",color:"#F59E0B",textIcon:"FK",website:"https://freeaiapikey.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.freeaiapikey.com/v1/chat/completions",validateUrl:"https://api.freeaiapikey.com/v1/models"},models:[{id:"openai/gpt-4o",name:"GPT-4o (via FreeAIAPIKey)"},{id:"openai/gpt-5.4",name:"GPT-5.4 (via FreeAIAPIKey)"},{id:"openai/gpt-5.5",name:"GPT-5.5 (via FreeAIAPIKey)"},{id:"openai/gpt-5.6-sol",name:"GPT-5.6 Sol (via FreeAIAPIKey)"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6 (via FreeAIAPIKey)"},{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7 (via FreeAIAPIKey)"},{id:"anthropic/claude-opus-4.8",name:"Claude Opus 4.8 (via FreeAIAPIKey)"},{id:"anthropic/claude-opus-5",name:"Claude Opus 5 (via FreeAIAPIKey)"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6 (via FreeAIAPIKey)"},{id:"anthropic/claude-sonnet-5",name:"Claude Sonnet 5 (via FreeAIAPIKey)"}]},{id:"freeinference",priority:50,alias:"freeinference",display:{name:"FreeInference",icon:"science",color:"#8B5CF6",textIcon:"FI",website:"https://freeinference.org"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://freeinference.org/v1/chat/completions",validateUrl:"https://freeinference.org/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Free research access without a card; non-Harvard applicants require manual approval and no numeric quota is publicly guaranteed."},{id:"freemodel-dev",priority:50,alias:"fmd",display:{name:"FreeModel.dev",icon:"auto_awesome",color:"#8B5CF6",textIcon:"FM",website:"https://freemodel.dev"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.freemodel.dev/v1/chat/completions",validateUrl:"https://api.freemodel.dev/v1/models"},models:[{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"}],hasFree:!0,freeNote:"$300 free credits on signup — no credit card required. Access GPT-5.4 and GPT-5.5 (OpenAI's latest flagship models) through an OpenAI-compatible API."},{id:"freetheai",priority:50,alias:"fta",display:{name:"FreeTheAi",icon:"hub",color:"#22C55E",textIcon:"FTA",website:"https://freetheai.xyz",notice:{text:"Join the FreeTheAi Discord to get your free API key."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.freetheai.xyz/v1/chat/completions",validateUrl:"https://api.freetheai.xyz/v1/models"},models:[{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"deepseek-chat",name:"DeepSeek Chat"}],passthroughModels:!0,hasFree:!0,freeNote:"Free OpenAI-compatible gateway — sign up via Discord for an API key."},{id:"friendliai",priority:50,alias:"friendli",display:{name:"FriendliAI",icon:"handshake",color:"#EC4899",textIcon:"FR",website:"https://friendli.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.friendli.ai/serverless/v1/chat/completions",validateUrl:"https://api.friendli.ai/serverless/v1/models"},models:[{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5"},{id:"google/gemma-4-31B-it",name:"Gemma 4 31B IT"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2"},{id:"zai-org/GLM-5.1",name:"GLM-5.1"},{id:"zai-org/GLM-5.2",name:"GLM-5.2"}],hasFree:!0,freeNote:"Free tier for serverless inference — no credit card required"},{id:"gemini-business",priority:150,alias:"gembiz",uiAlias:"gembiz",display:{name:"Gemini Business (Enterprise)",icon:"auto_awesome",color:"#4285F4",textIcon:"GB",website:"https://business.gemini.google",notice:{signupUrl:"https://business.gemini.google",apiKeyUrl:"https://business.gemini.google",text:"Gemini Business for Google Workspace enterprise accounts — enterprise Gemini models (Pro, Flash, image, video) via the internal StreamGenerate HTTP API, no subscription required (just enterprise SSO). Paste __Secure-1PSID + __Secure-1PSIDTS from business.gemini.google (DevTools → Application → Cookies). If your entry URL is not the default /home, provide it via connection settings (entryUrl) so the CID prefix is routed correctly. ⚠️ Reverse-engineered protocol — upstream may change without notice."}},category:"webCookie",authType:"cookie",authHint:"From your enterprise account: open business.gemini.google/home/cid/{your-cid}, then copy __Secure-1PSID and __Secure-1PSIDTS cookies from DevTools → Application → Cookies. Paste as a cookie header (or JSON credential) below.",transport:{baseUrl:"https://business.gemini.google",format:"gemini-business",authType:"cookie"},models:[{id:"gemini-3-pro",name:"Gemini 3 Pro"},{id:"gemini-3-ultra",name:"Gemini 3 Ultra"},{id:"gemini-3-flash",name:"Gemini 3 Flash"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-thinking",name:"Gemini 2.5 Flash Thinking"},{id:"gemini-2.0-pro",name:"Gemini 2.0 Pro"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-thinking",name:"Gemini 2.0 Flash Thinking"}],passthroughModels:!0},{id:"getgoapi",priority:50,alias:"ggo",display:{name:"GoAPI",icon:"rocket_launch",color:"#FF6D00",textIcon:"GO",website:"https://api.getgoapi.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.getgoapi.com/v1/chat/completions",validateUrl:"https://api.getgoapi.com/v1/models"},passthroughModels:!0},{id:"gitlawb-gmi",priority:50,alias:"glb-gmi",display:{name:"Gitlawb Opengateway (GMI Cloud)",icon:"hub",color:"#10B981",textIcon:"GMI",website:"https://opengateway.gitlawb.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://opengateway.gitlawb.com/v1/chat/completions",validateUrl:"https://opengateway.gitlawb.com/v1/models"},passthroughModels:!0,freeNote:"Free Nemotron promo ended 2026-06 — the GMI Cloud route is now pay-as-you-go credit only."},{id:"gitlawb",priority:50,alias:"glb",display:{name:"Gitlawb Opengateway (MiMo)",icon:"hub",color:"#10B981",textIcon:"GLB",website:"https://opengateway.gitlawb.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://opengateway.gitlawb.com/v1/xiaomi-mimo",validateUrl:"https://opengateway.gitlawb.com/v1/xiaomi-mimo"},passthroughModels:!0,freeNote:"Free MiMo (xiaomi/mimo-v2.5) revoked 2026-05 — Opengateway is now a pay-as-you-go credit gateway; no recurring free model."},{id:"gladia",priority:30,alias:"gladia",display:{name:"Gladia",icon:"record_voice_over",color:"#F97316",textIcon:"GL",website:"https://gladia.io",notice:{apiKeyUrl:"https://app.gladia.io",text:"Async transcription (solaria-1 / solaria-mini). Free tier: 10 hours/month, no credit card. Auth header: x-gladia-key."}},category:"apikey",authType:"apikey",serviceKinds:["stt"],models:[{id:"solaria-1",name:"Solaria 1",kind:"stt"},{id:"solaria-mini",name:"Solaria Mini",kind:"stt"}],sttConfig:{baseUrl:"https://api.gladia.io/v2/pre-recorded",authType:"apikey",authHeader:"x-gladia-key",format:"gladia"}},{id:"hailuo-web",priority:150,alias:"hailuo-web",display:{name:"Hailuo Web (MiniMax)",icon:"auto_awesome",color:"#5B21B6",textIcon:"HL",website:"https://hailuo.ai",notice:{signupUrl:"https://hailuo.ai",apiKeyUrl:"https://hailuo.ai",text:"Hailuo AI (MiniMax) free web chat. Open hailuo.ai, log in, then copy the `_token` value from DevTools → Application → Local Storage → hailuo.ai and paste it here. The executor signs each request with a per-request MD5 header; device-fingerprint params are derived stably from the token when not captured. ⚠️ Reverse-engineered protocol — upstream may change without notice."}},category:"webCookie",authType:"cookie",authHint:'Copy the "_token" value from hailuo.ai → DevTools → Application → Local Storage → hailuo.ai and paste it here.',transport:{baseUrl:"https://www.hailuo.ai",format:"hailuo-web",authType:"cookie"},models:[{id:"hailuo",name:"Hailuo (MiniMax Web)"}],passthroughModels:!0},{id:"helixmind",priority:50,alias:"helixmind",display:{name:"HelixMind",icon:"hub",color:"#4F46E5",textIcon:"HM",website:"https://helixmind.online"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://helixmind.online/v1/chat/completions",validateUrl:"https://helixmind.online/v1/models",auth:{combined:!0,header:"X-API-Key",scheme:"raw"}},passthroughModels:!0,freeNote:"Previously circulated 3 RPM/50 RPD and no-card claims were not confirmed during the 2026-08-02 audit; current quota and billing require account verification."},{id:"heroku",priority:40,alias:"heroku",display:{name:"Heroku AI",icon:"cloud_upload",color:"#7C3AED",textIcon:"HK",website:"https://www.heroku.com",notice:{apiKeyUrl:"https://dashboard.heroku.com/account/applications",text:"Hosted inference gateway over frontier open-weight models."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://us.inference.heroku.com/v1/chat/completions",validateUrl:"https://us.inference.heroku.com/v1/models"},models:[{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-4-6-sonnet",name:"Claude 4.6 Sonnet"},{id:"claude-4-5-haiku",name:"Claude 4.5 Haiku"},{id:"glm-4-7",name:"GLM 4.7"},{id:"kimi-k2-5",name:"Kimi K2.5"},{id:"minimax-m2-1",name:"MiniMax M2.1"},{id:"deepseek-v3-2",name:"DeepSeek V3.2"},{id:"qwen3-coder-480b",name:"Qwen3 Coder 480B"},{id:"qwen3-235b",name:"Qwen3 235B"},{id:"gpt-oss-120b",name:"GPT-OSS 120B"},{id:"nova-pro",name:"Nova Pro"},{id:"nova-2-lite",name:"Nova 2 Lite"}],serviceKinds:["llm"]},{id:"inception",priority:50,alias:"inception",display:{name:"Inception",icon:"bolt",color:"#F97316",textIcon:"IN",website:"https://docs.inceptionlabs.ai",notice:{apiKeyUrl:"https://app.inceptionlabs.ai/keys",text:"Mercury is the first diffusion LLM (dLLM) — 5-10x faster generation with tool calling, json_mode, and structured outputs. 10M free tokens on signup."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.inceptionlabs.ai/v1/chat/completions",validateUrl:"https://api.inceptionlabs.ai/v1/models"},models:[{id:"mercury-2",name:"Mercury 2"}],serviceKinds:["llm"],hasFree:!0,freeNote:"10M free tokens on signup, no credit card required"},{id:"inference-net",priority:50,alias:"inet",display:{name:"Inference.net",icon:"dns",color:"#2563EB",textIcon:"IN",website:"https://inference.net"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.inference.net/v1/chat/completions",validateUrl:"https://api.inference.net/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"$25 free credits on signup plus research grants available"},{id:"inner-ai",priority:150,alias:"in-ai",display:{name:"Inner.ai",icon:"auto_awesome",color:"#0EA5E9",textIcon:"IA",website:"https://app.innerai.com",notice:{signupUrl:"https://app.innerai.com",apiKeyUrl:"https://app.innerai.com",text:"Inner.ai gateway — GPT, Claude, Gemini, DeepSeek, Grok, Llama, Mistral. Auth: the `token` cookie scoped to .innerai.com (DevTools → Application → Cookies → .innerai.com → token). Paste it directly, or as `token=<value> user@example.com` to include your account email. The executor resolves the live model catalog per account (plan-gated) and caches it for 1 hour. ⚠️ Reverse-engineered protocol — upstream may change without notice."}},category:"webCookie",authType:"cookie",authHint:'Copy the "token" cookie value from .innerai.com (DevTools → Application → Cookies → .innerai.com → token) and paste it here. Optional: "token=<value> user@example.com".',transport:{baseUrl:"https://chatapi.innerai.com",format:"inner-ai",authType:"cookie"},models:[{id:"gpt-4o",name:"GPT-4o (via Inner.ai)"},{id:"gpt-4.1",name:"GPT-4.1 (via Inner.ai)"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini (via Inner.ai)"},{id:"o3",name:"o3 (via Inner.ai)",supportsReasoning:!0},{id:"o4-mini",name:"o4-mini (via Inner.ai)",supportsReasoning:!0},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (via Inner.ai)"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (via Inner.ai)"},{id:"claude-3-7-sonnet-20250219",name:"Claude 3.7 Sonnet (via Inner.ai)"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet (via Inner.ai)"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (via Inner.ai)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (via Inner.ai)"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash (via Inner.ai)"},{id:"deepseek-r1",name:"DeepSeek R1 (via Inner.ai)",supportsReasoning:!0},{id:"deepseek-v3",name:"DeepSeek V3 (via Inner.ai)"},{id:"grok-3",name:"Grok 3 (via Inner.ai)"},{id:"grok-3-mini",name:"Grok 3 Mini (via Inner.ai)",supportsReasoning:!0},{id:"llama-4-maverick",name:"Llama 4 Maverick (via Inner.ai)"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B (via Inner.ai)"},{id:"mistral-large-2411",name:"Mistral Large (via Inner.ai)"}],passthroughModels:!0},{id:"kenari",priority:50,alias:"kenari",display:{name:"Kenari",icon:"hub",color:"#B5362A",textIcon:"KN",website:"https://kenari.id",notice:{text:"Use your Kenari API key (kn-...) in Authorization: Bearer <key>. Fully OpenAI-compatible. API base URL: https://kenari.id/v1."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://kenari.id/v1/chat/completions",validateUrl:"https://kenari.id/v1/models"},models:[{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B A12B (Free)"},{id:"glm-4-7-flash:free",name:"GLM-4.7-Flash (Free)"},{id:"nemotron-3-nano-30b-a3b",name:"Nemotron 3 Nano 30B A3B"},{id:"kimi-k3",name:"Kimi K3"},{id:"gpt-5-6-luna",name:"GPT-5.6 Luna"}],passthroughModels:!0},{id:"kilo-gateway",priority:50,alias:"kg",display:{name:"Kilo Gateway",icon:"hub",color:"#617A91",textIcon:"KG",website:"https://kilo.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",validateUrl:"https://api.kilo.ai/api/gateway/models"},models:[{id:"kilo-auto/frontier",name:"Kilo Auto Frontier"},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced"},{id:"kilo-auto/free",name:"Kilo Auto Free"},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)"},{id:"minimax/minimax-m2.5:free",name:"MiniMax M2.5 (Free)"},{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview (Free)"}],passthroughModels:!0},{id:"lambda-ai",priority:50,alias:"lambda",display:{name:"Lambda AI",icon:"bolt",color:"#7C3AED",textIcon:"LA",website:"https://lambda.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.lambda.ai/v1/chat/completions",validateUrl:"https://api.lambda.ai/v1/models"},passthroughModels:!0},{id:"laozhang",priority:50,alias:"lz",display:{name:"LaoZhang AI",icon:"hub",color:"#FF1744",textIcon:"LZ",website:"https://api.laozhang.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.laozhang.ai/v1/chat/completions",validateUrl:"https://api.laozhang.ai/v1/models"},passthroughModels:!0},{id:"lemonade",priority:50,alias:"lemonade",display:{name:"Lemonade Server",icon:"bolt",color:"#F59E0B",textIcon:"LM",website:"https://lemonade-server.ai",notice:{text:"Lemonade Server — local LLM serving (cloud-models compatible). Base URL overridable per connection."}},category:"apikey",hasFree:!0,freeNote:"Runs on your own hardware — no per-token cost.",transport:{baseUrl:"http://localhost:13305/api/v1/chat/completions",format:"openai"},passthroughModels:!0,serviceKinds:["llm"]},{id:"liquid",priority:50,alias:"liquid",display:{name:"Liquid AI",icon:"water_drop",color:"#06B6D4",textIcon:"LQ",website:"https://liquid.ai",notice:{apiKeyUrl:"https://labs.liquid.ai/keys",text:"OpenAI-compatible. Free LFM2.5-1.2B-Thinking and LFM2.5-1.2B-Instruct models. MIT spinoff, hybrid architecture."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://inference.liquid.ai/v1/chat/completions",validateUrl:"https://inference.liquid.ai/v1/models"},models:[{id:"liquid-lfm-40b",name:"Liquid LFM 40B"}],serviceKinds:["llm"],hasFree:!0,freeNote:"Free LFM2.5-1.2B-Thinking and LFM2.5-1.2B-Instruct models"},{id:"literouter",priority:50,alias:"literouter",display:{name:"LiteRouter",icon:"router",color:"#2563EB",textIcon:"LR",website:"https://literouter.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.literouter.com/v1/chat/completions",validateUrl:"https://api.literouter.com/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Free model variants use the :free suffix; daily credit limits vary by model and free input is capped at 5,000 tokens."},{id:"llama-cpp",priority:50,alias:"llamacpp",display:{name:"llama.cpp",icon:"description",color:"#795548",textIcon:"LC",website:"https://github.com/ggml-org/llama.cpp",notice:{text:"llama.cpp server — OpenAI-compatible local inference (default port 8080). Base URL overridable per connection."}},category:"apikey",hasFree:!0,freeNote:"Runs on your own hardware — no per-token cost.",transport:{baseUrl:"http://127.0.0.1:8080/v1/chat/completions",format:"openai"},passthroughModels:!0,serviceKinds:["llm"]},{id:"llamafile",priority:50,alias:"llamafile",display:{name:"Llamafile",icon:"description",color:"#EA580C",textIcon:"LF",website:"https://github.com/Mozilla-Ocho/llamafile",notice:{text:"Llamafile — single-file local LLM runner with OpenAI-compatible API (default port 8080). Base URL overridable per connection."}},category:"apikey",hasFree:!0,freeNote:"Runs on your own hardware — no per-token cost.",transport:{baseUrl:"http://127.0.0.1:8080/v1/chat/completions",format:"openai"},passthroughModels:!0,serviceKinds:["llm"]},{id:"llamagate",priority:50,alias:"llamagate",display:{name:"LlamaGate",icon:"gate",color:"#16A34A",textIcon:"LG",website:"https://llamagate.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://llamagate.ai/v1/chat/completions",validateUrl:"https://llamagate.ai/v1/models"},passthroughModels:!0},{id:"llm-kiwi",priority:50,alias:"llmkiwi",display:{name:"LLM.Kiwi",icon:"hub",color:"#84CC16",textIcon:"LK",website:"https://llm.kiwi"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.llm.kiwi/v1/chat/completions",validateUrl:"https://api.llm.kiwi/v1/models"},models:[{id:"auto",name:"Auto"},{id:"hrLLM",name:"hrLLM"}],passthroughModels:!0,hasFree:!0,freeNote:"Free plan exposes auto and hrLLM; the published 40 requests/hour limit applies to hrLLM."},{id:"llmgateway",priority:50,alias:"llmgateway",display:{name:"LLM Gateway",icon:"router",color:"#6366F1",textIcon:"LG",website:"https://llmgateway.io"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.llmgateway.io/v1/chat/completions",validateUrl:"https://api.llmgateway.io/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Hosted Free plan: free-priced models are limited to 5 requests per 10 minutes when the account has no credits."},{id:"lm-studio",priority:50,alias:"lmstudio",display:{name:"LM Studio",icon:"server",color:"#4A148C",textIcon:"LM",website:"https://lmstudio.ai",notice:{text:"LM Studio desktop app — OpenAI-compatible local server. Start the Local Server (port 1234) in the app, then use this connection. Base URL overridable per connection."}},category:"apikey",hasFree:!0,freeNote:"Runs on your own hardware — no per-token cost.",transport:{baseUrl:"http://localhost:1234/v1/chat/completions",format:"openai"},passthroughModels:!0,serviceKinds:["llm"]},{id:"maritalk",priority:50,alias:"maritalk",display:{name:"Maritalk",icon:"translate",color:"#1D4ED8",textIcon:"MT",website:"https://www.maritaca.ai",notice:{apiKeyUrl:"https://chat.maritaca.ai/api-keys",text:"MariTalk by Maritaca AI — Sabi\xe1 models, strong in Portuguese. OpenAI-compatible; sends the key as Authorization: Key <token>."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://chat.maritaca.ai/api/chat/completions",validateUrl:"https://chat.maritaca.ai/api/models",auth:{combined:!0,header:"Authorization",scheme:"key"}},models:[{id:"sabia-4",name:"Sabi\xe1 4"},{id:"sabia-4-thinking",name:"Sabi\xe1 4 Thinking"},{id:"sabiazinho-4",name:"Sabiazinho 4"}],serviceKinds:["llm"]},{id:"meganova-ai",priority:50,alias:"meganova-ai",display:{name:"MegaNova AI",icon:"router",color:"#7C3AED",textIcon:"MN",website:"https://meganova.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.meganova.ai/v1/chat/completions",validateUrl:"https://api.meganova.ai/v1/models"},models:[{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo V2 Flash"},{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax M2.1"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi K2 Thinking"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"}],passthroughModels:!0,hasFree:!0,freeNote:"Free signup without a card. Published Tier 1 per-model quotas total 550 requests/day; they are not a shared global pool, and paid overage can apply if enabled."},{id:"meta-llama",priority:50,alias:"meta-llama",display:{name:"Meta Llama API",icon:"smart_toy",color:"#0F766E",textIcon:"ML",website:"https://ai.developer.meta.com/docs/overview/",notice:{apiKeyUrl:"https://ai.developer.meta.com/get-started/",text:"Meta's official Llama Model API. OpenAI-compatible chat completions endpoint."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.llama.com/compat/v1/chat/completions",validateUrl:"https://api.llama.com/compat/v1/models"},models:[{id:"Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"Llama-4-Scout-17B-16E-Instruct-FP8",name:"Llama 4 Scout"},{id:"Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Llama-3.3-8B-Instruct",name:"Llama 3.3 8B Instruct"}],serviceKinds:["llm"]},{id:"mixlayer",priority:50,alias:"mixlayer",display:{name:"Mixlayer",icon:"router",color:"#0EA5E9",textIcon:"MX",website:"https://www.mixlayer.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://models.mixlayer.ai/v1/chat/completions",validateUrl:"https://models.mixlayer.ai/v1/models"},models:[{id:"qwen/qwen3.5-35b-a3b",name:"Qwen3.5 35B A3B"},{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B"},{id:"qwen/qwen3.5-9b",name:"Qwen3.5 9B"},{id:"qwen/qwen3.5-27b",name:"Qwen3.5 27B"},{id:"qwen/qwen3.5-122b-a10b",name:"Qwen3.5 122B A10B"}],passthroughModels:!0,hasFree:!0,freeNote:"The qwen/qwen3.5-4b-free model is free for prototyping and rate-limited; no fixed public RPM or daily quota is confirmed."},{id:"mnn-ai",priority:50,alias:"mnn-ai",display:{name:"MNN AI",icon:"hub",color:"#0F766E",textIcon:"MNN",website:"https://mnnai.ru"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.mnnai.ru/v1/chat/completions",validateUrl:"https://api.mnnai.ru/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Free plan: $1 monthly credits, 10 RPM and access only to models marked Free."},{id:"modal",priority:40,alias:"modal",display:{name:"Modal",icon:"cloud_queue",color:"#7C3AED",textIcon:"MDL",website:"https://modal.com/docs",notice:{apiKeyUrl:"https://modal.com/settings/tokens",text:"OpenAI-compatible. $30/month free credits for new accounts."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.modal.ai/v1/chat/completions",validateUrl:"https://api.modal.ai/v1/models"},models:[{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"}],serviceKinds:["llm"],hasFree:!0,freeNote:"$30/month free credits for new accounts"},{id:"modelscope",priority:50,alias:"modelscope",display:{name:"ModelScope",icon:"cloud",color:"#FF6A00",textIcon:"MS",website:"https://modelscope.cn"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api-inference.modelscope.cn/v1/chat/completions",validateUrl:"https://api-inference.modelscope.cn/v1/models"},models:[{id:"ZhipuAI/GLM-4.5",name:"GLM-4.5"},{id:"ZhipuAI/GLM-4.6",name:"GLM-4.6"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507"},{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen3 Coder 30B A3B Instruct"},{id:"Qwen/Qwen3-30B-A3B-Thinking-2507",name:"Qwen3 30B A3B Thinking 2507"},{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3 30B A3B Instruct 2507"}],passthroughModels:!0,hasFree:!0,freeNote:"Free tier via ModelScope API-Inference — Alibaba account required."},{id:"morph",priority:50,alias:"morph",display:{name:"Morph",icon:"auto_fix_high",color:"#2563EB",textIcon:"MP",website:"https://www.morphllm.com",notice:{apiKeyUrl:"https://www.morphllm.com/keys",text:"OpenAI-compatible. Hosts open-weight models (Qwen, MiniMax, DeepSeek, GLM) optimized for coding agents. Free tier: 250K credits/month."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.morphllm.com/v1/chat/completions",validateUrl:"https://api.morphllm.com/v1/models"},models:[{id:"morph-v3-large",name:"Morph V3 Large"},{id:"morph-v3-fast",name:"Morph V3 Fast"},{id:"morph-glm52-744b",name:"GLM-5.2 744B"},{id:"morph-qwen35-397b",name:"Qwen 3.5 397B"},{id:"morph-qwen36-27b",name:"Qwen 3.6 27B"},{id:"morph-minimax3-428b",name:"MiniMax M3"},{id:"morph-dsv4flash",name:"DeepSeek V4 Flash"}],serviceKinds:["llm"],hasFree:!0,freeNote:"Free tier: 250K credits/month, $0"},{id:"naga-ac",priority:50,alias:"naga",display:{name:"Naga.ac",icon:"bolt",color:"#7C3AED",textIcon:"NA",website:"https://naga.ac",notice:{text:"Get API key at naga.ac — Google/GitHub/Discord signup available."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.naga.ac/v1/chat/completions",validateUrl:"https://api.naga.ac/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Free models include Nemotron 3 Ultra (free) and Llama 3.3 70B Instruct (Free). Paid models require credits. Google/GitHub/Discord signup."},{id:"naga-ai",priority:50,alias:"naga-ai",display:{name:"Naga AI",icon:"router",color:"#059669",textIcon:"NA",website:"https://naga.ac"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.naga.ac/v1/chat/completions",validateUrl:"https://api.naga.ac/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Models marked :free are publicly listed, but no numeric quota is confirmed. Naga's policy warns that free-tier prompts and outputs may be collected or used for training."},{id:"nanogpt",priority:50,alias:"nanogpt",display:{name:"NanoGPT",icon:"chat",color:"#4F46E5",textIcon:"NG",website:"https://nano-gpt.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://nano-gpt.com/api/v1/chat/completions",validateUrl:"https://nano-gpt.com/api/v1/models"},passthroughModels:!0},{id:"nara",priority:50,alias:"nara",display:{name:"NaraRouter",icon:"hub",color:"#EC4899",textIcon:"NA",website:"https://bynara.id",notice:{text:"Get a free API key via NaraRouter's Telegram channel, then paste it here Bearer token."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://router.bynara.id/v1/chat/completions",validateUrl:"https://router.bynara.id/v1/models"},models:[{id:"tencent-hy3",name:"Tencent Hy3"},{id:"mistral-large",name:"Mistral Large"},{id:"mistral-medium-3-5",name:"Mistral Medium 3.5"}],passthroughModels:!0,hasFree:!0,freeNote:"Free tier is a shared 5M tokens/day pool; some models are gated behind credit/plan."},{id:"navy",priority:50,alias:"navy",display:{name:"NavyAI",icon:"hub",color:"#1E3A8A",textIcon:"NV",website:"https://api.navy",notice:{text:"Create a free API key from the NavyAI dashboard, then paste it here Bearer token."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.navy/v1/chat/completions",validateUrl:"https://api.navy/v1/models"},models:[{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B Instruct"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-chat",name:"DeepSeek Chat"},{id:"mistral-small-latest",name:"Mistral Small"},{id:"llama-4-scout",name:"Llama 4 Scout"}],passthroughModels:!0,hasFree:!0,freeNote:"Free plan is one shared 150K tokens/day pool at 20 RPM. Each model carries a token multiplier, so heavier models drain the pool faster (grok-4 at 10x is ~15K real tokens/day)."},{id:"nous-research",priority:50,alias:"nous-research",aliases:["nous"],uiAlias:"nous",display:{name:"Nous Research",icon:"hub",color:"#2563EB",textIcon:"NO",website:"https://portal.nousresearch.com/help",notice:{apiKeyUrl:"https://portal.nousresearch.com/keys",text:"Official OpenAI-compatible inference endpoint. Free tier: 50 RPM / 500,000 TPM — no credit card."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://inference-api.nousresearch.com/v1/chat/completions",validateUrl:"https://inference-api.nousresearch.com/v1/models"},models:[{id:"Hermes-4-405B",name:"Hermes 4 405B"},{id:"Hermes-4-70B",name:"Hermes 4 70B"}],serviceKinds:["llm"],hasFree:!0,freeNote:"Free tier: 50 RPM, 500,000 TPM — no credit card"},{id:"nscale",priority:50,alias:"nscale",display:{name:"nScale",icon:"token",color:"#0891B2",textIcon:"NS",website:"https://nscale.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://inference.api.nscale.com/v1/chat/completions",validateUrl:"https://inference.api.nscale.com/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"$5 free credits on signup for inference testing"},{id:"nube",priority:50,alias:"nube",display:{name:"Nube.sh",icon:"cloud",color:"#2563EB",textIcon:"NB",website:"https://nube.sh",notice:{text:"OpenAI-compatible gateway (LiteLLM). Bring your own API key — models are resolved live from the account (passthrough).",apiKeyUrl:"https://nube.sh/dashboard/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://ai.nube.sh/api/v1/chat/completions",validateUrl:"https://ai.nube.sh/api/v1/models"},passthroughModels:!0},{id:"oci",priority:40,alias:"oci",display:{name:"OCI Generative AI",icon:"cloud",color:"#C74634",textIcon:"OCI",website:"https://www.oracle.com/artificial-intelligence/generative-ai",notice:{apiKeyUrl:"https://cloud.oracle.com/identity/domains/my-profile/api-keys",text:"OpenAI-compatible at https://inference.generativeai.<region>.oci.oraclecloud.com/openai/v1/. Override with your region via a custom baseUrl connection if needed."}},category:"apikey",authType:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1/chat/completions",validateUrl:"https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1/models"},models:[{id:"meta.llama-3.3-70b-instruct",name:"Llama 3.3 70B Instruct"},{id:"cohere.command-r-plus",name:"Command R+ (Cohere)"}],serviceKinds:["llm"],passthroughModels:!0},{id:"ofoxai",priority:50,alias:"ofoxai",display:{name:"OfoxAI",icon:"router",color:"#0F766E",textIcon:"OF",website:"https://ofox.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.ofox.ai/v1/chat/completions",validateUrl:"https://api.ofox.ai/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"The current catalog advertises 10+ free models without a public numeric quota; review upstream provenance, retention and training terms before production use."},{id:"ollama-cloud",priority:50,alias:"ollamacloud",display:{name:"Ollama Cloud",icon:"cloud",color:"#58A6FF",textIcon:"OC",website:"https://ollama.com/settings/keys"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://ollama.com/v1/chat/completions",validateUrl:"https://ollama.com/api/tags"},models:[{id:"gpt-oss:20b",name:"GPT-OSS 20B"},{id:"gpt-oss:120b",name:"GPT-OSS 120B"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5.2",name:"GLM 5.2"},{id:"minimax-m3",name:"MiniMax M3"},{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"gemma4:31b",name:"Gemma 4 31B"},{id:"nemotron-3-super",name:"NVIDIA Nemotron 3 Super"},{id:"qwen3.5:397b",name:"Qwen 3.5 397B"}],passthroughModels:!0,hasFree:!0},{id:"oobabooga",priority:50,alias:"ooba",display:{name:"oobabooga",icon:"smart_toy",color:"#8B5CF6",textIcon:"OO",website:"https://github.com/oobabooga/text-generation-webui",notice:{text:"oobabooga Text Generation WebUI — OpenAI-compatible local endpoint (default port 5000). Base URL overridable per connection."}},category:"apikey",hasFree:!0,freeNote:"Runs on your own hardware — no per-token cost.",transport:{baseUrl:"http://localhost:5000/v1/chat/completions",format:"openai"},passthroughModels:!0,serviceKinds:["llm"]},{id:"openadapter",priority:50,alias:"oad",display:{name:"OpenAdapter",icon:"hub",color:"#10B981",textIcon:"OD",website:"https://openadapter.dev",notice:{text:"Use your OpenAdapter API key in Authorization: Bearer sk-cv-<key>. Fully OpenAI-compatible. API base URL: https://api.openadapter.in/v1."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.openadapter.in/v1/chat/completions",validateUrl:"https://api.openadapter.in/v1/models"},models:[{id:"glm-4.7",name:"GLM 4.7 (OpenAdapter)"}],hasFree:!0,freeNote:"Free tier with a generous quota and no credit card — 15+ open-source models with daily quota. Get your API key at https://dashboard.openadapter.in."},{id:"opencode-zen",priority:50,alias:"opencode-zen",display:{name:"OpenCode Zen",icon:"opencode",color:"#6366f1",textIcon:"OP",website:"https://opencode.ai/zen"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://opencode.ai/zen/v1/chat/completions",validateUrl:"https://opencode.ai/zen/v1/models"},models:[{id:"gemini-3-pro",name:"Gemini 3 Pro"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"ling-3.0-flash-free",name:"Ling-3.0-flash Free"},{id:"laguna-s-2.1-free",name:"Laguna S 2.1 Free"},{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free"}]},{id:"openference-api",priority:50,alias:"ofa",display:{name:"Openference API",icon:"openference",color:"#6366F1",textIcon:"OF",website:"https://openference.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.openference.com/v1/chat/completions",validateUrl:"https://api.openference.com/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Free plan: 3-day trial with open-source models — no credit card required"},{id:"orcarouter",priority:50,alias:"orcarouter",display:{name:"OrcaRouter",icon:"router",color:"#0891B2",textIcon:"ORC",website:"https://www.orcarouter.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.orcarouter.ai/v1",validateUrl:"https://api.orcarouter.ai/v1/models"},models:[{id:"orcarouter/auto",name:"Auto (smart routing)"},{id:"openai/gpt-5.5",name:"GPT-5.5"},{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"anthropic/claude-opus-4.8",name:"Claude Opus 4.8"},{id:"grok/grok-4.3",name:"Grok 4.3"},{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"minimax/minimax-m2.7",name:"MiniMax M2.7"},{id:"qwen/qwen3.7-max",name:"Qwen3.7 Max"}],passthroughModels:!0},{id:"ovhcloud",priority:40,alias:"ovhcloud",aliases:["ovh"],uiAlias:"ovh",display:{name:"OVHcloud",icon:"cloud",color:"#2563EB",textIcon:"OVH",website:"https://www.ovhcloud.com",notice:{apiKeyUrl:"https://endpoints.ai.cloud.ovh.net/keys",text:"EU-hosted AI Endpoints. Anonymous tier works without a key (rate-limited); an OVHcloud key raises the rate limit."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/chat/completions",validateUrl:"https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/models"},models:[{id:"Meta-Llama-3_3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen2.5-Coder-32B-Instruct",name:"Qwen2.5 Coder 32B Instruct"},{id:"Mistral-Small-3.2-24B-Instruct-2506",name:"Mistral Small 3.2 24B"}],serviceKinds:["llm"]},{id:"piapi",priority:50,alias:"pi",display:{name:"PiAPI",icon:"api",color:"#7C4DFF",textIcon:"PI",website:"https://piapi.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.piapi.ai/v1/chat/completions",validateUrl:"https://api.piapi.ai/v1/models"},passthroughModels:!0},{id:"pioneer",priority:50,alias:"pioneer",display:{name:"Pioneer AI",icon:"rocket_launch",color:"#7C5CFF",textIcon:"PN",website:"https://pioneer.ai",notice:{apiKeyUrl:"https://agent.pioneer.ai/api-keys",text:"$75 free usage credits, no credit card required. Use an API key starting with pio_sk_. Only open-tier models (Qwen3, Llama, Gemma, SmolLM) work directly — gated models (Claude/GPT/Gemini) require prior fine-tuning via the Pioneer platform."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.pioneer.ai/v1/chat/completions",validateUrl:"https://api.pioneer.ai/v1/models",auth:{combined:!0,header:"X-API-Key",scheme:"raw"}},models:[{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"Qwen/Qwen3.6-27B",name:"Qwen3.6 27B"},{id:"Qwen/Qwen3.5-9B",name:"Qwen3.5 9B"},{id:"Qwen/Qwen3-8B",name:"Qwen3 8B"},{id:"Qwen/Qwen3-4B-Base",name:"Qwen3 4B Base"},{id:"Qwen/Qwen3-1.7B-Base",name:"Qwen3 1.7B Base"},{id:"meta-llama/Llama-3.1-8B-Instruct",name:"Llama 3.1 8B Instruct"},{id:"meta-llama/Llama-3.2-1B-Instruct",name:"Llama 3.2 1B Instruct"},{id:"google/gemma-3-4b-pt",name:"Gemma 3 4B (Pretrained)"},{id:"HuggingFaceTB/SmolLM3-3B-Base",name:"SmolLM3 3B Base"}],serviceKinds:["llm"],hasFree:!0,freeNote:"$75 free usage credits — no credit card required"},{id:"poixe-ai",priority:50,alias:"poixe-ai",display:{name:"Poixe AI",icon:"router",color:"#EA580C",textIcon:"PX",website:"https://poixe.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.poixe.com/v1/chat/completions",validateUrl:"https://api.poixe.com/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Current public free limits are small and model-group specific: 2 RPM/5 RPD for large-cup models and 20 RPM/50 RPD for small-cup models."},{id:"poolside",priority:50,alias:"poolside",display:{name:"Poolside",icon:"memory",color:"#111827",textIcon:"PS",website:"https://poolside.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://inference.poolside.ai/v1/chat/completions",validateUrl:"https://inference.poolside.ai/v1/models"},models:[{id:"poolside/laguna-xs-2.1",name:"Laguna XS 2.1"},{id:"poolside/laguna-s-2.1",name:"Laguna S 2.1"}],passthroughModels:!0,hasFree:!0,freeNote:"Laguna S 2.1 and XS 2.1 are free during Preview; no public numeric quota is published."},{id:"predibase",priority:50,alias:"predibase",display:{name:"Predibase",icon:"deployed_code_history",color:"#0F766E",textIcon:"PB",website:"https://predibase.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://serving.app.predibase.com/v1/chat/completions",validateUrl:"https://serving.app.predibase.com/v1/models"},passthroughModels:!0,freeNote:"$25 free trial credits (30-day validity)"},{id:"publicai",priority:50,alias:"publicai",display:{name:"PublicAI",icon:"public",color:"#059669",textIcon:"PA",website:"https://publicai.co"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.publicai.co/v1/chat/completions",validateUrl:"https://api.publicai.co/v1/models"},passthroughModels:!0,freeNote:"Requires an API key — one-time signup credit, then paid"},{id:"qiniu",priority:50,alias:"qiniu",display:{name:"Qiniu",icon:"cloud",color:"#1E88E5",textIcon:"QN",website:"https://www.qiniu.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.qnaigc.com/v1/chat/completions",validateUrl:"https://api.qnaigc.com/v1/models"},models:[{id:"mimo-v2-flash",name:"Mimo-V2-Flash"},{id:"xiaomi/mimo-v2-flash",name:"Xiaomi/Mimo-V2-Flash"}],passthroughModels:!0},{id:"regolo",priority:50,alias:"regolo",display:{name:"Regolo AI",icon:"hub",color:"#6366F1",textIcon:"RG",website:"https://regolo.ai",notice:{text:"Get your Regolo API key from regolo.ai, then paste it here Bearer token."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.regolo.ai",validateUrl:"https://api.regolo.ai/v1/models"},models:[{id:"regolo-chat",name:"Regolo Chat"},{id:"regolo-fast",name:"Regolo Fast"}],passthroughModels:!0},{id:"reka",priority:50,alias:"reka",display:{name:"Reka",icon:"auto_awesome",color:"#111827",textIcon:"RK",website:"https://docs.reka.ai/chat/overview",notice:{apiKeyUrl:"https://platform.reka.ai/keys",text:"Fully OpenAI-compatible. $10/month recurring free API credits."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.reka.ai/v1/chat/completions",validateUrl:"https://api.reka.ai/v1/models"},models:[{id:"reka-flash-3",name:"Reka Flash 3"},{id:"reka-flash",name:"Reka Flash"},{id:"reka-edge-2603",name:"Reka Edge 2603"}],serviceKinds:["llm","imageToText"],hasFree:!0,freeNote:"$10/month recurring free API credits"},{id:"requesty",priority:50,alias:"requesty",display:{name:"Requesty",icon:"router",color:"#6366F1",textIcon:"RQ",website:"https://requesty.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://router.requesty.ai/v1/chat/completions",validateUrl:"https://router.requesty.ai/v1/models"},models:[{id:"claude-sonnet-4-5@eu",name:"Claude Sonnet 4.5 (latest) (EU)"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"gpt-5.1@eu",name:"GPT-5.1 (EU)"},{id:"gpt-4.1-nano@eu",name:"GPT-4.1 nano (EU)"},{id:"gemini-2.5-flash@eu",name:"Gemini 2.5 Flash (EU)"},{id:"kimi-k3",name:"Kimi K3"}],passthroughModels:!0,hasFree:!0,freeNote:"Free tier ~200 requests/day - multi-model routing gateway (300+ models)"},{id:"rev-ai",priority:30,alias:"revai",display:{name:"Rev AI",icon:"record_voice_over",color:"#E5484D",textIcon:"RV",website:"https://rev.ai",notice:{apiKeyUrl:"https://www.rev.ai/access-token",text:"Async STT (machine / low_cost / fusion). API key from rev.ai."}},category:"apikey",authType:"apikey",serviceKinds:["stt"],models:[{id:"machine",name:"Reverb ASR",kind:"stt"},{id:"low_cost",name:"Low-Cost ASR",kind:"stt"},{id:"fusion",name:"Fusion ASR",kind:"stt"}],sttConfig:{baseUrl:"https://api.rev.ai/speechtotext/v1",authType:"apikey",authHeader:"bearer",format:"rev-ai"}},{id:"routeway",priority:50,alias:"routeway",display:{name:"Routeway",icon:"hub",color:"#F59E0B",textIcon:"RW",website:"https://routeway.ai",notice:{text:"Create a free API key at routeway.ai, then paste it here Bearer token."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.routeway.ai/v1/chat/completions",validateUrl:"https://api.routeway.ai/v1/models"},models:[{id:"llama-3.3-70b-instruct:free",name:"Llama 3.3 70B Instruct (free)"},{id:"nemotron-3-nano-30b-a3b:free",name:"Nemotron 3 Nano 30B (free)"},{id:"nemotron-nano-9b-v2:free",name:"Nemotron Nano 9B v2 (free)"},{id:"step-3.7-flash:free",name:"Step 3.7 Flash (free)"},{id:"step-3.5-flash:free",name:"Step 3.5 Flash (free)"},{id:"laguna-m.1:free",name:"Laguna M.1 (free)"},{id:"laguna-xs.2:free",name:"Laguna XS.2 (free)"},{id:"llama-3.2-3b-instruct:free",name:"Llama 3.2 3B Instruct (free)"}],passthroughModels:!0,hasFree:!0,freeNote:"Free models (:free suffix) at ~5 RPM / 200 RPD across Llama, Nemotron, Step and Laguna."},{id:"sambanova",priority:50,alias:"samba",display:{name:"SambaNova",icon:"memory",color:"#DC2626",textIcon:"SN",website:"https://sambanova.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.sambanova.ai/v1/chat/completions",validateUrl:"https://api.sambanova.ai/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"$5 free credits on signup (30-day validity), no credit card required"},{id:"sap",priority:40,alias:"sap",display:{name:"SAP Generative AI Hub",icon:"business",color:"#0FAAFF",textIcon:"SAP",website:"https://help.sap.com/docs/sap-ai-core/sap-ai-core-service-guide/generative-ai-hub-in-sap-ai-core",notice:{apiKeyUrl:"https://help.sap.com/docs/sap-ai-core/sap-ai-core-service-guide/create-api-credentials-for-ai-core",text:"Chat requests use the deploymentUrl from Generative AI Hub and require an AI-Resource-Group header. Add the deployment endpoint via a custom baseUrl connection (OpenAI-compatible)."}},category:"apikey",authType:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"",validateUrl:""},passthroughModels:!0},{id:"scaleway",priority:40,alias:"scaleway",aliases:["scw"],uiAlias:"scw",display:{name:"Scaleway",icon:"cloud",color:"#4F0599",textIcon:"SCW",website:"https://www.scaleway.com/en/docs/ai-data/generative-apis/",notice:{apiKeyUrl:"https://console.scaleway.com/project/credentials",text:"EU/GDPR-compliant (Paris). 1M free tokens for new accounts."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.scaleway.ai/v1/chat/completions",validateUrl:"https://api.scaleway.ai/v1/models"},models:[{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"mistral-small-3.2-24b-instruct-2506",name:"Mistral Small 3.2"},{id:"gpt-oss-120b",name:"GPT-OSS 120B"},{id:"glm-5.2",name:"GLM 5.2"}],serviceKinds:["llm"],hasFree:!0,freeNote:"1M free tokens for new accounts — EU/GDPR compliant (Paris)"},{id:"snowflake",priority:40,alias:"snowflake",display:{name:"Snowflake Cortex",icon:"ac_unit",color:"#29B5E8",textIcon:"SF",website:"https://www.snowflake.com",notice:{apiKeyUrl:"https://app.snowflake.com",text:"Cortex inference is OpenAI-compatible at https://<org>-<account>.snowflakecomputing.com/api/v2/cortex/inference:complete. Add your account endpoint via a custom baseUrl connection."}},category:"apikey",authType:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"https://example-org-example-account.snowflakecomputing.com/api/v2/cortex/inference:complete",validateUrl:"https://example-org-example-account.snowflakecomputing.com/api/v2/cortex/inference:complete"},models:[{id:"llama3.1-70b",name:"Llama 3.1 70B"},{id:"llama3.3-70b",name:"Llama 3.3 70B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"claude-3-5-sonnet",name:"Claude 3.5 Sonnet"}],serviceKinds:["llm"],passthroughModels:!0},{id:"soniox",priority:30,alias:"soniox",display:{name:"Soniox",icon:"record_voice_over",color:"#0EA5E9",textIcon:"SX",website:"https://soniox.com",notice:{apiKeyUrl:"https://platform.soniox.com",text:"Async batch STT (stt-async-v5/v4). API key from platform.soniox.com."}},category:"apikey",authType:"apikey",serviceKinds:["stt"],models:[{id:"stt-async-v5",name:"Soniox STT Async v5",kind:"stt"},{id:"stt-async-v4",name:"Soniox STT Async v4",kind:"stt"}],sttConfig:{baseUrl:"https://api.soniox.com/v1/transcriptions",authType:"apikey",authHeader:"bearer",format:"soniox"}},{id:"speechmatics",priority:30,alias:"speechmatics",display:{name:"Speechmatics",icon:"record_voice_over",color:"#6366F1",textIcon:"SM",website:"https://speechmatics.com",notice:{apiKeyUrl:"https://portal.speechmatics.com",text:"Async batch STT (enhanced). Free tier: 8 hours/month, no credit card."}},category:"apikey",authType:"apikey",serviceKinds:["stt"],models:[{id:"enhanced",name:"Enhanced",kind:"stt"}],sttConfig:{baseUrl:"https://asr.api.speechmatics.com/v2/jobs",authType:"apikey",authHeader:"bearer",format:"speechmatics"}},{id:"speka",priority:50,alias:"speka",display:{name:"Speka AI",icon:"router",color:"#DB2777",textIcon:"SP",website:"https://speka.me"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://speka.me/v1/chat/completions",validateUrl:"https://speka.me/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Free plan: $1 monthly usage, 10 RPM, one API key and access to open models and the playground; no card required."},{id:"sumopod",priority:50,alias:"sumopod",display:{name:"SumoPod",icon:"router",color:"#2563EB",textIcon:"SP",website:"https://ai.sumopod.com",notice:{text:"Use your SumoPod API key (sk-...) in Authorization: Bearer <key>. Fully OpenAI-compatible. API base URL: https://ai.sumopod.com/v1."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://ai.sumopod.com/v1/chat/completions",validateUrl:"https://ai.sumopod.com/v1/models"},passthroughModels:!0},{id:"synthetic",priority:50,alias:"synthetic",display:{name:"Synthetic",icon:"verified_user",color:"#6366F1",textIcon:"SY",website:"https://synthetic.new"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.synthetic.new/openai/v1/chat/completions",validateUrl:"https://api.synthetic.new/openai/v1/models"},models:[{id:"hf:openai/gpt-oss-120b",name:"openai/gpt-oss-120b"},{id:"hf:zai-org/GLM-5.2",name:"zai-org/GLM-5.2"},{id:"hf:moonshotai/Kimi-K2.7-Code",name:"moonshotai/Kimi-K2.7-Code"},{id:"hf:Qwen/Qwen3.6-27B",name:"Qwen/Qwen3.6-27B"},{id:"hf:MiniMaxAI/MiniMax-M3",name:"MiniMaxAI/MiniMax-M3"},{id:"hf:zai-org/GLM-4.7-Flash",name:"zai-org/GLM-4.7-Flash"},{id:"hf:nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4",name:"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4"}],passthroughModels:!0},{id:"thebai",priority:50,alias:"thebai",display:{name:"TheB.AI",icon:"hub",color:"#3B82F6",textIcon:"TB",website:"https://theb.ai",notice:{text:"Bearer API key for the TheB.AI OpenAI-compatible gateway."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.theb.ai/v1/chat/completions",validateUrl:"https://api.theb.ai/v1/models"},passthroughModels:!0},{id:"tokenreply",priority:50,alias:"tokenreply",display:{name:"TokenReply",icon:"router",color:"#3B82F6",textIcon:"TR",website:"https://www.tokenreply.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.tokenreply.com/v1/chat/completions",validateUrl:"https://api.tokenreply.com/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Free-tagged models have model- and campaign-specific daily limits; no fixed global free quota is published."},{id:"triton",priority:50,alias:"triton",display:{name:"NVIDIA Triton",icon:"memory",color:"#76B900",textIcon:"TR",website:"https://developer.nvidia.com/triton-inference-server",notice:{text:"NVIDIA Triton Inference Server — OpenAI-compatible endpoint. Base URL overridable per connection."}},category:"apikey",hasFree:!0,freeNote:"Runs on your own hardware — no per-token cost.",transport:{baseUrl:"http://localhost:8000/v1/chat/completions",format:"openai"},passthroughModels:!0,serviceKinds:["llm"]},{id:"unorouter",priority:50,alias:"unorouter",display:{name:"UnoRouter",icon:"unorouter",color:"#8B5CF6",textIcon:"UR",website:"https://unorouter.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.unorouter.com/v1/chat/completions",validateUrl:"https://api.unorouter.com/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Models with the :free suffix do not debit balance; limit is 1 request/minute per free model per user."},{id:"upstage",priority:50,alias:"upstage",display:{name:"Upstage",icon:"trending_up",color:"#0F766E",textIcon:"UP",website:"https://www.upstage.ai",notice:{apiKeyUrl:"https://console.upstage.ai/api-keys"}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.upstage.ai/v1/chat/completions",validateUrl:"https://api.upstage.ai/v1/models"},models:[{id:"solar-pro3",name:"Solar Pro 3"},{id:"solar-mini",name:"Solar Mini"}],serviceKinds:["llm"]},{id:"vllm",priority:50,alias:"vllm",display:{name:"vLLM",icon:"memory",color:"#0F766E",textIcon:"VL",website:"https://github.com/vllm-project/vllm",notice:{text:"vLLM inference server — OpenAI-compatible endpoint. Base URL overridable per connection."}},category:"apikey",hasFree:!0,freeNote:"Runs on your own hardware — no per-token cost.",transport:{baseUrl:"http://localhost:8000/v1/chat/completions",format:"openai"},passthroughModels:!0,serviceKinds:["llm"]},{id:"void-ai",priority:50,alias:"void-ai",display:{name:"Void AI",icon:"science",color:"#111827",textIcon:"VA",website:"https://voidai.app"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.voidai.app/v1/chat/completions",validateUrl:"https://api.voidai.app/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"The public model catalog marks some models with a free plan requirement, but access is conditional and no numeric quota is confirmed."},{id:"wafer",priority:50,alias:"wafer",display:{name:"Wafer AI",icon:"layers",color:"#6366F1",textIcon:"WF",website:"https://wafer.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://pass.wafer.ai/v1/messages",validateUrl:"https://pass.wafer.ai/v1/models"},models:[{id:"DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"Qwen3.5-397B-A17B",name:"Qwen3.5 397B A17B"},{id:"GLM-5.1",name:"GLM 5.1"}]},{id:"wandb",priority:50,alias:"wandb",display:{name:"Weights & Biases Inference",icon:"monitoring",color:"#FFBE0B",textIcon:"WB",website:"https://wandb.ai"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.inference.wandb.ai/v1/chat/completions",validateUrl:"https://api.inference.wandb.ai/v1/models"},models:[{id:"MiniMaxAI/MiniMax-M3",name:"MiniMax M3"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B",name:"Nemotron 3 Ultra"},{id:"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8",name:"Nemotron 3 Super"},{id:"nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B",name:"Nemotron 3.5 Lightning"},{id:"google/gemma-4-31B-it",name:"Gemma 4 31B"}]},{id:"watsonx",priority:40,alias:"watsonx",display:{name:"IBM watsonx.ai",icon:"hub",color:"#0F62FE",textIcon:"WX",website:"https://www.ibm.com/products/watsonx-ai",notice:{apiKeyUrl:"https://dataplatform.cloud.ibm.com/iam/apikeys",text:"watsonx model gateway is OpenAI-compatible under /ml/gateway/v1. Base URL is regional — override with your region's gateway (e.g. https://us-south.ml.cloud.ibm.com/ml/gateway/v1) via a custom baseUrl connection."}},category:"apikey",authType:"apikey",hasProviderSpecificData:!0,transport:{baseUrl:"https://us-south.ml.cloud.ibm.com/ml/gateway/v1/chat/completions",validateUrl:"https://us-south.ml.cloud.ibm.com/ml/gateway/v1/models"},models:[{id:"ibm/granite-3-8b-instruct",name:"Granite 3 8B Instruct"},{id:"meta-llama/llama-3-3-70b-instruct",name:"Llama 3.3 70B Instruct"}],serviceKinds:["llm"],passthroughModels:!0},{id:"writer",priority:50,alias:"writer",display:{name:"Writer",icon:"edit",color:"#111827",textIcon:"WR",website:"https://dev.writer.com",notice:{apiKeyUrl:"https://app.writer.com/settings/api-keys",text:"Palmyra X5 offers a 1M-token context window. OpenAI-compatible."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.writer.com/v1/chat/completions",validateUrl:"https://api.writer.com/v1/models"},models:[{id:"palmyra-x5",name:"Palmyra X5"},{id:"palmyra-x4",name:"Palmyra X4"}],serviceKinds:["llm"]},{id:"x5lab",priority:50,alias:"x5lab",display:{name:"X5Lab",icon:"router",color:"#7C3AED",textIcon:"X5",website:"https://x5lab.dev",notice:{text:"Use your X5Lab API key (x5-...) in Authorization: Bearer <key>. Fully OpenAI-compatible. API base URL: https://api.x5lab.dev/v1."}},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.x5lab.dev/v1/chat/completions",validateUrl:"https://api.x5lab.dev/v1/models"},passthroughModels:!0},{id:"xinference",priority:50,alias:"xinference",display:{name:"XInference",icon:"hub",color:"#DC2626",textIcon:"XI",website:"https://inference.readthedocs.io",notice:{text:"XInference — local model serving platform, OpenAI-compatible endpoint (default port 9997). Base URL overridable per connection."}},category:"apikey",hasFree:!0,freeNote:"Runs on your own hardware — no per-token cost.",transport:{baseUrl:"http://localhost:9997/v1/chat/completions",format:"openai"},passthroughModels:!0,serviceKinds:["llm"]},{id:"yolo-auto",priority:50,alias:"yolo-auto",display:{name:"Yolo-Auto",icon:"auto_awesome",color:"#F59E0B",textIcon:"YA",website:"https://yolo-auto.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://yolo-auto.com/v1/chat/completions",validateUrl:"https://yolo-auto.com/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Free API access is request-limited and intended for testing; no numeric daily quota is published and free access is not promised indefinitely."},{id:"zerolimitai",priority:50,alias:"zerolimitai",display:{name:"ZeroLimitAI",icon:"router",color:"#475569",textIcon:"ZL",website:"https://www.zerolimitai.com"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://www.zerolimitai.com/api/v1/chat/completions",validateUrl:"https://www.zerolimitai.com/api/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Temporary free trial is advertised, but official pages conflict between 3 and 7 days; a 100-calls/day claim is not treated."},{id:"zylo-api",priority:50,alias:"zylo",display:{name:"Zylo API",icon:"hub",color:"#2563EB",textIcon:"ZY",website:"https://zyloai.net"},category:"apikey",authType:"apikey",transport:{baseUrl:"https://api.zyloai.net/v1/chat/completions",validateUrl:"https://api.zyloai.net/v1/models"},passthroughModels:!0,hasFree:!0,freeNote:"Basic plan: 10 RPM, 7,200 requests/day and 200,000 tokens/day; limited to Basic text models."},{id:"notion-web",priority:150,alias:"nw",display:{name:"Notion AI Web",icon:"auto_awesome",color:"#1A1919",textIcon:"NW",website:"https://www.notion.so",notice:{signupUrl:"https://www.notion.so",apiKeyUrl:"https://www.notion.so",text:"Notion AI browser-session chat. Open notion.so, log in, then copy the `token_v2` cookie (plus `space_id` / `notion_user_id` / `notion_browser_id` if present) from DevTools → Application → Cookies → notion.so and paste it here. Requests go through Chrome-TLS impersonation because Notion's edge rejects plain Node fetch. Multi-turn chats reuse one Notion thread. ⚠️ Reverse-engineered protocol — upstream may change without notice."}},category:"webCookie",authType:"cookie",authHint:'Copy the "token_v2" cookie value from notion.so → DevTools → Application → Cookies → notion.so and paste it here. Optional: "space_id=...; notion_user_id=..." pairs.',transport:{baseUrl:"https://app.notion.com",format:"notion-web",authType:"cookie"},models:[{id:"fable-5",name:"Fable 5"},{id:"sonnet-5",name:"Sonnet 5"},{id:"opus-4.8",name:"Opus 4.8"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"glm-5.2",name:"GLM 5.2"},{id:"grok-4.5",name:"Grok 4.5"},{id:"notion-ai",name:"Notion AI (default)"}],passthroughModels:!0},{id:"hyperagent",priority:150,alias:"ha",display:{name:"HyperAgent",icon:"auto_awesome",color:"#7C3AED",textIcon:"HA",website:"https://hyperagent.com",notice:{signupUrl:"https://hyperagent.com",apiKeyUrl:"https://hyperagent.com",text:"HyperAgent agent chat via browser session. Open hyperagent.com, log in, then paste the full Cookie header from DevTools → Network → any document request → Request Headers → Cookie. Claude-family agent models with 1M context; multi-turn chats reuse one thread + session. ⚠️ Reverse-engineered protocol — upstream may change without notice."}},category:"webCookie",authType:"cookie",authHint:"Paste the full Cookie header from hyperagent.com (DevTools → Network → any document request → Request Headers → Cookie).",transport:{baseUrl:"https://hyperagent.com",format:"hyperagent",authType:"cookie"},defaultContextLength:1e6,models:[{id:"fable-latest",name:"Fable 5",contextLength:1e6},{id:"claude-fable-5",name:"Claude Fable 5",contextLength:1e6},{id:"opus-latest",name:"Claude Opus Latest",contextLength:1e6},{id:"claude-opus-4-8",name:"Claude Opus 4.8",contextLength:1e6},{id:"sonnet-latest",name:"Claude Sonnet Latest",contextLength:1e6},{id:"claude-sonnet-5",name:"Claude Sonnet 5",contextLength:1e6}],passthroughModels:!0}])for(let b of(L[a.id]=a.id,a.alias&&(L[a.alias]=a.id),a.aliases||[]))L[b]=a.id;let M={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.7":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.8":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-5-thinking":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-fable-5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5-mini":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"gpt-5-codex":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.1":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.2-codex":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.3-codex":{input:6,output:24,cached:3,reasoning:36,cache_creation:6},"gpt-5.3-codex-xhigh":{input:10,output:40,cached:5,reasoning:60,cache_creation:10},"gpt-5.3-codex-high":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.3-codex-low":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.3-codex-none":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},"gpt-5.4":{input:6,output:24,cached:3,reasoning:36,cache_creation:6},"gpt-5.4-mini":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.4-nano":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"gpt-5.5":{input:7,output:28,cached:3.5,reasoning:42,cache_creation:7},"gpt-5.6-luna":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.6-sol":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.6-terra":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-extra-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"glm-5.3":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"glm-5.3-high":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"glm-5.3-low":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.8,cache_creation:.3},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-oss-120b":{input:.228,output:.798,reasoning:.798},"zai-glm-4.7":{input:2.25,output:2.75,reasoning:2.75},"llama-3.3-70b":{input:.7,output:2.8},"llama-4-scout-17b-16e-instruct":{input:.2,output:.78},"poolside/laguna-s-2.1:free":{input:0,output:0},"laguna-s-2.1:free":{input:0,output:0},"stepfun/step-3.7-flash":{input:.19,output:1.14,reasoning:1.14},"step-3.7-flash":{input:.185,output:1.11,reasoning:1.11},"kwaipilot/kat-coder-pro":{input:.3,output:1.2},"cline-pass/mimo-v2.5":{input:.14,output:.28,reasoning:.28},"cline-pass/mimo-v2.5-pro":{input:1.74,output:3.48,reasoning:3.48},"hy3-preview":{input:0,output:0},hy3:{input:0,output:0},"mimo-auto":{input:0,output:0},"gemma-4-31b-it":{input:.5,output:1.5,cached:.1,reasoning:1.5,cache_creation:.5},"gemma-4-26b-a4b-it":{input:.3,output:.9,cached:.06,reasoning:.9,cache_creation:.3},"llama-4-scout":{input:.2,output:.78,cached:.04,reasoning:.78,cache_creation:.2},"mistral-large-2512":{input:2,output:6,cached:.4,reasoning:6,cache_creation:2},"mistral-medium-3.1":{input:1.5,output:7.5,cached:.3,reasoning:7.5,cache_creation:1.5},"mistral-small-2603":{input:.1,output:.3,cached:.02,reasoning:.3,cache_creation:.1},"nemotron-3-super-120b-a12b":{input:.25,output:1,cached:.05,reasoning:1,cache_creation:.25},"auto:free":{input:0,output:0},"dgridai/free":{input:0,output:0},"felo-chat":{input:0,output:0},"felo-search":{input:0,output:0},"felo-scholar":{input:0,output:0},"felo-social":{input:0,output:0},"felo-document":{input:0,output:0},"adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic":{input:0,output:0},"qwen3.6:27b":{input:0,output:0},"gemma4:31b":{input:0,output:0},"meta-llama/llama-3.3-70b-instruct":{input:0,output:0},"mistralai/mistral-7b-instruct":{input:0,output:0},"deepseek-ai/deepseek-coder-33b":{input:0,output:0},GPT_5_4:{input:0,output:0},GPT_5_3:{input:0,output:0},GPT_5_2:{input:0,output:0},GPT_5_1:{input:0,output:0},GPT_5:{input:0,output:0},GPT_o4_mini:{input:0,output:0},GPT_o3_mini:{input:0,output:0},CLAUDE_4_6_OPUS:{input:0,output:0},CLAUDE_4_6_SONNET:{input:0,output:0},CLAUDE_4_5_HAIKU:{input:0,output:0},"aphrodite/TheDrummer/Cydonia-24B-v4.3":{input:0,output:0},"aphrodite/TheDrummer/Skyfall-31B-v4.2":{input:0,output:0},"google/gemma-4-31b":{input:0,output:0},"command-r-plus-08-2024":{input:2.5,output:10},"command-r-08-2024":{input:.15,output:.6},"command-a-03-2025":{input:2.5,output:10},"llama-3.3-70b-versatile":{input:.59,output:.79},"openai/gpt-oss-120b":{input:.037,output:.17,reasoning:.17},"meta-llama/Llama-3.3-70B-Instruct":{input:.05,output:.23},"meta-llama/Llama-3.2-3B-Instruct":{input:.0306,output:.0493},"NousResearch/Hermes-3-Llama-3.1-70B":{input:.7,output:.7},"mistral-large-latest":{input:.5,output:1.5},"codestral-latest":{input:.3,output:.9},"codestral-2508":{input:.3,output:.9},"mistral-medium-latest":{input:1.5,output:7.5,reasoning:7.5},"mimo-v2.5":{input:.14,output:.28,reasoning:.28},"mimo-v2.5-pro":{input:.435,output:.87,reasoning:.87},"sonar-pro":{input:3,output:15},sonar:{input:1,output:1},"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8":{input:.371,output:1.484},"venice-uncensored-1-2":{input:.2,output:.9},"zai-org-glm-5":{input:1,output:3.2,reasoning:3.2},"hermes-3-llama-3.1-405b":{input:1.1,output:3},"mistral-small-3-2-24b-instruct":{input:.09375,output:.25},"mimo-v2-pro":{input:1,output:3,reasoning:3},"mimo-v2-omni":{input:.4,output:2,reasoning:2},"mimo-v2-tts":{input:0,output:0},"mimo-v2.5-tts":{input:0,output:0},"mimo-v2.5-tts-voiceclone":{input:0,output:0},"mimo-v2.5-tts-voicedesign":{input:0,output:0},"gemma-4-31b":{input:.144,output:.42,reasoning:.42},"llama-3.3-70b-instruct":{input:1.254,output:1.254},"llama-4-maverick":{input:.15,output:.6},"nemotron-3-super-120b":{input:.3,output:.9,reasoning:.9},"perplexity/sonar":{input:.25,output:2.5},"mistralai/Mistral-7B-Instruct-v0.3":{input:0,output:0},"nemotron-3-ultra":{input:.1,output:.1,reasoning:.1},"step-3.5-flash":{input:.1,output:.3,reasoning:.3},"step-3.5-flash-2603":{input:.1,output:.3,reasoning:.3},"step-3":{input:.2499,output:.6494},"openai/gpt-oss-20b":{input:.03,output:.14,reasoning:.14},"meta-llama/Llama-4-Scout-17B-16E-Instruct":{input:.18,output:.59},"google/gemma-4-31B-it":{input:0,output:0},"XiaomiMiMo/MiMo-V2.5-Pro":{input:.522,output:1.044,reasoning:1.044},"databricks-gpt-5":{input:1.25,output:10,reasoning:10},"databricks-claude-sonnet-4":{input:3,output:15,reasoning:15},"databricks-gemini-2-5-pro":{input:1.25,output:10,reasoning:10},"meta-llama/llama-3.3-70b-instruct":{input:.05,output:.23},"mistralai/mistral-nemo":{input:.019,output:.03},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{input:.88,output:.88}},N={github:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},fireworks:{"accounts/fireworks/models/deepseek-v3p1":{input:.56,output:1.68},"accounts/fireworks/models/glm-5p2":{input:1.4,cached:.14,output:4.4,reasoning:4.4},"accounts/fireworks/models/kimi-k2p6":{input:.95,cached:.16,output:4,reasoning:4},"accounts/fireworks/models/kimi-k2-instruct-0905":{input:.6,output:2.5},"accounts/fireworks/models/llama-v3p3-70b-instruct":{input:.9,output:.9},"accounts/fireworks/models/qwen3-235b-a22b":{input:.22,output:.88}},forge:{"gpt-5.6-sol":{input:5,output:30},"gpt-5.6-terra":{input:2.5,output:15},"gpt-5.6-luna":{input:1,output:6},"gpt-5.5":{input:5,output:40},"gpt-5.3-codex":{input:1.75,output:14},"claude-opus-4-5-20251101":{input:5,output:25},"claude-sonnet-4-5-20250929":{input:3,output:15},"claude-haiku-4-5-20251001":{input:1,output:5},"claude-sonnet-4-6":{input:3,output:15},"claude-sonnet-4-6-thinking":{input:3,output:15},"claude-sonnet-5":{input:2,output:10},"claude-fable-5":{input:10,output:50},"grok-4.5":{input:2,output:6},"grok-4.3":{input:1.25,output:2.5},"grok-build-0.1":{input:1,output:2},"deepseek-r1":{input:.401,output:1.605},"deepseek-v4-flash":{input:.098,output:.196},"deepseek-v4-pro":{input:.304,output:.609},"deepseek-v3.2":{input:.2,output:.301},"deepseek-v3.1":{input:.401,output:1.204},"deepseek-v3":{input:.2,output:.802},"kimi-k3":{input:3,output:15},"kimi-k2.7-code":{input:.625,output:2.599},"kimi-k2.6":{input:.625,output:2.599},"kimi-k2.5":{input:.401,output:2.107},"gemini-3-pro-preview":{input:2,output:12},"gemini-3.5-flash":{input:1.5,output:9},"tencent/hy3":{input:.2,output:.8},"mimo-v2.5":{input:.1,output:.2},"mimo-v2.5-pro":{input:.3,output:.6},"MiniMax-M3":{input:.21,output:.84},"MiniMax-M2.5":{input:.21,output:.84},"glm-5.2":{input:.77,output:2.695}},tokenrouter:{"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.2},"anthropic/claude-fable-5":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-haiku-4.5":{input:1,output:5,cached:.1,cache_creation:1.25,reasoning:5},"anthropic/claude-opus-4.5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.6":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.7-fast":{input:30,output:150,cached:3,reasoning:150},"anthropic/claude-opus-4.8":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-4.8-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-opus-5":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"anthropic/claude-opus-5-fast":{input:10,output:50,cached:1,cache_creation:12.5,reasoning:50},"anthropic/claude-sonnet-4":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.5":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-4.6":{input:3,output:15,cached:.3,cache_creation:3.75,reasoning:15},"anthropic/claude-sonnet-5":{input:2,output:10,cached:.2,reasoning:10},"claude-opus-4-8-m-aws":{input:5,output:25,cached:.5,cache_creation:6.25,reasoning:25},"deepseek/deepseek-v3.2":{input:.26,output:.38,cached:.13,reasoning:.38},"deepseek/deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-flash-0731":{input:.14,output:.28,cached:.0028,reasoning:.28},"deepseek/deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87},"ex/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"google/gemini-2.5-flash-image":{input:.3,output:2.5,reasoning:2.5},"google/gemini-3-flash-preview":{input:.5,output:3,cached:.05,cache_creation:.08333,reasoning:3},"google/gemini-3-pro-image-preview":{input:2,output:12,reasoning:12},"google/gemini-3.1-flash-image-preview":{input:.5,output:3,reasoning:3},"google/gemini-3.1-flash-lite-image":{input:.25,output:1.5,reasoning:1.5},"google/gemini-3.1-pro-preview":{input:2,output:12,cached:.2,cache_creation:.375,reasoning:12},"google/gemini-3.5-flash":{input:1.5,output:9,cached:.15,cache_creation:.08333,reasoning:9},"google/gemini-3.5-flash-lite":{input:.3,output:2.5,cached:.03,cache_creation:.08333,reasoning:2.5},"google/gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,cache_creation:.08333,reasoning:7.5},"google/gemini-embedding-2":{input:1,output:6,cached:.1,reasoning:6},"google/gemma-4-26b-a4b-it":{input:.06,output:.33,reasoning:.33},"kling-3.0-turbo":{input:2.1,output:2.1,reasoning:2.1},"microsoft/mai-image-2.5":{input:5,output:47,reasoning:47},"minimax/minimax-m2-her":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.1-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"minimax/minimax-m2.5":{input:.3,output:1.2,cached:.03,reasoning:1.2},"minimax/minimax-m2.7":{input:.3,output:1.2,cached:.06,reasoning:1.2},"minimax/minimax-m2.7-highspeed":{input:.6,output:2.4,cached:.06,reasoning:2.4},"miromind/mirothinker-1-7-deepresearch":{input:4,output:25,reasoning:25},"miromind/mirothinker-1-7-deepresearch-mini":{input:1.25,output:10,reasoning:10},"mistralai/devstral-2512":{input:.4,output:2,cached:.04,reasoning:2},"mistralai/mistral-medium-3-5":{input:1.5,output:7.5,reasoning:7.5},"mistralai/mistral-small-2603":{input:.15,output:.6,cached:.015,reasoning:.6},"mistralai/voxtral-small-24b-2507":{input:.1,output:.3,cached:.01,reasoning:.3},"moonshotai/kimi-k2.5":{input:.6,output:3,cached:.1,reasoning:3},"moonshotai/kimi-k2.6":{input:.95,output:4,cached:.16,reasoning:4},"moonshotai/kimi-k2.7-code":{input:.9286,output:3.8571,cached:.1857,reasoning:3.8571},"moonshotai/kimi-k3":{input:3,output:15,cached:.3,reasoning:15},"nvidia/nemotron-3-super-120b-a12b":{input:.3,output:.9,cached:.1,reasoning:.9},"openai/gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.6},"openai/gpt-5":{input:1.25,output:10,cached:.125,reasoning:10},"openai/gpt-5-image":{input:10,output:40,cached:2.5,reasoning:40},"openai/gpt-5-image-mini":{input:2.5,output:8,cached:.25,reasoning:8},"openai/gpt-5-mini":{input:.25,output:2,cached:.025,reasoning:2},"openai/gpt-5.2":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14},"openai/gpt-5.4":{input:2.5,output:15,cached:.25,reasoning:15},"openai/gpt-5.4-image-2":{input:8,output:30,cached:2,reasoning:30},"openai/gpt-5.4-mini":{input:.75,output:4.5,cached:.075,reasoning:4.5},"openai/gpt-5.4-nano":{input:.2,output:1.25,cached:.02,reasoning:1.25},"openai/gpt-5.4-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.5":{input:5,output:30,cached:.5,reasoning:30},"openai/gpt-5.5-pro":{input:30,output:180,reasoning:180},"openai/gpt-5.6-luna":{input:.2,output:1.2,cached:.02,cache_creation:.25,reasoning:1.2},"openai/gpt-5.6-sol":{input:5,output:30,cached:.5,cache_creation:6.25,reasoning:30},"openai/gpt-5.6-terra":{input:2,output:12,cached:.2,cache_creation:2.5,reasoning:12},"openai/gpt-audio":{input:2.5,output:10,reasoning:10},"openai/gpt-audio-mini":{input:.6,output:2.4,reasoning:2.4},"openai/gpt-oss-120b":{input:.039,output:.18,reasoning:.18},"qwen/qwen3-coder-next":{input:.12,output:.75,cached:.06,reasoning:.75},"qwen/qwen3.5-122b-a10b":{input:.26,output:2.08,reasoning:2.08},"qwen/qwen3.5-35b-a3b":{input:.1625,output:1.3,reasoning:1.3},"qwen/qwen3.5-397b-a17b":{input:.39,output:2.34,reasoning:2.34},"qwen/qwen3.5-9b":{input:.1,output:.15,reasoning:.15},"qwen/qwen3.5-flash":{input:.1048,output:.4194,reasoning:.4194},"qwen/qwen3.5-plus-02-15":{input:.26,output:1.56,reasoning:1.56},"qwen/qwen3.6-plus":{input:.54,output:3.21,reasoning:3.21},"qwen/qwen3.7-max":{input:1.25,output:3.75,cached:.25,reasoning:3.75},"qwen/qwen3.7-plus":{input:.4,output:1.6,cached:.08,reasoning:1.6},"qwen/qwen3.8-max":{input:2,output:6,cached:.25,cache_creation:2.5,reasoning:6},"qwen3.5-omni-plus":{input:1,output:5.7143,reasoning:5.7143},"qwen3.6-flash":{input:.171,output:1.029,cached:.017,cache_creation:.214,reasoning:1.029},"sakana/fugu-ultra":{input:5,output:30,cached:.5,reasoning:30},"seed-2-0-code-preview-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"seed-2-0-lite-260428":{input:.5,output:4,cached:.1,cache_creation:.008333,reasoning:4},"seed-2-0-mini-260428":{input:.2,output:.8,cached:.04,cache_creation:.00833,reasoning:.8},"seed-2-0-pro-260328":{input:1,output:6,cached:.2,cache_creation:.008333,reasoning:6},"stepfun/step-3.5-flash":{input:.1,output:.3,cached:.02,reasoning:.3},"stepfun/step-3.7-flash":{input:.2,output:1.15,cached:.04,reasoning:1.15},"tencent/hy3-preview":{input:.066,output:.26,cached:.029,reasoning:.26},"x-ai/grok-4.1-fast":{input:.2,output:.5,cached:.05,reasoning:.5},"x-ai/grok-4.20-beta":{input:2,output:6,cached:.2,reasoning:6},"x-ai/grok-4.3":{input:1.25,output:2.5,cached:.2,reasoning:2.5},"x-ai/grok-4.5":{input:2,output:6,cached:.5,reasoning:6},"x-ai/grok-build-0.1":{input:1,output:2,cached:.2,reasoning:2},"xiaomi/mimo-v2-flash":{input:.1,output:.3,cached:.01,reasoning:.3},"xiaomi/mimo-v2-omni":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2-pro":{input:1,output:3,cached:.2,reasoning:3},"xiaomi/mimo-v2.5":{input:.4,output:2,cached:.08,reasoning:2},"xiaomi/mimo-v2.5-pro":{input:1,output:3,cached:.2,reasoning:3},"z-ai/glm-4.5-air":{input:.13,output:.85,cached:.025,reasoning:.85},"z-ai/glm-4.6":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-4.6v":{input:.3,output:.9,reasoning:.9},"z-ai/glm-4.7":{input:.6,output:2.2,cached:.11,reasoning:2.2},"z-ai/glm-5":{input:1,output:3.2,cached:.2,reasoning:3.2},"z-ai/glm-5-turbo":{input:1.2,output:4,cached:.24,reasoning:4},"z-ai/glm-5.1":{input:1.05,output:3.5,cached:.525,reasoning:3.5},"z-ai/glm-5.2":{input:1.4,output:4.4,cached:.26,reasoning:4.4}},bynara:{"agnes-2.0-flash":{input:.03,output:.11},"agnes-2.5-flash":{input:.06,output:.28},"grok-4.5-free":{input:.4,output:.64},"laguna-s-2.1":{input:0,output:0},"ling-3.0-flash-free":{input:.01,output:.02},"mistral-large":{input:.15,output:.45},"mistral-medium-3-5":{input:.3,output:1.51},"nemotron-3-ultra":{input:0,output:0},"stepfun-3.7-flash":{input:.04,output:.23},"tencent-hy3-free":{input:.03,output:.11}},tokenharbor:{"claude-opus-5":{input:5,output:25,cached:.5,reasoning:25},"claude-fable-5":{input:10,output:50,cached:1,reasoning:50},"gpt-5.6-sol":{input:5,output:30,cached:.5,reasoning:30},"kimi-k3":{input:3,output:15,cached:.3,reasoning:15},"qwen3.8-max":{input:2,output:6,cached:.25,reasoning:6},"gpt-5.6-terra":{input:2,output:12,cached:.2,reasoning:12},"grok-4.5":{input:2,output:6,cached:.2,reasoning:6},"claude-sonnet-5":{input:2,output:10,cached:.2,reasoning:10},"glm-5.2":{input:1.4,output:4.4,cached:.26,reasoning:4.4},"gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,reasoning:7.5}},helyxai:{"llama-3.1-8b-instruct":{input:.1,output:.25},"gemma-4-31B-it":{input:.2,output:.5},"DeepSeek-V4-Flash":{input:.14,output:.28},"Qwen3-32B":{input:.1,output:.3},"gpt-5.6-luna":{input:.1,output:.6},"gemini-3.1-flash-lite":{input:.25,output:1.5},"GLM-5.2":{input:1.4,output:4.4},"Mistral-4":{input:.25,output:1},"DeepSeek-V4-Pro":{input:.43,output:.87},"gpt-oss-120b":{input:.1,output:.5},"MiniMax-M3":{input:.3,output:1.2},"Kimi-K3":{input:4,output:14}},"meta-ai":{"muse-spark-1.2":{input:1.25,output:4.25,cached:.15,reasoning:4.25},"muse-spark-1.2-contributor":{input:.1,output:.2,cached:.15,reasoning:.2},"muse-spark-1.1":{input:1.25,output:4.25,cached:.15,reasoning:4.25}},ai21:{"jamba-large-1.7":{input:2,output:8},"jamba-mini-2":{input:.2,output:.4}},"arcee-ai":{"trinity-mini":{input:.05,output:.15},"trinity-large-thinking":{input:.22,output:.85},"trinity-large-preview":{input:.22,output:.85}},inception:{"mercury-2":{input:.25,output:.75}},liquid:{"liquid-lfm-40b":{input:.03,output:.03}},maritalk:{"sabia-4":{input:.97,output:3.89},"sabia-4-thinking":{input:.97,output:7.78},"sabiazinho-4":{input:.19,output:.78}},"meta-llama":{"Llama-4-Maverick-17B-128E-Instruct-FP8":{input:.2,output:.8},"Llama-4-Scout-17B-16E-Instruct-FP8":{input:.1,output:.3},"Llama-3.3-70B-Instruct":{input:.1,output:.32}},morph:{"morph-v3-large":{input:.9,output:1.9},"morph-v3-fast":{input:.8,output:1.2},"morph-glm52-744b":{input:1.1,output:4.1},"morph-qwen35-397b":{input:.5,output:3.5},"morph-qwen36-27b":{input:.289,output:.9},"morph-minimax3-428b":{input:.6,output:2.4},"morph-dsv4flash":{input:.139,output:.278}},"nous-research":{"Hermes-4-405B":{input:1,output:3},"Hermes-4-70B":{input:.13,output:.4}},oci:{"meta.llama-3.3-70b-instruct":{input:.72,output:.72}},ovhcloud:{"Meta-Llama-3_3-70B-Instruct":{input:.74,output:.74},"Mistral-Small-3.2-24B-Instruct-2506":{input:.1,output:.31}},reka:{"reka-flash-3":{input:.1,output:.2},"reka-flash":{input:.8,output:2},"reka-edge-2603":{input:.1,output:.1}},scaleway:{"qwen3-235b-a22b-instruct-2507":{input:.75,output:2.25},"qwen3.5-397b-a17b":{input:.6,output:3.6},"llama-3.3-70b-instruct":{input:.9,output:.9},"mistral-small-3.2-24b-instruct-2506":{input:.15,output:.35},"gpt-oss-120b":{input:.15,output:.6},"glm-5.2":{input:1.8,output:5.5}},upstage:{"solar-pro3":{input:.15,output:.6,cached:.02},"solar-mini":{input:.15,output:.15}},watsonx:{"meta-llama/llama-3-3-70b-instruct":{input:.7526,output:.7526}},writer:{"palmyra-x5":{input:.6,output:6},"palmyra-x4":{input:2.5,output:10}},requesty:{"claude-sonnet-4-5@eu":{input:3.3,output:16.5,cached:.3,cache_creation:4.125},"claude-opus-4-7":{input:5,output:25,cached:.5,cache_creation:6.25},"gpt-5.1@eu":{input:1.375,output:11,cached:.1375},"gpt-4.1-nano@eu":{input:.11,output:.44,cached:.0275},"gemini-2.5-flash@eu":{input:.3,output:2.5,cached:.075,cache_creation:.55},"kimi-k3":{input:2.25,output:11.25,cached:.225}},fastrouter:{"z-ai/glm-5":{input:.95,output:3.15},"z-ai/glm-5.1":{input:1.05,output:3.5},"deepseek/deepseek-v4-pro":{input:1.74,output:3.48},"google/gemini-3-pro-image-preview":{input:2,output:12},"google/gemini-3.1-pro-preview":{input:2,output:12},"google/gemma-4-31b-it":{input:.13,output:.38}},"meganova-ai":{"XiaomiMiMo/MiMo-V2-Flash":{input:.1,output:.3},"MiniMaxAI/MiniMax-M2.1":{input:.28,output:1.2},"MiniMaxAI/MiniMax-M2.5":{input:.3,output:1.2},"moonshotai/Kimi-K2.5":{input:.45,output:2.8},"moonshotai/Kimi-K2-Thinking":{input:.6,output:2.6},"deepseek-ai/DeepSeek-V3.2":{input:.26,output:.38}},mixlayer:{"qwen/qwen3.5-35b-a3b":{input:.25,output:1.3},"qwen/qwen3.5-397b-a17b":{input:.6,output:3.6},"qwen/qwen3.5-9b":{input:.1,output:.4},"qwen/qwen3.5-27b":{input:.3,output:2.4},"qwen/qwen3.5-122b-a10b":{input:.4,output:3.2}},auriko:{"minimax-m2-7":{input:.3,output:1.2,cache_creation:.375},"claude-opus-4-7":{input:5,output:25,cached:.5,cache_creation:6.25},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028},"gemini-3.1-pro-preview":{input:2,output:12,cached:.2},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625},"claude-sonnet-4-6":{input:3,output:15,cached:.3,cache_creation:3.75}},qiniu:{"mimo-v2-flash":{input:.1,output:.3,cached:.01},"xiaomi/mimo-v2-flash":{input:.1,output:.3,cached:.01}},orcarouter:{"orcarouter/auto":{input:0,output:0},"openai/gpt-5.5":{input:5,output:30,cached:.5},"grok/grok-4.3":{input:1.25,output:2.5,cached:.2},"deepseek/deepseek-v4-pro":{input:.56,output:1.12,cached:.003625},"minimax/minimax-m2.7":{input:.3,output:1.2,cached:.06,cache_creation:.375}},crof:{"deepseek-v4-pro":{input:.35,output:.8,cached:.003},"deepseek-v4-pro-lightning":{input:.8,output:1.6,cached:.02},"deepseek-v4-flash":{input:.12,output:.21,cached:.003},"deepseek-v4-flash-0731":{input:.12,output:.21,cached:.003},"deepseek-v3.2":{input:.18,output:.35,cached:.04},"kimi-k2.6":{input:.5,output:1.99,cached:.05},"kimi-k2.7-code":{input:.55,output:2.25,cached:.05},"kimi-k3":{input:2,output:8,cached:.25},"kimi-k3-eco":{input:1,output:4,cached:.1},"kimi-k2.5-lightning":{input:1,output:3,cached:.2},"kimi-k2.5":{input:.35,output:1.7,cached:.07},"glm-5.1":{input:.45,output:2.15,cached:.08,cache_creation:0},"glm-5.2":{input:.5,output:2.2,cached:.08},"glm-4.7":{input:.25,output:1.1,cached:.05,cache_creation:0},"glm-4.7-flash":{input:.04,output:.3,cached:.008,cache_creation:0},"mimo-v2.5-pro":{input:.4,output:.8,cached:.003},"gemma-4-31b-it":{input:.1,output:.3,cached:.02},"minimax-m2.5":{input:.11,output:.95,cached:.02,cache_creation:.375},"qwen3.6-27b":{input:.2,output:1.5,cached:.04},"qwen3.5-397b-a17b":{input:.35,output:1.75,cached:.07},"qwen3.5-9b":{input:.04,output:.15,cached:.008}},synthetic:{"hf:openai/gpt-oss-120b":{input:.1,output:.1,cached:.1},"hf:zai-org/GLM-5.2":{input:1.4,output:4.4,cached:1.4},"hf:moonshotai/Kimi-K2.7-Code":{input:.95,output:4,cached:.95},"hf:Qwen/Qwen3.6-27B":{input:.45,output:3.6,cached:.45},"hf:MiniMaxAI/MiniMax-M3":{input:.6,output:1.2,cached:.6},"hf:zai-org/GLM-4.7-Flash":{input:.1,output:.5,cached:.1},"hf:nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4":{input:.3,output:1,cached:.3}},"kilo-gateway":{"kilo-auto/frontier":{input:5,output:25,cached:.5,cache_creation:6.25},"kilo-auto/balanced":{input:.325,output:1.95,cached:.0325,cache_creation:.40625},"kilo-auto/free":{input:0,output:0,cached:0,cache_creation:0},"nvidia/nemotron-3-super-120b-a12b:free":{input:0,output:0},"arcee-ai/trinity-large-preview:free":{input:0,output:0}},wafer:{"GLM-5.1":{input:1,output:3.2,cached:.1,cache_creation:0}},"opencode-zen":{"gemini-3-pro":{input:2,output:12,cached:.2},"claude-opus-4-7":{input:5,output:25,cached:.5,cache_creation:6.25},"glm-4.6":{input:.6,output:2.2,cached:.1},"ling-3.0-flash-free":{input:0,output:0,cached:0},"laguna-s-2.1-free":{input:0,output:0,cached:0},"nemotron-3.5-lightning-free":{input:0,output:0,cached:0}},kenari:{"claude-opus-4-7":{input:0,output:0},"nemotron-3-super-120b-a12b:free":{input:0,output:0},"glm-4-7-flash:free":{input:0,output:0},"nemotron-3-nano-30b-a3b":{input:0,output:0},"kimi-k3":{input:0,output:0},"gpt-5-6-luna":{input:0,output:0}},poolside:{"poolside/laguna-xs-2.1":{input:0,output:0,cached:0,cache_creation:0},"poolside/laguna-s-2.1":{input:0,output:0,cached:0,cache_creation:0}},baseten:{"MiniMaxAI/MiniMax-M2.5":{input:.3,output:1.2},"nvidia/Nemotron-120B-A12B":{input:.3,output:.75,cached:.06},"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B":{input:.6,output:2.4,cached:.12},"moonshotai/Kimi-K2.5":{input:.6,output:3,cached:.12},"moonshotai/Kimi-K2.7-Code":{input:.95,output:4,cached:.16},"moonshotai/Kimi-K3":{input:3,output:15}},friendliai:{"MiniMaxAI/MiniMax-M2.5":{input:.3,output:1.2,cached:.06},"google/gemma-4-31B-it":{input:.14,output:.4},"deepseek-ai/DeepSeek-V3.2":{input:.5,output:1.5,cached:.25},"zai-org/GLM-5.1":{input:1.4,output:4.4,cached:.26},"zai-org/GLM-5.2":{input:1.4,output:4.4,cached:.26}},wandb:{"MiniMaxAI/MiniMax-M3":{input:.23,output:.96,cached:.05},"MiniMaxAI/MiniMax-M2.5":{input:.3,output:1.2,cached:.3},"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B":{input:.75,output:2.75,cached:.15},"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8":{input:.2,output:.8,cached:.2},"nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B":{input:.1,output:.25,cached:.05},"google/gemma-4-31B-it":{input:.1,output:.34,cached:.1}},modelscope:{"ZhipuAI/GLM-4.5":{input:0,output:0},"ZhipuAI/GLM-4.6":{input:0,output:0},"Qwen/Qwen3-235B-A22B-Instruct-2507":{input:0,output:0},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{input:0,output:0},"Qwen/Qwen3-30B-A3B-Thinking-2507":{input:0,output:0},"Qwen/Qwen3-30B-A3B-Instruct-2507":{input:0,output:0}},digitalocean:{"openai-gpt-5.2-pro":{input:21,output:168},"openai-gpt-5.6-luna":{input:.2,output:1.2,cached:.02},"gte-large-en-v1.5":{input:.09,output:0},"anthropic-claude-4.6-sonnet":{input:3,output:15,cached:.3,cache_creation:3.75},"openai-o3":{input:2,output:8,cached:.5},"anthropic-claude-opus-5":{input:5,output:25,cached:.5,cache_creation:6.25}},routeway:{"llama-3.3-70b-instruct:free":{input:0,output:0},"nemotron-3-nano-30b-a3b:free":{input:0,output:0},"nemotron-nano-9b-v2:free":{input:0,output:0},"step-3.7-flash:free":{input:0,output:0},"step-3.5-flash:free":{input:0,output:0},"laguna-m.1:free":{input:0,output:0},"laguna-xs.2:free":{input:0,output:0},"llama-3.2-3b-instruct:free":{input:0,output:0}}},O=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"*-codex-none",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.3-*",pricing:{input:6,output:24,cached:3,reasoning:36,cache_creation:6}},{pattern:"gpt-5.2-*",pricing:{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5}},{pattern:"gpt-5.1-*",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"gpt-5-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-5*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o3",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function P(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function Q(a,b){var c;if(!b)return null;if((a=L[c=a]||c)&&N[a]?.[b])return N[a][b];let d=b.includes("/")?b.split("/").pop():b;if(M[d])return M[d];if(M[b])return M[b];for(let{pattern:a,pricing:c}of O)if(P(a,d)||P(a,b))return c;return null}function R(a,b){if(!a||!b)return 0;let c=0,d=a.prompt_tokens||a.input_tokens||0,e=a.cached_tokens||a.cache_read_input_tokens||0,f=a.cache_creation_input_tokens||0;c+=Math.max(0,d-e-f)*(b.input/1e6),e>0&&(c+=e*((b.cached||b.input)/1e6)),c+=(a.completion_tokens||a.output_tokens||0)*(b.output/1e6);let g=a.reasoning_tokens||0;return g>0&&(c+=g*((b.reasoning||b.output)/1e6)),f>0&&(c+=f*((b.cache_creation||b.input)/1e6)),c}},57202:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={handleFetch:function(){return i},interceptFetch:function(){return j},reader:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(18975),g={url:a=>a.url,header:(a,b)=>a.headers.get(b)};async function h(a,b){let{url:c,method:d,headers:e,body:f,cache:g,credentials:h,integrity:i,mode:j,redirect:k,referrer:l,referrerPolicy:m}=b;return{testData:a,api:"fetch",request:{url:c,method:d,headers:[...Array.from(e),["next-test-stack",function(){let a=(Error().stack??"").split("\n");for(let b=1;b<a.length;b++)if(a[b].length>0){a=a.slice(b);break}return(a=(a=(a=a.filter(a=>!a.includes("/next/dist/"))).slice(0,5)).map(a=>a.replace("webpack-internal:///(rsc)/","").trim())).join(" ")}()]],body:f?Buffer.from(await b.arrayBuffer()).toString("base64"):null,cache:g,credentials:h,integrity:i,mode:j,redirect:k,referrer:l,referrerPolicy:m}}}async function i(a,b){let c=(0,f.getTestReqInfo)(b,g);if(!c)return a(b);let{testData:d,proxyPort:e}=c,i=await h(d,b),j=await a(`http://localhost:${e}`,{method:"POST",body:JSON.stringify(i),next:{internal:!0}});if(!j.ok)throw Object.defineProperty(Error(`Proxy request failed: ${j.status}`),"__NEXT_ERROR_CODE",{value:"E146",enumerable:!1,configurable:!0});let k=await j.json(),{api:l}=k;switch(l){case"continue":return a(b);case"abort":case"unhandled":throw Object.defineProperty(Error(`Proxy request aborted [${b.method} ${b.url}]`),"__NEXT_ERROR_CODE",{value:"E145",enumerable:!1,configurable:!0});case"fetch":return function(a){let{status:b,headers:c,body:d}=a.response;return new Response(d?Buffer.from(d,"base64"):null,{status:b,headers:new Headers(c)})}(k);default:return l}}function j(a){return global.fetch=function(b,c){var d;return(null==c||null==(d=c.next)?void 0:d.internal)?a(b,c):i(a,new Request(b,c))},()=>{global.fetch=a}}},58486:(a,b)=>{"use strict";function c(a){switch(a){case"catchall-intercepted-(..)(..)":case"dynamic-intercepted-(..)(..)":return"(..)(..)";case"catchall-intercepted-(.)":case"dynamic-intercepted-(.)":return"(.)";case"catchall-intercepted-(..)":case"dynamic-intercepted-(..)":return"(..)";case"catchall-intercepted-(...)":case"dynamic-intercepted-(...)":return"(...)";default:return null}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"interceptionPrefixFromParamType",{enumerable:!0,get:function(){return c}})},58930:a=>{(()=>{"use strict";let b,c,d,e,f;var g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w={491:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ContextAPI=void 0;let d=c(223),e=c(172),f=c(930),g="context",h=new d.NoopContextManager;class i{static getInstance(){return this._instance||(this._instance=new i),this._instance}setGlobalContextManager(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}active(){return this._getContextManager().active()}with(a,b,c,...d){return this._getContextManager().with(a,b,c,...d)}bind(a,b){return this._getContextManager().bind(a,b)}_getContextManager(){return(0,e.getGlobal)(g)||h}disable(){this._getContextManager().disable(),(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.ContextAPI=i},930:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagAPI=void 0;let d=c(56),e=c(912),f=c(957),g=c(172);class h{constructor(){function a(a){return function(...b){let c=(0,g.getGlobal)("diag");if(c)return c[a](...b)}}const b=this;b.setLogger=(a,c={logLevel:f.DiagLogLevel.INFO})=>{var d,h,i;if(a===b){let a=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return b.error(null!=(d=a.stack)?d:a.message),!1}"number"==typeof c&&(c={logLevel:c});let j=(0,g.getGlobal)("diag"),k=(0,e.createLogLevelDiagLogger)(null!=(h=c.logLevel)?h:f.DiagLogLevel.INFO,a);if(j&&!c.suppressOverrideMessage){let a=null!=(i=Error().stack)?i:"<failed to generate stacktrace>";j.warn(`Current logger will be overwritten from ${a}`),k.warn(`Current logger will overwrite one already registered from ${a}`)}return(0,g.registerGlobal)("diag",k,b,!0)},b.disable=()=>{(0,g.unregisterGlobal)("diag",b)},b.createComponentLogger=a=>new d.DiagComponentLogger(a),b.verbose=a("verbose"),b.debug=a("debug"),b.info=a("info"),b.warn=a("warn"),b.error=a("error")}static instance(){return this._instance||(this._instance=new h),this._instance}}b.DiagAPI=h},653:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.MetricsAPI=void 0;let d=c(660),e=c(172),f=c(930),g="metrics";class h{static getInstance(){return this._instance||(this._instance=new h),this._instance}setGlobalMeterProvider(a){return(0,e.registerGlobal)(g,a,f.DiagAPI.instance())}getMeterProvider(){return(0,e.getGlobal)(g)||d.NOOP_METER_PROVIDER}getMeter(a,b,c){return this.getMeterProvider().getMeter(a,b,c)}disable(){(0,e.unregisterGlobal)(g,f.DiagAPI.instance())}}b.MetricsAPI=h},181:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.PropagationAPI=void 0;let d=c(172),e=c(874),f=c(194),g=c(277),h=c(369),i=c(930),j="propagation",k=new e.NoopTextMapPropagator;class l{constructor(){this.createBaggage=h.createBaggage,this.getBaggage=g.getBaggage,this.getActiveBaggage=g.getActiveBaggage,this.setBaggage=g.setBaggage,this.deleteBaggage=g.deleteBaggage}static getInstance(){return this._instance||(this._instance=new l),this._instance}setGlobalPropagator(a){return(0,d.registerGlobal)(j,a,i.DiagAPI.instance())}inject(a,b,c=f.defaultTextMapSetter){return this._getGlobalPropagator().inject(a,b,c)}extract(a,b,c=f.defaultTextMapGetter){return this._getGlobalPropagator().extract(a,b,c)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,d.unregisterGlobal)(j,i.DiagAPI.instance())}_getGlobalPropagator(){return(0,d.getGlobal)(j)||k}}b.PropagationAPI=l},997:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceAPI=void 0;let d=c(172),e=c(846),f=c(139),g=c(607),h=c(930),i="trace";class j{constructor(){this._proxyTracerProvider=new e.ProxyTracerProvider,this.wrapSpanContext=f.wrapSpanContext,this.isSpanContextValid=f.isSpanContextValid,this.deleteSpan=g.deleteSpan,this.getSpan=g.getSpan,this.getActiveSpan=g.getActiveSpan,this.getSpanContext=g.getSpanContext,this.setSpan=g.setSpan,this.setSpanContext=g.setSpanContext}static getInstance(){return this._instance||(this._instance=new j),this._instance}setGlobalTracerProvider(a){let b=(0,d.registerGlobal)(i,this._proxyTracerProvider,h.DiagAPI.instance());return b&&this._proxyTracerProvider.setDelegate(a),b}getTracerProvider(){return(0,d.getGlobal)(i)||this._proxyTracerProvider}getTracer(a,b){return this.getTracerProvider().getTracer(a,b)}disable(){(0,d.unregisterGlobal)(i,h.DiagAPI.instance()),this._proxyTracerProvider=new e.ProxyTracerProvider}}b.TraceAPI=j},277:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.deleteBaggage=b.setBaggage=b.getActiveBaggage=b.getBaggage=void 0;let d=c(491),e=(0,c(780).createContextKey)("OpenTelemetry Baggage Key");function f(a){return a.getValue(e)||void 0}b.getBaggage=f,b.getActiveBaggage=function(){return f(d.ContextAPI.getInstance().active())},b.setBaggage=function(a,b){return a.setValue(e,b)},b.deleteBaggage=function(a){return a.deleteValue(e)}},993:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.BaggageImpl=void 0;class c{constructor(a){this._entries=a?new Map(a):new Map}getEntry(a){let b=this._entries.get(a);if(b)return Object.assign({},b)}getAllEntries(){return Array.from(this._entries.entries()).map(([a,b])=>[a,b])}setEntry(a,b){let d=new c(this._entries);return d._entries.set(a,b),d}removeEntry(a){let b=new c(this._entries);return b._entries.delete(a),b}removeEntries(...a){let b=new c(this._entries);for(let c of a)b._entries.delete(c);return b}clear(){return new c}}b.BaggageImpl=c},830:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataSymbol=void 0,b.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")},369:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.baggageEntryMetadataFromString=b.createBaggage=void 0;let d=c(930),e=c(993),f=c(830),g=d.DiagAPI.instance();b.createBaggage=function(a={}){return new e.BaggageImpl(new Map(Object.entries(a)))},b.baggageEntryMetadataFromString=function(a){return"string"!=typeof a&&(g.error(`Cannot create baggage metadata from unknown type: ${typeof a}`),a=""),{__TYPE__:f.baggageEntryMetadataSymbol,toString:()=>a}}},67:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.context=void 0,b.context=c(491).ContextAPI.getInstance()},223:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopContextManager=void 0;let d=c(780);class e{active(){return d.ROOT_CONTEXT}with(a,b,c,...d){return b.call(c,...d)}bind(a,b){return b}enable(){return this}disable(){return this}}b.NoopContextManager=e},780:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ROOT_CONTEXT=b.createContextKey=void 0,b.createContextKey=function(a){return Symbol.for(a)};class c{constructor(a){const b=this;b._currentContext=a?new Map(a):new Map,b.getValue=a=>b._currentContext.get(a),b.setValue=(a,d)=>{let e=new c(b._currentContext);return e._currentContext.set(a,d),e},b.deleteValue=a=>{let d=new c(b._currentContext);return d._currentContext.delete(a),d}}}b.ROOT_CONTEXT=new c},506:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.diag=void 0,b.diag=c(930).DiagAPI.instance()},56:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagComponentLogger=void 0;let d=c(172);class e{constructor(a){this._namespace=a.namespace||"DiagComponentLogger"}debug(...a){return f("debug",this._namespace,a)}error(...a){return f("error",this._namespace,a)}info(...a){return f("info",this._namespace,a)}warn(...a){return f("warn",this._namespace,a)}verbose(...a){return f("verbose",this._namespace,a)}}function f(a,b,c){let e=(0,d.getGlobal)("diag");if(e)return c.unshift(b),e[a](...c)}b.DiagComponentLogger=e},972:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.DiagConsoleLogger=void 0;let c=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class d{constructor(){for(let a=0;a<c.length;a++)this[c[a].n]=function(a){return function(...b){if(console){let c=console[a];if("function"!=typeof c&&(c=console.log),"function"==typeof c)return c.apply(console,b)}}}(c[a].c)}}b.DiagConsoleLogger=d},912:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createLogLevelDiagLogger=void 0;let d=c(957);b.createLogLevelDiagLogger=function(a,b){function c(c,d){let e=b[c];return"function"==typeof e&&a>=d?e.bind(b):function(){}}return a<d.DiagLogLevel.NONE?a=d.DiagLogLevel.NONE:a>d.DiagLogLevel.ALL&&(a=d.DiagLogLevel.ALL),b=b||{},{error:c("error",d.DiagLogLevel.ERROR),warn:c("warn",d.DiagLogLevel.WARN),info:c("info",d.DiagLogLevel.INFO),debug:c("debug",d.DiagLogLevel.DEBUG),verbose:c("verbose",d.DiagLogLevel.VERBOSE)}}},957:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.DiagLogLevel=void 0,(c=b.DiagLogLevel||(b.DiagLogLevel={}))[c.NONE=0]="NONE",c[c.ERROR=30]="ERROR",c[c.WARN=50]="WARN",c[c.INFO=60]="INFO",c[c.DEBUG=70]="DEBUG",c[c.VERBOSE=80]="VERBOSE",c[c.ALL=9999]="ALL"},172:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.unregisterGlobal=b.getGlobal=b.registerGlobal=void 0;let d=c(200),e=c(521),f=c(130),g=e.VERSION.split(".")[0],h=Symbol.for(`opentelemetry.js.api.${g}`),i=d._globalThis;b.registerGlobal=function(a,b,c,d=!1){var f;let g=i[h]=null!=(f=i[h])?f:{version:e.VERSION};if(!d&&g[a]){let b=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${a}`);return c.error(b.stack||b.message),!1}if(g.version!==e.VERSION){let b=Error(`@opentelemetry/api: Registration of version v${g.version} for ${a} does not match previously registered API v${e.VERSION}`);return c.error(b.stack||b.message),!1}return g[a]=b,c.debug(`@opentelemetry/api: Registered a global for ${a} v${e.VERSION}.`),!0},b.getGlobal=function(a){var b,c;let d=null==(b=i[h])?void 0:b.version;if(d&&(0,f.isCompatible)(d))return null==(c=i[h])?void 0:c[a]},b.unregisterGlobal=function(a,b){b.debug(`@opentelemetry/api: Unregistering a global for ${a} v${e.VERSION}.`);let c=i[h];c&&delete c[a]}},130:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isCompatible=b._makeCompatibilityCheck=void 0;let d=c(521),e=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function f(a){let b=new Set([a]),c=new Set,d=a.match(e);if(!d)return()=>!1;let f={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=f.prerelease)return function(b){return b===a};function g(a){return c.add(a),!1}return function(a){if(b.has(a))return!0;if(c.has(a))return!1;let d=a.match(e);if(!d)return g(a);let h={major:+d[1],minor:+d[2],patch:+d[3],prerelease:d[4]};if(null!=h.prerelease||f.major!==h.major)return g(a);if(0===f.major)return f.minor===h.minor&&f.patch<=h.patch?(b.add(a),!0):g(a);return f.minor<=h.minor?(b.add(a),!0):g(a)}}b._makeCompatibilityCheck=f,b.isCompatible=f(d.VERSION)},886:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.metrics=void 0,b.metrics=c(653).MetricsAPI.getInstance()},901:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.ValueType=void 0,(c=b.ValueType||(b.ValueType={}))[c.INT=0]="INT",c[c.DOUBLE=1]="DOUBLE"},102:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createNoopMeter=b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=b.NOOP_OBSERVABLE_GAUGE_METRIC=b.NOOP_OBSERVABLE_COUNTER_METRIC=b.NOOP_UP_DOWN_COUNTER_METRIC=b.NOOP_HISTOGRAM_METRIC=b.NOOP_COUNTER_METRIC=b.NOOP_METER=b.NoopObservableUpDownCounterMetric=b.NoopObservableGaugeMetric=b.NoopObservableCounterMetric=b.NoopObservableMetric=b.NoopHistogramMetric=b.NoopUpDownCounterMetric=b.NoopCounterMetric=b.NoopMetric=b.NoopMeter=void 0;class c{createHistogram(a,c){return b.NOOP_HISTOGRAM_METRIC}createCounter(a,c){return b.NOOP_COUNTER_METRIC}createUpDownCounter(a,c){return b.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(a,c){return b.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(a,c){return b.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(a,c){return b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(a,b){}removeBatchObservableCallback(a){}}b.NoopMeter=c;class d{}b.NoopMetric=d;class e extends d{add(a,b){}}b.NoopCounterMetric=e;class f extends d{add(a,b){}}b.NoopUpDownCounterMetric=f;class g extends d{record(a,b){}}b.NoopHistogramMetric=g;class h{addCallback(a){}removeCallback(a){}}b.NoopObservableMetric=h;class i extends h{}b.NoopObservableCounterMetric=i;class j extends h{}b.NoopObservableGaugeMetric=j;class k extends h{}b.NoopObservableUpDownCounterMetric=k,b.NOOP_METER=new c,b.NOOP_COUNTER_METRIC=new e,b.NOOP_HISTOGRAM_METRIC=new g,b.NOOP_UP_DOWN_COUNTER_METRIC=new f,b.NOOP_OBSERVABLE_COUNTER_METRIC=new i,b.NOOP_OBSERVABLE_GAUGE_METRIC=new j,b.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new k,b.createNoopMeter=function(){return b.NOOP_METER}},660:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NOOP_METER_PROVIDER=b.NoopMeterProvider=void 0;let d=c(102);class e{getMeter(a,b,c){return d.NOOP_METER}}b.NoopMeterProvider=e,b.NOOP_METER_PROVIDER=new e},200:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(46),b)},651:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b._globalThis=void 0,b._globalThis="object"==typeof globalThis?globalThis:global},46:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c),Object.defineProperty(a,d,{enumerable:!0,get:function(){return b[c]}})}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),e(c(651),b)},939:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.propagation=void 0,b.propagation=c(181).PropagationAPI.getInstance()},874:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTextMapPropagator=void 0;class c{inject(a,b){}extract(a,b){return a}fields(){return[]}}b.NoopTextMapPropagator=c},194:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.defaultTextMapSetter=b.defaultTextMapGetter=void 0,b.defaultTextMapGetter={get(a,b){if(null!=a)return a[b]},keys:a=>null==a?[]:Object.keys(a)},b.defaultTextMapSetter={set(a,b,c){null!=a&&(a[b]=c)}}},845:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.trace=void 0,b.trace=c(997).TraceAPI.getInstance()},403:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NonRecordingSpan=void 0;let d=c(476);class e{constructor(a=d.INVALID_SPAN_CONTEXT){this._spanContext=a}spanContext(){return this._spanContext}setAttribute(a,b){return this}setAttributes(a){return this}addEvent(a,b){return this}setStatus(a){return this}updateName(a){return this}end(a){}isRecording(){return!1}recordException(a,b){}}b.NonRecordingSpan=e},614:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracer=void 0;let d=c(491),e=c(607),f=c(403),g=c(139),h=d.ContextAPI.getInstance();class i{startSpan(a,b,c=h.active()){var d;if(null==b?void 0:b.root)return new f.NonRecordingSpan;let i=c&&(0,e.getSpanContext)(c);return"object"==typeof(d=i)&&"string"==typeof d.spanId&&"string"==typeof d.traceId&&"number"==typeof d.traceFlags&&(0,g.isSpanContextValid)(i)?new f.NonRecordingSpan(i):new f.NonRecordingSpan}startActiveSpan(a,b,c,d){let f,g,i;if(arguments.length<2)return;2==arguments.length?i=b:3==arguments.length?(f=b,i=c):(f=b,g=c,i=d);let j=null!=g?g:h.active(),k=this.startSpan(a,f,j),l=(0,e.setSpan)(j,k);return h.with(l,i,void 0,k)}}b.NoopTracer=i},124:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.NoopTracerProvider=void 0;let d=c(614);class e{getTracer(a,b,c){return new d.NoopTracer}}b.NoopTracerProvider=e},125:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracer=void 0;let d=new(c(614)).NoopTracer;class e{constructor(a,b,c,d){this._provider=a,this.name=b,this.version=c,this.options=d}startSpan(a,b,c){return this._getTracer().startSpan(a,b,c)}startActiveSpan(a,b,c,d){let e=this._getTracer();return Reflect.apply(e.startActiveSpan,e,arguments)}_getTracer(){if(this._delegate)return this._delegate;let a=this._provider.getDelegateTracer(this.name,this.version,this.options);return a?(this._delegate=a,this._delegate):d}}b.ProxyTracer=e},846:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.ProxyTracerProvider=void 0;let d=c(125),e=new(c(124)).NoopTracerProvider;class f{getTracer(a,b,c){var e;return null!=(e=this.getDelegateTracer(a,b,c))?e:new d.ProxyTracer(this,a,b,c)}getDelegate(){var a;return null!=(a=this._delegate)?a:e}setDelegate(a){this._delegate=a}getDelegateTracer(a,b,c){var d;return null==(d=this._delegate)?void 0:d.getTracer(a,b,c)}}b.ProxyTracerProvider=f},996:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SamplingDecision=void 0,(c=b.SamplingDecision||(b.SamplingDecision={}))[c.NOT_RECORD=0]="NOT_RECORD",c[c.RECORD=1]="RECORD",c[c.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"},607:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getSpanContext=b.setSpanContext=b.deleteSpan=b.setSpan=b.getActiveSpan=b.getSpan=void 0;let d=c(780),e=c(403),f=c(491),g=(0,d.createContextKey)("OpenTelemetry Context Key SPAN");function h(a){return a.getValue(g)||void 0}function i(a,b){return a.setValue(g,b)}b.getSpan=h,b.getActiveSpan=function(){return h(f.ContextAPI.getInstance().active())},b.setSpan=i,b.deleteSpan=function(a){return a.deleteValue(g)},b.setSpanContext=function(a,b){return i(a,new e.NonRecordingSpan(b))},b.getSpanContext=function(a){var b;return null==(b=h(a))?void 0:b.spanContext()}},325:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.TraceStateImpl=void 0;let d=c(564);class e{constructor(a){this._internalState=new Map,a&&this._parse(a)}set(a,b){let c=this._clone();return c._internalState.has(a)&&c._internalState.delete(a),c._internalState.set(a,b),c}unset(a){let b=this._clone();return b._internalState.delete(a),b}get(a){return this._internalState.get(a)}serialize(){return this._keys().reduce((a,b)=>(a.push(b+"="+this.get(b)),a),[]).join(",")}_parse(a){!(a.length>512)&&(this._internalState=a.split(",").reverse().reduce((a,b)=>{let c=b.trim(),e=c.indexOf("=");if(-1!==e){let f=c.slice(0,e),g=c.slice(e+1,b.length);(0,d.validateKey)(f)&&(0,d.validateValue)(g)&&a.set(f,g)}return a},new Map),this._internalState.size>32&&(this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,32))))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let a=new e;return a._internalState=new Map(this._internalState),a}}b.TraceStateImpl=e},564:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.validateValue=b.validateKey=void 0;let c="[_0-9a-z-*/]",d=`[a-z]${c}{0,255}`,e=`[a-z0-9]${c}{0,240}@[a-z]${c}{0,13}`,f=RegExp(`^(?:${d}|${e})$`),g=/^[ -~]{0,255}[!-~]$/,h=/,|=/;b.validateKey=function(a){return f.test(a)},b.validateValue=function(a){return g.test(a)&&!h.test(a)}},98:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createTraceState=void 0;let d=c(325);b.createTraceState=function(a){return new d.TraceStateImpl(a)}},476:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.INVALID_SPAN_CONTEXT=b.INVALID_TRACEID=b.INVALID_SPANID=void 0;let d=c(475);b.INVALID_SPANID="0000000000000000",b.INVALID_TRACEID="00000000000000000000000000000000",b.INVALID_SPAN_CONTEXT={traceId:b.INVALID_TRACEID,spanId:b.INVALID_SPANID,traceFlags:d.TraceFlags.NONE}},357:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SpanKind=void 0,(c=b.SpanKind||(b.SpanKind={}))[c.INTERNAL=0]="INTERNAL",c[c.SERVER=1]="SERVER",c[c.CLIENT=2]="CLIENT",c[c.PRODUCER=3]="PRODUCER",c[c.CONSUMER=4]="CONSUMER"},139:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.wrapSpanContext=b.isSpanContextValid=b.isValidSpanId=b.isValidTraceId=void 0;let d=c(476),e=c(403),f=/^([0-9a-f]{32})$/i,g=/^[0-9a-f]{16}$/i;function h(a){return f.test(a)&&a!==d.INVALID_TRACEID}function i(a){return g.test(a)&&a!==d.INVALID_SPANID}b.isValidTraceId=h,b.isValidSpanId=i,b.isSpanContextValid=function(a){return h(a.traceId)&&i(a.spanId)},b.wrapSpanContext=function(a){return new e.NonRecordingSpan(a)}},847:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.SpanStatusCode=void 0,(c=b.SpanStatusCode||(b.SpanStatusCode={}))[c.UNSET=0]="UNSET",c[c.OK=1]="OK",c[c.ERROR=2]="ERROR"},475:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.TraceFlags=void 0,(c=b.TraceFlags||(b.TraceFlags={}))[c.NONE=0]="NONE",c[c.SAMPLED=1]="SAMPLED"},521:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.VERSION=void 0,b.VERSION="1.6.0"}},x={};function y(a){var b=x[a];if(void 0!==b)return b.exports;var c=x[a]={exports:{}},d=!0;try{w[a].call(c.exports,c,c.exports,y),d=!1}finally{d&&delete x[a]}return c.exports}y.ab=__dirname+"/";var z={};Object.defineProperty(z,"__esModule",{value:!0}),z.trace=z.propagation=z.metrics=z.diag=z.context=z.INVALID_SPAN_CONTEXT=z.INVALID_TRACEID=z.INVALID_SPANID=z.isValidSpanId=z.isValidTraceId=z.isSpanContextValid=z.createTraceState=z.TraceFlags=z.SpanStatusCode=z.SpanKind=z.SamplingDecision=z.ProxyTracerProvider=z.ProxyTracer=z.defaultTextMapSetter=z.defaultTextMapGetter=z.ValueType=z.createNoopMeter=z.DiagLogLevel=z.DiagConsoleLogger=z.ROOT_CONTEXT=z.createContextKey=z.baggageEntryMetadataFromString=void 0,g=y(369),Object.defineProperty(z,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return g.baggageEntryMetadataFromString}}),h=y(780),Object.defineProperty(z,"createContextKey",{enumerable:!0,get:function(){return h.createContextKey}}),Object.defineProperty(z,"ROOT_CONTEXT",{enumerable:!0,get:function(){return h.ROOT_CONTEXT}}),i=y(972),Object.defineProperty(z,"DiagConsoleLogger",{enumerable:!0,get:function(){return i.DiagConsoleLogger}}),j=y(957),Object.defineProperty(z,"DiagLogLevel",{enumerable:!0,get:function(){return j.DiagLogLevel}}),k=y(102),Object.defineProperty(z,"createNoopMeter",{enumerable:!0,get:function(){return k.createNoopMeter}}),l=y(901),Object.defineProperty(z,"ValueType",{enumerable:!0,get:function(){return l.ValueType}}),m=y(194),Object.defineProperty(z,"defaultTextMapGetter",{enumerable:!0,get:function(){return m.defaultTextMapGetter}}),Object.defineProperty(z,"defaultTextMapSetter",{enumerable:!0,get:function(){return m.defaultTextMapSetter}}),n=y(125),Object.defineProperty(z,"ProxyTracer",{enumerable:!0,get:function(){return n.ProxyTracer}}),o=y(846),Object.defineProperty(z,"ProxyTracerProvider",{enumerable:!0,get:function(){return o.ProxyTracerProvider}}),p=y(996),Object.defineProperty(z,"SamplingDecision",{enumerable:!0,get:function(){return p.SamplingDecision}}),q=y(357),Object.defineProperty(z,"SpanKind",{enumerable:!0,get:function(){return q.SpanKind}}),r=y(847),Object.defineProperty(z,"SpanStatusCode",{enumerable:!0,get:function(){return r.SpanStatusCode}}),s=y(475),Object.defineProperty(z,"TraceFlags",{enumerable:!0,get:function(){return s.TraceFlags}}),t=y(98),Object.defineProperty(z,"createTraceState",{enumerable:!0,get:function(){return t.createTraceState}}),u=y(139),Object.defineProperty(z,"isSpanContextValid",{enumerable:!0,get:function(){return u.isSpanContextValid}}),Object.defineProperty(z,"isValidTraceId",{enumerable:!0,get:function(){return u.isValidTraceId}}),Object.defineProperty(z,"isValidSpanId",{enumerable:!0,get:function(){return u.isValidSpanId}}),v=y(476),Object.defineProperty(z,"INVALID_SPANID",{enumerable:!0,get:function(){return v.INVALID_SPANID}}),Object.defineProperty(z,"INVALID_TRACEID",{enumerable:!0,get:function(){return v.INVALID_TRACEID}}),Object.defineProperty(z,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return v.INVALID_SPAN_CONTEXT}}),b=y(67),Object.defineProperty(z,"context",{enumerable:!0,get:function(){return b.context}}),c=y(506),Object.defineProperty(z,"diag",{enumerable:!0,get:function(){return c.diag}}),d=y(886),Object.defineProperty(z,"metrics",{enumerable:!0,get:function(){return d.metrics}}),e=y(939),Object.defineProperty(z,"propagation",{enumerable:!0,get:function(){return e.propagation}}),f=y(845),Object.defineProperty(z,"trace",{enumerable:!0,get:function(){return f.trace}}),z.default={context:b.context,diag:c.diag,metrics:d.metrics,propagation:e.propagation,trace:f.trace},a.exports=z})()},59339:(a,b,c)=>{"use strict";c.d(b,{c:()=>k});var d=c(7841);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let e=global._dbAdapter;async function f(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(698).then(c.bind(c,90698));return await a(d.AL)}catch(a){return console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function g(){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(507).then(c.bind(c,90507));return a(d.AL)}catch(a){return console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function h(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(7965).then(c.bind(c,57965));return await a(d.AL)}catch(a){return console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function i(){try{let{createSqlJsAdapter:a}=await c.e(4780).then(c.bind(c,34780));return await a(d.AL)}catch(a){return console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function j(){(0,d.Jh)();let a=await f();if(a||(a=await g()),a||(a=await h()),a||(a=await i()),!a)throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)");e.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${d.AL}`),e.logged=!0);let{runMigrationOnce:b}=await c.e(422).then(c.bind(c,60422));return await b(a),a}async function k(){return e.instance?e.instance:(e.initPromise||(e.initPromise=j().then(a=>(e.instance=a,a))),e.initPromise)}},59841:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DetachedPromise",{enumerable:!0,get:function(){return c}});class c{constructor(){let a,b;this.promise=new Promise((c,d)=>{a=c,b=d}),this.resolve=a,this.reject=b}}},61544:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={NEXT_REQUEST_META:function(){return e},addRequestMeta:function(){return h},getRequestMeta:function(){return f},removeRequestMeta:function(){return i},setRequestMeta:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=Symbol.for("NextInternalRequestMeta");function f(a,b){let c=a[e]||{};return"string"==typeof b?c[b]:c}function g(a,b){return a[e]=b,b}function h(a,b,c){let d=f(a);return d[b]=c,g(a,d)}function i(a,b){let c=f(a);return delete c[b],g(a,c)}},61595:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createWorkStore",{enumerable:!0,get:function(){return i}});let d=c(85292),e=c(92539),f=c(31147),g=c(57155),h=c(89218);function i({page:a,renderOpts:b,isPrefetchRequest:c,buildId:j,deploymentId:k,previouslyRevalidatedTags:l,nonce:m}){let n=!b.shouldWaitOnAllReady&&!b.supportsDynamicResponse&&!b.isDraftMode&&!b.isPossibleServerAction,o=n&&(!!process.env.NEXT_DEBUG_BUILD||"1"===process.env.NEXT_SSG_FETCH_METRICS),p={isStaticGeneration:n,page:a,route:(0,e.normalizeAppPath)(a),incrementalCache:b.incrementalCache||globalThis.__incrementalCache,cacheLifeProfiles:b.cacheLifeProfiles,isBuildTimePrerendering:b.isBuildTimePrerendering,fetchCache:b.fetchCache,isOnDemandRevalidate:b.isOnDemandRevalidate,isDraftMode:b.isDraftMode,isPrefetchRequest:c,buildId:j,deploymentId:k,reactLoadableManifest:(null==b?void 0:b.reactLoadableManifest)||{},assetPrefix:(null==b?void 0:b.assetPrefix)||"",nonce:m,afterContext:function(a){let{waitUntil:b,onClose:c,onAfterTaskError:e}=a;return new d.AfterContext({waitUntil:b,onClose:c,onTaskError:e})}(b),cacheComponentsEnabled:b.cacheComponents,previouslyRevalidatedTags:l,refreshTagsByCacheKind:function(){let a=new Map,b=(0,g.getCacheHandlerEntries)();if(b)for(let[c,d]of b)"refreshTags"in d&&a.set(c,(0,f.createLazyResult)(async()=>d.refreshTags()));return a}(),runInCleanSnapshot:(0,h.createSnapshot)(),shouldTrackFetchMetrics:o,reactServerErrorsByDigest:new Map};return b.store=p,p}},61873:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PARAM_SEPARATOR:function(){return e},hasAdjacentParameterIssues:function(){return f},normalizeAdjacentParameters:function(){return g},normalizeTokensForRegexp:function(){return h},stripNormalizedSeparators:function(){return i},stripParameterSeparators:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="_NEXTSEP_";function f(a){return"string"==typeof a&&!!(/\/\(\.{1,3}\):[^/\s]+/.test(a)||/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(a))}function g(a){let b=a;return(b=b.replace(/(\([^)]*\)):([^/\s]+)/g,`$1${e}:$2`)).replace(/:([^:/\s)]+)(?=:)/g,`:$1${e}`)}function h(a){return a.map(a=>"object"==typeof a&&null!==a&&"modifier"in a&&("*"===a.modifier||"+"===a.modifier)&&"prefix"in a&&"suffix"in a&&""===a.prefix&&""===a.suffix?{...a,prefix:"/"}:a)}function i(a){return a.replace(RegExp(`\\)${e}`,"g"),")")}function j(a){let b={};for(let[c,d]of Object.entries(a))"string"==typeof d?b[c]=d.replace(RegExp(`^${e}`),""):Array.isArray(d)?b[c]=d.map(a=>"string"==typeof a?a.replace(RegExp(`^${e}`),""):a):b[c]=d;return b}},62192:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_HEADER:function(){return f},FLIGHT_HEADERS:function(){return p},NEXT_ACTION_NOT_FOUND_HEADER:function(){return w},NEXT_ACTION_REVALIDATED_HEADER:function(){return z},NEXT_DID_POSTPONE_HEADER:function(){return s},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return k},NEXT_HMR_REFRESH_HEADER:function(){return j},NEXT_HTML_REQUEST_ID_HEADER:function(){return y},NEXT_INSTANT_PREFETCH_HEADER:function(){return n},NEXT_INSTANT_TEST_COOKIE:function(){return o},NEXT_IS_PRERENDER_HEADER:function(){return v},NEXT_REQUEST_ID_HEADER:function(){return x},NEXT_REWRITTEN_PATH_HEADER:function(){return t},NEXT_REWRITTEN_QUERY_HEADER:function(){return u},NEXT_ROUTER_PREFETCH_HEADER:function(){return h},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return i},NEXT_ROUTER_STALE_TIME_HEADER:function(){return r},NEXT_ROUTER_STATE_TREE_HEADER:function(){return g},NEXT_RSC_UNION_QUERY:function(){return q},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return m},RSC_HEADER:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="rsc",f="next-action",g="next-router-state-tree",h="next-router-prefetch",i="next-router-segment-prefetch",j="next-hmr-refresh",k="__next_hmr_refresh_hash__",l="next-url",m="text/x-component",n="next-instant-navigation-testing-prefetch",o="next-instant-navigation-testing",p=[e,g,h,j,i],q="_rsc",r="x-nextjs-stale-time",s="x-nextjs-postponed",t="x-nextjs-rewritten-path",u="x-nextjs-rewritten-query",v="x-nextjs-prerender",w="x-nextjs-action-not-found",x="x-nextjs-request-id",y="x-nextjs-html-request-id",z="x-action-revalidated";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},62447:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRouteMatcher",{enumerable:!0,get:function(){return f}});let d=c(80670),e=c(20742);function f({re:a,groups:b}){return(0,e.safeRouteMatcher)(c=>{let e=a.exec(c);if(!e)return!1;let f=a=>{try{return decodeURIComponent(a)}catch{throw Object.defineProperty(new d.DecodeError("failed to decode param"),"__NEXT_ERROR_CODE",{value:"E528",enumerable:!1,configurable:!0})}},g={};for(let[a,c]of Object.entries(b)){let b=e[c.pos];void 0!==b&&(c.repeat?g[a]=b.split("/").map(a=>f(a)):g[a]=f(b))}return g})}},62929:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return d}});var c,d=((c={}).PAGES="PAGES",c.PAGES_API="PAGES_API",c.APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.IMAGE="IMAGE",c)},62940:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ImageResponse:function(){return f.ImageResponse},NextRequest:function(){return g.NextRequest},NextResponse:function(){return h.NextResponse},URLPattern:function(){return j.URLPattern},after:function(){return k.after},connection:function(){return l.connection},userAgent:function(){return i.userAgent},userAgentFromString:function(){return i.userAgentFromString}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42501),g=c(84573),h=c(17385),i=c(97645),j=c(34196),k=c(3144),l=c(19293)},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63891:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={createLocalRequestContext:function(){return i},getBuiltinRequestContext:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(89218);function g(){let a=globalThis[h];return null==a?void 0:a.get()}let h=Symbol.for("@next/request-context");function i(){let a=(0,f.createAsyncLocalStorage)();return{get:()=>a.getStore(),run:(b,c)=>a.run(b,c)}}},64718:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getRelativeURL:function(){return f},parseRelativeURL:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){let c="string"==typeof b?new URL(b):b,d=new URL(a,b),e=d.origin===c.origin;return{url:e?d.toString().slice(c.origin.length):d.toString(),isRelative:e}}function f(a,b){return e(a,b).url}},67205:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={executeRevalidates:function(){return j},withExecuteRevalidates:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(57155);async function g(a,b){if(!a)return b();let c=h(a);try{return await b()}finally{var d,e;let b,f,g=(d=c,e=h(a),b=new Set(d.pendingRevalidatedTags.map(a=>{let b="object"==typeof a.profile?JSON.stringify(a.profile):a.profile||"";return`${a.tag}:${b}`})),f=new Set(d.pendingRevalidateWrites),{pendingRevalidatedTags:e.pendingRevalidatedTags.filter(a=>{let c="object"==typeof a.profile?JSON.stringify(a.profile):a.profile||"";return!b.has(`${a.tag}:${c}`)}),pendingRevalidates:Object.fromEntries(Object.entries(e.pendingRevalidates).filter(([a])=>!(a in d.pendingRevalidates))),pendingRevalidateWrites:e.pendingRevalidateWrites.filter(a=>!f.has(a))});await j(a,g)}}function h(a){return{pendingRevalidatedTags:a.pendingRevalidatedTags?[...a.pendingRevalidatedTags]:[],pendingRevalidates:{...a.pendingRevalidates},pendingRevalidateWrites:a.pendingRevalidateWrites?[...a.pendingRevalidateWrites]:[]}}async function i(a,b,c){if(0===a.length)return;let d=(0,f.getCacheHandlers)(),e=[],g=new Map;for(let b of a){let a,c=b.profile;for(let[b]of g)if("string"==typeof b&&"string"==typeof c&&b===c||"object"==typeof b&&"object"==typeof c&&JSON.stringify(b)===JSON.stringify(c)||b===c){a=b;break}let d=a||c;g.has(d)||g.set(d,[]),g.get(d).push(b.tag)}for(let[a,f]of g){let g;if(a){let b;if("object"==typeof a)b=a;else if("string"==typeof a){var h;if(!(b=null==c||null==(h=c.cacheLifeProfiles)?void 0:h[a]))throw Object.defineProperty(Error(`Invalid profile provided "${a}" must be configured under cacheLife in next.config or be "max"`),"__NEXT_ERROR_CODE",{value:"E873",enumerable:!1,configurable:!0})}b&&(g={expire:b.expire})}for(let b of d||[])a?e.push(null==b.updateTags?void 0:b.updateTags.call(b,f,g)):e.push(null==b.updateTags?void 0:b.updateTags.call(b,f));b&&e.push(b.revalidateTag(f,g))}await Promise.all(e)}function j(a,b){let c=[],d=(null==b?void 0:b.pendingRevalidatedTags)??a.pendingRevalidatedTags??[];return d.length>0&&c.push(i(d,a.incrementalCache,a)),c.push(...Object.values((null==b?void 0:b.pendingRevalidates)??a.pendingRevalidates??{})),c.push(...(null==b?void 0:b.pendingRevalidateWrites)??a.pendingRevalidateWrites??[]),0!==c.length&&Promise.all(c).then(()=>void 0)}},67301:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return`${b}${c}${e}${f}`}},67751:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"encodeCacheTag",{enumerable:!0,get:function(){return e}});let c=/[^\t\x20-\x7e]/,d=/[^\t\x20-\x7e]+/g;function e(a){return c.test(a)?a.replace(d,a=>encodeURIComponent(a)):a}},68047:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseRelativeUrl",{enumerable:!0,get:function(){return e}}),c(80670);let d=c(68202);function e(a,b,c=!0){let f=new URL("http://n"),g=b?new URL(b,f):a.startsWith(".")?new URL("http://n"):f,{pathname:h,searchParams:i,search:j,hash:k,href:l,origin:m}=a.startsWith("/")?new URL(`${g.protocol}//${g.host}${a}`):new URL(a,g);if(m!==f.origin)throw Object.defineProperty(Error(`invariant: invalid relative URL, router received ${a}`),"__NEXT_ERROR_CODE",{value:"E159",enumerable:!1,configurable:!0});return{auth:null,host:null,hostname:null,pathname:h,port:null,protocol:null,query:c?(0,d.searchParamsToUrlQuery)(i):void 0,search:j,hash:k,href:l.slice(m.length),slashes:null}}},68202:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={assign:function(){return h},searchParamsToUrlQuery:function(){return e},urlQueryToSearchParams:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b={};for(let[c,d]of a.entries()){let a=b[c];void 0===a?b[c]=d:Array.isArray(a)?a.push(d):b[c]=[a,d]}return b}function f(a){return"string"==typeof a?a:("number"!=typeof a||isNaN(a))&&"boolean"!=typeof a?"":String(a)}function g(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.append(c,f(a));else b.set(c,f(d));return b}function h(a,...b){for(let c of b){for(let b of c.keys())a.delete(b);for(let[b,d]of c.entries())a.append(b,d)}return a}},68802:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PageSignatureError:function(){return e},RemovedPageError:function(){return f},RemovedUAError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e extends Error{constructor({page:a}){super(`The middleware "${a}" accepts an async API directly with the form:
18
18
 
19
19
  export function middleware(request, event) {
20
20
  return NextResponse.redirect('/new-location')
21
21
  }
22
22
 
23
23
  Read more: https://nextjs.org/docs/messages/middleware-new-signature
24
- `)}}class f extends Error{constructor(){super("The request.page has been deprecated in favour of `URLPattern`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n ")}}class g extends Error{constructor(){super("The request.ua has been removed in favour of `userAgent` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n ")}}},69545:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={BailoutToCSRError:function(){return f},isBailoutToCSRError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="BAILOUT_TO_CLIENT_SIDE_RENDERING";class f extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===e}},69687:(a,b)=>{"use strict";function c(a,b){let c;if(b?.host&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},70580:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return o},getRouteRegex:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(96100),g=c(11042),h=c(73896),i=c(19524),j=c(31385);function k(a,b,c){let d={},e=1,f=[];for(let k of(0,i.removeTrailingSlash)(a).slice(1).split("/")){let a=g.INTERCEPTION_ROUTE_MARKERS.find(a=>k.startsWith(a)),i=k.match(j.PARAMETER_PATTERN);if(a&&i&&i[2]){let{key:b,optional:c,repeat:g}=(0,j.parseMatchedParameter)(i[2]);d[b]={pos:e++,repeat:g,optional:c},f.push(`/${(0,h.escapeStringRegexp)(a)}([^/]+?)`)}else if(i&&i[2]){let{key:a,repeat:b,optional:g}=(0,j.parseMatchedParameter)(i[2]);d[a]={pos:e++,repeat:b,optional:g},c&&i[1]&&f.push(`/${(0,h.escapeStringRegexp)(i[1])}`);let k=b?g?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)";c&&i[1]&&(k=k.substring(1)),f.push(k)}else f.push(`/${(0,h.escapeStringRegexp)(k)}`);b&&i&&i[3]&&f.push((0,h.escapeStringRegexp)(i[3]))}return{parameterizedRoute:f.join(""),groups:d}}function l(a,{includeSuffix:b=!1,includePrefix:c=!1,excludeOptionalTrailingSlash:d=!1}={}){let{parameterizedRoute:e,groups:f}=k(a,b,c),g=e;return d||(g+="(?:/)?"),{re:RegExp(`^${g}$`),groups:f}}function m({interceptionMarker:a,getSafeRouteKey:b,segment:c,routeKeys:d,keyPrefix:e,backreferenceDuplicateKeys:f}){let g,{key:i,optional:k,repeat:l}=(0,j.parseMatchedParameter)(c),n=i.replace(/\W/g,"");e&&(n=`${e}${n}`);let o=!1;(0===n.length||n.length>30)&&(o=!0),isNaN(parseInt(n.slice(0,1)))||(o=!0),o&&(n=b());let p=n in d;e?d[n]=`${e}${i}`:d[n]=i;let q=a?(0,h.escapeStringRegexp)(a):"";return g=p&&f?`\\k<${n}>`:l?`(?<${n}>.+?)`:`(?<${n}>[^/]+?)`,{key:i,pattern:k?`(?:/${q}${g})?`:`/${q}${g}`,cleanedKey:n,optional:k,repeat:l}}function n(a,b,c,d,e,k={names:{},intercepted:{}}){let l,o=(l=0,()=>{let a="",b=++l;for(;b>0;)a+=String.fromCharCode(97+(b-1)%26),b=Math.floor((b-1)/26);return a}),p={},q=[],r=[];for(let l of(k=structuredClone(k),(0,i.removeTrailingSlash)(a).slice(1).split("/"))){let a,i=g.INTERCEPTION_ROUTE_MARKERS.some(a=>l.startsWith(a)),n=l.match(j.PARAMETER_PATTERN),s=i?n?.[1]:void 0;if(s&&n?.[2]?(a=b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0,k.intercepted[n[2]]=s):a=n?.[2]&&k.intercepted[n[2]]?b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0:b?f.NEXT_QUERY_PARAM_PREFIX:void 0,s&&n&&n[2]){let{key:b,pattern:c,cleanedKey:d,repeat:f,optional:g}=m({getSafeRouteKey:o,interceptionMarker:s,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e});q.push(c),r.push(`/${n[1]}:${k.names[b]??d}${f?g?"*":"+":""}`),k.names[b]??=d}else if(n&&n[2]){d&&n[1]&&(q.push(`/${(0,h.escapeStringRegexp)(n[1])}`),r.push(`/${n[1]}`));let{key:b,pattern:c,cleanedKey:f,repeat:g,optional:i}=m({getSafeRouteKey:o,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e}),j=c;d&&n[1]&&(j=j.substring(1)),q.push(j),r.push(`/:${k.names[b]??f}${g?i?"*":"+":""}`),k.names[b]??=f}else q.push(`/${(0,h.escapeStringRegexp)(l)}`),r.push(`/${l}`);c&&n&&n[3]&&(q.push((0,h.escapeStringRegexp)(n[3])),r.push(n[3]))}return{namedParameterizedRoute:q.join(""),routeKeys:p,pathToRegexpPattern:r.join(""),reference:k}}function o(a,b){let c=n(a,b.prefixRouteKeys,b.includeSuffix??!1,b.includePrefix??!1,b.backreferenceDuplicateKeys??!1,b.reference),d=c.namedParameterizedRoute;return b.excludeOptionalTrailingSlash||(d+="(?:/)?"),{...l(a,b),namedRegex:`^${d}$`,routeKeys:c.routeKeys,pathToRegexpPattern:c.pathToRegexpPattern,reference:c.reference}}function p(a,b){let{parameterizedRoute:c}=k(a,!1,!1),{catchAll:d=!0}=b;if("/"===c)return{namedRegex:`^/${d?".*":""}$`};let{namedParameterizedRoute:e}=n(a,!1,!1,!1,!1,void 0);return{namedRegex:`^${e}${d?"(?:(/.*)?)":""}$`}}},71185:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseLoaderTree",{enumerable:!0,get:function(){return e}});let d=c(53610);function e(a){let[b,c,e,f]=a,{layout:g,template:h}=e,{page:i}=e;i=b===d.DEFAULT_SEGMENT_KEY?e.defaultPage:i;let j=g?.[1]||h?.[1]||i?.[1];return{page:i,segment:b,modules:e,conventionPath:j,parallelRoutes:c,staticSiblings:f}}},71509:(a,b,c)=>{"use strict";c.d(b,{U:()=>f});var d=c(59339),e=c(33323);function f(a){return{async get(b,c=null){let f=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.c)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},72029:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={CloseController:function(){return g},trackBodyConsumed:function(){return e},trackStreamConsumed:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){return"string"==typeof a?async function*(){let c=new TextEncoder;yield c.encode(a),b()}():f(a,b)}function f(a,b){let c=new TransformStream,d=()=>b();return a.pipeTo(c.writable).then(d,d),c.readable}class g{onClose(a){if(this.isClosed)throw Object.defineProperty(Error("Cannot subscribe to a closed CloseController"),"__NEXT_ERROR_CODE",{value:"E365",enumerable:!1,configurable:!0});this.target.addEventListener("close",a),this.listeners++}dispatchClose(){if(this.isClosed)throw Object.defineProperty(Error("Cannot close a CloseController multiple times"),"__NEXT_ERROR_CODE",{value:"E229",enumerable:!1,configurable:!0});this.listeners>0&&this.target.dispatchEvent(new Event("close")),this.isClosed=!0}constructor(){this.target=new EventTarget,this.listeners=0,this.isClosed=!1}}},72106:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isRequestAPICallableInsideAfter:function(){return j},throwForSearchParamsAccessInUseCache:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(49540),g=c(3295);function h(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function i(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function j(){let a=g.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},72394:(a,b,c)=>{"use strict";var d,e;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return p}});let f=c(77714),g=c(9913),h=c(15e3),i=c(28704),j=c(72949);function k(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}d=c(98345),e=b,Object.keys(d).forEach(function(a){"default"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return d[a]}})});let l=k(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),m=k(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),n="__ttl_sentinel__";function o(a,b){return`${a}\0${b??n}`}class p{constructor(a,b=m,c=l){this.getBatcher=f.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:i.scheduleOnNextTick}),this.revalidateBatcher=f.Batcher.create({schedulerFn:i.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new g.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===n?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=o(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,j.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,j.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,h.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:f=!1,isRoutePPREnabled:g=!1,isPrefetch:i=!1,waitUntil:k,routeKind:l,invocationID:m}=c,n=await this.getBatcher.batch({key:a,isOnDemandRevalidate:e},({resolve:c})=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:f,isRoutePPREnabled:g,isPrefetch:i,routeKind:l,invocationID:m},c);return k&&k(h),h});return(0,j.toResponseCacheEntry)(n)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,j.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=o(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,h){try{let i=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!i)return null;let k=await (0,j.fromResponseCacheEntry)({...i,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=o(a,h);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},72949:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={fromResponseCacheEntry:function(){return k},routeKindToIncrementalCacheKind:function(){return m},toResponseCacheEntry:function(){return l}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(98345),h=(d=c(7125))&&d.__esModule?d:{default:d},i=c(62929),j=c(96100);async function k(a){var b,c;return{...a,value:(null==(b=a.value)?void 0:b.kind)===g.CachedRouteKind.PAGES?{kind:g.CachedRouteKind.PAGES,html:await a.value.html.toUnchunkedString(!0),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===g.CachedRouteKind.APP_PAGE?{kind:g.CachedRouteKind.APP_PAGE,html:await a.value.html.toUnchunkedString(!0),postponed:a.value.postponed,rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,segmentData:a.value.segmentData}:a.value}}async function l(a){var b,c;return a?{isMiss:a.isMiss,isStale:a.isStale,cacheControl:a.cacheControl,isFallback:a.isFallback,value:(null==(b=a.value)?void 0:b.kind)===g.CachedRouteKind.PAGES?{kind:g.CachedRouteKind.PAGES,html:h.default.fromStatic(a.value.html,j.HTML_CONTENT_TYPE_HEADER),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===g.CachedRouteKind.APP_PAGE?{kind:g.CachedRouteKind.APP_PAGE,html:h.default.fromStatic(a.value.html,j.HTML_CONTENT_TYPE_HEADER),rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,postponed:a.value.postponed,segmentData:a.value.segmentData}:a.value}:null}function m(a){switch(a){case i.RouteKind.PAGES:return g.IncrementalCacheKind.PAGES;case i.RouteKind.APP_PAGE:return g.IncrementalCacheKind.APP_PAGE;case i.RouteKind.IMAGE:return g.IncrementalCacheKind.IMAGE;case i.RouteKind.APP_ROUTE:return g.IncrementalCacheKind.APP_ROUTE;case i.RouteKind.PAGES_API:throw Object.defineProperty(Error(`Unexpected route kind ${a}`),"__NEXT_ERROR_CODE",{value:"E64",enumerable:!1,configurable:!0});default:return a}}},73024:a=>{"use strict";a.exports=require("node:fs")},73346:(a,b,c)=>{var d,e={226:function(e,f){!function(g){"use strict";var h="function",i="undefined",j="object",k="string",l="major",m="model",n="name",o="type",p="vendor",q="version",r="architecture",s="console",t="mobile",u="tablet",v="smarttv",w="wearable",x="embedded",y="Amazon",z="Apple",A="ASUS",B="BlackBerry",C="Browser",D="Chrome",E="Firefox",F="Google",G="Huawei",H="Microsoft",I="Motorola",J="Opera",K="Samsung",L="Sharp",M="Sony",N="Xiaomi",O="Zebra",P="Facebook",Q="Chromium OS",R="Mac OS",S=function(a,b){var c={};for(var d in a)b[d]&&b[d].length%2==0?c[d]=b[d].concat(a[d]):c[d]=a[d];return c},T=function(a){for(var b={},c=0;c<a.length;c++)b[a[c].toUpperCase()]=a[c];return b},U=function(a,b){return typeof a===k&&-1!==V(b).indexOf(V(a))},V=function(a){return a.toLowerCase()},W=function(a,b){if(typeof a===k)return a=a.replace(/^\s\s*/,""),typeof b===i?a:a.substring(0,350)},X=function(a,b){for(var c,d,e,f,g,i,k=0;k<b.length&&!g;){var l=b[k],m=b[k+1];for(c=d=0;c<l.length&&!g&&l[c];)if(g=l[c++].exec(a))for(e=0;e<m.length;e++)i=g[++d],typeof(f=m[e])===j&&f.length>0?2===f.length?typeof f[1]==h?this[f[0]]=f[1].call(this,i):this[f[0]]=f[1]:3===f.length?typeof f[1]!==h||f[1].exec&&f[1].test?this[f[0]]=i?i.replace(f[1],f[2]):void 0:this[f[0]]=i?f[1].call(this,i,f[2]):void 0:4===f.length&&(this[f[0]]=i?f[3].call(this,i.replace(f[1],f[2])):void 0):this[f]=i||void 0;k+=2}},Y=function(a,b){for(var c in b)if(typeof b[c]===j&&b[c].length>0){for(var d=0;d<b[c].length;d++)if(U(b[c][d],a))return"?"===c?void 0:c}else if(U(b[c],a))return"?"===c?void 0:c;return a},Z={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},$={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[q,[n,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[q,[n,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[n,q],[/opios[\/ ]+([\w\.]+)/i],[q,[n,J+" Mini"]],[/\bopr\/([\w\.]+)/i],[q,[n,J]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[n,q],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[q,[n,"UC"+C]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[q,[n,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[q,[n,"WeChat"]],[/konqueror\/([\w\.]+)/i],[q,[n,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[q,[n,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[q,[n,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[n,/(.+)/,"$1 Secure "+C],q],[/\bfocus\/([\w\.]+)/i],[q,[n,E+" Focus"]],[/\bopt\/([\w\.]+)/i],[q,[n,J+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[q,[n,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[q,[n,"Dolphin"]],[/coast\/([\w\.]+)/i],[q,[n,J+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[q,[n,"MIUI "+C]],[/fxios\/([-\w\.]+)/i],[q,[n,E]],[/\bqihu|(qi?ho?o?|360)browser/i],[[n,"360 "+C]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[n,/(.+)/,"$1 "+C],q],[/(comodo_dragon)\/([\w\.]+)/i],[[n,/_/g," "],q],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[n,q],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[n],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[n,P],q],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[n,q],[/\bgsa\/([\w\.]+) .*safari\//i],[q,[n,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[q,[n,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[q,[n,D+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[n,D+" WebView"],q],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[q,[n,"Android "+C]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[n,q],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[q,[n,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[q,n],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[n,[q,Y,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[n,q],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[n,"Netscape"],q],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[q,[n,E+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[n,q],[/(cobalt)\/([\w\.]+)/i],[n,[q,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[r,"amd64"]],[/(ia32(?=;))/i],[[r,V]],[/((?:i[346]|x)86)[;\)]/i],[[r,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[r,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[r,"armhf"]],[/windows (ce|mobile); ppc;/i],[[r,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[r,/ower/,"",V]],[/(sun4\w)[;\)]/i],[[r,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[r,V]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[m,[p,K],[o,u]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[m,[p,K],[o,t]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[m,[p,z],[o,t]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[m,[p,z],[o,u]],[/(macintosh);/i],[m,[p,z]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[m,[p,L],[o,t]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[m,[p,G],[o,u]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[m,[p,G],[o,t]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[m,/_/g," "],[p,N],[o,t]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[m,/_/g," "],[p,N],[o,u]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[m,[p,"OPPO"],[o,t]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[m,[p,"Vivo"],[o,t]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[m,[p,"Realme"],[o,t]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[m,[p,I],[o,t]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[m,[p,I],[o,u]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[m,[p,"LG"],[o,u]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[m,[p,"LG"],[o,t]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[m,[p,"Lenovo"],[o,u]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[m,/_/g," "],[p,"Nokia"],[o,t]],[/(pixel c)\b/i],[m,[p,F],[o,u]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[m,[p,F],[o,t]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[m,[p,M],[o,t]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[m,"Xperia Tablet"],[p,M],[o,u]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[m,[p,"OnePlus"],[o,t]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[m,[p,y],[o,u]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[m,/(.+)/g,"Fire Phone $1"],[p,y],[o,t]],[/(playbook);[-\w\),; ]+(rim)/i],[m,p,[o,u]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[m,[p,B],[o,t]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[m,[p,A],[o,u]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[m,[p,A],[o,t]],[/(nexus 9)/i],[m,[p,"HTC"],[o,u]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[p,[m,/_/g," "],[o,t]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[m,[p,"Acer"],[o,u]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[m,[p,"Meizu"],[o,t]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[p,m,[o,t]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[p,m,[o,u]],[/(surface duo)/i],[m,[p,H],[o,u]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[m,[p,"Fairphone"],[o,t]],[/(u304aa)/i],[m,[p,"AT&T"],[o,t]],[/\bsie-(\w*)/i],[m,[p,"Siemens"],[o,t]],[/\b(rct\w+) b/i],[m,[p,"RCA"],[o,u]],[/\b(venue[\d ]{2,7}) b/i],[m,[p,"Dell"],[o,u]],[/\b(q(?:mv|ta)\w+) b/i],[m,[p,"Verizon"],[o,u]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[m,[p,"Barnes & Noble"],[o,u]],[/\b(tm\d{3}\w+) b/i],[m,[p,"NuVision"],[o,u]],[/\b(k88) b/i],[m,[p,"ZTE"],[o,u]],[/\b(nx\d{3}j) b/i],[m,[p,"ZTE"],[o,t]],[/\b(gen\d{3}) b.+49h/i],[m,[p,"Swiss"],[o,t]],[/\b(zur\d{3}) b/i],[m,[p,"Swiss"],[o,u]],[/\b((zeki)?tb.*\b) b/i],[m,[p,"Zeki"],[o,u]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[p,"Dragon Touch"],m,[o,u]],[/\b(ns-?\w{0,9}) b/i],[m,[p,"Insignia"],[o,u]],[/\b((nxa|next)-?\w{0,9}) b/i],[m,[p,"NextBook"],[o,u]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[p,"Voice"],m,[o,t]],[/\b(lvtel\-)?(v1[12]) b/i],[[p,"LvTel"],m,[o,t]],[/\b(ph-1) /i],[m,[p,"Essential"],[o,t]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[m,[p,"Envizen"],[o,u]],[/\b(trio[-\w\. ]+) b/i],[m,[p,"MachSpeed"],[o,u]],[/\btu_(1491) b/i],[m,[p,"Rotor"],[o,u]],[/(shield[\w ]+) b/i],[m,[p,"Nvidia"],[o,u]],[/(sprint) (\w+)/i],[p,m,[o,t]],[/(kin\.[onetw]{3})/i],[[m,/\./g," "],[p,H],[o,t]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[m,[p,O],[o,u]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[m,[p,O],[o,t]],[/smart-tv.+(samsung)/i],[p,[o,v]],[/hbbtv.+maple;(\d+)/i],[[m,/^/,"SmartTV"],[p,K],[o,v]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[p,"LG"],[o,v]],[/(apple) ?tv/i],[p,[m,z+" TV"],[o,v]],[/crkey/i],[[m,D+"cast"],[p,F],[o,v]],[/droid.+aft(\w)( bui|\))/i],[m,[p,y],[o,v]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[m,[p,L],[o,v]],[/(bravia[\w ]+)( bui|\))/i],[m,[p,M],[o,v]],[/(mitv-\w{5}) bui/i],[m,[p,N],[o,v]],[/Hbbtv.*(technisat) (.*);/i],[p,m,[o,v]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[p,W],[m,W],[o,v]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[o,v]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[p,m,[o,s]],[/droid.+; (shield) bui/i],[m,[p,"Nvidia"],[o,s]],[/(playstation [345portablevi]+)/i],[m,[p,M],[o,s]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[m,[p,H],[o,s]],[/((pebble))app/i],[p,m,[o,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[m,[p,z],[o,w]],[/droid.+; (glass) \d/i],[m,[p,F],[o,w]],[/droid.+; (wt63?0{2,3})\)/i],[m,[p,O],[o,w]],[/(quest( 2| pro)?)/i],[m,[p,P],[o,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[p,[o,x]],[/(aeobc)\b/i],[m,[p,y],[o,x]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[m,[o,t]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[m,[o,u]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[o,u]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[o,t]],[/(android[-\w\. ]{0,9});.+buil/i],[m,[p,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[q,[n,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[q,[n,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[n,q],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[q,n]],os:[[/microsoft (windows) (vista|xp)/i],[n,q],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[n,[q,Y,Z]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[n,"Windows"],[q,Y,Z]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/ios;fbsv\/([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[q,/_/g,"."],[n,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[n,R],[q,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[q,n],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[n,q],[/\(bb(10);/i],[q,[n,B]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[q,[n,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[q,[n,E+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[q,[n,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[q,[n,"watchOS"]],[/crkey\/([\d\.]+)/i],[q,[n,D+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[n,Q],q],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[n,q],[/(sunos) ?([\w\.\d]*)/i],[[n,"Solaris"],q],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[n,q]]},_=function(a,b){if(typeof a===j&&(b=a,a=void 0),!(this instanceof _))return new _(a,b).getResult();var c=typeof g!==i&&g.navigator?g.navigator:void 0,d=a||(c&&c.userAgent?c.userAgent:""),e=c&&c.userAgentData?c.userAgentData:void 0,f=b?S($,b):$,s=c&&c.userAgent==d;return this.getBrowser=function(){var a,b={};return b[n]=void 0,b[q]=void 0,X.call(b,d,f.browser),b[l]=typeof(a=b[q])===k?a.replace(/[^\d\.]/g,"").split(".")[0]:void 0,s&&c&&c.brave&&typeof c.brave.isBrave==h&&(b[n]="Brave"),b},this.getCPU=function(){var a={};return a[r]=void 0,X.call(a,d,f.cpu),a},this.getDevice=function(){var a={};return a[p]=void 0,a[m]=void 0,a[o]=void 0,X.call(a,d,f.device),s&&!a[o]&&e&&e.mobile&&(a[o]=t),s&&"Macintosh"==a[m]&&c&&typeof c.standalone!==i&&c.maxTouchPoints&&c.maxTouchPoints>2&&(a[m]="iPad",a[o]=u),a},this.getEngine=function(){var a={};return a[n]=void 0,a[q]=void 0,X.call(a,d,f.engine),a},this.getOS=function(){var a={};return a[n]=void 0,a[q]=void 0,X.call(a,d,f.os),s&&!a[n]&&e&&"Unknown"!=e.platform&&(a[n]=e.platform.replace(/chrome os/i,Q).replace(/macos/i,R)),a},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return d},this.setUA=function(a){return d=typeof a===k&&a.length>350?W(a,350):a,this},this.setUA(d),this};_.VERSION="1.0.35",_.BROWSER=T([n,q,l]),_.CPU=T([r]),_.DEVICE=T([m,p,o,s,t,v,u,w,x]),_.ENGINE=_.OS=T([n,q]),typeof f!==i?(e.exports&&(f=e.exports=_),f.UAParser=_):c.amdO?void 0===(d=(function(){return _}).call(b,c,b,a))||(a.exports=d):typeof g!==i&&(g.UAParser=_);var aa=typeof g!==i&&(g.jQuery||g.Zepto);if(aa&&!aa.ua){var ab=new _;aa.ua=ab.getResult(),aa.ua.get=function(){return ab.getUA()},aa.ua.set=function(a){ab.setUA(a);var b=ab.getResult();for(var c in b)aa.ua[c]=b[c]}}}("object"==typeof window?window:this)}},f={};function g(a){var b=f[a];if(void 0!==b)return b.exports;var c=f[a]={exports:{}},d=!0;try{e[a].call(c.exports,c,c.exports,g),d=!1}finally{d&&delete f[a]}return c.exports}g.ab=__dirname+"/",a.exports=g(226)},73896:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"escapeStringRegexp",{enumerable:!0,get:function(){return e}});let c=/[|\\{}()[\]^$+*?.-]/,d=/[|\\{}()[\]^$+*?.-]/g;function e(a){return c.test(a)?a.replace(d,"\\$&"):a}},75991:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={interceptTestApis:function(){return h},wrapRequestHandler:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(18975),g=c(57202);function h(){return(0,g.interceptFetch)(global.fetch)}function i(a){return(b,c)=>(0,f.withRequest)(b,g.reader,()=>a(b,c))}},76309:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextRequestHint:function(){return C},adapter:function(){return G}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(68802),g=c(99751),h=c(16129),i=c(84573),j=c(17385),k=c(64718),l=c(92729),m=c(76496),n=c(92539),o=c(62192),p=c(32648),q=c(24453),r=c(63033),s=c(61595),t=c(29294),u=c(12726),v=c(88026),w=c(72029),x=c(7370),y=c(63891),z=c(31574),A=c(6872),B=c(61544);class C extends i.NextRequest{constructor(a){super(a.input,a.init),this.sourcePage=a.page}get request(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}waitUntil(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}let D={keys:a=>Array.from(a.keys()),get:(a,b)=>a.get(b)??void 0},E=(a,b)=>(0,u.getTracer)().withPropagatedContext(a.headers,b,D),F=!1;async function G(a){var b,d,e,f;let i,D;!function(){if(!F&&(F=!0,"true"===process.env.NEXT_PRIVATE_TEST_PROXY)){let{interceptTestApis:a,wrapRequestHandler:b}=c(75991);a(),E=b(E)}}(),await (0,p.ensureInstrumentationRegistered)();let G=void 0!==globalThis.__BUILD_MANIFEST;a.request.url=(0,n.normalizeRscURL)(a.request.url);let H=a.bypassNextUrl?new URL(a.request.url):new l.NextURL(a.request.url,{headers:a.request.headers,nextConfig:a.request.nextConfig});for(let a of[...H.searchParams.keys()]){let b=H.searchParams.getAll(a),c=(0,g.normalizeNextQueryParam)(a);if(c){for(let a of(H.searchParams.delete(c),b))H.searchParams.append(c,a);H.searchParams.delete(a)}}let I=process.env.__NEXT_BUILD_ID||"";"buildId"in H&&(I=H.buildId||"",H.buildId="");let J=(0,g.fromNodeOutgoingHttpHeaders)(a.request.headers),K=J.has("x-nextjs-data"),L=(0,A.isRSCRequestHeader)(J.get(o.RSC_HEADER));K&&"/index"===H.pathname&&(H.pathname="/");let M=new Map;if(!G)for(let a of o.FLIGHT_HEADERS){let b=J.get(a);null!==b&&(M.set(a,b),J.delete(a))}let N=H.searchParams.get(o.NEXT_RSC_UNION_QUERY),O=new C({page:a.page,input:(0,m.stripInternalSearchParams)(H).toString(),init:{body:a.request.body,headers:J,method:a.request.method,nextConfig:a.request.nextConfig,signal:a.request.signal}});a.request.requestMeta&&(0,B.setRequestMeta)(O,a.request.requestMeta),K&&Object.defineProperty(O,"__isData",{enumerable:!1,value:!0}),!globalThis.__incrementalCacheShared&&a.IncrementalCache&&(globalThis.__incrementalCache=new a.IncrementalCache({CurCacheHandler:a.incrementalCacheHandler,minimalMode:!0,fetchCacheKeyPrefix:"",dev:!1,requestHeaders:a.request.headers,getPrerenderManifest:()=>({version:-1,routes:{},dynamicRoutes:{},notFoundRoutes:[],preview:(0,x.getEdgePreviewProps)()})}));let P=a.request.waitUntil??(null==(b=(0,y.getBuiltinRequestContext)())?void 0:b.waitUntil),Q=new h.NextFetchEvent({request:O,page:a.page,context:P?{waitUntil:P}:void 0});if((i=await E(O,()=>{if("/middleware"===a.page||"/src/middleware"===a.page||"/proxy"===a.page||"/src/proxy"===a.page){let b=Q.waitUntil.bind(Q),c=new w.CloseController;return(0,u.getTracer)().trace(v.MiddlewareSpan.execute,{spanName:`middleware ${O.method}`,attributes:{"http.target":O.nextUrl.pathname,"http.method":O.method}},async()=>{try{var d,e,f,g;let h=(0,x.getEdgePreviewProps)(),i=await (0,z.getImplicitTags)("/",O.nextUrl.pathname,null),j=(0,q.createRequestStoreForAPI)(O,O.nextUrl,i,a=>{D=a},h),k=(0,s.createWorkStore)({page:"/",renderOpts:{cacheLifeProfiles:null==(e=a.request.nextConfig)||null==(d=e.experimental)?void 0:d.cacheLife,cacheComponents:!1,experimental:{isRoutePPREnabled:!1,authInterrupts:!!(null==(g=a.request.nextConfig)||null==(f=g.experimental)?void 0:f.authInterrupts)},supportsDynamicResponse:!0,waitUntil:b,onClose:c.onClose.bind(c),onAfterTaskError:void 0},isPrefetchRequest:"1"===O.headers.get(o.NEXT_ROUTER_PREFETCH_HEADER),buildId:I??"",deploymentId:!1??"",previouslyRevalidatedTags:[]});return await t.workAsyncStorage.run(k,()=>r.workUnitAsyncStorage.run(j,a.handler,O,Q))}finally{setTimeout(()=>{c.dispatchClose()},0)}})}return a.handler(O,Q)}))&&!(i instanceof Response))throw Object.defineProperty(TypeError("Expected an instance of Response to be returned"),"__NEXT_ERROR_CODE",{value:"E567",enumerable:!1,configurable:!0});i&&D&&i.headers.set("set-cookie",D);let R=null==i?void 0:i.headers.get("x-middleware-rewrite");if(i&&R&&(L||!G)){let b=new l.NextURL(R,{forceLocale:!0,headers:a.request.headers,nextConfig:a.request.nextConfig});G||b.host!==O.nextUrl.host||(b.buildId=I||b.buildId,i.headers.set("x-middleware-rewrite",String(b)));let{url:c,isRelative:g}=(0,k.parseRelativeURL)(b.toString(),H.toString());!G&&K&&i.headers.set("x-nextjs-rewrite",c);let h=!g&&(null==(f=a.request.nextConfig)||null==(e=f.experimental)||null==(d=e.clientParamParsingOrigins)?void 0:d.some(a=>new RegExp(a).test(b.origin)));L&&(g||h)&&(H.pathname!==b.pathname&&i.headers.set(o.NEXT_REWRITTEN_PATH_HEADER,b.pathname),H.search!==b.search&&i.headers.set(o.NEXT_REWRITTEN_QUERY_HEADER,b.search.slice(1)))}if(i&&R&&L&&N){let a=new URL(R);a.searchParams.has(o.NEXT_RSC_UNION_QUERY)||(a.searchParams.set(o.NEXT_RSC_UNION_QUERY,N),i.headers.set("x-middleware-rewrite",a.toString()))}let S=null==i?void 0:i.headers.get("Location");if(i&&S&&!G){let b=new l.NextURL(S,{forceLocale:!1,headers:a.request.headers,nextConfig:a.request.nextConfig});i=new Response(i.body,i),b.host===H.host&&(b.buildId=I||b.buildId,i.headers.set("Location",(0,k.getRelativeURL)(b,H))),K&&(i.headers.delete("Location"),i.headers.set("x-nextjs-redirect",(0,k.getRelativeURL)(b.toString(),H.toString())))}let T=i||j.NextResponse.next(),U=T.headers.get("x-middleware-override-headers"),V=[];if(U){for(let[a,b]of M)T.headers.set(`x-middleware-request-${a}`,b),V.push(a);V.length>0&&T.headers.set("x-middleware-override-headers",U+","+V.join(","))}return{response:T,waitUntil:(0,h.getWaitUntilPromiseFromEvent)(Q)??Promise.resolve(),fetchMetrics:O.fetchMetrics}}},76496:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={stripInternalQueries:function(){return h},stripInternalSearchParams:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g=[f.NEXT_RSC_UNION_QUERY];function h(a){for(let b of g)delete a[b]}function i(a){let b="string"==typeof a,c=b?new URL(a):a;return c.searchParams.delete(f.NEXT_RSC_UNION_QUERY),b?c.toString():c}},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},77714:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(59841);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b({resolve:a=>Promise.resolve(a),key:a});let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let c=await b({resolve:g,key:a});g(c)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},77890:(a,b)=>{"use strict";function c(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parsePath",{enumerable:!0,get:function(){return c}})},79285:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ActionDidNotRevalidate:function(){return e},ActionDidRevalidateDynamicOnly:function(){return g},ActionDidRevalidateStaticAndDynamic:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=1,g=2},79646:a=>{"use strict";a.exports=require("child_process")},80099:a=>{"use strict";a.exports=require("node:sqlite")},80311:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={delayUntilRuntimeStage:function(){return o},getRuntimeStage:function(){return n},isHangingPromiseRejectionError:function(){return g},makeDevtoolsIOAwarePromise:function(){return m},makeHangingPromise:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(54795);function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===h}let h="HANGING_PROMISE_REJECTION";class i extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=h}}let j=new WeakMap;function k(a,b,c){if(a.aborted)return Promise.reject(new i(b,c));{let d=new Promise((d,e)=>{let f=e.bind(null,new i(b,c)),g=j.get(a);if(g)g.push(f);else{let b=[f];j.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return d.catch(l),d}}function l(){}function m(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}function n(a){return a.currentStage===f.RenderStage.EarlyStatic||a.currentStage===f.RenderStage.EarlyRuntime?f.RenderStage.EarlyRuntime:f.RenderStage.Runtime}function o(a,b){let{stagedRendering:c}=a;return c?c.waitForStage(n(c)).then(()=>b):b}},80670:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DecodeError:function(){return q},MiddlewareNotFoundError:function(){return u},MissingStaticPage:function(){return t},NormalizeError:function(){return r},PageNotFoundError:function(){return s},SP:function(){return o},ST:function(){return p},WEB_VITALS:function(){return e},execOnce:function(){return f},getDisplayName:function(){return k},getLocationOrigin:function(){return i},getURL:function(){return j},isAbsoluteUrl:function(){return h},isResSent:function(){return l},loadGetInitialProps:function(){return n},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return v}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=["CLS","FCP","FID","INP","LCP","TTFB"];function f(a){let b,c=!1;return(...d)=>(c||(c=!0,b=a(...d)),b)}let g=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,h=a=>g.test(a);function i(){let{protocol:a,hostname:b,port:c}=window.location;return`${a}//${b}${c?":"+c:""}`}function j(){let{href:a}=window.location,b=i();return a.substring(b.length)}function k(a){return"string"==typeof a?a:a.displayName||a.name||"Unknown"}function l(a){return a.finished||a.headersSent}function m(a){let b=a.split("?");return b[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(b[1]?`?${b.slice(1).join("?")}`:"")}async function n(a,b){let c=b.res||b.ctx&&b.ctx.res;if(!a.getInitialProps)return b.ctx&&b.Component?{pageProps:await n(b.Component,b.ctx)}:{};let d=await a.getInitialProps(b);if(c&&l(c))return d;if(!d)throw Object.defineProperty(Error(`"${k(a)}.getInitialProps()" should resolve to an object. But found "${d}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return d}let o="u">typeof performance,p=o&&["mark","measure","getEntriesByName"].every(a=>"function"==typeof performance[a]);class q extends Error{}class r extends Error{}class s extends Error{constructor(a){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${a}`}}class t extends Error{constructor(a,b){super(),this.message=`Failed to load static file for page: ${a} ${b}`}}class u extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(a){return JSON.stringify({message:a.message,stack:a.stack})}},81787:a=>{"use strict";a.exports=require("bun:sqlite")},82737:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getNextPathnameInfo",{enumerable:!0,get:function(){return g}});let d=c(28516),e=c(96664),f=c(93250);function g(a,b){let{basePath:c,i18n:g,trailingSlash:h}=b.nextConfig??{},i={pathname:a,trailingSlash:"/"!==a?a.endsWith("/"):h};c&&(0,f.pathHasPrefix)(i.pathname,c)&&(i.pathname=(0,e.removePathPrefix)(i.pathname,c),i.basePath=c);let j=i.pathname;if(i.pathname.startsWith("/_next/data/")&&i.pathname.endsWith(".json")){let a=i.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");i.buildId=a[0],j="index"!==a[1]?`/${a.slice(1).join("/")}`:"/",!0===b.parseData&&(i.pathname=j)}if(g){let a=b.i18nProvider?b.i18nProvider.analyze(i.pathname):(0,d.normalizeLocalePath)(i.pathname,g.locales);i.locale=a.detectedLocale,i.pathname=a.pathname??i.pathname,!a.detectedLocale&&i.buildId&&(a=b.i18nProvider?b.i18nProvider.analyze(j):(0,d.normalizeLocalePath)(j,g.locales)).detectedLocale&&(i.locale=a.detectedLocale)}return i}},84573:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERNALS:function(){return j},NextRequest:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92729),g=c(99751),h=c(68802),i=c(38955),j=Symbol("internal request");class k extends Request{constructor(a,b={}){const c="string"!=typeof a&&"url"in a?a.url:String(a);(0,g.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);const d=new f.NextURL(c,{headers:(0,g.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[j]={cookies:new i.RequestCookies(this.headers),nextUrl:d,url:d.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[j].cookies}get nextUrl(){return this[j].nextUrl}get page(){throw new h.RemovedPageError}get ua(){throw new h.RemovedUAError}get url(){return this[j].url}}},85292:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"AfterContext",{enumerable:!0,get:function(){return m}});let e=(d=c(90132))&&d.__esModule?d:{default:d},f=c(42776),g=c(32053),h=c(29294),i=c(67205),j=c(89218),k=c(63033),l=c(3295);class m{constructor({waitUntil:a,onClose:b,onTaskError:c}){this.workUnitStores=new Set,this.waitUntil=a,this.onClose=b,this.onTaskError=c,this.callbackQueue=new e.default,this.callbackQueue.pause()}after(a){if((0,g.isThenable)(a))this.waitUntil||n(),this.waitUntil(a.catch(a=>this.reportTaskError("promise",a)));else if("function"==typeof a)this.addCallback(a);else throw Object.defineProperty(Error("`after()`: Argument must be a promise or a function"),"__NEXT_ERROR_CODE",{value:"E50",enumerable:!1,configurable:!0})}addCallback(a){this.waitUntil||n();let b=k.workUnitAsyncStorage.getStore();b&&this.workUnitStores.add(b);let c=l.afterTaskAsyncStorage.getStore(),d=c?c.rootTaskSpawnPhase:null==b?void 0:b.phase;this.runCallbacksOnClosePromise||(this.runCallbacksOnClosePromise=this.runCallbacksOnClose(),this.waitUntil(this.runCallbacksOnClosePromise));let e=(0,j.bindSnapshot)(async()=>{try{await l.afterTaskAsyncStorage.run({rootTaskSpawnPhase:d},()=>a())}catch(a){this.reportTaskError("function",a)}});this.callbackQueue.add(e)}async runCallbacksOnClose(){return await new Promise(a=>this.onClose(a)),this.runCallbacks()}async runCallbacks(){if(0===this.callbackQueue.size)return;for(let a of this.workUnitStores)a.phase="after";let a=h.workAsyncStorage.getStore();if(!a)throw Object.defineProperty(new f.InvariantError("Missing workStore in AfterContext.runCallbacks"),"__NEXT_ERROR_CODE",{value:"E547",enumerable:!1,configurable:!0});return(0,i.withExecuteRevalidates)(a,()=>(this.callbackQueue.start(),this.callbackQueue.onIdle()))}reportTaskError(a,b){if(console.error("promise"===a?"A promise passed to `after()` rejected:":"An error occurred in a function passed to `after()`:",b),this.onTaskError)try{null==this.onTaskError||this.onTaskError.call(this,b)}catch(a){console.error(Object.defineProperty(new f.InvariantError("`onTaskError` threw while handling an error thrown from an `after` task",{cause:a}),"__NEXT_ERROR_CODE",{value:"E569",enumerable:!1,configurable:!0}))}}}function n(){throw Object.defineProperty(Error("`after()` will not work correctly, because `waitUntil` is not available in the current environment."),"__NEXT_ERROR_CODE",{value:"E91",enumerable:!1,configurable:!0})}},85304:(a,b,c)=>{"use strict";c.d(b,{exportSettings:()=>k,getSettings:()=>j});var d=c(59339),e=c(33323);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},comboCapabilityAdapterEnabled:!0,requireLogin:!0,tunnelDashboardAccess:!0,authMode:"password",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",enableObservability:!0,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,circuitBreaker:{enabled:!0,failureThreshold:5,windowMs:6e4,cooldownMs:3e4,halfOpenMaxCalls:1},healthMonitor:{enabled:!0,windowMs:3e5},outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:20128",dnsToolEnabled:{},rtkEnabled:!0,headroomEnabled:!1,headroomUrl:process.env.HEADROOM_URL||"http://localhost:8787",headroomCompressUserMessages:!1,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",pxpipeEnabled:!1,pxpipeAutoInstall:!1,pxpipeMinChars:25e3,pxpipeTimeoutMs:5e3,semanticCacheEnabled:!1,semanticCacheThreshold:.85,webhookEnabled:!1,webhookDiscordUrl:"",webhookTelegramToken:"",webhookTelegramChatId:"",webhookGenericUrl:"",webhookAlertEvents:{providerDown:!0,rateLimited:!0,healthDegraded:!0,budgetExceeded:!1}};async function g(){let a=(await (0,d.c)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}let h=null;async function i(){var a=await g();let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);return b}async function j(){let a=Date.now(),b=h;if(b&&a-b.at<5e3)return b.promise;let c=i().catch(a=>{throw h=null,a});return h={promise:c,at:a},c}async function k(){return await g()}},85503:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getSortedRouteObjects:function(){return g},getSortedRoutes:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a="/"){let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(`${a}${b}/`)).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(`${a}[${this.slugName}]/`)),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot define a route with the same specificity as a optional catch-all route ("${b}" and "${b}[[...${this.optionalRestSlugName}]]").`),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(`${a}[...${this.restSlugName}]/`)),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(`${a}[[...${this.optionalRestSlugName}]]/`)),c}_insert(a,b,c){if(0===a.length){this.placeholder=!1;return}if(c)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let d=a[0];if(d.startsWith("[")&&d.endsWith("]")){let e=d.slice(1,-1),g=!1;if(e.startsWith("[")&&e.endsWith("]")&&(e=e.slice(1,-1),g=!0),e.startsWith("…"))throw Object.defineProperty(Error(`Detected a three-dot character ('…') at ('${e}'). Did you mean ('...')?`),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(e.startsWith("...")&&(e=e.substring(3),c=!0),e.startsWith("[")||e.endsWith("]"))throw Object.defineProperty(Error(`Segment names may not start or end with extra brackets ('${e}').`),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(e.startsWith("."))throw Object.defineProperty(Error(`Segment names may not start with erroneous periods ('${e}').`),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function f(a,c){if(null!==a&&a!==c)throw Object.defineProperty(Error(`You cannot use different slug names for the same dynamic path ('${a}' !== '${c}').`),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});b.forEach(a=>{if(a===c)throw Object.defineProperty(Error(`You cannot have the same slug name "${c}" repeat within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(a.replace(/\W/g,"")===d.replace(/\W/g,""))throw Object.defineProperty(Error(`You cannot have the slug names "${a}" and "${c}" differ only by non-word symbols within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),b.push(c)}if(c)if(g){if(null!=this.restSlugName)throw Object.defineProperty(Error(`You cannot use both an required and optional catch-all route at the same level ("[...${this.restSlugName}]" and "${a[0]}" ).`),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});f(this.optionalRestSlugName,e),this.optionalRestSlugName=e,d="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot use both an optional and required catch-all route at the same level ("[[...${this.optionalRestSlugName}]]" and "${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});f(this.restSlugName,e),this.restSlugName=e,d="[...]"}else{if(g)throw Object.defineProperty(Error(`Optional route parameters are not yet supported ("${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});f(this.slugName,e),this.slugName=e,d="[]"}}this.children.has(d)||this.children.set(d,new e),this.children.get(d)._insert(a.slice(1),b,c)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function f(a){let b=new e;return a.forEach(a=>b.insert(a)),b.smoosh()}function g(a,b){let c={},d=[];for(let e=0;e<a.length;e++){let f=b(a[e]);c[f]=e,d[e]=f}return f(d).map(b=>a[c[b]])}},86013:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(15971),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},86948:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isFullStringUrl:function(){return h},parseReqUrl:function(){return j},parseUrl:function(){return i},stripNextRscUnionQuery:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g="http://n";function h(a){return/https?:\/\//.test(a)}function i(a){let b;try{b=new URL(a,g)}catch{}return b}function j(a){let b=i(a);if(!b)return;let c={};for(let a of b.searchParams.keys()){let d=b.searchParams.getAll(a);c[a]=d.length>1?d:d[0]}return{query:c,hash:b.hash,search:b.search,path:b.pathname,pathname:b.pathname,href:`${b.pathname}${b.search}${b.hash}`,host:"",hostname:"",auth:"",protocol:"",slashes:null,port:""}}function k(a){let b=new URL(a,g);return b.searchParams.delete(f.NEXT_RSC_UNION_QUERY),b.pathname+b.search}},87550:a=>{"use strict";a.exports=require("better-sqlite3")},88026:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e,f,g,h,i,j,k,l,m,n,o={AppRenderSpan:function(){return w},AppRouteRouteHandlersSpan:function(){return z},BaseServerSpan:function(){return q},LoadComponentsSpan:function(){return r},LogSpanAllowList:function(){return D},MiddlewareSpan:function(){return B},NextNodeServerSpan:function(){return t},NextServerSpan:function(){return s},NextVanillaSpanAllowlist:function(){return C},NodeSpan:function(){return y},RenderSpan:function(){return v},ResolveMetadataSpan:function(){return A},RouterSpan:function(){return x},StartServerSpan:function(){return u}};for(var p in o)Object.defineProperty(b,p,{enumerable:!0,get:o[p]});var q=((c=q||{}).handleRequest="BaseServer.handleRequest",c.run="BaseServer.run",c.pipe="BaseServer.pipe",c.getStaticHTML="BaseServer.getStaticHTML",c.render="BaseServer.render",c.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",c.renderToResponse="BaseServer.renderToResponse",c.renderToHTML="BaseServer.renderToHTML",c.renderError="BaseServer.renderError",c.renderErrorToResponse="BaseServer.renderErrorToResponse",c.renderErrorToHTML="BaseServer.renderErrorToHTML",c.render404="BaseServer.render404",c),r=((d=r||{}).loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",d.loadComponents="LoadComponents.loadComponents",d),s=((e=s||{}).getRequestHandler="NextServer.getRequestHandler",e.getRequestHandlerWithMetadata="NextServer.getRequestHandlerWithMetadata",e.getServer="NextServer.getServer",e.getServerRequestHandler="NextServer.getServerRequestHandler",e.createServer="createServer.createServer",e),t=((f=t||{}).compression="NextNodeServer.compression",f.getBuildId="NextNodeServer.getBuildId",f.createComponentTree="NextNodeServer.createComponentTree",f.clientComponentLoading="NextNodeServer.clientComponentLoading",f.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",f.generateStaticRoutes="NextNodeServer.generateStaticRoutes",f.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",f.generatePublicRoutes="NextNodeServer.generatePublicRoutes",f.generateImageRoutes="NextNodeServer.generateImageRoutes.route",f.sendRenderResult="NextNodeServer.sendRenderResult",f.proxyRequest="NextNodeServer.proxyRequest",f.runApi="NextNodeServer.runApi",f.render="NextNodeServer.render",f.renderHTML="NextNodeServer.renderHTML",f.imageOptimizer="NextNodeServer.imageOptimizer",f.getPagePath="NextNodeServer.getPagePath",f.getRoutesManifest="NextNodeServer.getRoutesManifest",f.findPageComponents="NextNodeServer.findPageComponents",f.getFontManifest="NextNodeServer.getFontManifest",f.getServerComponentManifest="NextNodeServer.getServerComponentManifest",f.getRequestHandler="NextNodeServer.getRequestHandler",f.renderToHTML="NextNodeServer.renderToHTML",f.renderError="NextNodeServer.renderError",f.renderErrorToHTML="NextNodeServer.renderErrorToHTML",f.render404="NextNodeServer.render404",f.startResponse="NextNodeServer.startResponse",f.route="route",f.onProxyReq="onProxyReq",f.apiResolver="apiResolver",f.internalFetch="internalFetch",f),u=((g=u||{}).startServer="startServer.startServer",g),v=((h=v||{}).getServerSideProps="Render.getServerSideProps",h.getStaticProps="Render.getStaticProps",h.renderToString="Render.renderToString",h.renderDocument="Render.renderDocument",h.createBodyResult="Render.createBodyResult",h),w=((i=w||{}).renderToString="AppRender.renderToString",i.renderToReadableStream="AppRender.renderToReadableStream",i.getBodyResult="AppRender.getBodyResult",i.fetch="AppRender.fetch",i),x=((j=x||{}).executeRoute="Router.executeRoute",j),y=((k=y||{}).runHandler="Node.runHandler",k),z=((l=z||{}).runHandler="AppRouteRouteHandlers.runHandler",l),A=((m=A||{}).generateMetadata="ResolveMetadata.generateMetadata",m.generateViewport="ResolveMetadata.generateViewport",m),B=((n=B||{}).execute="Middleware.execute",n);let C=new Set(["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"]),D=new Set(["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"])},88266:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return k}});let e=c(72394),f=(d=c(40694))&&d.__esModule?d:{default:d},g=c(96100),h=c(36820),i=c(90925),j=c(94143);class k{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor(a){this.fs=a.fs,this.flushToDisk=a.flushToDisk,this.serverDistDir=a.serverDistDir,this.revalidatedTags=a.revalidatedTags,a.maxMemoryCacheSize?k.memoryCache?k.debug&&console.log("FileSystemCache: memory store already initialized"):(k.debug&&console.log("FileSystemCache: using memory store for fetch cache"),k.memoryCache=(0,j.getMemoryCache)(a.maxMemoryCacheSize)):k.debug&&console.log("FileSystemCache: not using memory store for fetch cache")}resetRequestCache(){}async revalidateTag(a,b){if(a="string"==typeof a?[a]:a,k.debug&&console.log("FileSystemCache: revalidateTag",a,b),0===a.length)return;let c=Date.now();for(let d of a){let a=h.tagsManifest.get(d)||{};if(b){let e={...a};e.stale=c,void 0!==b.expire&&(e.expired=c+1e3*b.expire),h.tagsManifest.set(d,e)}else h.tagsManifest.set(d,{...a,expired:c})}}async get(...a){var b,c,d,f,i,j,l,m,n;let[o,p]=a,{kind:q}=p,r=null==(b=k.memoryCache)?void 0:b.get(o);if(k.debug&&(q===e.IncrementalCacheKind.FETCH?console.log("FileSystemCache: get",o,p.tags,q,!!r):console.log("FileSystemCache: get",o,q,!!r)),!r)try{if(q===e.IncrementalCacheKind.APP_ROUTE){let a=this.getFilePath(`${o}.body`,e.IncrementalCacheKind.APP_ROUTE),b=await this.fs.readFile(a),{mtime:c}=await this.fs.stat(a),d=JSON.parse(await this.fs.readFile(a.replace(/\.body$/,g.NEXT_META_SUFFIX),"utf8"));r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.APP_ROUTE,body:b,headers:d.headers,status:d.status}}}else{let a=this.getFilePath(q===e.IncrementalCacheKind.FETCH?o:`${o}.html`,q),b=await this.fs.readFile(a,"utf8"),{mtime:c}=await this.fs.stat(a);if(q===e.IncrementalCacheKind.FETCH){let{tags:a,fetchIdx:d,fetchUrl:f}=p;if(!this.flushToDisk)return null;let g=c.getTime(),h=JSON.parse(b);if(r={lastModified:g,value:h},(null==(j=r.value)?void 0:j.kind)===e.CachedRouteKind.FETCH){let b=null==(l=r.value)?void 0:l.tags;(null==a?void 0:a.every(a=>null==b?void 0:b.includes(a)))||(k.debug&&console.log("FileSystemCache: tags vs storedTags mismatch",a,b),await this.set(o,r.value,{fetchCache:!0,tags:a,fetchIdx:d,fetchUrl:f}))}}else if(q===e.IncrementalCacheKind.APP_PAGE){let d,f,h;try{d=JSON.parse(await this.fs.readFile(a.replace(/\.html$/,g.NEXT_META_SUFFIX),"utf8"))}catch{}if(null==d?void 0:d.segmentPaths){let a=new Map;f=a;let b=o+g.RSC_SEGMENTS_DIR_SUFFIX;await Promise.all(d.segmentPaths.map(async c=>{let d=this.getFilePath(b+c+g.RSC_SEGMENT_SUFFIX,e.IncrementalCacheKind.APP_PAGE);try{a.set(c,await this.fs.readFile(d))}catch{}}))}p.isFallback||p.isRoutePPREnabled&&(null==d?void 0:d.postponed)!=null||(h=await this.fs.readFile(this.getFilePath(`${o}${g.RSC_SUFFIX}`,e.IncrementalCacheKind.APP_PAGE))),r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.APP_PAGE,html:b,rscData:h,postponed:null==d?void 0:d.postponed,headers:null==d?void 0:d.headers,status:null==d?void 0:d.status,segmentData:f}}}else if(q===e.IncrementalCacheKind.PAGES){let a,d={};p.isFallback||(d=JSON.parse(await this.fs.readFile(this.getFilePath(`${o}${g.NEXT_DATA_SUFFIX}`,e.IncrementalCacheKind.PAGES),"utf8"))),r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.PAGES,html:b,pageData:d,headers:null==a?void 0:a.headers,status:null==a?void 0:a.status}}}else throw Object.defineProperty(Error(`Invariant: Unexpected route kind ${q} in file system cache.`),"__NEXT_ERROR_CODE",{value:"E445",enumerable:!1,configurable:!0})}r&&(null==(m=k.memoryCache)||m.set(o,r))}catch{return null}if((null==r||null==(c=r.value)?void 0:c.kind)===e.CachedRouteKind.APP_PAGE||(null==r||null==(d=r.value)?void 0:d.kind)===e.CachedRouteKind.APP_ROUTE||(null==r||null==(f=r.value)?void 0:f.kind)===e.CachedRouteKind.PAGES){let a=null==(n=r.value.headers)?void 0:n[g.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");if(b.length>0&&(0,h.areTagsExpired)(b,r.lastModified))return k.debug&&console.log("FileSystemCache: expired tags",b),null}}else if((null==r||null==(i=r.value)?void 0:i.kind)===e.CachedRouteKind.FETCH){let a=p.kind===e.IncrementalCacheKind.FETCH?[...p.tags||[],...p.softTags||[]]:[];if(a.some(a=>this.revalidatedTags.includes(a)))return k.debug&&console.log("FileSystemCache: was revalidated",a),null;if((0,h.areTagsExpired)(a,r.lastModified))return k.debug&&console.log("FileSystemCache: expired tags",a),null}return r??null}async set(a,b,c){var d;if(null==(d=k.memoryCache)||d.set(a,{value:b,lastModified:Date.now()}),k.debug&&console.log("FileSystemCache: set",a),!this.flushToDisk||!b)return;let f=new i.MultiFileWriter(this.fs);if(b.kind===e.CachedRouteKind.APP_ROUTE){let c=this.getFilePath(`${a}.body`,e.IncrementalCacheKind.APP_ROUTE);f.append(c,b.body);let d={headers:b.headers,status:b.status,postponed:void 0,segmentPaths:void 0,prefetchHints:void 0};f.append(c.replace(/\.body$/,g.NEXT_META_SUFFIX),JSON.stringify(d,null,2))}else if(b.kind===e.CachedRouteKind.PAGES||b.kind===e.CachedRouteKind.APP_PAGE){let d=b.kind===e.CachedRouteKind.APP_PAGE,h=this.getFilePath(`${a}.html`,d?e.IncrementalCacheKind.APP_PAGE:e.IncrementalCacheKind.PAGES);if(f.append(h,b.html),c.fetchCache||c.isFallback||c.isRoutePPREnabled||f.append(this.getFilePath(`${a}${d?g.RSC_SUFFIX:g.NEXT_DATA_SUFFIX}`,d?e.IncrementalCacheKind.APP_PAGE:e.IncrementalCacheKind.PAGES),d?b.rscData:JSON.stringify(b.pageData)),(null==b?void 0:b.kind)===e.CachedRouteKind.APP_PAGE){let a;if(b.segmentData){a=[];let c=h.replace(/\.html$/,g.RSC_SEGMENTS_DIR_SUFFIX);for(let[d,e]of b.segmentData){a.push(d);let b=c+d+g.RSC_SEGMENT_SUFFIX;f.append(b,e)}}let c={headers:b.headers,status:b.status,postponed:b.postponed,segmentPaths:a,prefetchHints:void 0};f.append(h.replace(/\.html$/,g.NEXT_META_SUFFIX),JSON.stringify(c))}}else if(b.kind===e.CachedRouteKind.FETCH){let d=this.getFilePath(a,e.IncrementalCacheKind.FETCH);f.append(d,JSON.stringify({...b,tags:c.fetchCache?c.tags:[]}))}await f.wait()}getFilePath(a,b){switch(b){case e.IncrementalCacheKind.FETCH:return f.default.join(this.serverDistDir,"..","cache","fetch-cache",a);case e.IncrementalCacheKind.PAGES:return f.default.join(this.serverDistDir,"pages",a);case e.IncrementalCacheKind.IMAGE:case e.IncrementalCacheKind.APP_PAGE:case e.IncrementalCacheKind.APP_ROUTE:return f.default.join(this.serverDistDir,"app",a);default:throw Object.defineProperty(Error(`Unexpected file path kind: ${b}`),"__NEXT_ERROR_CODE",{value:"E479",enumerable:!1,configurable:!0})}}}},88450:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextRequestAdapter:function(){return n},ResponseAborted:function(){return k},ResponseAbortedName:function(){return j},createAbortController:function(){return l},signalFromNodeResponse:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(61544),g=c(99751),h=c(84573),i=c(42097),j="ResponseAborted";class k extends Error{constructor(...a){super(...a),this.name=j}}function l(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new k)}),b}function m(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new k);let{signal:d}=l(a);return d}class n{static fromBaseNextRequest(a,b){if((0,i.isNodeNextRequest)(a))return n.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,d=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(d=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,f.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new h.NextRequest(c,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:d}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new h.NextRequest(a.url,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},88771:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={CacheHandler:function(){return t},IncrementalCache:function(){return v}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(72394),h=(d=c(88266))&&d.__esModule?d:{default:d},i=c(26670),j=c(96100),k=c(6892),l=c(97538),m=c(63033),n=c(42776),o=c(55122),p=c(29294),q=c(59841),r=c(36820);function s(a){let b="buffer"in a?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):new Uint8Array(a),c="";for(let a of b)c+=a.toString(16).padStart(2,"0");return c}class t{constructor(a){}async get(a,b){return{}}async set(a,b,c){}async revalidateTag(a,b){}resetRequestCache(){}}async function u(a){return c(55511).createHash("sha256").update(a).digest("hex")}class v{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor({fs:a,dev:b,flushToDisk:c,minimalMode:d,serverDistDir:e,requestHeaders:f,maxMemoryCacheSize:g,getPrerenderManifest:i,fetchCacheKeyPrefix:k,CurCacheHandler:m,allowedRevalidateHeaderKeys:n}){var p,q,r,s;this.locks=new Map,this.hasCustomCacheHandler=!!m;const t=Symbol.for("@next/cache-handlers"),u=globalThis;if(m)v.debug&&console.log("IncrementalCache: using custom cache handler",m.name);else{const b=u[t];(null==b?void 0:b.FetchCache)?(m=b.FetchCache,v.debug&&console.log("IncrementalCache: using global FetchCache cache handler")):a&&e&&(v.debug&&console.log("IncrementalCache: using filesystem cache handler"),m=h.default)}process.env.__NEXT_TEST_MAX_ISR_CACHE&&(g=parseInt(process.env.__NEXT_TEST_MAX_ISR_CACHE,10)),this.dev=b,this.disableForTestmode="true"===process.env.NEXT_PRIVATE_TEST_PROXY,this.minimalMode=d,this.requestHeaders=f,this.allowedRevalidateHeaderKeys=n,this.prerenderManifest=i(),this.cacheControls=new l.SharedCacheControls(this.prerenderManifest),this.fetchCacheKeyPrefix=k;let w=[];f[j.PRERENDER_REVALIDATE_HEADER]===(null==(q=this.prerenderManifest)||null==(p=q.preview)?void 0:p.previewModeId)&&(this.isOnDemandRevalidate=!0),d&&(w=this.revalidatedTags=(0,o.getPreviouslyRevalidatedTags)(f,null==(s=this.prerenderManifest)||null==(r=s.preview)?void 0:r.previewModeId)),m&&(this.cacheHandler=new m({dev:b,fs:a,flushToDisk:c,serverDistDir:e,revalidatedTags:w,maxMemoryCacheSize:g,_requestHeaders:f,fetchCacheKeyPrefix:k}))}calculateRevalidate(a,b,c,d){if(c)return Math.floor(performance.timeOrigin+performance.now()-1e3);let e=this.cacheControls.get((0,k.toRoute)(a)),f=e?e.revalidate:!d&&1;return"number"==typeof f?1e3*f+b:f}_getPathname(a,b){return b?a:(0,i.normalizePagePath)(a)}resetRequestCache(){var a,b;null==(b=this.cacheHandler)||null==(a=b.resetRequestCache)||a.call(b)}async lock(a){for(;;){let b=this.locks.get(a);if(v.debug&&console.log("IncrementalCache: lock get",a,!!b),!b)break;await b}let{resolve:b,promise:c}=new q.DetachedPromise;return v.debug&&console.log("IncrementalCache: successfully locked",a),this.locks.set(a,c),()=>{b(),this.locks.delete(a)}}async revalidateTag(a,b){var c;return null==(c=this.cacheHandler)?void 0:c.revalidateTag(a,b)}async generateSimpleCacheKey(a){return u(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a]))}async generateCacheKey(a,b={}){let c=[],d=new TextEncoder,e=null,f=b.body;if(f)if("object"==typeof f&&"byteLength"in f)c.push(`bytes:${s(f)}`),b._ogBody=f;else if("function"==typeof f.getReader){let a=[];try{await f.pipeTo(new WritableStream({write(b){a.push("string"==typeof b?d.encode(b):b)}}));let e=a.reduce((a,b)=>a+b.length,0),g=new Uint8Array(e),h=0;for(let b of a)g.set(b,h),h+=b.length;c.push(`bytes:${s(g)}`),b._ogBody=g}catch(a){console.error("Problem reading body",a)}}else if("function"==typeof f.keys)for(let[a,d]of(e="[object FormData]"===String(f)?"multipart/form-data; boundary=":"application/x-www-form-urlencoded;charset=UTF-8",b._ogBody=f,f.entries()))c.push(`key:${a}`),"string"==typeof d?c.push(`str:${d}`):c.push("file",d.name,d.type,`bytes:${s(await d.arrayBuffer())}`);else if("function"==typeof f.arrayBuffer){let a=await f.arrayBuffer();c.push("blob",f.type,`bytes:${s(a)}`),b._ogBody=new Blob([a],{type:f.type}),e=f.type}else if("string"==typeof f)c.push(`str:${f}`),b._ogBody=f,e="text/plain;charset=UTF-8";else throw Object.defineProperty(Error(`Unsupported body type: ${typeof f}`),"__NEXT_ERROR_CODE",{value:"E1145",enumerable:!1,configurable:!0});let g="function"==typeof(b.headers||{}).keys?Object.fromEntries(b.headers):Object.assign({},b.headers);return"traceparent"in g&&delete g.traceparent,"tracestate"in g&&delete g.tracestate,u(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a,b.method,e,g,b.mode,b.redirect,b.credentials,b.referrer,b.referrerPolicy,b.integrity,b.cache,c]))}async get(a,b){var c,d,e,f,h,i,l;let o,q;if(b.kind===g.IncrementalCacheKind.FETCH){let c=m.workUnitAsyncStorage.getStore(),d=c?(0,m.getRenderResumeDataCache)(c):null;if(d){let c=d.fetch.get(a);if((null==c?void 0:c.kind)===g.CachedRouteKind.FETCH){let d=p.workAsyncStorage.getStore();if(![...b.tags||[],...b.softTags||[]].some(a=>{var b,c;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==d||null==(c=d.pendingRevalidatedTags)?void 0:c.some(b=>b.tag===a))}))return v.debug&&console.log("IncrementalCache: rdc:hit",a),{isStale:!1,value:c};v.debug&&console.log("IncrementalCache: rdc:revalidated-tag",a)}else v.debug&&console.log("IncrementalCache: rdc:miss",a)}else v.debug&&console.log("IncrementalCache: rdc:no-resume-data")}if(this.disableForTestmode||this.dev&&(b.kind!==g.IncrementalCacheKind.FETCH||"no-cache"===this.requestHeaders["cache-control"]))return null;a=this._getPathname(a,b.kind===g.IncrementalCacheKind.FETCH);let s=await (null==(c=this.cacheHandler)?void 0:c.get(a,b));if(b.kind===g.IncrementalCacheKind.FETCH){if(!s)return null;if((null==(e=s.value)?void 0:e.kind)!==g.CachedRouteKind.FETCH)throw Object.defineProperty(new n.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} to be a "FETCH" kind, got ${JSON.stringify(null==(f=s.value)?void 0:f.kind)} instead.`),"__NEXT_ERROR_CODE",{value:"E653",enumerable:!1,configurable:!0});let c=p.workAsyncStorage.getStore(),d=[...b.tags||[],...b.softTags||[]];if(d.some(a=>{var b,d;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==c||null==(d=c.pendingRevalidatedTags)?void 0:d.some(b=>b.tag===a))}))return v.debug&&console.log("IncrementalCache: expired tag",a),null;let h=m.workUnitAsyncStorage.getStore();if(h){let b=(0,m.getPrerenderResumeDataCache)(h);b&&(v.debug&&console.log("IncrementalCache: rdc:set",a),b.fetch.set(a,s.value))}let i=b.revalidate||s.value.revalidate,j=(performance.timeOrigin+performance.now()-(s.lastModified||0))/1e3>i,k=s.value.data;return(0,r.areTagsExpired)(d,s.lastModified)?null:((0,r.areTagsStale)(d,s.lastModified)&&(j=!0),{isStale:j,value:{kind:g.CachedRouteKind.FETCH,data:k,revalidate:i}})}if((null==s||null==(d=s.value)?void 0:d.kind)===g.CachedRouteKind.FETCH)throw Object.defineProperty(new n.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} not to be a ${JSON.stringify(b.kind)} kind, got "FETCH" instead.`),"__NEXT_ERROR_CODE",{value:"E652",enumerable:!1,configurable:!0});let t=null,{isFallback:u}=b,w=this.cacheControls.get((0,k.toRoute)(a));if((null==s?void 0:s.lastModified)===-1)o=-1,q=-1*j.CACHE_ONE_YEAR_SECONDS*1e3;else{let c=performance.timeOrigin+performance.now(),d=(null==s?void 0:s.lastModified)||c;if(void 0===(o=!1!==(q=this.calculateRevalidate(a,d,this.dev??!1,b.isFallback))&&q<c||void 0)&&((null==s||null==(h=s.value)?void 0:h.kind)===g.CachedRouteKind.APP_PAGE||(null==s||null==(i=s.value)?void 0:i.kind)===g.CachedRouteKind.APP_ROUTE)){let a=null==(l=s.value.headers)?void 0:l[j.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");b.length>0&&((0,r.areTagsExpired)(b,d)?o=-1:(0,r.areTagsStale)(b,d)&&(o=!0))}}}return s&&(t={isStale:o,cacheControl:w,revalidateAfter:q,value:s.value,isFallback:u}),!s&&this.prerenderManifest.notFoundRoutes.includes(a)&&(t={isStale:o,value:null,cacheControl:w,revalidateAfter:q,isFallback:u},this.set(a,t.value,{...b,cacheControl:w})),t}async set(a,b,c){if((null==b?void 0:b.kind)===g.CachedRouteKind.FETCH){let c=m.workUnitAsyncStorage.getStore(),d=c?(0,m.getPrerenderResumeDataCache)(c):null;d&&(v.debug&&console.log("IncrementalCache: rdc:set",a),d.fetch.set(a,b))}if(this.disableForTestmode||this.dev&&!c.fetchCache)return;a=this._getPathname(a,c.fetchCache);let d=JSON.stringify(b).length;if(c.fetchCache&&d>2097152&&!this.hasCustomCacheHandler&&!c.isImplicitBuildTimeCache){let b=`Failed to set Next.js data cache for ${c.fetchUrl||a}, items over 2MB can not be cached (${d} bytes)`;if(this.dev)throw Object.defineProperty(Error(b),"__NEXT_ERROR_CODE",{value:"E1003",enumerable:!1,configurable:!0});console.warn(b);return}try{var e;!c.fetchCache&&c.cacheControl&&this.cacheControls.set((0,k.toRoute)(a),c.cacheControl),await (null==(e=this.cacheHandler)?void 0:e.set(a,b,c))}catch(b){console.warn("Failed to update prerender cache for",a,b)}}}},89198:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DynamicServerError:function(){return f},isDynamicServerError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="DYNAMIC_SERVER_USAGE";class f extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===e}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},89218:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={bindSnapshot:function(){return i},createAsyncLocalStorage:function(){return h},createSnapshot:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class f{disable(){throw e}getStore(){}run(){throw e}exit(){throw e}enterWith(){throw e}static bind(a){return a}}let g="u">typeof globalThis&&globalThis.AsyncLocalStorage;function h(){return g?new g:new f}function i(a){return g?g.bind(a):f.bind(a)}function j(){return g?g.snapshot():function(a,...b){return a(...b)}}},89377:(a,b,c)=>{"use strict";let d;c.r(b),c.d(b,{default:()=>aZ,handler:()=>aY});var e={};c.r(e),c.d(e,{config:()=>aR,default:()=>aQ}),require("next/dist/build/adapter/setup-node-env.external");var f=c(32648),g=c(76309),h=c(88771),i=c(62940),j=c(59339),k=c(85304);c(56840),c(95160);var l=c(17343);Object.freeze({maxMembers:999,maxWorkers:8,maxConcurrentRunsPerPrincipal:2,maxConcurrentRunsGlobal:8,maxProviderFanout:4,minTimeoutMs:1e3,maxTimeoutMs:12e4,maxGraceMs:3e4,maxOutputChars:12e4,maxAggregateOutputChars:3e5,maxLogicalCalls:16,maxEstimatedCostUsd:1/0});var m=c(71509);(0,m.U)("modelAliases"),(0,m.U)("customModels"),(0,m.U)("mitmAlias"),c(36241);var n=c(94735);c(91117),c(26763),process.env.USAGE_RETENTION_DAYS,global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new n.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._statsEmitTimers||(global._statsEmitTimers={pending:null,update:null}),global._statsFrameCache||(global._statsFrameCache={frame:null,computing:null,ts:0}),global._usagePrune||(global._usagePrune={lastAt:0}),global._pendingRequests,global._lastErrorProvider,global._pendingTimers,global._recentRing,global._connectionMapCache,global._statsEmitTimers,global._statsFrameCache,global._usagePrune,global._statsEmitter;var o=c(33323);let p=null,q=0;async function r(){if(p&&Date.now()-q<5e3)return p;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,85304)),b=await a(),d="false"!==process.env.OBSERVABILITY_ENABLED;p={enabled:"boolean"==typeof b.enableObservability2?b.enableObservability2:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{p={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return q=Date.now(),p}let s=[],t=null,u=!1;function v(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function w(){if(!u&&0!==s.length){u=!0;try{for(;s.length>0;){let a=s.splice(0,s.length),b=await (0,j.c)(),c=await r();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:v(d.request,c.maxJsonSize),providerRequest:v(d.providerRequest,c.maxJsonSize),providerResponse:v(d.providerResponse,c.maxJsonSize),response:v(d.response,c.maxJsonSize)};b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,o.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{u=!1}}}let x=async()=>{t&&(clearTimeout(t),t=null),s.length>0&&await w()};process.off("beforeExit",x),process.off("SIGINT",x),process.off("SIGTERM",x),process.off("exit",x),process.on("beforeExit",x),process.on("SIGINT",x),process.on("SIGTERM",x),process.on("exit",x);var y=c(2886),z=c(73024),A=c.n(z),B=c(76760),C=c.n(B),D=c(77598),E=c.n(D),F=c(28629);let G=C().join(F.n,"machine-id"),H=C().join(F.n,"auth"),I=C().join(H,"cli-secret"),J=null,K=null;async function L(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(J)return J;try{if(J=A().readFileSync(G,"utf8").trim())return J}catch{}try{J=(0,y.machineIdSync)()}catch{J=E().randomUUID()}try{A().mkdirSync(F.n,{recursive:!0}),A().writeFileSync(G,J,{mode:384})}catch{}return J}(),d="9r-cli-auth"===b?function(){if(K)return K;try{if(K=A().readFileSync(I,"utf8").trim())return K}catch{}K=E().randomBytes(32).toString("hex");try{A().mkdirSync(H,{recursive:!0}),A().writeFileSync(I,K,{mode:384})}catch{}return K}():"";return E().createHash("sha256").update(c+b+d).digest("hex").substring(0,16)}let M=new TextEncoder,N=new TextDecoder;function O(a){let b=new Uint8Array(a.length);for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);if(d>127)throw TypeError("non-ASCII string encountered in encode()");b[c]=d}return b}function P(a){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof a?a:N.decode(a),{alphabet:"base64url"});let b=a;b instanceof Uint8Array&&(b=N.decode(b)),b=b.replace(/-/g,"+").replace(/_/g,"/");try{var c=b;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(c);let a=atob(c),d=new Uint8Array(a.length);for(let b=0;b<a.length;b++)d[b]=a.charCodeAt(b);return d}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}class Q extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(a,b){super(a,b),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class R extends Q{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class S extends Q{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class T extends Q{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class U extends Q{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class V extends Q{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class W extends Q{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class X extends Q{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(a="multiple matching keys found in the JSON Web Key Set",b){super(a,b)}}class Y extends Q{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(a="signature verification failed",b){super(a,b)}}let Z=(a,b="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${b} must be ${a}`);function $(a,b){if(parseInt(a.hash.name.slice(4),10)!==b)throw Z(`SHA-${b}`,"algorithm.hash")}function _(a,b,...c){if((c=c.filter(Boolean)).length>2){let b=c.pop();a+=`one of type ${c.join(", ")}, or ${b}.`}else 2===c.length?a+=`one of type ${c[0]} or ${c[1]}.`:a+=`of type ${c[0]}.`;return null==b?a+=` Received ${b}`:"function"==typeof b&&b.name?a+=` Received function ${b.name}`:"object"==typeof b&&null!=b&&b.constructor?.name&&(a+=` Received an instance of ${b.constructor.name}`),a}let aa=(a,b,...c)=>_(`Key for the ${a} algorithm must be `,b,...c);async function ab(a,b,c){if(b instanceof Uint8Array){if(!a.startsWith("HS"))throw TypeError(((a,...b)=>_("Key must be ",a,...b))(b,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",b,{hash:`SHA-${a.slice(-3)}`,name:"HMAC"},!1,[c])}return!function(a,b,c){switch(b){case"HS256":case"HS384":case"HS512":if("HMAC"!==a.algorithm.name)throw Z("HMAC");$(a.algorithm,parseInt(b.slice(2),10));break;case"RS256":case"RS384":case"RS512":if("RSASSA-PKCS1-v1_5"!==a.algorithm.name)throw Z("RSASSA-PKCS1-v1_5");$(a.algorithm,parseInt(b.slice(2),10));break;case"PS256":case"PS384":case"PS512":if("RSA-PSS"!==a.algorithm.name)throw Z("RSA-PSS");$(a.algorithm,parseInt(b.slice(2),10));break;case"Ed25519":case"EdDSA":if("Ed25519"!==a.algorithm.name)throw Z("Ed25519");break;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":let d;if(d=a.algorithm,d.name!==b)throw Z(b);break;case"ES256":case"ES384":case"ES512":{if("ECDSA"!==a.algorithm.name)throw Z("ECDSA");let c=function(a){switch(a){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw Error("unreachable")}}(b);if(a.algorithm.namedCurve!==c)throw Z(c,"algorithm.namedCurve");break}default:throw TypeError("CryptoKey does not support this operation")}if(c&&!a.usages.includes(c))throw TypeError(`CryptoKey does not support this operation, its usages must include ${c}.`)}(b,a,c),b}async function ac(a,b,c,d){let e=await ab(a,b,"verify");!function(a,b){if(a.startsWith("RS")||a.startsWith("PS")){let{modulusLength:c}=b.algorithm;if("number"!=typeof c||c<2048)throw TypeError(`${a} requires key modulusLength to be 2048 bits or larger`)}}(a,e);let f=function(a,b){let c=`SHA-${a.slice(-3)}`;switch(a){case"HS256":case"HS384":case"HS512":return{hash:c,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:c,name:"RSA-PSS",saltLength:parseInt(a.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:c,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:c,name:"ECDSA",namedCurve:b.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":return{name:a};default:throw new U(`alg ${a} is not supported either by JOSE or your javascript runtime`)}}(a,e.algorithm);try{return await crypto.subtle.verify(f,e,c,d)}catch{return!1}}function ad(a,b,c){try{return P(a)}catch{throw new c(`Failed to base64url decode the ${b}`)}}function ae(a){if("object"!=typeof a||null===a||"[object Object]"!==Object.prototype.toString.call(a))return!1;if(null===Object.getPrototypeOf(a))return!0;let b=a;for(;null!==Object.getPrototypeOf(b);)b=Object.getPrototypeOf(b);return Object.getPrototypeOf(a)===b}Symbol();let af=a=>ae(a)&&"string"==typeof a.kty,ag=a=>{if(a?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return a instanceof CryptoKey}catch{return!1}},ah=a=>a?.[Symbol.toStringTag]==="KeyObject",ai=a=>ag(a)||ah(a),aj=a=>a?.[Symbol.toStringTag],ak=(a,b,c)=>{if(void 0!==b.use){let a;switch(c){case"sign":case"verify":a="sig";break;case"encrypt":case"decrypt":a="enc"}if(b.use!==a)throw TypeError(`Invalid key for this operation, its "use" must be "${a}" when present`)}if(void 0!==b.alg&&b.alg!==a)throw TypeError(`Invalid key for this operation, its "alg" must be "${a}" when present`);if(Array.isArray(b.key_ops)){let d;switch(!0){case"sign"===c||"verify"===c:case"dir"===a:case a.includes("CBC-HS"):d=c;break;case a.startsWith("PBES2"):d="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(a):d=!a.includes("GCM")&&a.endsWith("KW")?"encrypt"===c?"wrapKey":"unwrapKey":c;break;case"encrypt"===c&&a.startsWith("RSA"):d="wrapKey";break;case"decrypt"===c:d=a.startsWith("RSA")?"unwrapKey":"deriveBits"}if(d&&b.key_ops?.includes?.(d)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${d}" when present`)}return!0},al='Invalid or unsupported JWK "alg" (Algorithm) Parameter value';async function am(a){if(!a.alg)throw TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:b,keyUsages:c}=function(a){let b,c;switch(a.kty){case"AKP":switch(a.alg){case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":b={name:a.alg},c=a.priv?["sign"]:["verify"];break;default:throw new U(al)}break;case"RSA":switch(a.alg){case"PS256":case"PS384":case"PS512":b={name:"RSA-PSS",hash:`SHA-${a.alg.slice(-3)}`},c=a.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":b={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${a.alg.slice(-3)}`},c=a.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":b={name:"RSA-OAEP",hash:`SHA-${parseInt(a.alg.slice(-3),10)||1}`},c=a.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new U(al)}break;case"EC":switch(a.alg){case"ES256":case"ES384":case"ES512":b={name:"ECDSA",namedCurve:({ES256:"P-256",ES384:"P-384",ES512:"P-521"})[a.alg]},c=a.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":b={name:"ECDH",namedCurve:a.crv},c=a.d?["deriveBits"]:[];break;default:throw new U(al)}break;case"OKP":switch(a.alg){case"Ed25519":case"EdDSA":b={name:"Ed25519"},c=a.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":b={name:a.crv},c=a.d?["deriveBits"]:[];break;default:throw new U(al)}break;default:throw new U('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:b,keyUsages:c}}(a),d={...a};return"AKP"!==d.kty&&delete d.alg,delete d.use,crypto.subtle.importKey("jwk",d,b,a.ext??(!a.d&&!a.priv),a.key_ops??c)}let an="given KeyObject instance cannot be used for this algorithm",ao=async(a,b,c,e=!1)=>{let f=(d||=new WeakMap).get(a);if(f?.[c])return f[c];let g=await am({...b,alg:c});return e&&Object.freeze(a),f?f[c]=g:d.set(a,{[c]:g}),g};async function ap(a,b){if(a instanceof Uint8Array||ag(a))return a;if(ah(a)){if("secret"===a.type)return a.export();if("toCryptoKey"in a&&"function"==typeof a.toCryptoKey)try{return((a,b)=>{let c,e=(d||=new WeakMap).get(a);if(e?.[b])return e[b];let f="public"===a.type,g=!!f;if("x25519"===a.asymmetricKeyType){switch(b){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw TypeError(an)}c=a.toCryptoKey(a.asymmetricKeyType,g,f?[]:["deriveBits"])}if("ed25519"===a.asymmetricKeyType){if("EdDSA"!==b&&"Ed25519"!==b)throw TypeError(an);c=a.toCryptoKey(a.asymmetricKeyType,g,[f?"verify":"sign"])}switch(a.asymmetricKeyType){case"ml-dsa-44":case"ml-dsa-65":case"ml-dsa-87":if(b!==a.asymmetricKeyType.toUpperCase())throw TypeError(an);c=a.toCryptoKey(a.asymmetricKeyType,g,[f?"verify":"sign"])}if("rsa"===a.asymmetricKeyType){let d;switch(b){case"RSA-OAEP":d="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":d="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":d="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":d="SHA-512";break;default:throw TypeError(an)}if(b.startsWith("RSA-OAEP"))return a.toCryptoKey({name:"RSA-OAEP",hash:d},g,f?["encrypt"]:["decrypt"]);c=a.toCryptoKey({name:b.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:d},g,[f?"verify":"sign"])}if("ec"===a.asymmetricKeyType){let d=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(a.asymmetricKeyDetails?.namedCurve);if(!d)throw TypeError(an);let e={ES256:"P-256",ES384:"P-384",ES512:"P-521"};e[b]&&d===e[b]&&(c=a.toCryptoKey({name:"ECDSA",namedCurve:d},g,[f?"verify":"sign"])),b.startsWith("ECDH-ES")&&(c=a.toCryptoKey({name:"ECDH",namedCurve:d},g,f?[]:["deriveBits"]))}if(!c)throw TypeError(an);return e?e[b]=c:d.set(a,{[b]:c}),c})(a,b)}catch(a){if(a instanceof TypeError)throw a}let c=a.export({format:"jwk"});return ao(a,c,b)}if(af(a))return a.k?P(a.k):ao(a,a,b,!0);throw Error("unreachable")}async function aq(a,b,c){if(!ae(a))throw new V("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new V('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new V("JWS Protected Header incorrect type");if(void 0===a.payload)throw new V("JWS Payload missing");if("string"!=typeof a.signature)throw new V("JWS Signature missing or incorrect type");if(void 0!==a.header&&!ae(a.header))throw new V("JWS Unprotected Header incorrect type");let d={};if(a.protected)try{let b=P(a.protected);d=JSON.parse(N.decode(b))}catch{throw new V("JWS Protected Header is invalid")}if(!function(...a){let b,c=a.filter(Boolean);if(0===c.length||1===c.length)return!0;for(let a of c){let c=Object.keys(a);if(!b||0===b.size){b=new Set(c);continue}for(let a of c){if(b.has(a))return!1;b.add(a)}}return!0}(d,a.header))throw new V("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let e={...d,...a.header},f=function(a,b,c,d,e){let f;if(void 0!==e.crit&&d?.crit===void 0)throw new a('"crit" (Critical) Header Parameter MUST be integrity protected');if(!d||void 0===d.crit)return new Set;if(!Array.isArray(d.crit)||0===d.crit.length||d.crit.some(a=>"string"!=typeof a||0===a.length))throw new a('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');for(let g of(f=void 0!==c?new Map([...Object.entries(c),...b.entries()]):b,d.crit)){if(!f.has(g))throw new U(`Extension Header Parameter "${g}" is not recognized`);if(void 0===e[g])throw new a(`Extension Header Parameter "${g}" is missing`);if(f.get(g)&&void 0===d[g])throw new a(`Extension Header Parameter "${g}" MUST be integrity protected`)}return new Set(d.crit)}(V,new Map([["b64",!0]]),c?.crit,d,e),g=!0;if(f.has("b64")&&"boolean"!=typeof(g=d.b64))throw new V('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:h}=e;if("string"!=typeof h||!h)throw new V('JWS "alg" (Algorithm) Header Parameter missing or invalid');let i=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(i&&!i.has(h))throw new T('"alg" (Algorithm) Header Parameter value not allowed');if(g){if("string"!=typeof a.payload)throw new V("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new V("JWS Payload must be a string or an Uint8Array instance");let j=!1;"function"==typeof b&&(b=await b(d,a),j=!0);var k=b,l="verify";switch(h.substring(0,2)){case"A1":case"A2":case"di":case"HS":case"PB":((a,b,c)=>{if(!(b instanceof Uint8Array)){if(af(b)){if("oct"===b.kty&&"string"==typeof b.k&&ak(a,b,c))return;throw TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!ai(b))throw TypeError(aa(a,b,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==b.type)throw TypeError(`${aj(b)} instances for symmetric algorithms must be of type "secret"`)}})(h,k,l);break;default:((a,b,c)=>{if(af(b))switch(c){case"decrypt":case"sign":if("oct"!==b.kty&&("AKP"===b.kty&&"string"==typeof b.priv||"string"==typeof b.d)&&ak(a,b,c))return;throw TypeError("JSON Web Key for this operation must be a private JWK");case"encrypt":case"verify":if("oct"!==b.kty&&void 0===b.d&&void 0===b.priv&&ak(a,b,c))return;throw TypeError("JSON Web Key for this operation must be a public JWK")}if(!ai(b))throw TypeError(aa(a,b,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===b.type)throw TypeError(`${aj(b)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===b.type)switch(c){case"sign":throw TypeError(`${aj(b)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw TypeError(`${aj(b)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===b.type)switch(c){case"verify":throw TypeError(`${aj(b)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw TypeError(`${aj(b)} instances for asymmetric algorithm encryption must be of type "public"`)}})(h,k,l)}let m=function(...a){let b=new Uint8Array(a.reduce((a,{length:b})=>a+b,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}(void 0!==a.protected?O(a.protected):new Uint8Array,O("."),"string"==typeof a.payload?g?O(a.payload):M.encode(a.payload):a.payload),n=ad(a.signature,"signature",V),o=await ap(b,h);if(!await ac(h,o,n,m))throw new Y;let p={payload:g?ad(a.payload,"payload",V):"string"==typeof a.payload?M.encode(a.payload):a.payload};return(void 0!==a.protected&&(p.protectedHeader=d),void 0!==a.header&&(p.unprotectedHeader=a.header),j)?{...p,key:o}:p}async function ar(a,b,c){if(a instanceof Uint8Array&&(a=N.decode(a)),"string"!=typeof a)throw new V("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:f,length:g}=a.split(".");if(3!==g)throw new V("Invalid Compact JWS");let h=await aq({payload:e,protected:d,signature:f},b,c),i={payload:h.payload,protectedHeader:h.protectedHeader};return"function"==typeof b?{...i,key:h.key}:i}let as=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function at(a){let b,c=as.exec(a);if(!c||c[4]&&c[1])throw TypeError("Invalid time period format");let d=parseFloat(c[2]);switch(c[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":b=Math.round(d);break;case"minute":case"minutes":case"min":case"mins":case"m":b=Math.round(60*d);break;case"hour":case"hours":case"hr":case"hrs":case"h":b=Math.round(3600*d);break;case"day":case"days":case"d":b=Math.round(86400*d);break;case"week":case"weeks":case"w":b=Math.round(604800*d);break;default:b=Math.round(0x1e187e0*d)}return"-"===c[1]||"ago"===c[4]?-b:b}let au=a=>a.includes("/")?a.toLowerCase():`application/${a.toLowerCase()}`;async function av(a,b,c){let d=await ar(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new W("JWTs MUST NOT use unencoded payload");let e={payload:function(a,b,c={}){var d,e;let f,g;try{f=JSON.parse(N.decode(b))}catch{}if(!ae(f))throw new W("JWT Claims Set must be a top-level JSON object");let{typ:h}=c;if(h&&("string"!=typeof a.typ||au(a.typ)!==au(h)))throw new R('unexpected "typ" JWT header value',f,"typ","check_failed");let{requiredClaims:i=[],issuer:j,subject:k,audience:l,maxTokenAge:m}=c,n=[...i];for(let a of(void 0!==m&&n.push("iat"),void 0!==l&&n.push("aud"),void 0!==k&&n.push("sub"),void 0!==j&&n.push("iss"),new Set(n.reverse())))if(!(a in f))throw new R(`missing required "${a}" claim`,f,a,"missing");if(j&&!(Array.isArray(j)?j:[j]).includes(f.iss))throw new R('unexpected "iss" claim value',f,"iss","check_failed");if(k&&f.sub!==k)throw new R('unexpected "sub" claim value',f,"sub","check_failed");if(l&&(d=f.aud,e="string"==typeof l?[l]:l,"string"==typeof d?!e.includes(d):!(Array.isArray(d)&&e.some(Set.prototype.has.bind(new Set(d))))))throw new R('unexpected "aud" claim value',f,"aud","check_failed");switch(typeof c.clockTolerance){case"string":g=at(c.clockTolerance);break;case"number":g=c.clockTolerance;break;case"undefined":g=0;break;default:throw TypeError("Invalid clockTolerance option type")}let{currentDate:o}=c,p=Math.floor((o||new Date).getTime()/1e3);if((void 0!==f.iat||m)&&"number"!=typeof f.iat)throw new R('"iat" claim must be a number',f,"iat","invalid");if(void 0!==f.nbf){if("number"!=typeof f.nbf)throw new R('"nbf" claim must be a number',f,"nbf","invalid");if(f.nbf>p+g)throw new R('"nbf" claim timestamp check failed',f,"nbf","check_failed")}if(void 0!==f.exp){if("number"!=typeof f.exp)throw new R('"exp" claim must be a number',f,"exp","invalid");if(f.exp<=p-g)throw new S('"exp" claim timestamp check failed',f,"exp","check_failed")}if(m){let a=p-f.iat;if(a-g>("number"==typeof m?m:at(m)))throw new S('"iat" claim timestamp check failed (too far in the past)',f,"iat","check_failed");if(a<0-g)throw new R('"iat" claim timestamp check failed (it should be in the past)',f,"iat","check_failed")}return f}(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}c(55511);"function"==typeof setImmediate||"object"==typeof scheduler&&"function"==typeof scheduler.postTask&&scheduler.postTask.bind(scheduler);let aw=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=C().join(F.n,"jwt-secret");try{return A().readFileSync(a,"utf8").trim()}catch{}A().mkdirSync(F.n,{recursive:!0});let b=E().randomBytes(32).toString("hex");return A().writeFileSync(a,b,{mode:384}),b}());async function ax(a){if(!a)return!1;try{return await av(a,aw),!0}catch{return!1}}let ay=null;async function az(){return ay||(ay=await L("9r-cli-auth")),ay}async function aA(a){let b=a.headers.get("x-9r-cli-token");return!!b&&b===await az()}let aB=["/api/health","/api/init","/api/locale","/api/auth/login","/api/auth/logout","/api/auth/status","/api/auth/oidc","/api/version","/api/settings/require-login"],aC=["/v1","/v1beta","/api/v1","/api/v1beta","/codex"],aD=["/api/shutdown","/api/settings/database","/api/version/shutdown","/api/version/update","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/kimi-desktop/auto-import"],aE=["/api/cli-tools/cowork-settings","/api/cli-tools/antigravity-mitm","/api/mcp/","/api/tunnel/tailscale-install","/api/tunnel/tailscale-enable","/api/tunnel/tailscale-disable","/api/tunnel/tailscale-check","/api/tunnel/enable","/api/tunnel/disable","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/kimi-desktop/auto-import","/api/auth/reset-password","/api/headroom/start","/api/headroom/stop"],aF=new Set(["localhost","127.0.0.1","::1"]);function aG(a){if(!a)return!1;let b=a.split(":")[0].replace(/^\[|\]$/g,"").toLowerCase();return aF.has(b)}function aH(a){if(a.headers.get("x-9r-via-proxy"))return!1;let b=a.headers.get("x-9r-real-ip");if(!b||!aG(b))return!1;let c=a.headers.get("origin");if(c)try{if(!aG(new URL(c).hostname))return!1}catch{return!1}return!0}function aI(a){return aC.some(b=>a===b||a.startsWith(`${b}/`))}async function aJ(a){let b=function(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");if(c)return c;let d=a.headers.get("x-goog-api-key");return d||a.nextUrl.searchParams?.get("key")||null}(a);return!!b&&await (0,l.validateApiKey)(b)}async function aK(a){return!!(aH(a)||await aA(a))||await aJ(a)}async function aL(a){return!!(await aA(a)||aH(a)&&await aO(a))}async function aM(a){let b=a.cookies.get("auth_token")?.value;return await ax(b)}async function aN(){try{return await (0,k.getSettings)()}catch{return null}}async function aO(a){if(await aM(a))return!0;let b=await aN();return!!b&&!1===b.requireLogin}async function aP(a){let{pathname:b}=a.nextUrl;if(aE.some(a=>b.startsWith(a))&&!await aL(a))return i.NextResponse.json({error:"Local only: CLI token required"},{status:403});if(aD.some(a=>b.startsWith(a)))return await aA(a)||await aM(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(aI(b))return await aK(a)?i.NextResponse.next():i.NextResponse.json({error:"API key required for remote API access"},{status:401});if(b.startsWith("/api/"))return aI(b)||aB.some(a=>b===a||b.startsWith(`${a}/`))?i.NextResponse.next():["GET","HEAD","OPTIONS"].includes(a.method)?await aA(a)||await aO(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401}):await aA(a)||await aM(a)?i.NextResponse.next():i.NextResponse.json({error:"Authentication required for this action"},{status:401});if(b.startsWith("/dashboard")){let b=!0;try{let c=await aN();if(c&&(b=!1!==c.requireLogin,!0!==c.tunnelDashboardAccess)){let b=(a.headers.get("host")||"").split(":")[0].toLowerCase(),d=c.tunnelUrl?new URL(c.tunnelUrl).hostname.toLowerCase():"",e=c.tailscaleUrl?new URL(c.tailscaleUrl).hostname.toLowerCase():"";if(d&&b===d||e&&b===e)return i.NextResponse.redirect(new URL("/login",a.url))}}catch{}if(!b)return i.NextResponse.next();let c=a.cookies.get("auth_token")?.value;return c&&await ax(c)?i.NextResponse.next():i.NextResponse.redirect(new URL("/login",a.url))}return"/"===b?i.NextResponse.redirect(new URL("/dashboard",a.url)):i.NextResponse.next()}async function aQ(a){return aP(a)}let aR={matcher:["/((?!_next/static|_next/image|favicon\\.ico).*)"]};c(6365);var aS=c(99751);let aT={...e},aU="/src/proxy",aV=(0,aT.proxy||aT.default);class aW extends Error{constructor(a){super(a),this.stack=""}}if("function"!=typeof aV)throw new aW(`The Proxy file "${aU}" must export a function named \`proxy\` or a default function.`);let aX=a=>(0,g.adapter)({...a,IncrementalCache:h.IncrementalCache,incrementalCacheHandler:null,page:aU,handler:async(...a)=>{try{return await aV(...a)}catch(e){let b=a[0],c=new URL(b.url),d=c.pathname+c.search;throw await (0,f.edgeInstrumentationOnRequestError)(e,{path:d,method:b.method,headers:Object.fromEntries(b.headers.entries())},{routerKind:"Pages Router",routePath:"/proxy",routeType:"proxy",revalidateReason:void 0}),e}}});async function aY(a,b){let c=await aX({request:{url:a.url,method:a.method,headers:(0,aS.toNodeOutgoingHttpHeaders)(a.headers),nextConfig:{basePath:"",i18n:"",trailingSlash:!1,experimental:{cacheLife:{default:{stale:300,revalidate:900,expire:0xfffffffe},seconds:{stale:30,revalidate:1,expire:60},minutes:{stale:300,revalidate:60,expire:3600},hours:{stale:300,revalidate:3600,expire:86400},days:{stale:300,revalidate:86400,expire:604800},weeks:{stale:300,revalidate:604800,expire:2592e3},max:{stale:300,revalidate:2592e3,expire:31536e3}},authInterrupts:!1,clientParamParsingOrigins:[]}},page:{name:aU},body:"GET"!==a.method&&"HEAD"!==a.method?a.body??void 0:void 0,waitUntil:b.waitUntil,requestMeta:b.requestMeta,signal:b.signal||new AbortController().signal}});return null==b.waitUntil||b.waitUntil.call(b,c.waitUntil),c.response}let aZ=aX},90132:a=>{(()=>{"use strict";var b={993:a=>{var b=Object.prototype.hasOwnProperty,c="~";function d(){}function e(a,b,c){this.fn=a,this.context=b,this.once=c||!1}function f(a,b,d,f,g){if("function"!=typeof d)throw TypeError("The listener must be a function");var h=new e(d,f||a,g),i=c?c+b:b;return a._events[i]?a._events[i].fn?a._events[i]=[a._events[i],h]:a._events[i].push(h):(a._events[i]=h,a._eventsCount++),a}function g(a,b){0==--a._eventsCount?a._events=new d:delete a._events[b]}function h(){this._events=new d,this._eventsCount=0}Object.create&&(d.prototype=Object.create(null),(new d).__proto__||(c=!1)),h.prototype.eventNames=function(){var a,d,e=[];if(0===this._eventsCount)return e;for(d in a=this._events)b.call(a,d)&&e.push(c?d.slice(1):d);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(a)):e},h.prototype.listeners=function(a){var b=c?c+a:a,d=this._events[b];if(!d)return[];if(d.fn)return[d.fn];for(var e=0,f=d.length,g=Array(f);e<f;e++)g[e]=d[e].fn;return g},h.prototype.listenerCount=function(a){var b=c?c+a:a,d=this._events[b];return d?d.fn?1:d.length:0},h.prototype.emit=function(a,b,d,e,f,g){var h=c?c+a:a;if(!this._events[h])return!1;var i,j,k=this._events[h],l=arguments.length;if(k.fn){switch(k.once&&this.removeListener(a,k.fn,void 0,!0),l){case 1:return k.fn.call(k.context),!0;case 2:return k.fn.call(k.context,b),!0;case 3:return k.fn.call(k.context,b,d),!0;case 4:return k.fn.call(k.context,b,d,e),!0;case 5:return k.fn.call(k.context,b,d,e,f),!0;case 6:return k.fn.call(k.context,b,d,e,f,g),!0}for(j=1,i=Array(l-1);j<l;j++)i[j-1]=arguments[j];k.fn.apply(k.context,i)}else{var m,n=k.length;for(j=0;j<n;j++)switch(k[j].once&&this.removeListener(a,k[j].fn,void 0,!0),l){case 1:k[j].fn.call(k[j].context);break;case 2:k[j].fn.call(k[j].context,b);break;case 3:k[j].fn.call(k[j].context,b,d);break;case 4:k[j].fn.call(k[j].context,b,d,e);break;default:if(!i)for(m=1,i=Array(l-1);m<l;m++)i[m-1]=arguments[m];k[j].fn.apply(k[j].context,i)}}return!0},h.prototype.on=function(a,b,c){return f(this,a,b,c,!1)},h.prototype.once=function(a,b,c){return f(this,a,b,c,!0)},h.prototype.removeListener=function(a,b,d,e){var f=c?c+a:a;if(!this._events[f])return this;if(!b)return g(this,f),this;var h=this._events[f];if(h.fn)h.fn!==b||e&&!h.once||d&&h.context!==d||g(this,f);else{for(var i=0,j=[],k=h.length;i<k;i++)(h[i].fn!==b||e&&!h[i].once||d&&h[i].context!==d)&&j.push(h[i]);j.length?this._events[f]=1===j.length?j[0]:j:g(this,f)}return this},h.prototype.removeAllListeners=function(a){var b;return a?(b=c?c+a:a,this._events[b]&&g(this,b)):(this._events=new d,this._eventsCount=0),this},h.prototype.off=h.prototype.removeListener,h.prototype.addListener=h.prototype.on,h.prefixed=c,h.EventEmitter=h,a.exports=h},213:a=>{a.exports=(a,b)=>(b=b||(()=>{}),a.then(a=>new Promise(a=>{a(b())}).then(()=>a),a=>new Promise(a=>{a(b())}).then(()=>{throw a})))},574:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a,b,c){let d=0,e=a.length;for(;e>0;){let f=e/2|0,g=d+f;0>=c(a[g],b)?(d=++g,e-=f+1):e=f}return d}},821:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});let d=c(574);class e{constructor(){this._queue=[]}enqueue(a,b){let c={priority:(b=Object.assign({priority:0},b)).priority,run:a};if(this.size&&this._queue[this.size-1].priority>=b.priority)return void this._queue.push(c);let e=d.default(this._queue,c,(a,b)=>b.priority-a.priority);this._queue.splice(e,0,c)}dequeue(){let a=this._queue.shift();return null==a?void 0:a.run}filter(a){return this._queue.filter(b=>b.priority===a.priority).map(a=>a.run)}get size(){return this._queue.length}}b.default=e},816:(a,b,c)=>{let d=c(213);class e extends Error{constructor(a){super(a),this.name="TimeoutError"}}let f=(a,b,c)=>new Promise((f,g)=>{if("number"!=typeof b||b<0)throw TypeError("Expected `milliseconds` to be a positive number");if(b===1/0)return void f(a);let h=setTimeout(()=>{if("function"==typeof c){try{f(c())}catch(a){g(a)}return}let d="string"==typeof c?c:`Promise timed out after ${b} milliseconds`,h=c instanceof Error?c:new e(d);"function"==typeof a.cancel&&a.cancel(),g(h)},b);d(a.then(f,g),()=>{clearTimeout(h)})});a.exports=f,a.exports.default=f,a.exports.TimeoutError=e}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a](f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/";var e={};(()=>{Object.defineProperty(e,"__esModule",{value:!0});let a=d(993),b=d(816),c=d(821),f=()=>{},g=new b.TimeoutError;class h extends a{constructor(a){var b,d,e,g;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=f,this._resolveIdle=f,!("number"==typeof(a=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:c.default},a)).intervalCap&&a.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${null!=(d=null==(b=a.intervalCap)?void 0:b.toString())?d:""}\` (${typeof a.intervalCap})`);if(void 0===a.interval||!(Number.isFinite(a.interval)&&a.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${null!=(g=null==(e=a.interval)?void 0:e.toString())?g:""}\` (${typeof a.interval})`);this._carryoverConcurrencyCount=a.carryoverConcurrencyCount,this._isIntervalIgnored=a.intervalCap===1/0||0===a.interval,this._intervalCap=a.intervalCap,this._interval=a.interval,this._queue=new a.queueClass,this._queueClass=a.queueClass,this.concurrency=a.concurrency,this._timeout=a.timeout,this._throwOnTimeout=!0===a.throwOnTimeout,this._isPaused=!1===a.autoStart}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=f,0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=f,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let a=Date.now();if(void 0===this._intervalId){let b=this._intervalEnd-a;if(!(b<0))return void 0===this._timeoutId&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},b)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}_tryToStartAnother(){if(0===this._queue.size)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let a=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let b=this._queue.dequeue();return!!b&&(this.emit("active"),b(),a&&this._initializeIntervalIfNeeded(),!0)}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||void 0!==this._intervalId||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){0===this._intervalCount&&0===this._pendingCount&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(a){if(!("number"==typeof a&&a>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${a}\` (${typeof a})`);this._concurrency=a,this._processQueue()}async add(a,c={}){return new Promise((d,e)=>{let f=async()=>{this._pendingCount++,this._intervalCount++;try{let f=void 0===this._timeout&&void 0===c.timeout?a():b.default(Promise.resolve(a()),void 0===c.timeout?this._timeout:c.timeout,()=>{(void 0===c.throwOnTimeout?this._throwOnTimeout:c.throwOnTimeout)&&e(g)});d(await f)}catch(a){e(a)}this._next()};this._queue.enqueue(f,c),this._tryToStartAnother(),this.emit("add")})}async addAll(a,b){return Promise.all(a.map(async a=>this.add(a,b)))}start(){return this._isPaused&&(this._isPaused=!1,this._processQueue()),this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(0!==this._queue.size)return new Promise(a=>{let b=this._resolveEmpty;this._resolveEmpty=()=>{b(),a()}})}async onIdle(){if(0!==this._pendingCount||0!==this._queue.size)return new Promise(a=>{let b=this._resolveIdle;this._resolveIdle=()=>{b(),a()}})}get size(){return this._queue.size}sizeBy(a){return this._queue.filter(a).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(a){this._timeout=a}}e.default=h})(),a.exports=e})()},90810:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={},g={RequestCookies:()=>n,ResponseCookies:()=>o,parseCookie:()=>j,parseSetCookie:()=>k,stringifyCookie:()=>i};for(var h in g)b(f,h,{get:g[h],enumerable:!0});function i(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function j(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function k(a){if(!a)return;let[[b,c],...d]=j(a),{domain:e,expires:f,httponly:g,maxage:h,path:i,samesite:k,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof h&&{maxAge:Number(h)},path:i,...k&&{sameSite:l.includes(q=(q=k).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:m.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}a.exports=((a,f,g,h)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let i of d(f))e.call(a,i)||i===g||b(a,i,{get:()=>f[i],enumerable:!(h=c(f,i))||h.enumerable});return a})(b({},"__esModule",{value:!0}),f);var l=["strict","lax","none"],m=["low","medium","high"],n=class{constructor(a){this._parsed=new Map,this._headers=a;const b=a.get("cookie");if(b)for(const[a,c]of j(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>i(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>i(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},o=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;const e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(const a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){const b=k(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=i(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(i).join("; ")}}},90925:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MultiFileWriter",{enumerable:!0,get:function(){return f}});let e=(d=c(40694))&&d.__esModule?d:{default:d};class f{constructor(a){this.fs=a,this.tasks=[]}findOrCreateTask(a){for(let b of this.tasks)if(b[0]===a)return b;let b=this.fs.mkdir(a);b.catch(()=>{});let c=[a,b,[]];return this.tasks.push(c),c}append(a,b){let c=this.findOrCreateTask(e.default.dirname(a)),d=c[1].then(()=>this.fs.writeFile(a,b));d.catch(()=>{}),c[2].push(d)}wait(){return Promise.all(this.tasks.flatMap(a=>a[2]))}}},91117:(a,b,c)=>{"use strict";function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(59339)},92539:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compareAppPaths:function(){return i},normalizeAppPath:function(){return h},normalizeRscURL:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(17888),g=c(53610);function h(a){return(0,f.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,g.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:`${a}/${b}`,""))}function i(a,b){let c=a.includes("/@"),d=b.includes("/@");return c&&!d?-1:!c&&d?1:a.localeCompare(b)}function j(a){return a.replace(/\.rsc($|\?)/,"$1")}},92729:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(36299),e=c(1390),f=c(69687),g=c(82737),h=/^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/;function i(a,b){let c=new URL(String(a),b&&String(b));return h.test(c.hostname)&&(c.hostname="localhost"),c}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},93250:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},93384:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(38955),g=c(31050),h=c(29294),i=c(79285);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},94143:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/memory-cache.external.js")},94735:a=>{"use strict";a.exports=require("events")},95160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createProviderNode:()=>k,deleteProviderNode:()=>m,getProviderNodeById:()=>j,getProviderNodes:()=>i,updateProviderNode:()=>l});var d=c(43892),e=c(59339),f=c(33323);function g(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function h(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
24
+ `)}}class f extends Error{constructor(){super("The request.page has been deprecated in favour of `URLPattern`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n ")}}class g extends Error{constructor(){super("The request.ua has been removed in favour of `userAgent` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n ")}}},69545:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={BailoutToCSRError:function(){return f},isBailoutToCSRError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="BAILOUT_TO_CLIENT_SIDE_RENDERING";class f extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===e}},69687:(a,b)=>{"use strict";function c(a,b){let c;if(b?.host&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},70580:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return o},getRouteRegex:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(96100),g=c(11042),h=c(73896),i=c(19524),j=c(31385);function k(a,b,c){let d={},e=1,f=[];for(let k of(0,i.removeTrailingSlash)(a).slice(1).split("/")){let a=g.INTERCEPTION_ROUTE_MARKERS.find(a=>k.startsWith(a)),i=k.match(j.PARAMETER_PATTERN);if(a&&i&&i[2]){let{key:b,optional:c,repeat:g}=(0,j.parseMatchedParameter)(i[2]);d[b]={pos:e++,repeat:g,optional:c},f.push(`/${(0,h.escapeStringRegexp)(a)}([^/]+?)`)}else if(i&&i[2]){let{key:a,repeat:b,optional:g}=(0,j.parseMatchedParameter)(i[2]);d[a]={pos:e++,repeat:b,optional:g},c&&i[1]&&f.push(`/${(0,h.escapeStringRegexp)(i[1])}`);let k=b?g?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)";c&&i[1]&&(k=k.substring(1)),f.push(k)}else f.push(`/${(0,h.escapeStringRegexp)(k)}`);b&&i&&i[3]&&f.push((0,h.escapeStringRegexp)(i[3]))}return{parameterizedRoute:f.join(""),groups:d}}function l(a,{includeSuffix:b=!1,includePrefix:c=!1,excludeOptionalTrailingSlash:d=!1}={}){let{parameterizedRoute:e,groups:f}=k(a,b,c),g=e;return d||(g+="(?:/)?"),{re:RegExp(`^${g}$`),groups:f}}function m({interceptionMarker:a,getSafeRouteKey:b,segment:c,routeKeys:d,keyPrefix:e,backreferenceDuplicateKeys:f}){let g,{key:i,optional:k,repeat:l}=(0,j.parseMatchedParameter)(c),n=i.replace(/\W/g,"");e&&(n=`${e}${n}`);let o=!1;(0===n.length||n.length>30)&&(o=!0),isNaN(parseInt(n.slice(0,1)))||(o=!0),o&&(n=b());let p=n in d;e?d[n]=`${e}${i}`:d[n]=i;let q=a?(0,h.escapeStringRegexp)(a):"";return g=p&&f?`\\k<${n}>`:l?`(?<${n}>.+?)`:`(?<${n}>[^/]+?)`,{key:i,pattern:k?`(?:/${q}${g})?`:`/${q}${g}`,cleanedKey:n,optional:k,repeat:l}}function n(a,b,c,d,e,k={names:{},intercepted:{}}){let l,o=(l=0,()=>{let a="",b=++l;for(;b>0;)a+=String.fromCharCode(97+(b-1)%26),b=Math.floor((b-1)/26);return a}),p={},q=[],r=[];for(let l of(k=structuredClone(k),(0,i.removeTrailingSlash)(a).slice(1).split("/"))){let a,i=g.INTERCEPTION_ROUTE_MARKERS.some(a=>l.startsWith(a)),n=l.match(j.PARAMETER_PATTERN),s=i?n?.[1]:void 0;if(s&&n?.[2]?(a=b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0,k.intercepted[n[2]]=s):a=n?.[2]&&k.intercepted[n[2]]?b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0:b?f.NEXT_QUERY_PARAM_PREFIX:void 0,s&&n&&n[2]){let{key:b,pattern:c,cleanedKey:d,repeat:f,optional:g}=m({getSafeRouteKey:o,interceptionMarker:s,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e});q.push(c),r.push(`/${n[1]}:${k.names[b]??d}${f?g?"*":"+":""}`),k.names[b]??=d}else if(n&&n[2]){d&&n[1]&&(q.push(`/${(0,h.escapeStringRegexp)(n[1])}`),r.push(`/${n[1]}`));let{key:b,pattern:c,cleanedKey:f,repeat:g,optional:i}=m({getSafeRouteKey:o,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e}),j=c;d&&n[1]&&(j=j.substring(1)),q.push(j),r.push(`/:${k.names[b]??f}${g?i?"*":"+":""}`),k.names[b]??=f}else q.push(`/${(0,h.escapeStringRegexp)(l)}`),r.push(`/${l}`);c&&n&&n[3]&&(q.push((0,h.escapeStringRegexp)(n[3])),r.push(n[3]))}return{namedParameterizedRoute:q.join(""),routeKeys:p,pathToRegexpPattern:r.join(""),reference:k}}function o(a,b){let c=n(a,b.prefixRouteKeys,b.includeSuffix??!1,b.includePrefix??!1,b.backreferenceDuplicateKeys??!1,b.reference),d=c.namedParameterizedRoute;return b.excludeOptionalTrailingSlash||(d+="(?:/)?"),{...l(a,b),namedRegex:`^${d}$`,routeKeys:c.routeKeys,pathToRegexpPattern:c.pathToRegexpPattern,reference:c.reference}}function p(a,b){let{parameterizedRoute:c}=k(a,!1,!1),{catchAll:d=!0}=b;if("/"===c)return{namedRegex:`^/${d?".*":""}$`};let{namedParameterizedRoute:e}=n(a,!1,!1,!1,!1,void 0);return{namedRegex:`^${e}${d?"(?:(/.*)?)":""}$`}}},71185:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseLoaderTree",{enumerable:!0,get:function(){return e}});let d=c(53610);function e(a){let[b,c,e,f]=a,{layout:g,template:h}=e,{page:i}=e;i=b===d.DEFAULT_SEGMENT_KEY?e.defaultPage:i;let j=g?.[1]||h?.[1]||i?.[1];return{page:i,segment:b,modules:e,conventionPath:j,parallelRoutes:c,staticSiblings:f}}},71509:(a,b,c)=>{"use strict";c.d(b,{U:()=>f});var d=c(59339),e=c(33323);function f(a){return{async get(b,c=null){let f=(await (0,d.c)()).get("SELECT value FROM kv WHERE scope = ? AND key = ?",[a,b]);return f?(0,e.q)(f.value,c):c},async getAll(){let b=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[a]),c={};for(let a of b)c[a.key]=(0,e.q)(a.value);return c},async set(b,c){(await (0,d.c)()).run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,b,(0,e.s)(c)])},async setMany(b){let c=await (0,d.c)();c.transaction(()=>{for(let[d,f]of Object.entries(b))c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,d,(0,e.s)(f)])})},async remove(b){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ? AND key = ?",[a,b])},async clear(){(await (0,d.c)()).run("DELETE FROM kv WHERE scope = ?",[a])}}}},72029:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={CloseController:function(){return g},trackBodyConsumed:function(){return e},trackStreamConsumed:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a,b){return"string"==typeof a?async function*(){let c=new TextEncoder;yield c.encode(a),b()}():f(a,b)}function f(a,b){let c=new TransformStream,d=()=>b();return a.pipeTo(c.writable).then(d,d),c.readable}class g{onClose(a){if(this.isClosed)throw Object.defineProperty(Error("Cannot subscribe to a closed CloseController"),"__NEXT_ERROR_CODE",{value:"E365",enumerable:!1,configurable:!0});this.target.addEventListener("close",a),this.listeners++}dispatchClose(){if(this.isClosed)throw Object.defineProperty(Error("Cannot close a CloseController multiple times"),"__NEXT_ERROR_CODE",{value:"E229",enumerable:!1,configurable:!0});this.listeners>0&&this.target.dispatchEvent(new Event("close")),this.isClosed=!0}constructor(){this.target=new EventTarget,this.listeners=0,this.isClosed=!1}}},72106:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isRequestAPICallableInsideAfter:function(){return j},throwForSearchParamsAccessInUseCache:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(49540),g=c(3295);function h(a,b){throw Object.defineProperty(new f.StaticGenBailoutError(`Route ${a} with \`dynamic = "error"\` couldn't be rendered statically because it used ${b}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E543",enumerable:!1,configurable:!0})}function i(a,b){let c=Object.defineProperty(Error(`Route ${a.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E842",enumerable:!1,configurable:!0});throw Error.captureStackTrace(c,b),a.invalidDynamicUsageError??=c,c}function j(){let a=g.afterTaskAsyncStorage.getStore();return(null==a?void 0:a.rootTaskSpawnPhase)==="action"}},72394:(a,b,c)=>{"use strict";var d,e;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return p}});let f=c(77714),g=c(9913),h=c(15e3),i=c(28704),j=c(72949);function k(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}d=c(98345),e=b,Object.keys(d).forEach(function(a){"default"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return d[a]}})});let l=k(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),m=k(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),n="__ttl_sentinel__";function o(a,b){return`${a}\0${b??n}`}class p{constructor(a,b=m,c=l){this.getBatcher=f.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:i.scheduleOnNextTick}),this.revalidateBatcher=f.Batcher.create({schedulerFn:i.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new g.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===n?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=o(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,j.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,j.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,h.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:f=!1,isRoutePPREnabled:g=!1,isPrefetch:i=!1,waitUntil:k,routeKind:l,invocationID:m}=c,n=await this.getBatcher.batch({key:a,isOnDemandRevalidate:e},({resolve:c})=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:f,isRoutePPREnabled:g,isPrefetch:i,routeKind:l,invocationID:m},c);return k&&k(h),h});return(0,j.toResponseCacheEntry)(n)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,j.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=o(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,h){try{let i=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!i)return null;let k=await (0,j.fromResponseCacheEntry)({...i,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=o(a,h);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},72949:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={fromResponseCacheEntry:function(){return k},routeKindToIncrementalCacheKind:function(){return m},toResponseCacheEntry:function(){return l}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(98345),h=(d=c(7125))&&d.__esModule?d:{default:d},i=c(62929),j=c(96100);async function k(a){var b,c;return{...a,value:(null==(b=a.value)?void 0:b.kind)===g.CachedRouteKind.PAGES?{kind:g.CachedRouteKind.PAGES,html:await a.value.html.toUnchunkedString(!0),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===g.CachedRouteKind.APP_PAGE?{kind:g.CachedRouteKind.APP_PAGE,html:await a.value.html.toUnchunkedString(!0),postponed:a.value.postponed,rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,segmentData:a.value.segmentData}:a.value}}async function l(a){var b,c;return a?{isMiss:a.isMiss,isStale:a.isStale,cacheControl:a.cacheControl,isFallback:a.isFallback,value:(null==(b=a.value)?void 0:b.kind)===g.CachedRouteKind.PAGES?{kind:g.CachedRouteKind.PAGES,html:h.default.fromStatic(a.value.html,j.HTML_CONTENT_TYPE_HEADER),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===g.CachedRouteKind.APP_PAGE?{kind:g.CachedRouteKind.APP_PAGE,html:h.default.fromStatic(a.value.html,j.HTML_CONTENT_TYPE_HEADER),rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,postponed:a.value.postponed,segmentData:a.value.segmentData}:a.value}:null}function m(a){switch(a){case i.RouteKind.PAGES:return g.IncrementalCacheKind.PAGES;case i.RouteKind.APP_PAGE:return g.IncrementalCacheKind.APP_PAGE;case i.RouteKind.IMAGE:return g.IncrementalCacheKind.IMAGE;case i.RouteKind.APP_ROUTE:return g.IncrementalCacheKind.APP_ROUTE;case i.RouteKind.PAGES_API:throw Object.defineProperty(Error(`Unexpected route kind ${a}`),"__NEXT_ERROR_CODE",{value:"E64",enumerable:!1,configurable:!0});default:return a}}},73024:a=>{"use strict";a.exports=require("node:fs")},73346:(a,b,c)=>{var d,e={226:function(e,f){!function(g){"use strict";var h="function",i="undefined",j="object",k="string",l="major",m="model",n="name",o="type",p="vendor",q="version",r="architecture",s="console",t="mobile",u="tablet",v="smarttv",w="wearable",x="embedded",y="Amazon",z="Apple",A="ASUS",B="BlackBerry",C="Browser",D="Chrome",E="Firefox",F="Google",G="Huawei",H="Microsoft",I="Motorola",J="Opera",K="Samsung",L="Sharp",M="Sony",N="Xiaomi",O="Zebra",P="Facebook",Q="Chromium OS",R="Mac OS",S=function(a,b){var c={};for(var d in a)b[d]&&b[d].length%2==0?c[d]=b[d].concat(a[d]):c[d]=a[d];return c},T=function(a){for(var b={},c=0;c<a.length;c++)b[a[c].toUpperCase()]=a[c];return b},U=function(a,b){return typeof a===k&&-1!==V(b).indexOf(V(a))},V=function(a){return a.toLowerCase()},W=function(a,b){if(typeof a===k)return a=a.replace(/^\s\s*/,""),typeof b===i?a:a.substring(0,350)},X=function(a,b){for(var c,d,e,f,g,i,k=0;k<b.length&&!g;){var l=b[k],m=b[k+1];for(c=d=0;c<l.length&&!g&&l[c];)if(g=l[c++].exec(a))for(e=0;e<m.length;e++)i=g[++d],typeof(f=m[e])===j&&f.length>0?2===f.length?typeof f[1]==h?this[f[0]]=f[1].call(this,i):this[f[0]]=f[1]:3===f.length?typeof f[1]!==h||f[1].exec&&f[1].test?this[f[0]]=i?i.replace(f[1],f[2]):void 0:this[f[0]]=i?f[1].call(this,i,f[2]):void 0:4===f.length&&(this[f[0]]=i?f[3].call(this,i.replace(f[1],f[2])):void 0):this[f]=i||void 0;k+=2}},Y=function(a,b){for(var c in b)if(typeof b[c]===j&&b[c].length>0){for(var d=0;d<b[c].length;d++)if(U(b[c][d],a))return"?"===c?void 0:c}else if(U(b[c],a))return"?"===c?void 0:c;return a},Z={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"},$={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[q,[n,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[q,[n,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[n,q],[/opios[\/ ]+([\w\.]+)/i],[q,[n,J+" Mini"]],[/\bopr\/([\w\.]+)/i],[q,[n,J]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(heytap|ovi)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[n,q],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[q,[n,"UC"+C]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[q,[n,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[q,[n,"WeChat"]],[/konqueror\/([\w\.]+)/i],[q,[n,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[q,[n,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[q,[n,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[n,/(.+)/,"$1 Secure "+C],q],[/\bfocus\/([\w\.]+)/i],[q,[n,E+" Focus"]],[/\bopt\/([\w\.]+)/i],[q,[n,J+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[q,[n,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[q,[n,"Dolphin"]],[/coast\/([\w\.]+)/i],[q,[n,J+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[q,[n,"MIUI "+C]],[/fxios\/([-\w\.]+)/i],[q,[n,E]],[/\bqihu|(qi?ho?o?|360)browser/i],[[n,"360 "+C]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[n,/(.+)/,"$1 "+C],q],[/(comodo_dragon)\/([\w\.]+)/i],[[n,/_/g," "],q],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[n,q],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[n],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[n,P],q],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[n,q],[/\bgsa\/([\w\.]+) .*safari\//i],[q,[n,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[q,[n,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[q,[n,D+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[n,D+" WebView"],q],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[q,[n,"Android "+C]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[n,q],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[q,[n,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[q,n],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[n,[q,Y,{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}]],[/(webkit|khtml)\/([\w\.]+)/i],[n,q],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[n,"Netscape"],q],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[q,[n,E+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i,/panasonic;(viera)/i],[n,q],[/(cobalt)\/([\w\.]+)/i],[n,[q,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[r,"amd64"]],[/(ia32(?=;))/i],[[r,V]],[/((?:i[346]|x)86)[;\)]/i],[[r,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[r,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[r,"armhf"]],[/windows (ce|mobile); ppc;/i],[[r,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[r,/ower/,"",V]],[/(sun4\w)[;\)]/i],[[r,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[r,V]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[m,[p,K],[o,u]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[m,[p,K],[o,t]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[m,[p,z],[o,t]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[m,[p,z],[o,u]],[/(macintosh);/i],[m,[p,z]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[m,[p,L],[o,t]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[m,[p,G],[o,u]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[m,[p,G],[o,t]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[m,/_/g," "],[p,N],[o,t]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[m,/_/g," "],[p,N],[o,u]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[m,[p,"OPPO"],[o,t]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[m,[p,"Vivo"],[o,t]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[m,[p,"Realme"],[o,t]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[m,[p,I],[o,t]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[m,[p,I],[o,u]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[m,[p,"LG"],[o,u]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[m,[p,"LG"],[o,t]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[m,[p,"Lenovo"],[o,u]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[m,/_/g," "],[p,"Nokia"],[o,t]],[/(pixel c)\b/i],[m,[p,F],[o,u]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[m,[p,F],[o,t]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[m,[p,M],[o,t]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[m,"Xperia Tablet"],[p,M],[o,u]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[m,[p,"OnePlus"],[o,t]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[m,[p,y],[o,u]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[m,/(.+)/g,"Fire Phone $1"],[p,y],[o,t]],[/(playbook);[-\w\),; ]+(rim)/i],[m,p,[o,u]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[m,[p,B],[o,t]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[m,[p,A],[o,u]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[m,[p,A],[o,t]],[/(nexus 9)/i],[m,[p,"HTC"],[o,u]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[p,[m,/_/g," "],[o,t]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[m,[p,"Acer"],[o,u]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[m,[p,"Meizu"],[o,t]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[p,m,[o,t]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[p,m,[o,u]],[/(surface duo)/i],[m,[p,H],[o,u]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[m,[p,"Fairphone"],[o,t]],[/(u304aa)/i],[m,[p,"AT&T"],[o,t]],[/\bsie-(\w*)/i],[m,[p,"Siemens"],[o,t]],[/\b(rct\w+) b/i],[m,[p,"RCA"],[o,u]],[/\b(venue[\d ]{2,7}) b/i],[m,[p,"Dell"],[o,u]],[/\b(q(?:mv|ta)\w+) b/i],[m,[p,"Verizon"],[o,u]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[m,[p,"Barnes & Noble"],[o,u]],[/\b(tm\d{3}\w+) b/i],[m,[p,"NuVision"],[o,u]],[/\b(k88) b/i],[m,[p,"ZTE"],[o,u]],[/\b(nx\d{3}j) b/i],[m,[p,"ZTE"],[o,t]],[/\b(gen\d{3}) b.+49h/i],[m,[p,"Swiss"],[o,t]],[/\b(zur\d{3}) b/i],[m,[p,"Swiss"],[o,u]],[/\b((zeki)?tb.*\b) b/i],[m,[p,"Zeki"],[o,u]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[p,"Dragon Touch"],m,[o,u]],[/\b(ns-?\w{0,9}) b/i],[m,[p,"Insignia"],[o,u]],[/\b((nxa|next)-?\w{0,9}) b/i],[m,[p,"NextBook"],[o,u]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[p,"Voice"],m,[o,t]],[/\b(lvtel\-)?(v1[12]) b/i],[[p,"LvTel"],m,[o,t]],[/\b(ph-1) /i],[m,[p,"Essential"],[o,t]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[m,[p,"Envizen"],[o,u]],[/\b(trio[-\w\. ]+) b/i],[m,[p,"MachSpeed"],[o,u]],[/\btu_(1491) b/i],[m,[p,"Rotor"],[o,u]],[/(shield[\w ]+) b/i],[m,[p,"Nvidia"],[o,u]],[/(sprint) (\w+)/i],[p,m,[o,t]],[/(kin\.[onetw]{3})/i],[[m,/\./g," "],[p,H],[o,t]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[m,[p,O],[o,u]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[m,[p,O],[o,t]],[/smart-tv.+(samsung)/i],[p,[o,v]],[/hbbtv.+maple;(\d+)/i],[[m,/^/,"SmartTV"],[p,K],[o,v]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[p,"LG"],[o,v]],[/(apple) ?tv/i],[p,[m,z+" TV"],[o,v]],[/crkey/i],[[m,D+"cast"],[p,F],[o,v]],[/droid.+aft(\w)( bui|\))/i],[m,[p,y],[o,v]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[m,[p,L],[o,v]],[/(bravia[\w ]+)( bui|\))/i],[m,[p,M],[o,v]],[/(mitv-\w{5}) bui/i],[m,[p,N],[o,v]],[/Hbbtv.*(technisat) (.*);/i],[p,m,[o,v]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[p,W],[m,W],[o,v]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[o,v]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[p,m,[o,s]],[/droid.+; (shield) bui/i],[m,[p,"Nvidia"],[o,s]],[/(playstation [345portablevi]+)/i],[m,[p,M],[o,s]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[m,[p,H],[o,s]],[/((pebble))app/i],[p,m,[o,w]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[m,[p,z],[o,w]],[/droid.+; (glass) \d/i],[m,[p,F],[o,w]],[/droid.+; (wt63?0{2,3})\)/i],[m,[p,O],[o,w]],[/(quest( 2| pro)?)/i],[m,[p,P],[o,w]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[p,[o,x]],[/(aeobc)\b/i],[m,[p,y],[o,x]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[m,[o,t]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[m,[o,u]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[o,u]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[o,t]],[/(android[-\w\. ]{0,9});.+buil/i],[m,[p,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[q,[n,"EdgeHTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[q,[n,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[n,q],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[q,n]],os:[[/microsoft (windows) (vista|xp)/i],[n,q],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[n,[q,Y,Z]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[n,"Windows"],[q,Y,Z]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/ios;fbsv\/([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[q,/_/g,"."],[n,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[n,R],[q,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[q,n],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[n,q],[/\(bb(10);/i],[q,[n,B]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[q,[n,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[q,[n,E+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[q,[n,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[q,[n,"watchOS"]],[/crkey\/([\d\.]+)/i],[q,[n,D+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[n,Q],q],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[n,q],[/(sunos) ?([\w\.\d]*)/i],[[n,"Solaris"],q],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[n,q]]},_=function(a,b){if(typeof a===j&&(b=a,a=void 0),!(this instanceof _))return new _(a,b).getResult();var c=typeof g!==i&&g.navigator?g.navigator:void 0,d=a||(c&&c.userAgent?c.userAgent:""),e=c&&c.userAgentData?c.userAgentData:void 0,f=b?S($,b):$,s=c&&c.userAgent==d;return this.getBrowser=function(){var a,b={};return b[n]=void 0,b[q]=void 0,X.call(b,d,f.browser),b[l]=typeof(a=b[q])===k?a.replace(/[^\d\.]/g,"").split(".")[0]:void 0,s&&c&&c.brave&&typeof c.brave.isBrave==h&&(b[n]="Brave"),b},this.getCPU=function(){var a={};return a[r]=void 0,X.call(a,d,f.cpu),a},this.getDevice=function(){var a={};return a[p]=void 0,a[m]=void 0,a[o]=void 0,X.call(a,d,f.device),s&&!a[o]&&e&&e.mobile&&(a[o]=t),s&&"Macintosh"==a[m]&&c&&typeof c.standalone!==i&&c.maxTouchPoints&&c.maxTouchPoints>2&&(a[m]="iPad",a[o]=u),a},this.getEngine=function(){var a={};return a[n]=void 0,a[q]=void 0,X.call(a,d,f.engine),a},this.getOS=function(){var a={};return a[n]=void 0,a[q]=void 0,X.call(a,d,f.os),s&&!a[n]&&e&&"Unknown"!=e.platform&&(a[n]=e.platform.replace(/chrome os/i,Q).replace(/macos/i,R)),a},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return d},this.setUA=function(a){return d=typeof a===k&&a.length>350?W(a,350):a,this},this.setUA(d),this};_.VERSION="1.0.35",_.BROWSER=T([n,q,l]),_.CPU=T([r]),_.DEVICE=T([m,p,o,s,t,v,u,w,x]),_.ENGINE=_.OS=T([n,q]),typeof f!==i?(e.exports&&(f=e.exports=_),f.UAParser=_):c.amdO?void 0===(d=(function(){return _}).call(b,c,b,a))||(a.exports=d):typeof g!==i&&(g.UAParser=_);var aa=typeof g!==i&&(g.jQuery||g.Zepto);if(aa&&!aa.ua){var ab=new _;aa.ua=ab.getResult(),aa.ua.get=function(){return ab.getUA()},aa.ua.set=function(a){ab.setUA(a);var b=ab.getResult();for(var c in b)aa.ua[c]=b[c]}}}("object"==typeof window?window:this)}},f={};function g(a){var b=f[a];if(void 0!==b)return b.exports;var c=f[a]={exports:{}},d=!0;try{e[a].call(c.exports,c,c.exports,g),d=!1}finally{d&&delete f[a]}return c.exports}g.ab=__dirname+"/",a.exports=g(226)},73896:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"escapeStringRegexp",{enumerable:!0,get:function(){return e}});let c=/[|\\{}()[\]^$+*?.-]/,d=/[|\\{}()[\]^$+*?.-]/g;function e(a){return c.test(a)?a.replace(d,"\\$&"):a}},75991:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={interceptTestApis:function(){return h},wrapRequestHandler:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(18975),g=c(57202);function h(){return(0,g.interceptFetch)(global.fetch)}function i(a){return(b,c)=>(0,f.withRequest)(b,g.reader,()=>a(b,c))}},76309:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextRequestHint:function(){return C},adapter:function(){return G}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(68802),g=c(99751),h=c(16129),i=c(84573),j=c(17385),k=c(64718),l=c(92729),m=c(76496),n=c(92539),o=c(62192),p=c(32648),q=c(24453),r=c(63033),s=c(61595),t=c(29294),u=c(12726),v=c(88026),w=c(72029),x=c(84989),y=c(63891),z=c(31574),A=c(6872),B=c(61544);class C extends i.NextRequest{constructor(a){super(a.input,a.init),this.sourcePage=a.page}get request(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}respondWith(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}waitUntil(){throw Object.defineProperty(new f.PageSignatureError({page:this.sourcePage}),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}let D={keys:a=>Array.from(a.keys()),get:(a,b)=>a.get(b)??void 0},E=(a,b)=>(0,u.getTracer)().withPropagatedContext(a.headers,b,D),F=!1;async function G(a){var b,d,e,f;let i,D;!function(){if(!F&&(F=!0,"true"===process.env.NEXT_PRIVATE_TEST_PROXY)){let{interceptTestApis:a,wrapRequestHandler:b}=c(75991);a(),E=b(E)}}(),await (0,p.ensureInstrumentationRegistered)();let G=void 0!==globalThis.__BUILD_MANIFEST;a.request.url=(0,n.normalizeRscURL)(a.request.url);let H=a.bypassNextUrl?new URL(a.request.url):new l.NextURL(a.request.url,{headers:a.request.headers,nextConfig:a.request.nextConfig});for(let a of[...H.searchParams.keys()]){let b=H.searchParams.getAll(a),c=(0,g.normalizeNextQueryParam)(a);if(c){for(let a of(H.searchParams.delete(c),b))H.searchParams.append(c,a);H.searchParams.delete(a)}}let I=process.env.__NEXT_BUILD_ID||"";"buildId"in H&&(I=H.buildId||"",H.buildId="");let J=(0,g.fromNodeOutgoingHttpHeaders)(a.request.headers),K=J.has("x-nextjs-data"),L=(0,A.isRSCRequestHeader)(J.get(o.RSC_HEADER));K&&"/index"===H.pathname&&(H.pathname="/");let M=new Map;if(!G)for(let a of o.FLIGHT_HEADERS){let b=J.get(a);null!==b&&(M.set(a,b),J.delete(a))}let N=H.searchParams.get(o.NEXT_RSC_UNION_QUERY),O=new C({page:a.page,input:(0,m.stripInternalSearchParams)(H).toString(),init:{body:a.request.body,headers:J,method:a.request.method,nextConfig:a.request.nextConfig,signal:a.request.signal}});a.request.requestMeta&&(0,B.setRequestMeta)(O,a.request.requestMeta),K&&Object.defineProperty(O,"__isData",{enumerable:!1,value:!0}),!globalThis.__incrementalCacheShared&&a.IncrementalCache&&(globalThis.__incrementalCache=new a.IncrementalCache({CurCacheHandler:a.incrementalCacheHandler,minimalMode:!0,fetchCacheKeyPrefix:"",dev:!1,requestHeaders:a.request.headers,getPrerenderManifest:()=>({version:-1,routes:{},dynamicRoutes:{},notFoundRoutes:[],preview:(0,x.getEdgePreviewProps)()})}));let P=a.request.waitUntil??(null==(b=(0,y.getBuiltinRequestContext)())?void 0:b.waitUntil),Q=new h.NextFetchEvent({request:O,page:a.page,context:P?{waitUntil:P}:void 0});if((i=await E(O,()=>{if("/middleware"===a.page||"/src/middleware"===a.page||"/proxy"===a.page||"/src/proxy"===a.page){let b=Q.waitUntil.bind(Q),c=new w.CloseController;return(0,u.getTracer)().trace(v.MiddlewareSpan.execute,{spanName:`middleware ${O.method}`,attributes:{"http.target":O.nextUrl.pathname,"http.method":O.method}},async()=>{try{var d,e,f,g;let h=(0,x.getEdgePreviewProps)(),i=await (0,z.getImplicitTags)("/",O.nextUrl.pathname,null),j=(0,q.createRequestStoreForAPI)(O,O.nextUrl,i,a=>{D=a},h),k=(0,s.createWorkStore)({page:"/",renderOpts:{cacheLifeProfiles:null==(e=a.request.nextConfig)||null==(d=e.experimental)?void 0:d.cacheLife,cacheComponents:!1,experimental:{isRoutePPREnabled:!1,authInterrupts:!!(null==(g=a.request.nextConfig)||null==(f=g.experimental)?void 0:f.authInterrupts)},supportsDynamicResponse:!0,waitUntil:b,onClose:c.onClose.bind(c),onAfterTaskError:void 0},isPrefetchRequest:"1"===O.headers.get(o.NEXT_ROUTER_PREFETCH_HEADER),buildId:I??"",deploymentId:!1??"",previouslyRevalidatedTags:[]});return await t.workAsyncStorage.run(k,()=>r.workUnitAsyncStorage.run(j,a.handler,O,Q))}finally{setTimeout(()=>{c.dispatchClose()},0)}})}return a.handler(O,Q)}))&&!(i instanceof Response))throw Object.defineProperty(TypeError("Expected an instance of Response to be returned"),"__NEXT_ERROR_CODE",{value:"E567",enumerable:!1,configurable:!0});i&&D&&i.headers.set("set-cookie",D);let R=null==i?void 0:i.headers.get("x-middleware-rewrite");if(i&&R&&(L||!G)){let b=new l.NextURL(R,{forceLocale:!0,headers:a.request.headers,nextConfig:a.request.nextConfig});G||b.host!==O.nextUrl.host||(b.buildId=I||b.buildId,i.headers.set("x-middleware-rewrite",String(b)));let{url:c,isRelative:g}=(0,k.parseRelativeURL)(b.toString(),H.toString());!G&&K&&i.headers.set("x-nextjs-rewrite",c);let h=!g&&(null==(f=a.request.nextConfig)||null==(e=f.experimental)||null==(d=e.clientParamParsingOrigins)?void 0:d.some(a=>new RegExp(a).test(b.origin)));L&&(g||h)&&(H.pathname!==b.pathname&&i.headers.set(o.NEXT_REWRITTEN_PATH_HEADER,b.pathname),H.search!==b.search&&i.headers.set(o.NEXT_REWRITTEN_QUERY_HEADER,b.search.slice(1)))}if(i&&R&&L&&N){let a=new URL(R);a.searchParams.has(o.NEXT_RSC_UNION_QUERY)||(a.searchParams.set(o.NEXT_RSC_UNION_QUERY,N),i.headers.set("x-middleware-rewrite",a.toString()))}let S=null==i?void 0:i.headers.get("Location");if(i&&S&&!G){let b=new l.NextURL(S,{forceLocale:!1,headers:a.request.headers,nextConfig:a.request.nextConfig});i=new Response(i.body,i),b.host===H.host&&(b.buildId=I||b.buildId,i.headers.set("Location",(0,k.getRelativeURL)(b,H))),K&&(i.headers.delete("Location"),i.headers.set("x-nextjs-redirect",(0,k.getRelativeURL)(b.toString(),H.toString())))}let T=i||j.NextResponse.next(),U=T.headers.get("x-middleware-override-headers"),V=[];if(U){for(let[a,b]of M)T.headers.set(`x-middleware-request-${a}`,b),V.push(a);V.length>0&&T.headers.set("x-middleware-override-headers",U+","+V.join(","))}return{response:T,waitUntil:(0,h.getWaitUntilPromiseFromEvent)(Q)??Promise.resolve(),fetchMetrics:O.fetchMetrics}}},76496:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={stripInternalQueries:function(){return h},stripInternalSearchParams:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g=[f.NEXT_RSC_UNION_QUERY];function h(a){for(let b of g)delete a[b]}function i(a){let b="string"==typeof a,c=b?new URL(a):a;return c.searchParams.delete(f.NEXT_RSC_UNION_QUERY),b?c.toString():c}},76717:(a,b,c)=>{"use strict";let d;c.r(b),c.d(b,{default:()=>aZ,handler:()=>aY});var e={};c.r(e),c.d(e,{config:()=>aR,default:()=>aQ}),require("next/dist/build/adapter/setup-node-env.external");var f=c(32648),g=c(76309),h=c(88771),i=c(62940),j=c(59339),k=c(85304);c(56840),c(95160);var l=c(17343);Object.freeze({maxMembers:999,maxWorkers:8,maxConcurrentRunsPerPrincipal:2,maxConcurrentRunsGlobal:8,maxProviderFanout:4,minTimeoutMs:1e3,maxTimeoutMs:12e4,maxGraceMs:3e4,maxOutputChars:12e4,maxAggregateOutputChars:3e5,maxLogicalCalls:16,maxEstimatedCostUsd:1/0});var m=c(71509);(0,m.U)("modelAliases"),(0,m.U)("customModels"),(0,m.U)("mitmAlias"),c(36241);var n=c(94735);c(91117),c(57178),process.env.USAGE_RETENTION_DAYS,global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new n.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._statsEmitTimers||(global._statsEmitTimers={pending:null,update:null}),global._statsFrameCache||(global._statsFrameCache={frame:null,computing:null,ts:0}),global._usagePrune||(global._usagePrune={lastAt:0}),global._pendingRequests,global._lastErrorProvider,global._pendingTimers,global._recentRing,global._connectionMapCache,global._statsEmitTimers,global._statsFrameCache,global._usagePrune,global._statsEmitter;var o=c(33323);let p=null,q=0;async function r(){if(p&&Date.now()-q<5e3)return p;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,85304)),b=await a(),d="false"!==process.env.OBSERVABILITY_ENABLED;p={enabled:"boolean"==typeof b.enableObservability2?b.enableObservability2:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{p={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return q=Date.now(),p}let s=[],t=null,u=!1;function v(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function w(){if(!u&&0!==s.length){u=!0;try{for(;s.length>0;){let a=s.splice(0,s.length),b=await (0,j.c)(),c=await r();b.transaction(()=>{for(let d of a){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let a={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},combo:d.combo||null,request:v(d.request,c.maxJsonSize),providerRequest:v(d.providerRequest,c.maxJsonSize),providerResponse:v(d.providerResponse,c.maxJsonSize),response:v(d.response,c.maxJsonSize)};b.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,o.s)(a)])}let d=b.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&b.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{u=!1}}}let x=async()=>{t&&(clearTimeout(t),t=null),s.length>0&&await w()};process.off("beforeExit",x),process.off("SIGINT",x),process.off("SIGTERM",x),process.off("exit",x),process.on("beforeExit",x),process.on("SIGINT",x),process.on("SIGTERM",x),process.on("exit",x);var y=c(2886),z=c(73024),A=c.n(z),B=c(76760),C=c.n(B),D=c(77598),E=c.n(D),F=c(28629);let G=C().join(F.n,"machine-id"),H=C().join(F.n,"auth"),I=C().join(H,"cli-secret"),J=null,K=null;async function L(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(J)return J;try{if(J=A().readFileSync(G,"utf8").trim())return J}catch{}try{J=(0,y.machineIdSync)()}catch{J=E().randomUUID()}try{A().mkdirSync(F.n,{recursive:!0}),A().writeFileSync(G,J,{mode:384})}catch{}return J}(),d="9r-cli-auth"===b?function(){if(K)return K;try{if(K=A().readFileSync(I,"utf8").trim())return K}catch{}K=E().randomBytes(32).toString("hex");try{A().mkdirSync(H,{recursive:!0}),A().writeFileSync(I,K,{mode:384})}catch{}return K}():"";return E().createHash("sha256").update(c+b+d).digest("hex").substring(0,16)}let M=new TextEncoder,N=new TextDecoder;function O(a){let b=new Uint8Array(a.length);for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);if(d>127)throw TypeError("non-ASCII string encountered in encode()");b[c]=d}return b}function P(a){if(Uint8Array.fromBase64)return Uint8Array.fromBase64("string"==typeof a?a:N.decode(a),{alphabet:"base64url"});let b=a;b instanceof Uint8Array&&(b=N.decode(b)),b=b.replace(/-/g,"+").replace(/_/g,"/");try{var c=b;if(Uint8Array.fromBase64)return Uint8Array.fromBase64(c);let a=atob(c),d=new Uint8Array(a.length);for(let b=0;b<a.length;b++)d[b]=a.charCodeAt(b);return d}catch{throw TypeError("The input to be decoded is not correctly encoded.")}}class Q extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(a,b){super(a,b),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}class R extends Q{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class S extends Q{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(a,b,c="unspecified",d="unspecified"){super(a,{cause:{claim:c,reason:d,payload:b}}),this.claim=c,this.reason=d,this.payload=b}}class T extends Q{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"}class U extends Q{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"}class V extends Q{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"}class W extends Q{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"}class X extends Q{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(a="multiple matching keys found in the JSON Web Key Set",b){super(a,b)}}class Y extends Q{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(a="signature verification failed",b){super(a,b)}}let Z=(a,b="algorithm.name")=>TypeError(`CryptoKey does not support this operation, its ${b} must be ${a}`);function $(a,b){if(parseInt(a.hash.name.slice(4),10)!==b)throw Z(`SHA-${b}`,"algorithm.hash")}function _(a,b,...c){if((c=c.filter(Boolean)).length>2){let b=c.pop();a+=`one of type ${c.join(", ")}, or ${b}.`}else 2===c.length?a+=`one of type ${c[0]} or ${c[1]}.`:a+=`of type ${c[0]}.`;return null==b?a+=` Received ${b}`:"function"==typeof b&&b.name?a+=` Received function ${b.name}`:"object"==typeof b&&null!=b&&b.constructor?.name&&(a+=` Received an instance of ${b.constructor.name}`),a}let aa=(a,b,...c)=>_(`Key for the ${a} algorithm must be `,b,...c);async function ab(a,b,c){if(b instanceof Uint8Array){if(!a.startsWith("HS"))throw TypeError(((a,...b)=>_("Key must be ",a,...b))(b,"CryptoKey","KeyObject","JSON Web Key"));return crypto.subtle.importKey("raw",b,{hash:`SHA-${a.slice(-3)}`,name:"HMAC"},!1,[c])}return!function(a,b,c){switch(b){case"HS256":case"HS384":case"HS512":if("HMAC"!==a.algorithm.name)throw Z("HMAC");$(a.algorithm,parseInt(b.slice(2),10));break;case"RS256":case"RS384":case"RS512":if("RSASSA-PKCS1-v1_5"!==a.algorithm.name)throw Z("RSASSA-PKCS1-v1_5");$(a.algorithm,parseInt(b.slice(2),10));break;case"PS256":case"PS384":case"PS512":if("RSA-PSS"!==a.algorithm.name)throw Z("RSA-PSS");$(a.algorithm,parseInt(b.slice(2),10));break;case"Ed25519":case"EdDSA":if("Ed25519"!==a.algorithm.name)throw Z("Ed25519");break;case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":let d;if(d=a.algorithm,d.name!==b)throw Z(b);break;case"ES256":case"ES384":case"ES512":{if("ECDSA"!==a.algorithm.name)throw Z("ECDSA");let c=function(a){switch(a){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw Error("unreachable")}}(b);if(a.algorithm.namedCurve!==c)throw Z(c,"algorithm.namedCurve");break}default:throw TypeError("CryptoKey does not support this operation")}if(c&&!a.usages.includes(c))throw TypeError(`CryptoKey does not support this operation, its usages must include ${c}.`)}(b,a,c),b}async function ac(a,b,c,d){let e=await ab(a,b,"verify");!function(a,b){if(a.startsWith("RS")||a.startsWith("PS")){let{modulusLength:c}=b.algorithm;if("number"!=typeof c||c<2048)throw TypeError(`${a} requires key modulusLength to be 2048 bits or larger`)}}(a,e);let f=function(a,b){let c=`SHA-${a.slice(-3)}`;switch(a){case"HS256":case"HS384":case"HS512":return{hash:c,name:"HMAC"};case"PS256":case"PS384":case"PS512":return{hash:c,name:"RSA-PSS",saltLength:parseInt(a.slice(-3),10)>>3};case"RS256":case"RS384":case"RS512":return{hash:c,name:"RSASSA-PKCS1-v1_5"};case"ES256":case"ES384":case"ES512":return{hash:c,name:"ECDSA",namedCurve:b.namedCurve};case"Ed25519":case"EdDSA":return{name:"Ed25519"};case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":return{name:a};default:throw new U(`alg ${a} is not supported either by JOSE or your javascript runtime`)}}(a,e.algorithm);try{return await crypto.subtle.verify(f,e,c,d)}catch{return!1}}function ad(a,b,c){try{return P(a)}catch{throw new c(`Failed to base64url decode the ${b}`)}}function ae(a){if("object"!=typeof a||null===a||"[object Object]"!==Object.prototype.toString.call(a))return!1;if(null===Object.getPrototypeOf(a))return!0;let b=a;for(;null!==Object.getPrototypeOf(b);)b=Object.getPrototypeOf(b);return Object.getPrototypeOf(a)===b}Symbol();let af=a=>ae(a)&&"string"==typeof a.kty,ag=a=>{if(a?.[Symbol.toStringTag]==="CryptoKey")return!0;try{return a instanceof CryptoKey}catch{return!1}},ah=a=>a?.[Symbol.toStringTag]==="KeyObject",ai=a=>ag(a)||ah(a),aj=a=>a?.[Symbol.toStringTag],ak=(a,b,c)=>{if(void 0!==b.use){let a;switch(c){case"sign":case"verify":a="sig";break;case"encrypt":case"decrypt":a="enc"}if(b.use!==a)throw TypeError(`Invalid key for this operation, its "use" must be "${a}" when present`)}if(void 0!==b.alg&&b.alg!==a)throw TypeError(`Invalid key for this operation, its "alg" must be "${a}" when present`);if(Array.isArray(b.key_ops)){let d;switch(!0){case"sign"===c||"verify"===c:case"dir"===a:case a.includes("CBC-HS"):d=c;break;case a.startsWith("PBES2"):d="deriveBits";break;case/^A\d{3}(?:GCM)?(?:KW)?$/.test(a):d=!a.includes("GCM")&&a.endsWith("KW")?"encrypt"===c?"wrapKey":"unwrapKey":c;break;case"encrypt"===c&&a.startsWith("RSA"):d="wrapKey";break;case"decrypt"===c:d=a.startsWith("RSA")?"unwrapKey":"deriveBits"}if(d&&b.key_ops?.includes?.(d)===!1)throw TypeError(`Invalid key for this operation, its "key_ops" must include "${d}" when present`)}return!0},al='Invalid or unsupported JWK "alg" (Algorithm) Parameter value';async function am(a){if(!a.alg)throw TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:b,keyUsages:c}=function(a){let b,c;switch(a.kty){case"AKP":switch(a.alg){case"ML-DSA-44":case"ML-DSA-65":case"ML-DSA-87":b={name:a.alg},c=a.priv?["sign"]:["verify"];break;default:throw new U(al)}break;case"RSA":switch(a.alg){case"PS256":case"PS384":case"PS512":b={name:"RSA-PSS",hash:`SHA-${a.alg.slice(-3)}`},c=a.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":b={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${a.alg.slice(-3)}`},c=a.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":b={name:"RSA-OAEP",hash:`SHA-${parseInt(a.alg.slice(-3),10)||1}`},c=a.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new U(al)}break;case"EC":switch(a.alg){case"ES256":case"ES384":case"ES512":b={name:"ECDSA",namedCurve:({ES256:"P-256",ES384:"P-384",ES512:"P-521"})[a.alg]},c=a.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":b={name:"ECDH",namedCurve:a.crv},c=a.d?["deriveBits"]:[];break;default:throw new U(al)}break;case"OKP":switch(a.alg){case"Ed25519":case"EdDSA":b={name:"Ed25519"},c=a.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":b={name:a.crv},c=a.d?["deriveBits"]:[];break;default:throw new U(al)}break;default:throw new U('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:b,keyUsages:c}}(a),d={...a};return"AKP"!==d.kty&&delete d.alg,delete d.use,crypto.subtle.importKey("jwk",d,b,a.ext??(!a.d&&!a.priv),a.key_ops??c)}let an="given KeyObject instance cannot be used for this algorithm",ao=async(a,b,c,e=!1)=>{let f=(d||=new WeakMap).get(a);if(f?.[c])return f[c];let g=await am({...b,alg:c});return e&&Object.freeze(a),f?f[c]=g:d.set(a,{[c]:g}),g};async function ap(a,b){if(a instanceof Uint8Array||ag(a))return a;if(ah(a)){if("secret"===a.type)return a.export();if("toCryptoKey"in a&&"function"==typeof a.toCryptoKey)try{return((a,b)=>{let c,e=(d||=new WeakMap).get(a);if(e?.[b])return e[b];let f="public"===a.type,g=!!f;if("x25519"===a.asymmetricKeyType){switch(b){case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":break;default:throw TypeError(an)}c=a.toCryptoKey(a.asymmetricKeyType,g,f?[]:["deriveBits"])}if("ed25519"===a.asymmetricKeyType){if("EdDSA"!==b&&"Ed25519"!==b)throw TypeError(an);c=a.toCryptoKey(a.asymmetricKeyType,g,[f?"verify":"sign"])}switch(a.asymmetricKeyType){case"ml-dsa-44":case"ml-dsa-65":case"ml-dsa-87":if(b!==a.asymmetricKeyType.toUpperCase())throw TypeError(an);c=a.toCryptoKey(a.asymmetricKeyType,g,[f?"verify":"sign"])}if("rsa"===a.asymmetricKeyType){let d;switch(b){case"RSA-OAEP":d="SHA-1";break;case"RS256":case"PS256":case"RSA-OAEP-256":d="SHA-256";break;case"RS384":case"PS384":case"RSA-OAEP-384":d="SHA-384";break;case"RS512":case"PS512":case"RSA-OAEP-512":d="SHA-512";break;default:throw TypeError(an)}if(b.startsWith("RSA-OAEP"))return a.toCryptoKey({name:"RSA-OAEP",hash:d},g,f?["encrypt"]:["decrypt"]);c=a.toCryptoKey({name:b.startsWith("PS")?"RSA-PSS":"RSASSA-PKCS1-v1_5",hash:d},g,[f?"verify":"sign"])}if("ec"===a.asymmetricKeyType){let d=new Map([["prime256v1","P-256"],["secp384r1","P-384"],["secp521r1","P-521"]]).get(a.asymmetricKeyDetails?.namedCurve);if(!d)throw TypeError(an);let e={ES256:"P-256",ES384:"P-384",ES512:"P-521"};e[b]&&d===e[b]&&(c=a.toCryptoKey({name:"ECDSA",namedCurve:d},g,[f?"verify":"sign"])),b.startsWith("ECDH-ES")&&(c=a.toCryptoKey({name:"ECDH",namedCurve:d},g,f?[]:["deriveBits"]))}if(!c)throw TypeError(an);return e?e[b]=c:d.set(a,{[b]:c}),c})(a,b)}catch(a){if(a instanceof TypeError)throw a}let c=a.export({format:"jwk"});return ao(a,c,b)}if(af(a))return a.k?P(a.k):ao(a,a,b,!0);throw Error("unreachable")}async function aq(a,b,c){if(!ae(a))throw new V("Flattened JWS must be an object");if(void 0===a.protected&&void 0===a.header)throw new V('Flattened JWS must have either of the "protected" or "header" members');if(void 0!==a.protected&&"string"!=typeof a.protected)throw new V("JWS Protected Header incorrect type");if(void 0===a.payload)throw new V("JWS Payload missing");if("string"!=typeof a.signature)throw new V("JWS Signature missing or incorrect type");if(void 0!==a.header&&!ae(a.header))throw new V("JWS Unprotected Header incorrect type");let d={};if(a.protected)try{let b=P(a.protected);d=JSON.parse(N.decode(b))}catch{throw new V("JWS Protected Header is invalid")}if(!function(...a){let b,c=a.filter(Boolean);if(0===c.length||1===c.length)return!0;for(let a of c){let c=Object.keys(a);if(!b||0===b.size){b=new Set(c);continue}for(let a of c){if(b.has(a))return!1;b.add(a)}}return!0}(d,a.header))throw new V("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let e={...d,...a.header},f=function(a,b,c,d,e){let f;if(void 0!==e.crit&&d?.crit===void 0)throw new a('"crit" (Critical) Header Parameter MUST be integrity protected');if(!d||void 0===d.crit)return new Set;if(!Array.isArray(d.crit)||0===d.crit.length||d.crit.some(a=>"string"!=typeof a||0===a.length))throw new a('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');for(let g of(f=void 0!==c?new Map([...Object.entries(c),...b.entries()]):b,d.crit)){if(!f.has(g))throw new U(`Extension Header Parameter "${g}" is not recognized`);if(void 0===e[g])throw new a(`Extension Header Parameter "${g}" is missing`);if(f.get(g)&&void 0===d[g])throw new a(`Extension Header Parameter "${g}" MUST be integrity protected`)}return new Set(d.crit)}(V,new Map([["b64",!0]]),c?.crit,d,e),g=!0;if(f.has("b64")&&"boolean"!=typeof(g=d.b64))throw new V('The "b64" (base64url-encode payload) Header Parameter must be a boolean');let{alg:h}=e;if("string"!=typeof h||!h)throw new V('JWS "alg" (Algorithm) Header Parameter missing or invalid');let i=c&&function(a,b){if(void 0!==b&&(!Array.isArray(b)||b.some(a=>"string"!=typeof a)))throw TypeError(`"${a}" option must be an array of strings`);if(b)return new Set(b)}("algorithms",c.algorithms);if(i&&!i.has(h))throw new T('"alg" (Algorithm) Header Parameter value not allowed');if(g){if("string"!=typeof a.payload)throw new V("JWS Payload must be a string")}else if("string"!=typeof a.payload&&!(a.payload instanceof Uint8Array))throw new V("JWS Payload must be a string or an Uint8Array instance");let j=!1;"function"==typeof b&&(b=await b(d,a),j=!0);var k=b,l="verify";switch(h.substring(0,2)){case"A1":case"A2":case"di":case"HS":case"PB":((a,b,c)=>{if(!(b instanceof Uint8Array)){if(af(b)){if("oct"===b.kty&&"string"==typeof b.k&&ak(a,b,c))return;throw TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!ai(b))throw TypeError(aa(a,b,"CryptoKey","KeyObject","JSON Web Key","Uint8Array"));if("secret"!==b.type)throw TypeError(`${aj(b)} instances for symmetric algorithms must be of type "secret"`)}})(h,k,l);break;default:((a,b,c)=>{if(af(b))switch(c){case"decrypt":case"sign":if("oct"!==b.kty&&("AKP"===b.kty&&"string"==typeof b.priv||"string"==typeof b.d)&&ak(a,b,c))return;throw TypeError("JSON Web Key for this operation must be a private JWK");case"encrypt":case"verify":if("oct"!==b.kty&&void 0===b.d&&void 0===b.priv&&ak(a,b,c))return;throw TypeError("JSON Web Key for this operation must be a public JWK")}if(!ai(b))throw TypeError(aa(a,b,"CryptoKey","KeyObject","JSON Web Key"));if("secret"===b.type)throw TypeError(`${aj(b)} instances for asymmetric algorithms must not be of type "secret"`);if("public"===b.type)switch(c){case"sign":throw TypeError(`${aj(b)} instances for asymmetric algorithm signing must be of type "private"`);case"decrypt":throw TypeError(`${aj(b)} instances for asymmetric algorithm decryption must be of type "private"`)}if("private"===b.type)switch(c){case"verify":throw TypeError(`${aj(b)} instances for asymmetric algorithm verifying must be of type "public"`);case"encrypt":throw TypeError(`${aj(b)} instances for asymmetric algorithm encryption must be of type "public"`)}})(h,k,l)}let m=function(...a){let b=new Uint8Array(a.reduce((a,{length:b})=>a+b,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}(void 0!==a.protected?O(a.protected):new Uint8Array,O("."),"string"==typeof a.payload?g?O(a.payload):M.encode(a.payload):a.payload),n=ad(a.signature,"signature",V),o=await ap(b,h);if(!await ac(h,o,n,m))throw new Y;let p={payload:g?ad(a.payload,"payload",V):"string"==typeof a.payload?M.encode(a.payload):a.payload};return(void 0!==a.protected&&(p.protectedHeader=d),void 0!==a.header&&(p.unprotectedHeader=a.header),j)?{...p,key:o}:p}async function ar(a,b,c){if(a instanceof Uint8Array&&(a=N.decode(a)),"string"!=typeof a)throw new V("Compact JWS must be a string or Uint8Array");let{0:d,1:e,2:f,length:g}=a.split(".");if(3!==g)throw new V("Invalid Compact JWS");let h=await aq({payload:e,protected:d,signature:f},b,c),i={payload:h.payload,protectedHeader:h.protectedHeader};return"function"==typeof b?{...i,key:h.key}:i}let as=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function at(a){let b,c=as.exec(a);if(!c||c[4]&&c[1])throw TypeError("Invalid time period format");let d=parseFloat(c[2]);switch(c[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":b=Math.round(d);break;case"minute":case"minutes":case"min":case"mins":case"m":b=Math.round(60*d);break;case"hour":case"hours":case"hr":case"hrs":case"h":b=Math.round(3600*d);break;case"day":case"days":case"d":b=Math.round(86400*d);break;case"week":case"weeks":case"w":b=Math.round(604800*d);break;default:b=Math.round(0x1e187e0*d)}return"-"===c[1]||"ago"===c[4]?-b:b}let au=a=>a.includes("/")?a.toLowerCase():`application/${a.toLowerCase()}`;async function av(a,b,c){let d=await ar(a,b,c);if(d.protectedHeader.crit?.includes("b64")&&!1===d.protectedHeader.b64)throw new W("JWTs MUST NOT use unencoded payload");let e={payload:function(a,b,c={}){var d,e;let f,g;try{f=JSON.parse(N.decode(b))}catch{}if(!ae(f))throw new W("JWT Claims Set must be a top-level JSON object");let{typ:h}=c;if(h&&("string"!=typeof a.typ||au(a.typ)!==au(h)))throw new R('unexpected "typ" JWT header value',f,"typ","check_failed");let{requiredClaims:i=[],issuer:j,subject:k,audience:l,maxTokenAge:m}=c,n=[...i];for(let a of(void 0!==m&&n.push("iat"),void 0!==l&&n.push("aud"),void 0!==k&&n.push("sub"),void 0!==j&&n.push("iss"),new Set(n.reverse())))if(!(a in f))throw new R(`missing required "${a}" claim`,f,a,"missing");if(j&&!(Array.isArray(j)?j:[j]).includes(f.iss))throw new R('unexpected "iss" claim value',f,"iss","check_failed");if(k&&f.sub!==k)throw new R('unexpected "sub" claim value',f,"sub","check_failed");if(l&&(d=f.aud,e="string"==typeof l?[l]:l,"string"==typeof d?!e.includes(d):!(Array.isArray(d)&&e.some(Set.prototype.has.bind(new Set(d))))))throw new R('unexpected "aud" claim value',f,"aud","check_failed");switch(typeof c.clockTolerance){case"string":g=at(c.clockTolerance);break;case"number":g=c.clockTolerance;break;case"undefined":g=0;break;default:throw TypeError("Invalid clockTolerance option type")}let{currentDate:o}=c,p=Math.floor((o||new Date).getTime()/1e3);if((void 0!==f.iat||m)&&"number"!=typeof f.iat)throw new R('"iat" claim must be a number',f,"iat","invalid");if(void 0!==f.nbf){if("number"!=typeof f.nbf)throw new R('"nbf" claim must be a number',f,"nbf","invalid");if(f.nbf>p+g)throw new R('"nbf" claim timestamp check failed',f,"nbf","check_failed")}if(void 0!==f.exp){if("number"!=typeof f.exp)throw new R('"exp" claim must be a number',f,"exp","invalid");if(f.exp<=p-g)throw new S('"exp" claim timestamp check failed',f,"exp","check_failed")}if(m){let a=p-f.iat;if(a-g>("number"==typeof m?m:at(m)))throw new S('"iat" claim timestamp check failed (too far in the past)',f,"iat","check_failed");if(a<0-g)throw new R('"iat" claim timestamp check failed (it should be in the past)',f,"iat","check_failed")}return f}(d.protectedHeader,d.payload,c),protectedHeader:d.protectedHeader};return"function"==typeof b?{...e,key:d.key}:e}c(55511);"function"==typeof setImmediate||"object"==typeof scheduler&&"function"==typeof scheduler.postTask&&scheduler.postTask.bind(scheduler);let aw=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=C().join(F.n,"jwt-secret");try{return A().readFileSync(a,"utf8").trim()}catch{}A().mkdirSync(F.n,{recursive:!0});let b=E().randomBytes(32).toString("hex");return A().writeFileSync(a,b,{mode:384}),b}());async function ax(a){if(!a)return!1;try{return await av(a,aw),!0}catch{return!1}}let ay=null;async function az(){return ay||(ay=await L("9r-cli-auth")),ay}async function aA(a){let b=a.headers.get("x-9r-cli-token");return!!b&&b===await az()}let aB=["/api/health","/api/init","/api/locale","/api/auth/login","/api/auth/logout","/api/auth/status","/api/auth/oidc","/api/version","/api/settings/require-login"],aC=["/v1","/v1beta","/api/v1","/api/v1beta","/codex"],aD=["/api/shutdown","/api/settings/database","/api/version/shutdown","/api/version/update","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/kimi-desktop/auto-import"],aE=["/api/cli-tools/cowork-settings","/api/cli-tools/antigravity-mitm","/api/mcp/","/api/tunnel/tailscale-install","/api/tunnel/tailscale-enable","/api/tunnel/tailscale-disable","/api/tunnel/tailscale-check","/api/tunnel/enable","/api/tunnel/disable","/api/oauth/cursor/auto-import","/api/oauth/kiro/auto-import","/api/oauth/kimi-desktop/auto-import","/api/auth/reset-password","/api/headroom/start","/api/headroom/stop"],aF=new Set(["localhost","127.0.0.1","::1"]);function aG(a){if(!a)return!1;let b=a.split(":")[0].replace(/^\[|\]$/g,"").toLowerCase();return aF.has(b)}function aH(a){if(a.headers.get("x-9r-via-proxy"))return!1;let b=a.headers.get("x-9r-real-ip");if(!b||!aG(b))return!1;let c=a.headers.get("origin");if(c)try{if(!aG(new URL(c).hostname))return!1}catch{return!1}return!0}function aI(a){return aC.some(b=>a===b||a.startsWith(`${b}/`))}async function aJ(a){let b=function(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");if(c)return c;let d=a.headers.get("x-goog-api-key");return d||a.nextUrl.searchParams?.get("key")||null}(a);return!!b&&await (0,l.validateApiKey)(b)}async function aK(a){return!!(aH(a)||await aA(a))||await aJ(a)}async function aL(a){return!!(await aA(a)||aH(a)&&await aO(a))}async function aM(a){let b=a.cookies.get("auth_token")?.value;return await ax(b)}async function aN(){try{return await (0,k.getSettings)()}catch{return null}}async function aO(a){if(await aM(a))return!0;let b=await aN();return!!b&&!1===b.requireLogin}async function aP(a){let{pathname:b}=a.nextUrl;if(aE.some(a=>b.startsWith(a))&&!await aL(a))return i.NextResponse.json({error:"Local only: CLI token required"},{status:403});if(aD.some(a=>b.startsWith(a)))return await aA(a)||await aM(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401});if(aI(b))return await aK(a)?i.NextResponse.next():i.NextResponse.json({error:"API key required for remote API access"},{status:401});if(b.startsWith("/api/"))return aI(b)||aB.some(a=>b===a||b.startsWith(`${a}/`))?i.NextResponse.next():["GET","HEAD","OPTIONS"].includes(a.method)?await aA(a)||await aO(a)?i.NextResponse.next():i.NextResponse.json({error:"Unauthorized"},{status:401}):await aA(a)||await aM(a)?i.NextResponse.next():i.NextResponse.json({error:"Authentication required for this action"},{status:401});if(b.startsWith("/dashboard")){let b=!0;try{let c=await aN();if(c&&(b=!1!==c.requireLogin,!0!==c.tunnelDashboardAccess)){let b=(a.headers.get("host")||"").split(":")[0].toLowerCase(),d=c.tunnelUrl?new URL(c.tunnelUrl).hostname.toLowerCase():"",e=c.tailscaleUrl?new URL(c.tailscaleUrl).hostname.toLowerCase():"";if(d&&b===d||e&&b===e)return i.NextResponse.redirect(new URL("/login",a.url))}}catch{}if(!b)return i.NextResponse.next();let c=a.cookies.get("auth_token")?.value;return c&&await ax(c)?i.NextResponse.next():i.NextResponse.redirect(new URL("/login",a.url))}return"/"===b?i.NextResponse.redirect(new URL("/dashboard",a.url)):i.NextResponse.next()}async function aQ(a){return aP(a)}let aR={matcher:["/((?!_next/static|_next/image|favicon\\.ico).*)"]};c(6365);var aS=c(99751);let aT={...e},aU="/src/proxy",aV=(0,aT.proxy||aT.default);class aW extends Error{constructor(a){super(a),this.stack=""}}if("function"!=typeof aV)throw new aW(`The Proxy file "${aU}" must export a function named \`proxy\` or a default function.`);let aX=a=>(0,g.adapter)({...a,IncrementalCache:h.IncrementalCache,incrementalCacheHandler:null,page:aU,handler:async(...a)=>{try{return await aV(...a)}catch(e){let b=a[0],c=new URL(b.url),d=c.pathname+c.search;throw await (0,f.edgeInstrumentationOnRequestError)(e,{path:d,method:b.method,headers:Object.fromEntries(b.headers.entries())},{routerKind:"Pages Router",routePath:"/proxy",routeType:"proxy",revalidateReason:void 0}),e}}});async function aY(a,b){let c=await aX({request:{url:a.url,method:a.method,headers:(0,aS.toNodeOutgoingHttpHeaders)(a.headers),nextConfig:{basePath:"",i18n:"",trailingSlash:!1,experimental:{cacheLife:{default:{stale:300,revalidate:900,expire:0xfffffffe},seconds:{stale:30,revalidate:1,expire:60},minutes:{stale:300,revalidate:60,expire:3600},hours:{stale:300,revalidate:3600,expire:86400},days:{stale:300,revalidate:86400,expire:604800},weeks:{stale:300,revalidate:604800,expire:2592e3},max:{stale:300,revalidate:2592e3,expire:31536e3}},authInterrupts:!1,clientParamParsingOrigins:[]}},page:{name:aU},body:"GET"!==a.method&&"HEAD"!==a.method?a.body??void 0:void 0,waitUntil:b.waitUntil,requestMeta:b.requestMeta,signal:b.signal||new AbortController().signal}});return null==b.waitUntil||b.waitUntil.call(b,c.waitUntil),c.response}let aZ=aX},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},77714:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(59841);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b({resolve:a=>Promise.resolve(a),key:a});let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let c=await b({resolve:g,key:a});g(c)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},77890:(a,b)=>{"use strict";function c(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parsePath",{enumerable:!0,get:function(){return c}})},79285:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ActionDidNotRevalidate:function(){return e},ActionDidRevalidateDynamicOnly:function(){return g},ActionDidRevalidateStaticAndDynamic:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=1,g=2},79646:a=>{"use strict";a.exports=require("child_process")},80099:a=>{"use strict";a.exports=require("node:sqlite")},80311:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={delayUntilRuntimeStage:function(){return o},getRuntimeStage:function(){return n},isHangingPromiseRejectionError:function(){return g},makeDevtoolsIOAwarePromise:function(){return m},makeHangingPromise:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(54795);function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===h}let h="HANGING_PROMISE_REJECTION";class i extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=h}}let j=new WeakMap;function k(a,b,c){if(a.aborted)return Promise.reject(new i(b,c));{let d=new Promise((d,e)=>{let f=e.bind(null,new i(b,c)),g=j.get(a);if(g)g.push(f);else{let b=[f];j.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return d.catch(l),d}}function l(){}function m(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}function n(a){return a.currentStage===f.RenderStage.EarlyStatic||a.currentStage===f.RenderStage.EarlyRuntime?f.RenderStage.EarlyRuntime:f.RenderStage.Runtime}function o(a,b){let{stagedRendering:c}=a;return c?c.waitForStage(n(c)).then(()=>b):b}},80670:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DecodeError:function(){return q},MiddlewareNotFoundError:function(){return u},MissingStaticPage:function(){return t},NormalizeError:function(){return r},PageNotFoundError:function(){return s},SP:function(){return o},ST:function(){return p},WEB_VITALS:function(){return e},execOnce:function(){return f},getDisplayName:function(){return k},getLocationOrigin:function(){return i},getURL:function(){return j},isAbsoluteUrl:function(){return h},isResSent:function(){return l},loadGetInitialProps:function(){return n},normalizeRepeatedSlashes:function(){return m},stringifyError:function(){return v}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=["CLS","FCP","FID","INP","LCP","TTFB"];function f(a){let b,c=!1;return(...d)=>(c||(c=!0,b=a(...d)),b)}let g=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,h=a=>g.test(a);function i(){let{protocol:a,hostname:b,port:c}=window.location;return`${a}//${b}${c?":"+c:""}`}function j(){let{href:a}=window.location,b=i();return a.substring(b.length)}function k(a){return"string"==typeof a?a:a.displayName||a.name||"Unknown"}function l(a){return a.finished||a.headersSent}function m(a){let b=a.split("?");return b[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(b[1]?`?${b.slice(1).join("?")}`:"")}async function n(a,b){let c=b.res||b.ctx&&b.ctx.res;if(!a.getInitialProps)return b.ctx&&b.Component?{pageProps:await n(b.Component,b.ctx)}:{};let d=await a.getInitialProps(b);if(c&&l(c))return d;if(!d)throw Object.defineProperty(Error(`"${k(a)}.getInitialProps()" should resolve to an object. But found "${d}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return d}let o="u">typeof performance,p=o&&["mark","measure","getEntriesByName"].every(a=>"function"==typeof performance[a]);class q extends Error{}class r extends Error{}class s extends Error{constructor(a){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${a}`}}class t extends Error{constructor(a,b){super(),this.message=`Failed to load static file for page: ${a} ${b}`}}class u extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(a){return JSON.stringify({message:a.message,stack:a.stack})}},81787:a=>{"use strict";a.exports=require("bun:sqlite")},82737:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getNextPathnameInfo",{enumerable:!0,get:function(){return g}});let d=c(28516),e=c(96664),f=c(93250);function g(a,b){let{basePath:c,i18n:g,trailingSlash:h}=b.nextConfig??{},i={pathname:a,trailingSlash:"/"!==a?a.endsWith("/"):h};c&&(0,f.pathHasPrefix)(i.pathname,c)&&(i.pathname=(0,e.removePathPrefix)(i.pathname,c),i.basePath=c);let j=i.pathname;if(i.pathname.startsWith("/_next/data/")&&i.pathname.endsWith(".json")){let a=i.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");i.buildId=a[0],j="index"!==a[1]?`/${a.slice(1).join("/")}`:"/",!0===b.parseData&&(i.pathname=j)}if(g){let a=b.i18nProvider?b.i18nProvider.analyze(i.pathname):(0,d.normalizeLocalePath)(i.pathname,g.locales);i.locale=a.detectedLocale,i.pathname=a.pathname??i.pathname,!a.detectedLocale&&i.buildId&&(a=b.i18nProvider?b.i18nProvider.analyze(j):(0,d.normalizeLocalePath)(j,g.locales)).detectedLocale&&(i.locale=a.detectedLocale)}return i}},84573:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={INTERNALS:function(){return j},NextRequest:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92729),g=c(99751),h=c(68802),i=c(38955),j=Symbol("internal request");class k extends Request{constructor(a,b={}){const c="string"!=typeof a&&"url"in a?a.url:String(a);(0,g.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);const d=new f.NextURL(c,{headers:(0,g.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[j]={cookies:new i.RequestCookies(this.headers),nextUrl:d,url:d.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[j].cookies}get nextUrl(){return this[j].nextUrl}get page(){throw new h.RemovedPageError}get ua(){throw new h.RemovedUAError}get url(){return this[j].url}}},84989:(a,b)=>{"use strict";function c(){return{previewModeId:process.env.__NEXT_PREVIEW_MODE_ID||"",previewModeSigningKey:process.env.__NEXT_PREVIEW_MODE_SIGNING_KEY||"",previewModeEncryptionKey:process.env.__NEXT_PREVIEW_MODE_ENCRYPTION_KEY||""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getEdgePreviewProps",{enumerable:!0,get:function(){return c}})},85292:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"AfterContext",{enumerable:!0,get:function(){return m}});let e=(d=c(90132))&&d.__esModule?d:{default:d},f=c(42776),g=c(32053),h=c(29294),i=c(67205),j=c(89218),k=c(63033),l=c(3295);class m{constructor({waitUntil:a,onClose:b,onTaskError:c}){this.workUnitStores=new Set,this.waitUntil=a,this.onClose=b,this.onTaskError=c,this.callbackQueue=new e.default,this.callbackQueue.pause()}after(a){if((0,g.isThenable)(a))this.waitUntil||n(),this.waitUntil(a.catch(a=>this.reportTaskError("promise",a)));else if("function"==typeof a)this.addCallback(a);else throw Object.defineProperty(Error("`after()`: Argument must be a promise or a function"),"__NEXT_ERROR_CODE",{value:"E50",enumerable:!1,configurable:!0})}addCallback(a){this.waitUntil||n();let b=k.workUnitAsyncStorage.getStore();b&&this.workUnitStores.add(b);let c=l.afterTaskAsyncStorage.getStore(),d=c?c.rootTaskSpawnPhase:null==b?void 0:b.phase;this.runCallbacksOnClosePromise||(this.runCallbacksOnClosePromise=this.runCallbacksOnClose(),this.waitUntil(this.runCallbacksOnClosePromise));let e=(0,j.bindSnapshot)(async()=>{try{await l.afterTaskAsyncStorage.run({rootTaskSpawnPhase:d},()=>a())}catch(a){this.reportTaskError("function",a)}});this.callbackQueue.add(e)}async runCallbacksOnClose(){return await new Promise(a=>this.onClose(a)),this.runCallbacks()}async runCallbacks(){if(0===this.callbackQueue.size)return;for(let a of this.workUnitStores)a.phase="after";let a=h.workAsyncStorage.getStore();if(!a)throw Object.defineProperty(new f.InvariantError("Missing workStore in AfterContext.runCallbacks"),"__NEXT_ERROR_CODE",{value:"E547",enumerable:!1,configurable:!0});return(0,i.withExecuteRevalidates)(a,()=>(this.callbackQueue.start(),this.callbackQueue.onIdle()))}reportTaskError(a,b){if(console.error("promise"===a?"A promise passed to `after()` rejected:":"An error occurred in a function passed to `after()`:",b),this.onTaskError)try{null==this.onTaskError||this.onTaskError.call(this,b)}catch(a){console.error(Object.defineProperty(new f.InvariantError("`onTaskError` threw while handling an error thrown from an `after` task",{cause:a}),"__NEXT_ERROR_CODE",{value:"E569",enumerable:!1,configurable:!0}))}}}function n(){throw Object.defineProperty(Error("`after()` will not work correctly, because `waitUntil` is not available in the current environment."),"__NEXT_ERROR_CODE",{value:"E91",enumerable:!1,configurable:!0})}},85304:(a,b,c)=>{"use strict";c.d(b,{exportSettings:()=>k,getSettings:()=>j});var d=c(59339),e=c(33323);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},comboCapabilityAdapterEnabled:!0,requireLogin:!0,tunnelDashboardAccess:!0,authMode:"password",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",enableObservability:!0,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,circuitBreaker:{enabled:!0,failureThreshold:5,windowMs:6e4,cooldownMs:3e4,halfOpenMaxCalls:1},healthMonitor:{enabled:!0,windowMs:3e5},outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:20128",dnsToolEnabled:{},rtkEnabled:!0,headroomEnabled:!1,headroomUrl:process.env.HEADROOM_URL||"http://localhost:8787",headroomCompressUserMessages:!1,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",pxpipeEnabled:!1,pxpipeAutoInstall:!1,pxpipeMinChars:25e3,pxpipeTimeoutMs:5e3,semanticCacheEnabled:!1,semanticCacheThreshold:.85,webhookEnabled:!1,webhookDiscordUrl:"",webhookTelegramToken:"",webhookTelegramChatId:"",webhookGenericUrl:"",webhookAlertEvents:{providerDown:!0,rateLimited:!0,healthDegraded:!0,budgetExceeded:!1}};async function g(){let a=(await (0,d.c)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}let h=null;async function i(){var a=await g();let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);return b}async function j(){let a=Date.now(),b=h;if(b&&a-b.at<5e3)return b.promise;let c=i().catch(a=>{throw h=null,a});return h={promise:c,at:a},c}async function k(){return await g()}},85503:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getSortedRouteObjects:function(){return g},getSortedRoutes:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});class e{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a="/"){let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(`${a}${b}/`)).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(`${a}[${this.slugName}]/`)),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot define a route with the same specificity as a optional catch-all route ("${b}" and "${b}[[...${this.optionalRestSlugName}]]").`),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(`${a}[...${this.restSlugName}]/`)),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(`${a}[[...${this.optionalRestSlugName}]]/`)),c}_insert(a,b,c){if(0===a.length){this.placeholder=!1;return}if(c)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let d=a[0];if(d.startsWith("[")&&d.endsWith("]")){let e=d.slice(1,-1),g=!1;if(e.startsWith("[")&&e.endsWith("]")&&(e=e.slice(1,-1),g=!0),e.startsWith("…"))throw Object.defineProperty(Error(`Detected a three-dot character ('…') at ('${e}'). Did you mean ('...')?`),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(e.startsWith("...")&&(e=e.substring(3),c=!0),e.startsWith("[")||e.endsWith("]"))throw Object.defineProperty(Error(`Segment names may not start or end with extra brackets ('${e}').`),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(e.startsWith("."))throw Object.defineProperty(Error(`Segment names may not start with erroneous periods ('${e}').`),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function f(a,c){if(null!==a&&a!==c)throw Object.defineProperty(Error(`You cannot use different slug names for the same dynamic path ('${a}' !== '${c}').`),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});b.forEach(a=>{if(a===c)throw Object.defineProperty(Error(`You cannot have the same slug name "${c}" repeat within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(a.replace(/\W/g,"")===d.replace(/\W/g,""))throw Object.defineProperty(Error(`You cannot have the slug names "${a}" and "${c}" differ only by non-word symbols within a single dynamic path`),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),b.push(c)}if(c)if(g){if(null!=this.restSlugName)throw Object.defineProperty(Error(`You cannot use both an required and optional catch-all route at the same level ("[...${this.restSlugName}]" and "${a[0]}" ).`),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});f(this.optionalRestSlugName,e),this.optionalRestSlugName=e,d="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error(`You cannot use both an optional and required catch-all route at the same level ("[[...${this.optionalRestSlugName}]]" and "${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});f(this.restSlugName,e),this.restSlugName=e,d="[...]"}else{if(g)throw Object.defineProperty(Error(`Optional route parameters are not yet supported ("${a[0]}").`),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});f(this.slugName,e),this.slugName=e,d="[]"}}this.children.has(d)||this.children.set(d,new e),this.children.get(d)._insert(a.slice(1),b,c)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function f(a){let b=new e;return a.forEach(a=>b.insert(a)),b.smoosh()}function g(a,b){let c={},d=[];for(let e=0;e<a.length;e++){let f=b(a[e]);c[f]=e,d[e]=f}return f(d).map(b=>a[c[b]])}},86013:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={REDIRECT_ERROR_CODE:function(){return g},isRedirectError:function(){return h}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(15971),g="NEXT_REDIRECT";function h(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),h=Number(b.at(-2));return c===g&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(h)&&h in f.RedirectStatusCode}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},86948:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isFullStringUrl:function(){return h},parseReqUrl:function(){return j},parseUrl:function(){return i},stripNextRscUnionQuery:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(62192),g="http://n";function h(a){return/https?:\/\//.test(a)}function i(a){let b;try{b=new URL(a,g)}catch{}return b}function j(a){let b=i(a);if(!b)return;let c={};for(let a of b.searchParams.keys()){let d=b.searchParams.getAll(a);c[a]=d.length>1?d:d[0]}return{query:c,hash:b.hash,search:b.search,path:b.pathname,pathname:b.pathname,href:`${b.pathname}${b.search}${b.hash}`,host:"",hostname:"",auth:"",protocol:"",slashes:null,port:""}}function k(a){let b=new URL(a,g);return b.searchParams.delete(f.NEXT_RSC_UNION_QUERY),b.pathname+b.search}},87550:a=>{"use strict";a.exports=require("better-sqlite3")},88026:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e,f,g,h,i,j,k,l,m,n,o={AppRenderSpan:function(){return w},AppRouteRouteHandlersSpan:function(){return z},BaseServerSpan:function(){return q},LoadComponentsSpan:function(){return r},LogSpanAllowList:function(){return D},MiddlewareSpan:function(){return B},NextNodeServerSpan:function(){return t},NextServerSpan:function(){return s},NextVanillaSpanAllowlist:function(){return C},NodeSpan:function(){return y},RenderSpan:function(){return v},ResolveMetadataSpan:function(){return A},RouterSpan:function(){return x},StartServerSpan:function(){return u}};for(var p in o)Object.defineProperty(b,p,{enumerable:!0,get:o[p]});var q=((c=q||{}).handleRequest="BaseServer.handleRequest",c.run="BaseServer.run",c.pipe="BaseServer.pipe",c.getStaticHTML="BaseServer.getStaticHTML",c.render="BaseServer.render",c.renderToResponseWithComponents="BaseServer.renderToResponseWithComponents",c.renderToResponse="BaseServer.renderToResponse",c.renderToHTML="BaseServer.renderToHTML",c.renderError="BaseServer.renderError",c.renderErrorToResponse="BaseServer.renderErrorToResponse",c.renderErrorToHTML="BaseServer.renderErrorToHTML",c.render404="BaseServer.render404",c),r=((d=r||{}).loadDefaultErrorComponents="LoadComponents.loadDefaultErrorComponents",d.loadComponents="LoadComponents.loadComponents",d),s=((e=s||{}).getRequestHandler="NextServer.getRequestHandler",e.getRequestHandlerWithMetadata="NextServer.getRequestHandlerWithMetadata",e.getServer="NextServer.getServer",e.getServerRequestHandler="NextServer.getServerRequestHandler",e.createServer="createServer.createServer",e),t=((f=t||{}).compression="NextNodeServer.compression",f.getBuildId="NextNodeServer.getBuildId",f.createComponentTree="NextNodeServer.createComponentTree",f.clientComponentLoading="NextNodeServer.clientComponentLoading",f.getLayoutOrPageModule="NextNodeServer.getLayoutOrPageModule",f.generateStaticRoutes="NextNodeServer.generateStaticRoutes",f.generateFsStaticRoutes="NextNodeServer.generateFsStaticRoutes",f.generatePublicRoutes="NextNodeServer.generatePublicRoutes",f.generateImageRoutes="NextNodeServer.generateImageRoutes.route",f.sendRenderResult="NextNodeServer.sendRenderResult",f.proxyRequest="NextNodeServer.proxyRequest",f.runApi="NextNodeServer.runApi",f.render="NextNodeServer.render",f.renderHTML="NextNodeServer.renderHTML",f.imageOptimizer="NextNodeServer.imageOptimizer",f.getPagePath="NextNodeServer.getPagePath",f.getRoutesManifest="NextNodeServer.getRoutesManifest",f.findPageComponents="NextNodeServer.findPageComponents",f.getFontManifest="NextNodeServer.getFontManifest",f.getServerComponentManifest="NextNodeServer.getServerComponentManifest",f.getRequestHandler="NextNodeServer.getRequestHandler",f.renderToHTML="NextNodeServer.renderToHTML",f.renderError="NextNodeServer.renderError",f.renderErrorToHTML="NextNodeServer.renderErrorToHTML",f.render404="NextNodeServer.render404",f.startResponse="NextNodeServer.startResponse",f.route="route",f.onProxyReq="onProxyReq",f.apiResolver="apiResolver",f.internalFetch="internalFetch",f),u=((g=u||{}).startServer="startServer.startServer",g),v=((h=v||{}).getServerSideProps="Render.getServerSideProps",h.getStaticProps="Render.getStaticProps",h.renderToString="Render.renderToString",h.renderDocument="Render.renderDocument",h.createBodyResult="Render.createBodyResult",h),w=((i=w||{}).renderToString="AppRender.renderToString",i.renderToReadableStream="AppRender.renderToReadableStream",i.getBodyResult="AppRender.getBodyResult",i.fetch="AppRender.fetch",i),x=((j=x||{}).executeRoute="Router.executeRoute",j),y=((k=y||{}).runHandler="Node.runHandler",k),z=((l=z||{}).runHandler="AppRouteRouteHandlers.runHandler",l),A=((m=A||{}).generateMetadata="ResolveMetadata.generateMetadata",m.generateViewport="ResolveMetadata.generateViewport",m),B=((n=B||{}).execute="Middleware.execute",n);let C=new Set(["Middleware.execute","BaseServer.handleRequest","Render.getServerSideProps","Render.getStaticProps","AppRender.fetch","AppRender.getBodyResult","Render.renderDocument","Node.runHandler","AppRouteRouteHandlers.runHandler","ResolveMetadata.generateMetadata","ResolveMetadata.generateViewport","NextNodeServer.createComponentTree","NextNodeServer.findPageComponents","NextNodeServer.getLayoutOrPageModule","NextNodeServer.startResponse","NextNodeServer.clientComponentLoading"]),D=new Set(["NextNodeServer.findPageComponents","NextNodeServer.createComponentTree","NextNodeServer.clientComponentLoading"])},88266:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return k}});let e=c(72394),f=(d=c(40694))&&d.__esModule?d:{default:d},g=c(96100),h=c(36820),i=c(90925),j=c(94143);class k{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor(a){this.fs=a.fs,this.flushToDisk=a.flushToDisk,this.serverDistDir=a.serverDistDir,this.revalidatedTags=a.revalidatedTags,a.maxMemoryCacheSize?k.memoryCache?k.debug&&console.log("FileSystemCache: memory store already initialized"):(k.debug&&console.log("FileSystemCache: using memory store for fetch cache"),k.memoryCache=(0,j.getMemoryCache)(a.maxMemoryCacheSize)):k.debug&&console.log("FileSystemCache: not using memory store for fetch cache")}resetRequestCache(){}async revalidateTag(a,b){if(a="string"==typeof a?[a]:a,k.debug&&console.log("FileSystemCache: revalidateTag",a,b),0===a.length)return;let c=Date.now();for(let d of a){let a=h.tagsManifest.get(d)||{};if(b){let e={...a};e.stale=c,void 0!==b.expire&&(e.expired=c+1e3*b.expire),h.tagsManifest.set(d,e)}else h.tagsManifest.set(d,{...a,expired:c})}}async get(...a){var b,c,d,f,i,j,l,m,n;let[o,p]=a,{kind:q}=p,r=null==(b=k.memoryCache)?void 0:b.get(o);if(k.debug&&(q===e.IncrementalCacheKind.FETCH?console.log("FileSystemCache: get",o,p.tags,q,!!r):console.log("FileSystemCache: get",o,q,!!r)),!r)try{if(q===e.IncrementalCacheKind.APP_ROUTE){let a=this.getFilePath(`${o}.body`,e.IncrementalCacheKind.APP_ROUTE),b=await this.fs.readFile(a),{mtime:c}=await this.fs.stat(a),d=JSON.parse(await this.fs.readFile(a.replace(/\.body$/,g.NEXT_META_SUFFIX),"utf8"));r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.APP_ROUTE,body:b,headers:d.headers,status:d.status}}}else{let a=this.getFilePath(q===e.IncrementalCacheKind.FETCH?o:`${o}.html`,q),b=await this.fs.readFile(a,"utf8"),{mtime:c}=await this.fs.stat(a);if(q===e.IncrementalCacheKind.FETCH){let{tags:a,fetchIdx:d,fetchUrl:f}=p;if(!this.flushToDisk)return null;let g=c.getTime(),h=JSON.parse(b);if(r={lastModified:g,value:h},(null==(j=r.value)?void 0:j.kind)===e.CachedRouteKind.FETCH){let b=null==(l=r.value)?void 0:l.tags;(null==a?void 0:a.every(a=>null==b?void 0:b.includes(a)))||(k.debug&&console.log("FileSystemCache: tags vs storedTags mismatch",a,b),await this.set(o,r.value,{fetchCache:!0,tags:a,fetchIdx:d,fetchUrl:f}))}}else if(q===e.IncrementalCacheKind.APP_PAGE){let d,f,h;try{d=JSON.parse(await this.fs.readFile(a.replace(/\.html$/,g.NEXT_META_SUFFIX),"utf8"))}catch{}if(null==d?void 0:d.segmentPaths){let a=new Map;f=a;let b=o+g.RSC_SEGMENTS_DIR_SUFFIX;await Promise.all(d.segmentPaths.map(async c=>{let d=this.getFilePath(b+c+g.RSC_SEGMENT_SUFFIX,e.IncrementalCacheKind.APP_PAGE);try{a.set(c,await this.fs.readFile(d))}catch{}}))}p.isFallback||p.isRoutePPREnabled&&(null==d?void 0:d.postponed)!=null||(h=await this.fs.readFile(this.getFilePath(`${o}${g.RSC_SUFFIX}`,e.IncrementalCacheKind.APP_PAGE))),r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.APP_PAGE,html:b,rscData:h,postponed:null==d?void 0:d.postponed,headers:null==d?void 0:d.headers,status:null==d?void 0:d.status,segmentData:f}}}else if(q===e.IncrementalCacheKind.PAGES){let a,d={};p.isFallback||(d=JSON.parse(await this.fs.readFile(this.getFilePath(`${o}${g.NEXT_DATA_SUFFIX}`,e.IncrementalCacheKind.PAGES),"utf8"))),r={lastModified:c.getTime(),value:{kind:e.CachedRouteKind.PAGES,html:b,pageData:d,headers:null==a?void 0:a.headers,status:null==a?void 0:a.status}}}else throw Object.defineProperty(Error(`Invariant: Unexpected route kind ${q} in file system cache.`),"__NEXT_ERROR_CODE",{value:"E445",enumerable:!1,configurable:!0})}r&&(null==(m=k.memoryCache)||m.set(o,r))}catch{return null}if((null==r||null==(c=r.value)?void 0:c.kind)===e.CachedRouteKind.APP_PAGE||(null==r||null==(d=r.value)?void 0:d.kind)===e.CachedRouteKind.APP_ROUTE||(null==r||null==(f=r.value)?void 0:f.kind)===e.CachedRouteKind.PAGES){let a=null==(n=r.value.headers)?void 0:n[g.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");if(b.length>0&&(0,h.areTagsExpired)(b,r.lastModified))return k.debug&&console.log("FileSystemCache: expired tags",b),null}}else if((null==r||null==(i=r.value)?void 0:i.kind)===e.CachedRouteKind.FETCH){let a=p.kind===e.IncrementalCacheKind.FETCH?[...p.tags||[],...p.softTags||[]]:[];if(a.some(a=>this.revalidatedTags.includes(a)))return k.debug&&console.log("FileSystemCache: was revalidated",a),null;if((0,h.areTagsExpired)(a,r.lastModified))return k.debug&&console.log("FileSystemCache: expired tags",a),null}return r??null}async set(a,b,c){var d;if(null==(d=k.memoryCache)||d.set(a,{value:b,lastModified:Date.now()}),k.debug&&console.log("FileSystemCache: set",a),!this.flushToDisk||!b)return;let f=new i.MultiFileWriter(this.fs);if(b.kind===e.CachedRouteKind.APP_ROUTE){let c=this.getFilePath(`${a}.body`,e.IncrementalCacheKind.APP_ROUTE);f.append(c,b.body);let d={headers:b.headers,status:b.status,postponed:void 0,segmentPaths:void 0,prefetchHints:void 0};f.append(c.replace(/\.body$/,g.NEXT_META_SUFFIX),JSON.stringify(d,null,2))}else if(b.kind===e.CachedRouteKind.PAGES||b.kind===e.CachedRouteKind.APP_PAGE){let d=b.kind===e.CachedRouteKind.APP_PAGE,h=this.getFilePath(`${a}.html`,d?e.IncrementalCacheKind.APP_PAGE:e.IncrementalCacheKind.PAGES);if(f.append(h,b.html),c.fetchCache||c.isFallback||c.isRoutePPREnabled||f.append(this.getFilePath(`${a}${d?g.RSC_SUFFIX:g.NEXT_DATA_SUFFIX}`,d?e.IncrementalCacheKind.APP_PAGE:e.IncrementalCacheKind.PAGES),d?b.rscData:JSON.stringify(b.pageData)),(null==b?void 0:b.kind)===e.CachedRouteKind.APP_PAGE){let a;if(b.segmentData){a=[];let c=h.replace(/\.html$/,g.RSC_SEGMENTS_DIR_SUFFIX);for(let[d,e]of b.segmentData){a.push(d);let b=c+d+g.RSC_SEGMENT_SUFFIX;f.append(b,e)}}let c={headers:b.headers,status:b.status,postponed:b.postponed,segmentPaths:a,prefetchHints:void 0};f.append(h.replace(/\.html$/,g.NEXT_META_SUFFIX),JSON.stringify(c))}}else if(b.kind===e.CachedRouteKind.FETCH){let d=this.getFilePath(a,e.IncrementalCacheKind.FETCH);f.append(d,JSON.stringify({...b,tags:c.fetchCache?c.tags:[]}))}await f.wait()}getFilePath(a,b){switch(b){case e.IncrementalCacheKind.FETCH:return f.default.join(this.serverDistDir,"..","cache","fetch-cache",a);case e.IncrementalCacheKind.PAGES:return f.default.join(this.serverDistDir,"pages",a);case e.IncrementalCacheKind.IMAGE:case e.IncrementalCacheKind.APP_PAGE:case e.IncrementalCacheKind.APP_ROUTE:return f.default.join(this.serverDistDir,"app",a);default:throw Object.defineProperty(Error(`Unexpected file path kind: ${b}`),"__NEXT_ERROR_CODE",{value:"E479",enumerable:!1,configurable:!0})}}}},88450:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={NextRequestAdapter:function(){return n},ResponseAborted:function(){return k},ResponseAbortedName:function(){return j},createAbortController:function(){return l},signalFromNodeResponse:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(61544),g=c(99751),h=c(84573),i=c(42097),j="ResponseAborted";class k extends Error{constructor(...a){super(...a),this.name=j}}function l(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new k)}),b}function m(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new k);let{signal:d}=l(a);return d}class n{static fromBaseNextRequest(a,b){if((0,i.isNodeNextRequest)(a))return n.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,d=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(d=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,f.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new h.NextRequest(c,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:d}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new h.NextRequest(a.url,{method:a.method,headers:(0,g.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},88771:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={CacheHandler:function(){return t},IncrementalCache:function(){return v}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(72394),h=(d=c(88266))&&d.__esModule?d:{default:d},i=c(26670),j=c(96100),k=c(6892),l=c(97538),m=c(63033),n=c(42776),o=c(55122),p=c(29294),q=c(59841),r=c(36820);function s(a){let b="buffer"in a?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):new Uint8Array(a),c="";for(let a of b)c+=a.toString(16).padStart(2,"0");return c}class t{constructor(a){}async get(a,b){return{}}async set(a,b,c){}async revalidateTag(a,b){}resetRequestCache(){}}async function u(a){return c(55511).createHash("sha256").update(a).digest("hex")}class v{static #a=this.debug=!!process.env.NEXT_PRIVATE_DEBUG_CACHE;constructor({fs:a,dev:b,flushToDisk:c,minimalMode:d,serverDistDir:e,requestHeaders:f,maxMemoryCacheSize:g,getPrerenderManifest:i,fetchCacheKeyPrefix:k,CurCacheHandler:m,allowedRevalidateHeaderKeys:n}){var p,q,r,s;this.locks=new Map,this.hasCustomCacheHandler=!!m;const t=Symbol.for("@next/cache-handlers"),u=globalThis;if(m)v.debug&&console.log("IncrementalCache: using custom cache handler",m.name);else{const b=u[t];(null==b?void 0:b.FetchCache)?(m=b.FetchCache,v.debug&&console.log("IncrementalCache: using global FetchCache cache handler")):a&&e&&(v.debug&&console.log("IncrementalCache: using filesystem cache handler"),m=h.default)}process.env.__NEXT_TEST_MAX_ISR_CACHE&&(g=parseInt(process.env.__NEXT_TEST_MAX_ISR_CACHE,10)),this.dev=b,this.disableForTestmode="true"===process.env.NEXT_PRIVATE_TEST_PROXY,this.minimalMode=d,this.requestHeaders=f,this.allowedRevalidateHeaderKeys=n,this.prerenderManifest=i(),this.cacheControls=new l.SharedCacheControls(this.prerenderManifest),this.fetchCacheKeyPrefix=k;let w=[];f[j.PRERENDER_REVALIDATE_HEADER]===(null==(q=this.prerenderManifest)||null==(p=q.preview)?void 0:p.previewModeId)&&(this.isOnDemandRevalidate=!0),d&&(w=this.revalidatedTags=(0,o.getPreviouslyRevalidatedTags)(f,null==(s=this.prerenderManifest)||null==(r=s.preview)?void 0:r.previewModeId)),m&&(this.cacheHandler=new m({dev:b,fs:a,flushToDisk:c,serverDistDir:e,revalidatedTags:w,maxMemoryCacheSize:g,_requestHeaders:f,fetchCacheKeyPrefix:k}))}calculateRevalidate(a,b,c,d){if(c)return Math.floor(performance.timeOrigin+performance.now()-1e3);let e=this.cacheControls.get((0,k.toRoute)(a)),f=e?e.revalidate:!d&&1;return"number"==typeof f?1e3*f+b:f}_getPathname(a,b){return b?a:(0,i.normalizePagePath)(a)}resetRequestCache(){var a,b;null==(b=this.cacheHandler)||null==(a=b.resetRequestCache)||a.call(b)}async lock(a){for(;;){let b=this.locks.get(a);if(v.debug&&console.log("IncrementalCache: lock get",a,!!b),!b)break;await b}let{resolve:b,promise:c}=new q.DetachedPromise;return v.debug&&console.log("IncrementalCache: successfully locked",a),this.locks.set(a,c),()=>{b(),this.locks.delete(a)}}async revalidateTag(a,b){var c;return null==(c=this.cacheHandler)?void 0:c.revalidateTag(a,b)}async generateSimpleCacheKey(a){return u(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a]))}async generateCacheKey(a,b={}){let c=[],d=new TextEncoder,e=null,f=b.body;if(f)if("object"==typeof f&&"byteLength"in f)c.push(`bytes:${s(f)}`),b._ogBody=f;else if("function"==typeof f.getReader){let a=[];try{await f.pipeTo(new WritableStream({write(b){a.push("string"==typeof b?d.encode(b):b)}}));let e=a.reduce((a,b)=>a+b.length,0),g=new Uint8Array(e),h=0;for(let b of a)g.set(b,h),h+=b.length;c.push(`bytes:${s(g)}`),b._ogBody=g}catch(a){console.error("Problem reading body",a)}}else if("function"==typeof f.keys)for(let[a,d]of(e="[object FormData]"===String(f)?"multipart/form-data; boundary=":"application/x-www-form-urlencoded;charset=UTF-8",b._ogBody=f,f.entries()))c.push(`key:${a}`),"string"==typeof d?c.push(`str:${d}`):c.push("file",d.name,d.type,`bytes:${s(await d.arrayBuffer())}`);else if("function"==typeof f.arrayBuffer){let a=await f.arrayBuffer();c.push("blob",f.type,`bytes:${s(a)}`),b._ogBody=new Blob([a],{type:f.type}),e=f.type}else if("string"==typeof f)c.push(`str:${f}`),b._ogBody=f,e="text/plain;charset=UTF-8";else throw Object.defineProperty(Error(`Unsupported body type: ${typeof f}`),"__NEXT_ERROR_CODE",{value:"E1145",enumerable:!1,configurable:!0});let g="function"==typeof(b.headers||{}).keys?Object.fromEntries(b.headers):Object.assign({},b.headers);return"traceparent"in g&&delete g.traceparent,"tracestate"in g&&delete g.tracestate,u(JSON.stringify(["v4",this.fetchCacheKeyPrefix||"",a,b.method,e,g,b.mode,b.redirect,b.credentials,b.referrer,b.referrerPolicy,b.integrity,b.cache,c]))}async get(a,b){var c,d,e,f,h,i,l;let o,q;if(b.kind===g.IncrementalCacheKind.FETCH){let c=m.workUnitAsyncStorage.getStore(),d=c?(0,m.getRenderResumeDataCache)(c):null;if(d){let c=d.fetch.get(a);if((null==c?void 0:c.kind)===g.CachedRouteKind.FETCH){let d=p.workAsyncStorage.getStore();if(![...b.tags||[],...b.softTags||[]].some(a=>{var b,c;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==d||null==(c=d.pendingRevalidatedTags)?void 0:c.some(b=>b.tag===a))}))return v.debug&&console.log("IncrementalCache: rdc:hit",a),{isStale:!1,value:c};v.debug&&console.log("IncrementalCache: rdc:revalidated-tag",a)}else v.debug&&console.log("IncrementalCache: rdc:miss",a)}else v.debug&&console.log("IncrementalCache: rdc:no-resume-data")}if(this.disableForTestmode||this.dev&&(b.kind!==g.IncrementalCacheKind.FETCH||"no-cache"===this.requestHeaders["cache-control"]))return null;a=this._getPathname(a,b.kind===g.IncrementalCacheKind.FETCH);let s=await (null==(c=this.cacheHandler)?void 0:c.get(a,b));if(b.kind===g.IncrementalCacheKind.FETCH){if(!s)return null;if((null==(e=s.value)?void 0:e.kind)!==g.CachedRouteKind.FETCH)throw Object.defineProperty(new n.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} to be a "FETCH" kind, got ${JSON.stringify(null==(f=s.value)?void 0:f.kind)} instead.`),"__NEXT_ERROR_CODE",{value:"E653",enumerable:!1,configurable:!0});let c=p.workAsyncStorage.getStore(),d=[...b.tags||[],...b.softTags||[]];if(d.some(a=>{var b,d;return(null==(b=this.revalidatedTags)?void 0:b.includes(a))||(null==c||null==(d=c.pendingRevalidatedTags)?void 0:d.some(b=>b.tag===a))}))return v.debug&&console.log("IncrementalCache: expired tag",a),null;let h=m.workUnitAsyncStorage.getStore();if(h){let b=(0,m.getPrerenderResumeDataCache)(h);b&&(v.debug&&console.log("IncrementalCache: rdc:set",a),b.fetch.set(a,s.value))}let i=b.revalidate||s.value.revalidate,j=(performance.timeOrigin+performance.now()-(s.lastModified||0))/1e3>i,k=s.value.data;return(0,r.areTagsExpired)(d,s.lastModified)?null:((0,r.areTagsStale)(d,s.lastModified)&&(j=!0),{isStale:j,value:{kind:g.CachedRouteKind.FETCH,data:k,revalidate:i}})}if((null==s||null==(d=s.value)?void 0:d.kind)===g.CachedRouteKind.FETCH)throw Object.defineProperty(new n.InvariantError(`Expected cached value for cache key ${JSON.stringify(a)} not to be a ${JSON.stringify(b.kind)} kind, got "FETCH" instead.`),"__NEXT_ERROR_CODE",{value:"E652",enumerable:!1,configurable:!0});let t=null,{isFallback:u}=b,w=this.cacheControls.get((0,k.toRoute)(a));if((null==s?void 0:s.lastModified)===-1)o=-1,q=-1*j.CACHE_ONE_YEAR_SECONDS*1e3;else{let c=performance.timeOrigin+performance.now(),d=(null==s?void 0:s.lastModified)||c;if(void 0===(o=!1!==(q=this.calculateRevalidate(a,d,this.dev??!1,b.isFallback))&&q<c||void 0)&&((null==s||null==(h=s.value)?void 0:h.kind)===g.CachedRouteKind.APP_PAGE||(null==s||null==(i=s.value)?void 0:i.kind)===g.CachedRouteKind.APP_ROUTE)){let a=null==(l=s.value.headers)?void 0:l[j.NEXT_CACHE_TAGS_HEADER];if("string"==typeof a){let b=a.split(",");b.length>0&&((0,r.areTagsExpired)(b,d)?o=-1:(0,r.areTagsStale)(b,d)&&(o=!0))}}}return s&&(t={isStale:o,cacheControl:w,revalidateAfter:q,value:s.value,isFallback:u}),!s&&this.prerenderManifest.notFoundRoutes.includes(a)&&(t={isStale:o,value:null,cacheControl:w,revalidateAfter:q,isFallback:u},this.set(a,t.value,{...b,cacheControl:w})),t}async set(a,b,c){if((null==b?void 0:b.kind)===g.CachedRouteKind.FETCH){let c=m.workUnitAsyncStorage.getStore(),d=c?(0,m.getPrerenderResumeDataCache)(c):null;d&&(v.debug&&console.log("IncrementalCache: rdc:set",a),d.fetch.set(a,b))}if(this.disableForTestmode||this.dev&&!c.fetchCache)return;a=this._getPathname(a,c.fetchCache);let d=JSON.stringify(b).length;if(c.fetchCache&&d>2097152&&!this.hasCustomCacheHandler&&!c.isImplicitBuildTimeCache){let b=`Failed to set Next.js data cache for ${c.fetchUrl||a}, items over 2MB can not be cached (${d} bytes)`;if(this.dev)throw Object.defineProperty(Error(b),"__NEXT_ERROR_CODE",{value:"E1003",enumerable:!1,configurable:!0});console.warn(b);return}try{var e;!c.fetchCache&&c.cacheControl&&this.cacheControls.set((0,k.toRoute)(a),c.cacheControl),await (null==(e=this.cacheHandler)?void 0:e.set(a,b,c))}catch(b){console.warn("Failed to update prerender cache for",a,b)}}}},89198:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={DynamicServerError:function(){return f},isDynamicServerError:function(){return g}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="DYNAMIC_SERVER_USAGE";class f extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=e}}function g(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===e}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},89218:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={bindSnapshot:function(){return i},createAsyncLocalStorage:function(){return h},createSnapshot:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class f{disable(){throw e}getStore(){}run(){throw e}exit(){throw e}enterWith(){throw e}static bind(a){return a}}let g="u">typeof globalThis&&globalThis.AsyncLocalStorage;function h(){return g?new g:new f}function i(a){return g?g.bind(a):f.bind(a)}function j(){return g?g.snapshot():function(a,...b){return a(...b)}}},90132:a=>{(()=>{"use strict";var b={993:a=>{var b=Object.prototype.hasOwnProperty,c="~";function d(){}function e(a,b,c){this.fn=a,this.context=b,this.once=c||!1}function f(a,b,d,f,g){if("function"!=typeof d)throw TypeError("The listener must be a function");var h=new e(d,f||a,g),i=c?c+b:b;return a._events[i]?a._events[i].fn?a._events[i]=[a._events[i],h]:a._events[i].push(h):(a._events[i]=h,a._eventsCount++),a}function g(a,b){0==--a._eventsCount?a._events=new d:delete a._events[b]}function h(){this._events=new d,this._eventsCount=0}Object.create&&(d.prototype=Object.create(null),(new d).__proto__||(c=!1)),h.prototype.eventNames=function(){var a,d,e=[];if(0===this._eventsCount)return e;for(d in a=this._events)b.call(a,d)&&e.push(c?d.slice(1):d);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(a)):e},h.prototype.listeners=function(a){var b=c?c+a:a,d=this._events[b];if(!d)return[];if(d.fn)return[d.fn];for(var e=0,f=d.length,g=Array(f);e<f;e++)g[e]=d[e].fn;return g},h.prototype.listenerCount=function(a){var b=c?c+a:a,d=this._events[b];return d?d.fn?1:d.length:0},h.prototype.emit=function(a,b,d,e,f,g){var h=c?c+a:a;if(!this._events[h])return!1;var i,j,k=this._events[h],l=arguments.length;if(k.fn){switch(k.once&&this.removeListener(a,k.fn,void 0,!0),l){case 1:return k.fn.call(k.context),!0;case 2:return k.fn.call(k.context,b),!0;case 3:return k.fn.call(k.context,b,d),!0;case 4:return k.fn.call(k.context,b,d,e),!0;case 5:return k.fn.call(k.context,b,d,e,f),!0;case 6:return k.fn.call(k.context,b,d,e,f,g),!0}for(j=1,i=Array(l-1);j<l;j++)i[j-1]=arguments[j];k.fn.apply(k.context,i)}else{var m,n=k.length;for(j=0;j<n;j++)switch(k[j].once&&this.removeListener(a,k[j].fn,void 0,!0),l){case 1:k[j].fn.call(k[j].context);break;case 2:k[j].fn.call(k[j].context,b);break;case 3:k[j].fn.call(k[j].context,b,d);break;case 4:k[j].fn.call(k[j].context,b,d,e);break;default:if(!i)for(m=1,i=Array(l-1);m<l;m++)i[m-1]=arguments[m];k[j].fn.apply(k[j].context,i)}}return!0},h.prototype.on=function(a,b,c){return f(this,a,b,c,!1)},h.prototype.once=function(a,b,c){return f(this,a,b,c,!0)},h.prototype.removeListener=function(a,b,d,e){var f=c?c+a:a;if(!this._events[f])return this;if(!b)return g(this,f),this;var h=this._events[f];if(h.fn)h.fn!==b||e&&!h.once||d&&h.context!==d||g(this,f);else{for(var i=0,j=[],k=h.length;i<k;i++)(h[i].fn!==b||e&&!h[i].once||d&&h[i].context!==d)&&j.push(h[i]);j.length?this._events[f]=1===j.length?j[0]:j:g(this,f)}return this},h.prototype.removeAllListeners=function(a){var b;return a?(b=c?c+a:a,this._events[b]&&g(this,b)):(this._events=new d,this._eventsCount=0),this},h.prototype.off=h.prototype.removeListener,h.prototype.addListener=h.prototype.on,h.prefixed=c,h.EventEmitter=h,a.exports=h},213:a=>{a.exports=(a,b)=>(b=b||(()=>{}),a.then(a=>new Promise(a=>{a(b())}).then(()=>a),a=>new Promise(a=>{a(b())}).then(()=>{throw a})))},574:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a,b,c){let d=0,e=a.length;for(;e>0;){let f=e/2|0,g=d+f;0>=c(a[g],b)?(d=++g,e-=f+1):e=f}return d}},821:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});let d=c(574);class e{constructor(){this._queue=[]}enqueue(a,b){let c={priority:(b=Object.assign({priority:0},b)).priority,run:a};if(this.size&&this._queue[this.size-1].priority>=b.priority)return void this._queue.push(c);let e=d.default(this._queue,c,(a,b)=>b.priority-a.priority);this._queue.splice(e,0,c)}dequeue(){let a=this._queue.shift();return null==a?void 0:a.run}filter(a){return this._queue.filter(b=>b.priority===a.priority).map(a=>a.run)}get size(){return this._queue.length}}b.default=e},816:(a,b,c)=>{let d=c(213);class e extends Error{constructor(a){super(a),this.name="TimeoutError"}}let f=(a,b,c)=>new Promise((f,g)=>{if("number"!=typeof b||b<0)throw TypeError("Expected `milliseconds` to be a positive number");if(b===1/0)return void f(a);let h=setTimeout(()=>{if("function"==typeof c){try{f(c())}catch(a){g(a)}return}let d="string"==typeof c?c:`Promise timed out after ${b} milliseconds`,h=c instanceof Error?c:new e(d);"function"==typeof a.cancel&&a.cancel(),g(h)},b);d(a.then(f,g),()=>{clearTimeout(h)})});a.exports=f,a.exports.default=f,a.exports.TimeoutError=e}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a](f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/";var e={};(()=>{Object.defineProperty(e,"__esModule",{value:!0});let a=d(993),b=d(816),c=d(821),f=()=>{},g=new b.TimeoutError;class h extends a{constructor(a){var b,d,e,g;if(super(),this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=f,this._resolveIdle=f,!("number"==typeof(a=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:c.default},a)).intervalCap&&a.intervalCap>=1))throw TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${null!=(d=null==(b=a.intervalCap)?void 0:b.toString())?d:""}\` (${typeof a.intervalCap})`);if(void 0===a.interval||!(Number.isFinite(a.interval)&&a.interval>=0))throw TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${null!=(g=null==(e=a.interval)?void 0:e.toString())?g:""}\` (${typeof a.interval})`);this._carryoverConcurrencyCount=a.carryoverConcurrencyCount,this._isIntervalIgnored=a.intervalCap===1/0||0===a.interval,this._intervalCap=a.intervalCap,this._interval=a.interval,this._queue=new a.queueClass,this._queueClass=a.queueClass,this.concurrency=a.concurrency,this._timeout=a.timeout,this._throwOnTimeout=!0===a.throwOnTimeout,this._isPaused=!1===a.autoStart}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=f,0===this._pendingCount&&(this._resolveIdle(),this._resolveIdle=f,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let a=Date.now();if(void 0===this._intervalId){let b=this._intervalEnd-a;if(!(b<0))return void 0===this._timeoutId&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},b)),!0;this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0}return!1}_tryToStartAnother(){if(0===this._queue.size)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let a=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let b=this._queue.dequeue();return!!b&&(this.emit("active"),b(),a&&this._initializeIntervalIfNeeded(),!0)}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||void 0!==this._intervalId||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){0===this._intervalCount&&0===this._pendingCount&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(a){if(!("number"==typeof a&&a>=1))throw TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${a}\` (${typeof a})`);this._concurrency=a,this._processQueue()}async add(a,c={}){return new Promise((d,e)=>{let f=async()=>{this._pendingCount++,this._intervalCount++;try{let f=void 0===this._timeout&&void 0===c.timeout?a():b.default(Promise.resolve(a()),void 0===c.timeout?this._timeout:c.timeout,()=>{(void 0===c.throwOnTimeout?this._throwOnTimeout:c.throwOnTimeout)&&e(g)});d(await f)}catch(a){e(a)}this._next()};this._queue.enqueue(f,c),this._tryToStartAnother(),this.emit("add")})}async addAll(a,b){return Promise.all(a.map(async a=>this.add(a,b)))}start(){return this._isPaused&&(this._isPaused=!1,this._processQueue()),this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(0!==this._queue.size)return new Promise(a=>{let b=this._resolveEmpty;this._resolveEmpty=()=>{b(),a()}})}async onIdle(){if(0!==this._pendingCount||0!==this._queue.size)return new Promise(a=>{let b=this._resolveIdle;this._resolveIdle=()=>{b(),a()}})}get size(){return this._queue.size}sizeBy(a){return this._queue.filter(a).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(a){this._timeout=a}}e.default=h})(),a.exports=e})()},90810:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={},g={RequestCookies:()=>n,ResponseCookies:()=>o,parseCookie:()=>j,parseSetCookie:()=>k,stringifyCookie:()=>i};for(var h in g)b(f,h,{get:g[h],enumerable:!0});function i(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function j(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function k(a){if(!a)return;let[[b,c],...d]=j(a),{domain:e,expires:f,httponly:g,maxage:h,path:i,samesite:k,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof h&&{maxAge:Number(h)},path:i,...k&&{sameSite:l.includes(q=(q=k).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:m.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}a.exports=((a,f,g,h)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let i of d(f))e.call(a,i)||i===g||b(a,i,{get:()=>f[i],enumerable:!(h=c(f,i))||h.enumerable});return a})(b({},"__esModule",{value:!0}),f);var l=["strict","lax","none"],m=["low","medium","high"],n=class{constructor(a){this._parsed=new Map,this._headers=a;const b=a.get("cookie");if(b)for(const[a,c]of j(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>i(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>i(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},o=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;const e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(const a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){const b=k(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=i(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(i).join("; ")}}},90925:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MultiFileWriter",{enumerable:!0,get:function(){return f}});let e=(d=c(40694))&&d.__esModule?d:{default:d};class f{constructor(a){this.fs=a,this.tasks=[]}findOrCreateTask(a){for(let b of this.tasks)if(b[0]===a)return b;let b=this.fs.mkdir(a);b.catch(()=>{});let c=[a,b,[]];return this.tasks.push(c),c}append(a,b){let c=this.findOrCreateTask(e.default.dirname(a)),d=c[1].then(()=>this.fs.writeFile(a,b));d.catch(()=>{}),c[2].push(d)}wait(){return Promise.all(this.tasks.flatMap(a=>a[2]))}}},91117:(a,b,c)=>{"use strict";function d(a,b,c=null){let e=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return e?e.value:c}function e(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}c.d(b,{dy:()=>d,np:()=>e}),c(59339)},92539:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compareAppPaths:function(){return i},normalizeAppPath:function(){return h},normalizeRscURL:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(17888),g=c(53610);function h(a){return(0,f.ensureLeadingSlash)(a.split("/").reduce((a,b,c,d)=>!b||(0,g.isGroupSegment)(b)||"@"===b[0]||("page"===b||"route"===b)&&c===d.length-1?a:`${a}/${b}`,""))}function i(a,b){let c=a.includes("/@"),d=b.includes("/@");return c&&!d?-1:!c&&d?1:a.localeCompare(b)}function j(a){return a.replace(/\.rsc($|\?)/,"$1")}},92729:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(36299),e=c(1390),f=c(69687),g=c(82737),h=/^(?:127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)$/;function i(a,b){let c=new URL(String(a),b&&String(b));return h.test(c.hostname)&&(c.hostname="localhost"),c}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},93250:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},93384:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(38955),g=c(31050),h=c(29294),i=c(79285);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options")}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}},94143:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/memory-cache.external.js")},94735:a=>{"use strict";a.exports=require("events")},95160:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createProviderNode:()=>k,deleteProviderNode:()=>m,getProviderNodeById:()=>j,getProviderNodes:()=>i,updateProviderNode:()=>l});var d=c(43892),e=c(59339),f=c(33323);function g(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function h(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
25
25
  VALUES(?, ?, ?, ?, ?, ?)
26
26
  ON CONFLICT(id) DO UPDATE SET
27
- type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function i(a={}){let b=await (0,e.c)(),c=[],d=[];a.type&&(c.push("type = ?"),d.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,d).map(g)}async function j(a){return g((await (0,e.c)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function k(a){let b=await (0,e.c)(),c=new Date().toISOString(),f={id:a.id||(0,d.A)(),type:a.type,name:a.name,prefix:a.prefix,apiType:a.apiType,baseUrl:a.baseUrl,createdAt:c,updatedAt:c};return h(b,f),f}async function l(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!e)return;let f={...g(e),...b,updatedAt:new Date().toISOString()};h(c,f),d=f}),d}async function m(a){let b=await (0,e.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=g(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]))}),c}},96100:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_SUFFIX:function(){return p},APP_DIR_ALIAS:function(){return O},CACHE_ONE_YEAR_SECONDS:function(){return E},DOT_NEXT_ALIAS:function(){return M},ESLINT_DEFAULT_DIRS:function(){return ag},GSP_NO_RETURNED_VALUE:function(){return aa},GSSP_COMPONENT_MEMBER_ERROR:function(){return ad},GSSP_NO_RETURNED_VALUE:function(){return ab},HTML_CONTENT_TYPE_HEADER:function(){return f},INFINITE_CACHE:function(){return F},INSTRUMENTATION_HOOK_FILENAME:function(){return K},JSON_CONTENT_TYPE_HEADER:function(){return g},MATCHED_PATH_HEADER:function(){return j},MIDDLEWARE_FILENAME:function(){return G},MIDDLEWARE_LOCATION_REGEXP:function(){return H},NEXT_BODY_SUFFIX:function(){return s},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return C},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return v},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return w},NEXT_CACHE_ROOT_PARAM_TAG_ID:function(){return D},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return B},NEXT_CACHE_TAGS_HEADER:function(){return u},NEXT_CACHE_TAG_MAX_ITEMS:function(){return z},NEXT_CACHE_TAG_MAX_LENGTH:function(){return A},NEXT_DATA_SUFFIX:function(){return q},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return i},NEXT_META_SUFFIX:function(){return r},NEXT_NAV_DEPLOYMENT_ID_HEADER:function(){return t},NEXT_QUERY_PARAM_PREFIX:function(){return h},NEXT_RESUME_HEADER:function(){return x},NEXT_RESUME_STATE_LENGTH_HEADER:function(){return y},NON_STANDARD_NODE_ENV:function(){return ae},PAGES_DIR_ALIAS:function(){return L},PRERENDER_REVALIDATE_HEADER:function(){return k},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return l},PROXY_FILENAME:function(){return I},PROXY_LOCATION_REGEXP:function(){return J},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return W},ROOT_DIR_ALIAS:function(){return N},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return V},RSC_ACTION_ENCRYPTION_ALIAS:function(){return U},RSC_ACTION_PROXY_ALIAS:function(){return R},RSC_ACTION_VALIDATE_ALIAS:function(){return Q},RSC_CACHE_WRAPPER_ALIAS:function(){return S},RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS:function(){return T},RSC_MOD_REF_PROXY_ALIAS:function(){return P},RSC_SEGMENTS_DIR_SUFFIX:function(){return m},RSC_SEGMENT_SUFFIX:function(){return n},RSC_SUFFIX:function(){return o},SERVER_PROPS_EXPORT_ERROR:function(){return _},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return Y},SERVER_PROPS_SSG_CONFLICT:function(){return Z},SERVER_RUNTIME:function(){return ah},SSG_FALLBACK_EXPORT_ERROR:function(){return af},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return X},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return $},TEXT_PLAIN_CONTENT_TYPE_HEADER:function(){return e},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return ac},WEBPACK_LAYERS:function(){return ak},WEBPACK_RESOURCE_QUERIES:function(){return al},WEB_SOCKET_MAX_RECONNECTIONS:function(){return ai}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="text/plain",f="text/html; charset=utf-8",g="application/json; charset=utf-8",h="nxtP",i="nxtI",j="x-matched-path",k="x-prerender-revalidate",l="x-prerender-revalidate-if-generated",m=".segments",n=".segment.rsc",o=".rsc",p=".action",q=".json",r=".meta",s=".body",t="x-nextjs-deployment-id",u="x-next-cache-tags",v="x-next-revalidated-tags",w="x-next-revalidate-tag-token",x="next-resume",y="x-next-resume-state-length",z=128,A=256,B=1024,C="_N_T_",D="_N_RP_",E=31536e3,F=0xfffffffe,G="middleware",H=`(?:src/)?${G}`,I="proxy",J=`(?:src/)?${I}`,K="instrumentation",L="private-next-pages",M="private-dot-next",N="private-next-root-dir",O="private-next-app-dir",P="next/dist/build/webpack/loaders/next-flight-loader/module-proxy",Q="private-next-rsc-action-validate",R="private-next-rsc-server-reference",S="private-next-rsc-cache-wrapper",T="private-next-rsc-track-dynamic-import",U="private-next-rsc-action-encryption",V="private-next-rsc-action-client-wrapper",W="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",X="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",Y="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",Z="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",$="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",_="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",aa="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",ab="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",ac="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",ad="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",ae='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',af="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",ag=["app","pages","components","lib","src"],ah={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},ai=12,aj={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},ak={...aj,GROUP:{builtinReact:[aj.reactServerComponents,aj.actionBrowser],serverOnly:[aj.reactServerComponents,aj.actionBrowser,aj.instrument,aj.middleware],neutralTarget:[aj.apiNode,aj.apiEdge],clientOnly:[aj.serverSideRendering,aj.appPagesBrowser],bundled:[aj.reactServerComponents,aj.actionBrowser,aj.serverSideRendering,aj.appPagesBrowser,aj.shared,aj.instrument,aj.middleware],appPages:[aj.reactServerComponents,aj.serverSideRendering,aj.appPagesBrowser,aj.actionBrowser]}},al={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},96664:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removePathPrefix",{enumerable:!0,get:function(){return e}});let d=c(93250);function e(a,b){if(!(0,d.pathHasPrefix)(a,b))return a;let c=a.slice(b.length);return c.startsWith("/")?c:`/${c}`}},97010:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ApiError:function(){return t},COOKIE_NAME_PRERENDER_BYPASS:function(){return n},COOKIE_NAME_PRERENDER_DATA:function(){return o},RESPONSE_LIMIT_DEFAULT:function(){return p},SYMBOL_CLEARED_COOKIES:function(){return r},SYMBOL_PREVIEW_DATA:function(){return q},checkIsOnDemandRevalidate:function(){return m},clearPreviewData:function(){return s},redirect:function(){return l},sendError:function(){return u},sendStatusCode:function(){return k},setLazyProp:function(){return v},wrapApiHandler:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(36023),g=c(96100),h=c(12726),i=c(88026);function j(a,b){return(...c)=>((0,h.getTracer)().setRootSpanAttribute("next.route",a),(0,h.getTracer)().trace(i.NodeSpan.runHandler,{spanName:`executing api route (pages) ${a}`},()=>b(...c)))}function k(a,b){return a.statusCode=b,a}function l(a,b,c){if("string"==typeof b&&(c=b,b=307),"number"!=typeof b||"string"!=typeof c)throw Object.defineProperty(Error("Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination')."),"__NEXT_ERROR_CODE",{value:"E389",enumerable:!1,configurable:!0});return a.writeHead(b,{Location:c}),a.write(c),a.end(),a}function m(a,b){let c=f.HeadersAdapter.from(a.headers);return{isOnDemandRevalidate:c.get(g.PRERENDER_REVALIDATE_HEADER)===b.previewModeId,revalidateOnlyGenerated:c.has(g.PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER)}}let n="__prerender_bypass",o="__next_preview_data",p=4194304,q=Symbol(o),r=Symbol(n);function s(a,b={}){if(r in a)return a;let{serialize:d}=c(19560),e=a.getHeader("Set-Cookie");return a.setHeader("Set-Cookie",[..."string"==typeof e?[e]:Array.isArray(e)?e:[],d(n,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0}),d(o,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0})]),Object.defineProperty(a,r,{value:!0,enumerable:!1}),a}class t extends Error{constructor(a,b){super(b),this.statusCode=a}}function u(a,b,c){a.statusCode=b,a.statusMessage=c,a.end(c)}function v({req:a},b,c){let d={configurable:!0,enumerable:!0},e={...d,writable:!0};Object.defineProperty(a,b,{...d,get:()=>{let d=c();return Object.defineProperty(a,b,{...e,value:d}),d},set:c=>{Object.defineProperty(a,b,{...e,value:c})}})}},97538:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/shared-cache-controls.external.js")},97645:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={isBot:function(){return h},userAgent:function(){return j},userAgentFromString:function(){return i}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=(d=c(73346))&&d.__esModule?d:{default:d};function h(a){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(a)}function i(a){return{...(0,g.default)(a),isBot:void 0!==a&&h(a)}}function j({headers:a}){return i(a.get("user-agent")||void 0)}},97757:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getClientComponentLoaderMetrics:function(){return i},wrapClientComponentLoader:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=0,g=0;function h(a){return"performance"in globalThis?{require:(...b)=>{let c=performance.now();0===e&&(e=c);try{return g+=1,a.__next_app__.require(...b)}finally{f+=performance.now()-c}},loadChunk:(...b)=>{let c=performance.now(),d=a.__next_app__.loadChunk(...b);return d.finally(()=>{f+=performance.now()-c}),d}}:a.__next_app__}function i(a={}){let b=0===e?void 0:{clientComponentLoadStart:e,clientComponentLoadTimes:f,clientComponentLoadCount:g};return a.reset&&(e=0,f=0,g=0),b}},98345:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e={CachedRouteKind:function(){return g},IncrementalCacheKind:function(){return h}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});var g=((c={}).APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.PAGES="PAGES",c.FETCH="FETCH",c.REDIRECT="REDIRECT",c.IMAGE="IMAGE",c),h=((d={}).APP_PAGE="APP_PAGE",d.APP_ROUTE="APP_ROUTE",d.PAGES="PAGES",d.FETCH="FETCH",d.IMAGE="IMAGE",d)},98617:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addLocale",{enumerable:!0,get:function(){return f}});let d=c(67301),e=c(93250);function f(a,b,c,f){if(!b||b===c)return a;let g=a.toLowerCase();return!f&&((0,e.pathHasPrefix)(g,"/api")||(0,e.pathHasPrefix)(g,`/${b.toLowerCase()}`))?a:(0,d.addPathPrefix)(a,`/${b}`)}},99751:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={fromNodeOutgoingHttpHeaders:function(){return g},normalizeNextQueryParam:function(){return k},splitCookiesString:function(){return h},toNodeOutgoingHttpHeaders:function(){return i},validateURL:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(96100);function g(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function h(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function i(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...h(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function j(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function k(a){for(let b of[f.NEXT_QUERY_PARAM_PREFIX,f.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=89377);module.exports=c})();
27
+ type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function i(a={}){let b=await (0,e.c)(),c=[],d=[];a.type&&(c.push("type = ?"),d.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,d).map(g)}async function j(a){return g((await (0,e.c)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function k(a){let b=await (0,e.c)(),c=new Date().toISOString(),f={id:a.id||(0,d.A)(),type:a.type,name:a.name,prefix:a.prefix,apiType:a.apiType,baseUrl:a.baseUrl,createdAt:c,updatedAt:c};return h(b,f),f}async function l(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!e)return;let f={...g(e),...b,updatedAt:new Date().toISOString()};h(c,f),d=f}),d}async function m(a){let b=await (0,e.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=g(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]))}),c}},96100:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ACTION_SUFFIX:function(){return p},APP_DIR_ALIAS:function(){return O},CACHE_ONE_YEAR_SECONDS:function(){return E},DOT_NEXT_ALIAS:function(){return M},ESLINT_DEFAULT_DIRS:function(){return ag},GSP_NO_RETURNED_VALUE:function(){return aa},GSSP_COMPONENT_MEMBER_ERROR:function(){return ad},GSSP_NO_RETURNED_VALUE:function(){return ab},HTML_CONTENT_TYPE_HEADER:function(){return f},INFINITE_CACHE:function(){return F},INSTRUMENTATION_HOOK_FILENAME:function(){return K},JSON_CONTENT_TYPE_HEADER:function(){return g},MATCHED_PATH_HEADER:function(){return j},MIDDLEWARE_FILENAME:function(){return G},MIDDLEWARE_LOCATION_REGEXP:function(){return H},NEXT_BODY_SUFFIX:function(){return s},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return C},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return v},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return w},NEXT_CACHE_ROOT_PARAM_TAG_ID:function(){return D},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return B},NEXT_CACHE_TAGS_HEADER:function(){return u},NEXT_CACHE_TAG_MAX_ITEMS:function(){return z},NEXT_CACHE_TAG_MAX_LENGTH:function(){return A},NEXT_DATA_SUFFIX:function(){return q},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return i},NEXT_META_SUFFIX:function(){return r},NEXT_NAV_DEPLOYMENT_ID_HEADER:function(){return t},NEXT_QUERY_PARAM_PREFIX:function(){return h},NEXT_RESUME_HEADER:function(){return x},NEXT_RESUME_STATE_LENGTH_HEADER:function(){return y},NON_STANDARD_NODE_ENV:function(){return ae},PAGES_DIR_ALIAS:function(){return L},PRERENDER_REVALIDATE_HEADER:function(){return k},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return l},PROXY_FILENAME:function(){return I},PROXY_LOCATION_REGEXP:function(){return J},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return W},ROOT_DIR_ALIAS:function(){return N},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return V},RSC_ACTION_ENCRYPTION_ALIAS:function(){return U},RSC_ACTION_PROXY_ALIAS:function(){return R},RSC_ACTION_VALIDATE_ALIAS:function(){return Q},RSC_CACHE_WRAPPER_ALIAS:function(){return S},RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS:function(){return T},RSC_MOD_REF_PROXY_ALIAS:function(){return P},RSC_SEGMENTS_DIR_SUFFIX:function(){return m},RSC_SEGMENT_SUFFIX:function(){return n},RSC_SUFFIX:function(){return o},SERVER_PROPS_EXPORT_ERROR:function(){return _},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return Y},SERVER_PROPS_SSG_CONFLICT:function(){return Z},SERVER_RUNTIME:function(){return ah},SSG_FALLBACK_EXPORT_ERROR:function(){return af},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return X},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return $},TEXT_PLAIN_CONTENT_TYPE_HEADER:function(){return e},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return ac},WEBPACK_LAYERS:function(){return ak},WEBPACK_RESOURCE_QUERIES:function(){return al},WEB_SOCKET_MAX_RECONNECTIONS:function(){return ai}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="text/plain",f="text/html; charset=utf-8",g="application/json; charset=utf-8",h="nxtP",i="nxtI",j="x-matched-path",k="x-prerender-revalidate",l="x-prerender-revalidate-if-generated",m=".segments",n=".segment.rsc",o=".rsc",p=".action",q=".json",r=".meta",s=".body",t="x-nextjs-deployment-id",u="x-next-cache-tags",v="x-next-revalidated-tags",w="x-next-revalidate-tag-token",x="next-resume",y="x-next-resume-state-length",z=128,A=256,B=1024,C="_N_T_",D="_N_RP_",E=31536e3,F=0xfffffffe,G="middleware",H=`(?:src/)?${G}`,I="proxy",J=`(?:src/)?${I}`,K="instrumentation",L="private-next-pages",M="private-dot-next",N="private-next-root-dir",O="private-next-app-dir",P="next/dist/build/webpack/loaders/next-flight-loader/module-proxy",Q="private-next-rsc-action-validate",R="private-next-rsc-server-reference",S="private-next-rsc-cache-wrapper",T="private-next-rsc-track-dynamic-import",U="private-next-rsc-action-encryption",V="private-next-rsc-action-client-wrapper",W="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",X="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",Y="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",Z="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",$="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",_="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",aa="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",ab="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",ac="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",ad="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",ae='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',af="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",ag=["app","pages","components","lib","src"],ah={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},ai=12,aj={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},ak={...aj,GROUP:{builtinReact:[aj.reactServerComponents,aj.actionBrowser],serverOnly:[aj.reactServerComponents,aj.actionBrowser,aj.instrument,aj.middleware],neutralTarget:[aj.apiNode,aj.apiEdge],clientOnly:[aj.serverSideRendering,aj.appPagesBrowser],bundled:[aj.reactServerComponents,aj.actionBrowser,aj.serverSideRendering,aj.appPagesBrowser,aj.shared,aj.instrument,aj.middleware],appPages:[aj.reactServerComponents,aj.serverSideRendering,aj.appPagesBrowser,aj.actionBrowser]}},al={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},96664:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removePathPrefix",{enumerable:!0,get:function(){return e}});let d=c(93250);function e(a,b){if(!(0,d.pathHasPrefix)(a,b))return a;let c=a.slice(b.length);return c.startsWith("/")?c:`/${c}`}},97010:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ApiError:function(){return t},COOKIE_NAME_PRERENDER_BYPASS:function(){return n},COOKIE_NAME_PRERENDER_DATA:function(){return o},RESPONSE_LIMIT_DEFAULT:function(){return p},SYMBOL_CLEARED_COOKIES:function(){return r},SYMBOL_PREVIEW_DATA:function(){return q},checkIsOnDemandRevalidate:function(){return m},clearPreviewData:function(){return s},redirect:function(){return l},sendError:function(){return u},sendStatusCode:function(){return k},setLazyProp:function(){return v},wrapApiHandler:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(36023),g=c(96100),h=c(12726),i=c(88026);function j(a,b){return(...c)=>((0,h.getTracer)().setRootSpanAttribute("next.route",a),(0,h.getTracer)().trace(i.NodeSpan.runHandler,{spanName:`executing api route (pages) ${a}`},()=>b(...c)))}function k(a,b){return a.statusCode=b,a}function l(a,b,c){if("string"==typeof b&&(c=b,b=307),"number"!=typeof b||"string"!=typeof c)throw Object.defineProperty(Error("Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination')."),"__NEXT_ERROR_CODE",{value:"E389",enumerable:!1,configurable:!0});return a.writeHead(b,{Location:c}),a.write(c),a.end(),a}function m(a,b){let c=f.HeadersAdapter.from(a.headers);return{isOnDemandRevalidate:c.get(g.PRERENDER_REVALIDATE_HEADER)===b.previewModeId,revalidateOnlyGenerated:c.has(g.PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER)}}let n="__prerender_bypass",o="__next_preview_data",p=4194304,q=Symbol(o),r=Symbol(n);function s(a,b={}){if(r in a)return a;let{serialize:d}=c(19560),e=a.getHeader("Set-Cookie");return a.setHeader("Set-Cookie",[..."string"==typeof e?[e]:Array.isArray(e)?e:[],d(n,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0}),d(o,"",{expires:new Date(0),httpOnly:!0,sameSite:"none",secure:!0,path:"/",...void 0!==b.path?{path:b.path}:void 0})]),Object.defineProperty(a,r,{value:!0,enumerable:!1}),a}class t extends Error{constructor(a,b){super(b),this.statusCode=a}}function u(a,b,c){a.statusCode=b,a.statusMessage=c,a.end(c)}function v({req:a},b,c){let d={configurable:!0,enumerable:!0},e={...d,writable:!0};Object.defineProperty(a,b,{...d,get:()=>{let d=c();return Object.defineProperty(a,b,{...e,value:d}),d},set:c=>{Object.defineProperty(a,b,{...e,value:c})}})}},97538:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/shared-cache-controls.external.js")},97645:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={isBot:function(){return h},userAgent:function(){return j},userAgentFromString:function(){return i}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=(d=c(73346))&&d.__esModule?d:{default:d};function h(a){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver|GPTBot/i.test(a)}function i(a){return{...(0,g.default)(a),isBot:void 0!==a&&h(a)}}function j({headers:a}){return i(a.get("user-agent")||void 0)}},97757:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={getClientComponentLoaderMetrics:function(){return i},wrapClientComponentLoader:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=0,g=0;function h(a){return"performance"in globalThis?{require:(...b)=>{let c=performance.now();0===e&&(e=c);try{return g+=1,a.__next_app__.require(...b)}finally{f+=performance.now()-c}},loadChunk:(...b)=>{let c=performance.now(),d=a.__next_app__.loadChunk(...b);return d.finally(()=>{f+=performance.now()-c}),d}}:a.__next_app__}function i(a={}){let b=0===e?void 0:{clientComponentLoadStart:e,clientComponentLoadTimes:f,clientComponentLoadCount:g};return a.reset&&(e=0,f=0,g=0),b}},98345:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c,d,e={CachedRouteKind:function(){return g},IncrementalCacheKind:function(){return h}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});var g=((c={}).APP_PAGE="APP_PAGE",c.APP_ROUTE="APP_ROUTE",c.PAGES="PAGES",c.FETCH="FETCH",c.REDIRECT="REDIRECT",c.IMAGE="IMAGE",c),h=((d={}).APP_PAGE="APP_PAGE",d.APP_ROUTE="APP_ROUTE",d.PAGES="PAGES",d.FETCH="FETCH",d.IMAGE="IMAGE",d)},98617:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addLocale",{enumerable:!0,get:function(){return f}});let d=c(67301),e=c(93250);function f(a,b,c,f){if(!b||b===c)return a;let g=a.toLowerCase();return!f&&((0,e.pathHasPrefix)(g,"/api")||(0,e.pathHasPrefix)(g,`/${b.toLowerCase()}`))?a:(0,d.addPathPrefix)(a,`/${b}`)}},99751:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={fromNodeOutgoingHttpHeaders:function(){return g},normalizeNextQueryParam:function(){return k},splitCookiesString:function(){return h},toNodeOutgoingHttpHeaders:function(){return i},validateURL:function(){return j}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(96100);function g(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function h(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function i(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...h(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function j(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function k(a){for(let b of[f.NEXT_QUERY_PARAM_PREFIX,f.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=76717);module.exports=c})();