@qt4798/pi-web 0.18.16 → 0.18.19

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 (370) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +26 -25
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +6 -0
  8. package/.next/server/app/_global-error/page.js +2 -2
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +1 -1
  11. package/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/server/app/_not-found/page.js +1 -1
  16. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +17 -16
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +17 -16
  21. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +7 -6
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  23. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  24. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  25. package/.next/server/app/api/agent/[id]/lease/route.js +1 -1
  26. package/.next/server/app/api/agent/[id]/route.js +1 -1
  27. package/.next/server/app/api/agent/new/route.js +1 -1
  28. package/.next/server/app/api/agent/running/events/route.js +1 -1
  29. package/.next/server/app/api/agent/running/route.js +1 -1
  30. package/.next/server/app/api/app-update/route.js +1 -1
  31. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  32. package/.next/server/app/api/auth/combined/route.js +1 -1
  33. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  34. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  35. package/.next/server/app/api/auth/providers/route.js +1 -1
  36. package/.next/server/app/api/backup/export/route.js +1 -1
  37. package/.next/server/app/api/backup/import/route.js +1 -1
  38. package/.next/server/app/api/cwd/browse/route.js +1 -1
  39. package/.next/server/app/api/cwd/validate/route.js +1 -1
  40. package/.next/server/app/api/default-cwd/route.js +1 -1
  41. package/.next/server/app/api/events/route.js +2 -2
  42. package/.next/server/app/api/features/route.js +1 -1
  43. package/.next/server/app/api/file-index/route.js +1 -1
  44. package/.next/server/app/api/files/[...path]/route.js +1 -1
  45. package/.next/server/app/api/git/diff/route.js +1 -1
  46. package/.next/server/app/api/git/push/route.js +2 -2
  47. package/.next/server/app/api/git/stash/route.js +1 -1
  48. package/.next/server/app/api/git/status/route.js +2 -2
  49. package/.next/server/app/api/home/route.js +1 -1
  50. package/.next/server/app/api/import/discover/route.js +1 -1
  51. package/.next/server/app/api/import/execute/route.js +1 -1
  52. package/.next/server/app/api/import/status/route.js +1 -1
  53. package/.next/server/app/api/logs/route.js +1 -1
  54. package/.next/server/app/api/mcp/restart/route.js +1 -1
  55. package/.next/server/app/api/mcp/route.js +2 -2
  56. package/.next/server/app/api/models/enabled/route.js +1 -1
  57. package/.next/server/app/api/models/refresh/route.js +1 -1
  58. package/.next/server/app/api/models/route.js +1 -1
  59. package/.next/server/app/api/models-config/builtin/route.js +1 -1
  60. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  61. package/.next/server/app/api/models-config/discover/route.js +1 -1
  62. package/.next/server/app/api/models-config/import/route.js +1 -1
  63. package/.next/server/app/api/models-config/route.js +1 -1
  64. package/.next/server/app/api/models-config/test/route.js +1 -1
  65. package/.next/server/app/api/modes/route.js +1 -1
  66. package/.next/server/app/api/plugins/check/route.js +1 -1
  67. package/.next/server/app/api/plugins/route.js +1 -1
  68. package/.next/server/app/api/project-aliases/route.js +1 -1
  69. package/.next/server/app/api/project-trust/route.js +1 -1
  70. package/.next/server/app/api/projects/visibility/route.js +1 -1
  71. package/.next/server/app/api/provider-usage/query/route.js +1 -1
  72. package/.next/server/app/api/proxy/route.js +1 -1
  73. package/.next/server/app/api/proxy/test/route.js +1 -1
  74. package/.next/server/app/api/sessions/[id]/auto-name/route.js +2 -2
  75. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  76. package/.next/server/app/api/sessions/[id]/details/route.js +1 -1
  77. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  78. package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js +1 -1
  79. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  80. package/.next/server/app/api/sessions/[id]/queue-recovery/route.js +1 -1
  81. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  82. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  83. package/.next/server/app/api/sessions/route.js +1 -1
  84. package/.next/server/app/api/sessions/search/route.js +1 -1
  85. package/.next/server/app/api/settings/appearance/route.js +1 -1
  86. package/.next/server/app/api/settings/default-model/route.js +1 -0
  87. package/.next/server/app/api/settings/default-model/route.js.nft.json +1 -0
  88. package/.next/server/app/api/settings/default-model/route_client-reference-manifest.js +1 -0
  89. package/.next/server/app/api/settings/title-model/route.js +1 -1
  90. package/.next/server/app/api/skills/check/route.js +1 -1
  91. package/.next/server/app/api/skills/install/route.js +1 -1
  92. package/.next/server/app/api/skills/route.js +1 -1
  93. package/.next/server/app/api/skills/search/route.js +1 -1
  94. package/.next/server/app/api/skills/update/route.js +1 -1
  95. package/.next/server/app/api/snippets/[id]/route.js +1 -1
  96. package/.next/server/app/api/snippets/route.js +1 -1
  97. package/.next/server/app/api/subagents/[id]/route.js +1 -1
  98. package/.next/server/app/api/subagents/profiles/route.js +1 -1
  99. package/.next/server/app/api/subagents/settings/route.js +1 -1
  100. package/.next/server/app/api/tasks/[id]/[action]/route.js +1 -1
  101. package/.next/server/app/api/tasks/[id]/changed-files/route.js +2 -2
  102. package/.next/server/app/api/tasks/[id]/diff/route.js +2 -2
  103. package/.next/server/app/api/tasks/[id]/events/route.js +1 -1
  104. package/.next/server/app/api/tasks/[id]/route.js +1 -1
  105. package/.next/server/app/api/tasks/batch/route.js +1 -1
  106. package/.next/server/app/api/tasks/events/route.js +1 -1
  107. package/.next/server/app/api/tasks/route.js +1 -1
  108. package/.next/server/app/api/tasks/settings/route.js +1 -1
  109. package/.next/server/app/api/tasks/templates/route.js +1 -1
  110. package/.next/server/app/api/terminal/[id]/events/route.js +2 -2
  111. package/.next/server/app/api/terminal/[id]/route.js +1 -1
  112. package/.next/server/app/api/terminal/route.js +1 -1
  113. package/.next/server/app/api/themes/[name]/route.js +1 -1
  114. package/.next/server/app/api/themes/[name]/route.js.nft.json +1 -1
  115. package/.next/server/app/api/themes/route.js +1 -1
  116. package/.next/server/app/api/themes/route.js.nft.json +1 -1
  117. package/.next/server/app/api/tools/extension-tools/route.js +2 -2
  118. package/.next/server/app/api/tools/settings/route.js +1 -1
  119. package/.next/server/app/api/usage/route.js +1 -1
  120. package/.next/server/app/api/vision-config/route.js +2 -2
  121. package/.next/server/app/api/web-auth/route.js +1 -1
  122. package/.next/server/app/api/worktrees/route.js +1 -1
  123. package/.next/server/app/icon.ico/route.js +1 -1
  124. package/.next/server/app/icon.png/route.js +1 -1
  125. package/.next/server/app/icon.svg/route.js +1 -1
  126. package/.next/server/app/index.html +1 -1
  127. package/.next/server/app/index.rsc +17 -16
  128. package/.next/server/app/index.segments/__PAGE__.segment.rsc +11 -10
  129. package/.next/server/app/index.segments/_full.segment.rsc +17 -16
  130. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  131. package/.next/server/app/login/page.js +1 -1
  132. package/.next/server/app/login/page.js.nft.json +1 -1
  133. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  134. package/.next/server/app/login.html +1 -1
  135. package/.next/server/app/login.rsc +21 -20
  136. package/.next/server/app/login.segments/_full.segment.rsc +21 -20
  137. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  138. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +8 -7
  139. package/.next/server/app/page.js +16 -8
  140. package/.next/server/app/page.js.nft.json +1 -1
  141. package/.next/server/app/page_client-reference-manifest.js +1 -1
  142. package/.next/server/app-paths-manifest.json +26 -25
  143. package/.next/server/chunks/3379.js +1 -1
  144. package/.next/server/chunks/406.js +1 -0
  145. package/.next/server/chunks/5437.js +1 -1
  146. package/.next/server/chunks/574.js +1 -0
  147. package/.next/server/chunks/7774.js +9 -9
  148. package/.next/server/middleware-build-manifest.js +1 -1
  149. package/.next/server/middleware.js +2 -2
  150. package/.next/server/pages/404.html +1 -1
  151. package/.next/server/pages/500.html +1 -1
  152. package/.next/static/S_SVz1tcf2yF8HRu-MIyf/_buildManifest.js +1 -0
  153. package/.next/static/chunks/5170-642bc0cfa4eeb3ab.js +1 -0
  154. package/.next/static/chunks/{2787-8d358343705fcc68.js → 5713-2dbdd3004c5f9a77.js} +9 -1
  155. package/.next/static/chunks/6908-11441b31185ab998.js +1 -0
  156. package/.next/static/chunks/914-8d3afa4f09f892ef.js +1 -0
  157. package/.next/static/chunks/app/_global-error/{page-8b1369cbf4e0a858.js → page-a1928c6c9b36dae8.js} +1 -1
  158. package/.next/static/chunks/app/api/agent/[id]/bash-output/{route-8b1369cbf4e0a858.js → route-a1928c6c9b36dae8.js} +1 -1
  159. package/.next/static/chunks/app/api/agent/[id]/events/{route-8b1369cbf4e0a858.js → route-a1928c6c9b36dae8.js} +1 -1
  160. package/.next/static/chunks/app/api/agent/[id]/lease/{route-8b1369cbf4e0a858.js → route-a1928c6c9b36dae8.js} +1 -1
  161. package/.next/static/chunks/app/api/agent/[id]/route-a1928c6c9b36dae8.js +1 -0
  162. package/.next/static/chunks/app/api/agent/new/route-a1928c6c9b36dae8.js +1 -0
  163. package/.next/static/chunks/app/api/agent/running/events/route-a1928c6c9b36dae8.js +1 -0
  164. package/.next/static/chunks/app/api/agent/running/route-a1928c6c9b36dae8.js +1 -0
  165. package/.next/static/chunks/app/api/app-update/route-a1928c6c9b36dae8.js +1 -0
  166. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-a1928c6c9b36dae8.js +1 -0
  167. package/.next/static/chunks/app/api/auth/combined/route-a1928c6c9b36dae8.js +1 -0
  168. package/.next/static/chunks/app/api/auth/login/[provider]/route-a1928c6c9b36dae8.js +1 -0
  169. package/.next/static/chunks/app/api/auth/logout/[provider]/route-a1928c6c9b36dae8.js +1 -0
  170. package/.next/static/chunks/app/api/auth/providers/route-a1928c6c9b36dae8.js +1 -0
  171. package/.next/static/chunks/app/api/backup/export/route-a1928c6c9b36dae8.js +1 -0
  172. package/.next/static/chunks/app/api/backup/import/route-a1928c6c9b36dae8.js +1 -0
  173. package/.next/static/chunks/app/api/cwd/browse/route-a1928c6c9b36dae8.js +1 -0
  174. package/.next/static/chunks/app/api/cwd/validate/route-a1928c6c9b36dae8.js +1 -0
  175. package/.next/static/chunks/app/api/default-cwd/route-a1928c6c9b36dae8.js +1 -0
  176. package/.next/static/chunks/app/api/events/route-a1928c6c9b36dae8.js +1 -0
  177. package/.next/static/chunks/app/api/features/route-a1928c6c9b36dae8.js +1 -0
  178. package/.next/static/chunks/app/api/file-index/route-a1928c6c9b36dae8.js +1 -0
  179. package/.next/static/chunks/app/api/files/[...path]/route-a1928c6c9b36dae8.js +1 -0
  180. package/.next/static/chunks/app/api/git/diff/route-a1928c6c9b36dae8.js +1 -0
  181. package/.next/static/chunks/app/api/git/push/route-a1928c6c9b36dae8.js +1 -0
  182. package/.next/static/chunks/app/api/git/stash/route-a1928c6c9b36dae8.js +1 -0
  183. package/.next/static/chunks/app/api/git/status/route-a1928c6c9b36dae8.js +1 -0
  184. package/.next/static/chunks/app/api/home/route-a1928c6c9b36dae8.js +1 -0
  185. package/.next/static/chunks/app/api/import/discover/route-a1928c6c9b36dae8.js +1 -0
  186. package/.next/static/chunks/app/api/import/execute/route-a1928c6c9b36dae8.js +1 -0
  187. package/.next/static/chunks/app/api/import/status/route-a1928c6c9b36dae8.js +1 -0
  188. package/.next/static/chunks/app/api/logs/route-a1928c6c9b36dae8.js +1 -0
  189. package/.next/static/chunks/app/api/mcp/restart/route-a1928c6c9b36dae8.js +1 -0
  190. package/.next/static/chunks/app/api/mcp/route-a1928c6c9b36dae8.js +1 -0
  191. package/.next/static/chunks/app/api/models/enabled/route-a1928c6c9b36dae8.js +1 -0
  192. package/.next/static/chunks/app/api/models/refresh/route-a1928c6c9b36dae8.js +1 -0
  193. package/.next/static/chunks/app/api/models/route-a1928c6c9b36dae8.js +1 -0
  194. package/.next/static/chunks/app/api/models-config/builtin/route-a1928c6c9b36dae8.js +1 -0
  195. package/.next/static/chunks/app/api/models-config/catalog/route-a1928c6c9b36dae8.js +1 -0
  196. package/.next/static/chunks/app/api/models-config/discover/route-a1928c6c9b36dae8.js +1 -0
  197. package/.next/static/chunks/app/api/models-config/import/route-a1928c6c9b36dae8.js +1 -0
  198. package/.next/static/chunks/app/api/models-config/route-a1928c6c9b36dae8.js +1 -0
  199. package/.next/static/chunks/app/api/models-config/test/route-a1928c6c9b36dae8.js +1 -0
  200. package/.next/static/chunks/app/api/modes/route-a1928c6c9b36dae8.js +1 -0
  201. package/.next/static/chunks/app/api/plugins/check/route-a1928c6c9b36dae8.js +1 -0
  202. package/.next/static/chunks/app/api/plugins/route-a1928c6c9b36dae8.js +1 -0
  203. package/.next/static/chunks/app/api/project-aliases/route-a1928c6c9b36dae8.js +1 -0
  204. package/.next/static/chunks/app/api/project-trust/route-a1928c6c9b36dae8.js +1 -0
  205. package/.next/static/chunks/app/api/projects/visibility/route-a1928c6c9b36dae8.js +1 -0
  206. package/.next/static/chunks/app/api/provider-usage/query/route-a1928c6c9b36dae8.js +1 -0
  207. package/.next/static/chunks/app/api/proxy/route-a1928c6c9b36dae8.js +1 -0
  208. package/.next/static/chunks/app/api/proxy/test/route-a1928c6c9b36dae8.js +1 -0
  209. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-a1928c6c9b36dae8.js +1 -0
  210. package/.next/static/chunks/app/api/sessions/[id]/context/route-a1928c6c9b36dae8.js +1 -0
  211. package/.next/static/chunks/app/api/sessions/[id]/details/route-a1928c6c9b36dae8.js +1 -0
  212. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-a1928c6c9b36dae8.js +1 -0
  213. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-a1928c6c9b36dae8.js +1 -0
  214. package/.next/static/chunks/app/api/sessions/[id]/export/route-a1928c6c9b36dae8.js +1 -0
  215. package/.next/static/chunks/app/api/sessions/[id]/queue-recovery/route-a1928c6c9b36dae8.js +1 -0
  216. package/.next/static/chunks/app/api/sessions/[id]/route-a1928c6c9b36dae8.js +1 -0
  217. package/.next/static/chunks/app/api/sessions/[id]/state/route-a1928c6c9b36dae8.js +1 -0
  218. package/.next/static/chunks/app/api/sessions/route-a1928c6c9b36dae8.js +1 -0
  219. package/.next/static/chunks/app/api/sessions/search/route-a1928c6c9b36dae8.js +1 -0
  220. package/.next/static/chunks/app/api/settings/appearance/route-a1928c6c9b36dae8.js +1 -0
  221. package/.next/static/chunks/app/api/settings/default-model/route-a1928c6c9b36dae8.js +1 -0
  222. package/.next/static/chunks/app/api/settings/title-model/route-a1928c6c9b36dae8.js +1 -0
  223. package/.next/static/chunks/app/api/skills/check/route-a1928c6c9b36dae8.js +1 -0
  224. package/.next/static/chunks/app/api/skills/install/route-a1928c6c9b36dae8.js +1 -0
  225. package/.next/static/chunks/app/api/skills/route-a1928c6c9b36dae8.js +1 -0
  226. package/.next/static/chunks/app/api/skills/search/route-a1928c6c9b36dae8.js +1 -0
  227. package/.next/static/chunks/app/api/skills/update/route-a1928c6c9b36dae8.js +1 -0
  228. package/.next/static/chunks/app/api/snippets/[id]/route-a1928c6c9b36dae8.js +1 -0
  229. package/.next/static/chunks/app/api/snippets/route-a1928c6c9b36dae8.js +1 -0
  230. package/.next/static/chunks/app/api/subagents/[id]/route-a1928c6c9b36dae8.js +1 -0
  231. package/.next/static/chunks/app/api/subagents/profiles/route-a1928c6c9b36dae8.js +1 -0
  232. package/.next/static/chunks/app/api/subagents/settings/route-a1928c6c9b36dae8.js +1 -0
  233. package/.next/static/chunks/app/api/tasks/[id]/[action]/route-a1928c6c9b36dae8.js +1 -0
  234. package/.next/static/chunks/app/api/tasks/[id]/changed-files/route-a1928c6c9b36dae8.js +1 -0
  235. package/.next/static/chunks/app/api/tasks/[id]/diff/route-a1928c6c9b36dae8.js +1 -0
  236. package/.next/static/chunks/app/api/tasks/[id]/events/route-a1928c6c9b36dae8.js +1 -0
  237. package/.next/static/chunks/app/api/tasks/[id]/route-a1928c6c9b36dae8.js +1 -0
  238. package/.next/static/chunks/app/api/tasks/batch/route-a1928c6c9b36dae8.js +1 -0
  239. package/.next/static/chunks/app/api/tasks/events/route-a1928c6c9b36dae8.js +1 -0
  240. package/.next/static/chunks/app/api/tasks/route-a1928c6c9b36dae8.js +1 -0
  241. package/.next/static/chunks/app/api/tasks/settings/route-a1928c6c9b36dae8.js +1 -0
  242. package/.next/static/chunks/app/api/tasks/templates/route-a1928c6c9b36dae8.js +1 -0
  243. package/.next/static/chunks/app/api/terminal/[id]/events/route-a1928c6c9b36dae8.js +1 -0
  244. package/.next/static/chunks/app/api/terminal/[id]/route-a1928c6c9b36dae8.js +1 -0
  245. package/.next/static/chunks/app/api/terminal/route-a1928c6c9b36dae8.js +1 -0
  246. package/.next/static/chunks/app/api/themes/[name]/route-a1928c6c9b36dae8.js +1 -0
  247. package/.next/static/chunks/app/api/themes/route-a1928c6c9b36dae8.js +1 -0
  248. package/.next/static/chunks/app/api/tools/extension-tools/route-a1928c6c9b36dae8.js +1 -0
  249. package/.next/static/chunks/app/api/tools/settings/route-a1928c6c9b36dae8.js +1 -0
  250. package/.next/static/chunks/app/api/usage/route-a1928c6c9b36dae8.js +1 -0
  251. package/.next/static/chunks/app/api/vision-config/route-a1928c6c9b36dae8.js +1 -0
  252. package/.next/static/chunks/app/api/web-auth/route-a1928c6c9b36dae8.js +1 -0
  253. package/.next/static/chunks/app/api/worktrees/route-a1928c6c9b36dae8.js +1 -0
  254. package/.next/static/chunks/app/layout-afb53143cd8a858f.js +1 -0
  255. package/.next/static/chunks/app/page-4254ac67847d7776.js +237 -0
  256. package/.next/static/chunks/next/dist/client/components/builtin/app-error-a1928c6c9b36dae8.js +1 -0
  257. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-a1928c6c9b36dae8.js +1 -0
  258. package/.next/static/chunks/next/dist/client/components/builtin/not-found-a1928c6c9b36dae8.js +1 -0
  259. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-a1928c6c9b36dae8.js +1 -0
  260. package/.next/static/css/34f1ad830f772bb3.css +1 -0
  261. package/.next/trace +19 -10
  262. package/.next/trace-build +1 -1
  263. package/.next/types/app/api/settings/default-model/route.ts +353 -0
  264. package/.next/types/routes.d.ts +2 -1
  265. package/.next/types/validator.ts +9 -0
  266. package/lib/theme/openchamber/claude.json +41 -0
  267. package/package.json +2 -1
  268. package/.next/server/chunks/8526.js +0 -1
  269. package/.next/static/PXIvaiEmgDyK__UouWrME/_buildManifest.js +0 -1
  270. package/.next/static/chunks/5170-3e328b87bd2a2070.js +0 -1
  271. package/.next/static/chunks/app/api/agent/[id]/route-8b1369cbf4e0a858.js +0 -1
  272. package/.next/static/chunks/app/api/agent/new/route-8b1369cbf4e0a858.js +0 -1
  273. package/.next/static/chunks/app/api/agent/running/events/route-8b1369cbf4e0a858.js +0 -1
  274. package/.next/static/chunks/app/api/agent/running/route-8b1369cbf4e0a858.js +0 -1
  275. package/.next/static/chunks/app/api/app-update/route-8b1369cbf4e0a858.js +0 -1
  276. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-8b1369cbf4e0a858.js +0 -1
  277. package/.next/static/chunks/app/api/auth/combined/route-8b1369cbf4e0a858.js +0 -1
  278. package/.next/static/chunks/app/api/auth/login/[provider]/route-8b1369cbf4e0a858.js +0 -1
  279. package/.next/static/chunks/app/api/auth/logout/[provider]/route-8b1369cbf4e0a858.js +0 -1
  280. package/.next/static/chunks/app/api/auth/providers/route-8b1369cbf4e0a858.js +0 -1
  281. package/.next/static/chunks/app/api/backup/export/route-8b1369cbf4e0a858.js +0 -1
  282. package/.next/static/chunks/app/api/backup/import/route-8b1369cbf4e0a858.js +0 -1
  283. package/.next/static/chunks/app/api/cwd/browse/route-8b1369cbf4e0a858.js +0 -1
  284. package/.next/static/chunks/app/api/cwd/validate/route-8b1369cbf4e0a858.js +0 -1
  285. package/.next/static/chunks/app/api/default-cwd/route-8b1369cbf4e0a858.js +0 -1
  286. package/.next/static/chunks/app/api/events/route-8b1369cbf4e0a858.js +0 -1
  287. package/.next/static/chunks/app/api/features/route-8b1369cbf4e0a858.js +0 -1
  288. package/.next/static/chunks/app/api/file-index/route-8b1369cbf4e0a858.js +0 -1
  289. package/.next/static/chunks/app/api/files/[...path]/route-8b1369cbf4e0a858.js +0 -1
  290. package/.next/static/chunks/app/api/git/diff/route-8b1369cbf4e0a858.js +0 -1
  291. package/.next/static/chunks/app/api/git/push/route-8b1369cbf4e0a858.js +0 -1
  292. package/.next/static/chunks/app/api/git/stash/route-8b1369cbf4e0a858.js +0 -1
  293. package/.next/static/chunks/app/api/git/status/route-8b1369cbf4e0a858.js +0 -1
  294. package/.next/static/chunks/app/api/home/route-8b1369cbf4e0a858.js +0 -1
  295. package/.next/static/chunks/app/api/import/discover/route-8b1369cbf4e0a858.js +0 -1
  296. package/.next/static/chunks/app/api/import/execute/route-8b1369cbf4e0a858.js +0 -1
  297. package/.next/static/chunks/app/api/import/status/route-8b1369cbf4e0a858.js +0 -1
  298. package/.next/static/chunks/app/api/logs/route-8b1369cbf4e0a858.js +0 -1
  299. package/.next/static/chunks/app/api/mcp/restart/route-8b1369cbf4e0a858.js +0 -1
  300. package/.next/static/chunks/app/api/mcp/route-8b1369cbf4e0a858.js +0 -1
  301. package/.next/static/chunks/app/api/models/enabled/route-8b1369cbf4e0a858.js +0 -1
  302. package/.next/static/chunks/app/api/models/refresh/route-8b1369cbf4e0a858.js +0 -1
  303. package/.next/static/chunks/app/api/models/route-8b1369cbf4e0a858.js +0 -1
  304. package/.next/static/chunks/app/api/models-config/builtin/route-8b1369cbf4e0a858.js +0 -1
  305. package/.next/static/chunks/app/api/models-config/catalog/route-8b1369cbf4e0a858.js +0 -1
  306. package/.next/static/chunks/app/api/models-config/discover/route-8b1369cbf4e0a858.js +0 -1
  307. package/.next/static/chunks/app/api/models-config/import/route-8b1369cbf4e0a858.js +0 -1
  308. package/.next/static/chunks/app/api/models-config/route-8b1369cbf4e0a858.js +0 -1
  309. package/.next/static/chunks/app/api/models-config/test/route-8b1369cbf4e0a858.js +0 -1
  310. package/.next/static/chunks/app/api/modes/route-8b1369cbf4e0a858.js +0 -1
  311. package/.next/static/chunks/app/api/plugins/check/route-8b1369cbf4e0a858.js +0 -1
  312. package/.next/static/chunks/app/api/plugins/route-8b1369cbf4e0a858.js +0 -1
  313. package/.next/static/chunks/app/api/project-aliases/route-8b1369cbf4e0a858.js +0 -1
  314. package/.next/static/chunks/app/api/project-trust/route-8b1369cbf4e0a858.js +0 -1
  315. package/.next/static/chunks/app/api/projects/visibility/route-8b1369cbf4e0a858.js +0 -1
  316. package/.next/static/chunks/app/api/provider-usage/query/route-8b1369cbf4e0a858.js +0 -1
  317. package/.next/static/chunks/app/api/proxy/route-8b1369cbf4e0a858.js +0 -1
  318. package/.next/static/chunks/app/api/proxy/test/route-8b1369cbf4e0a858.js +0 -1
  319. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-8b1369cbf4e0a858.js +0 -1
  320. package/.next/static/chunks/app/api/sessions/[id]/context/route-8b1369cbf4e0a858.js +0 -1
  321. package/.next/static/chunks/app/api/sessions/[id]/details/route-8b1369cbf4e0a858.js +0 -1
  322. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-8b1369cbf4e0a858.js +0 -1
  323. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route-8b1369cbf4e0a858.js +0 -1
  324. package/.next/static/chunks/app/api/sessions/[id]/export/route-8b1369cbf4e0a858.js +0 -1
  325. package/.next/static/chunks/app/api/sessions/[id]/queue-recovery/route-8b1369cbf4e0a858.js +0 -1
  326. package/.next/static/chunks/app/api/sessions/[id]/route-8b1369cbf4e0a858.js +0 -1
  327. package/.next/static/chunks/app/api/sessions/[id]/state/route-8b1369cbf4e0a858.js +0 -1
  328. package/.next/static/chunks/app/api/sessions/route-8b1369cbf4e0a858.js +0 -1
  329. package/.next/static/chunks/app/api/sessions/search/route-8b1369cbf4e0a858.js +0 -1
  330. package/.next/static/chunks/app/api/settings/appearance/route-8b1369cbf4e0a858.js +0 -1
  331. package/.next/static/chunks/app/api/settings/title-model/route-8b1369cbf4e0a858.js +0 -1
  332. package/.next/static/chunks/app/api/skills/check/route-8b1369cbf4e0a858.js +0 -1
  333. package/.next/static/chunks/app/api/skills/install/route-8b1369cbf4e0a858.js +0 -1
  334. package/.next/static/chunks/app/api/skills/route-8b1369cbf4e0a858.js +0 -1
  335. package/.next/static/chunks/app/api/skills/search/route-8b1369cbf4e0a858.js +0 -1
  336. package/.next/static/chunks/app/api/skills/update/route-8b1369cbf4e0a858.js +0 -1
  337. package/.next/static/chunks/app/api/snippets/[id]/route-8b1369cbf4e0a858.js +0 -1
  338. package/.next/static/chunks/app/api/snippets/route-8b1369cbf4e0a858.js +0 -1
  339. package/.next/static/chunks/app/api/subagents/[id]/route-8b1369cbf4e0a858.js +0 -1
  340. package/.next/static/chunks/app/api/subagents/profiles/route-8b1369cbf4e0a858.js +0 -1
  341. package/.next/static/chunks/app/api/subagents/settings/route-8b1369cbf4e0a858.js +0 -1
  342. package/.next/static/chunks/app/api/tasks/[id]/[action]/route-8b1369cbf4e0a858.js +0 -1
  343. package/.next/static/chunks/app/api/tasks/[id]/changed-files/route-8b1369cbf4e0a858.js +0 -1
  344. package/.next/static/chunks/app/api/tasks/[id]/diff/route-8b1369cbf4e0a858.js +0 -1
  345. package/.next/static/chunks/app/api/tasks/[id]/events/route-8b1369cbf4e0a858.js +0 -1
  346. package/.next/static/chunks/app/api/tasks/[id]/route-8b1369cbf4e0a858.js +0 -1
  347. package/.next/static/chunks/app/api/tasks/batch/route-8b1369cbf4e0a858.js +0 -1
  348. package/.next/static/chunks/app/api/tasks/events/route-8b1369cbf4e0a858.js +0 -1
  349. package/.next/static/chunks/app/api/tasks/route-8b1369cbf4e0a858.js +0 -1
  350. package/.next/static/chunks/app/api/tasks/settings/route-8b1369cbf4e0a858.js +0 -1
  351. package/.next/static/chunks/app/api/tasks/templates/route-8b1369cbf4e0a858.js +0 -1
  352. package/.next/static/chunks/app/api/terminal/[id]/events/route-8b1369cbf4e0a858.js +0 -1
  353. package/.next/static/chunks/app/api/terminal/[id]/route-8b1369cbf4e0a858.js +0 -1
  354. package/.next/static/chunks/app/api/terminal/route-8b1369cbf4e0a858.js +0 -1
  355. package/.next/static/chunks/app/api/themes/[name]/route-8b1369cbf4e0a858.js +0 -1
  356. package/.next/static/chunks/app/api/themes/route-8b1369cbf4e0a858.js +0 -1
  357. package/.next/static/chunks/app/api/tools/extension-tools/route-8b1369cbf4e0a858.js +0 -1
  358. package/.next/static/chunks/app/api/tools/settings/route-8b1369cbf4e0a858.js +0 -1
  359. package/.next/static/chunks/app/api/usage/route-8b1369cbf4e0a858.js +0 -1
  360. package/.next/static/chunks/app/api/vision-config/route-8b1369cbf4e0a858.js +0 -1
  361. package/.next/static/chunks/app/api/web-auth/route-8b1369cbf4e0a858.js +0 -1
  362. package/.next/static/chunks/app/api/worktrees/route-8b1369cbf4e0a858.js +0 -1
  363. package/.next/static/chunks/app/layout-5719770bb4c2db1c.js +0 -1
  364. package/.next/static/chunks/app/page-7b80403208ca6e44.js +0 -237
  365. package/.next/static/chunks/next/dist/client/components/builtin/app-error-8b1369cbf4e0a858.js +0 -1
  366. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-8b1369cbf4e0a858.js +0 -1
  367. package/.next/static/chunks/next/dist/client/components/builtin/not-found-8b1369cbf4e0a858.js +0 -1
  368. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-8b1369cbf4e0a858.js +0 -1
  369. package/.next/static/css/9bf1ae2d877ac1bd.css +0 -1
  370. /package/.next/static/{PXIvaiEmgDyK__UouWrME → S_SVz1tcf2yF8HRu-MIyf}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ exports.id=406,exports.ids=[406],exports.modules={17:()=>{},252:(a,b,c)=>{"use strict";c.d(b,{S:()=>d});let d=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu},2468:(a,b,c)=>{"use strict";c.d(b,{D:()=>h});var d=c(13002),e=c(32999),f=c(56093);let g={...c(67040).W,color:d.y,backgroundColor:d.y,outlineColor:d.y,fill:d.y,stroke:d.y,borderColor:d.y,borderTopColor:d.y,borderRightColor:d.y,borderBottomColor:d.y,borderLeftColor:d.y,filter:e.p,WebkitFilter:e.p,mask:f.d,WebkitMask:f.d},h=a=>g[a]},3087:(a,b,c)=>{"use strict";c.d(b,{zK:()=>k});var d=c(57848),e=c(22e3);function f(a,b){return b.max===b.min?0:a/(b.max-b.min)*100}let g={correct:(a,b)=>{if(!b.target)return a;if("string"==typeof a)if(!e.px.test(a))return a;else a=parseFloat(a);let c=f(a,b.target.x),d=f(a,b.target.y);return`${c}% ${d}%`}};var h=c(60646),i=c(44914);let j={borderRadius:{...g,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"]},borderTopLeftRadius:g,borderTopRightRadius:g,borderBottomLeftRadius:g,borderBottomRightRadius:g,boxShadow:{correct:(a,{treeScale:b,projectionDelta:c})=>{let d=h.f.parse(a);if(d.length>5)return a;let e=h.f.createTransformer(a),f=+("number"!=typeof d[0]),g=c.x.scale*b.x,j=c.y.scale*b.y;d[0+f]/=g,d[1+f]/=j;let k=(0,i.k)(g,j,.5);return"number"==typeof d[2+f]&&(d[2+f]/=k),"number"==typeof d[3+f]&&(d[3+f]/=k),e(d)}}};function k(a,{layout:b,layoutId:c}){return d.f.has(a)||a.startsWith("origin")||(b||void 0!==c)&&(!!j[a]||"opacity"===a)}},3805:(a,b,c)=>{"use strict";c.d(b,{$:()=>f,q:()=>g});var d=c(252);let e=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,f=(a,b)=>c=>!!("string"==typeof c&&e.test(c)&&c.startsWith(a)||b&&null!=c&&Object.prototype.hasOwnProperty.call(c,b)),g=(a,b,c)=>e=>{if("string"!=typeof e)return e;let[f,g,h,i]=e.match(d.S);return{[a]:parseFloat(f),[b]:parseFloat(g),[c]:parseFloat(h),alpha:void 0!==i?parseFloat(i):1}}},3873:(a,b,c)=>{"use strict";c.d(b,{J:()=>i,D:()=>h});var d=c(35133);let e=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","propagate","ignoreStrict","viewport"]);function f(a){return a.startsWith("while")||a.startsWith("drag")&&"draggable"!==a||a.startsWith("layout")||a.startsWith("onTap")||a.startsWith("onPan")||a.startsWith("onLayout")||e.has(a)}let g=a=>!f(a);function h(a){"function"==typeof a&&(g=b=>b.startsWith("on")?!f(b):a(b))}try{h(require("@emotion/is-prop-valid").default)}catch{}function i(a,b,c){let e={};for(let h in a)("values"!==h||"object"!=typeof a.values)&&!(0,d.S)(a[h])&&(g(h)||!0===c&&f(h)||!b&&!f(h)||a.draggable&&h.startsWith("onDrag"))&&(e[h]=a[h]);return e}},4901:(a,b,c)=>{"use strict";c.d(b,{f:()=>d});let d=(a,b)=>b?1e3/b*a:0},6536:(a,b,c)=>{"use strict";c.d(b,{n:()=>d});let d=a=>"string"==typeof a&&"svg"===a.toLowerCase()},6675:(a,b,c)=>{"use strict";c.d(b,{l:()=>d});let d=a=>a},6941:(a,b,c)=>{"use strict";function d(a){let b;return()=>(void 0===b&&(b=a()),b)}c.d(b,{p:()=>d})},8398:(a,b,c)=>{"use strict";c.d(b,{E4:()=>h,Hr:()=>l,W9:()=>k});var d=c(94696),e=c(57848),f=c(20193),g=c(22e3);let h=a=>a===f.ai||a===g.px,i=new Set(["x","y","z"]),j=e.U.filter(a=>!i.has(a));function k(a){let b=[];return j.forEach(c=>{let d=a.getValue(c);void 0!==d&&(b.push([c,d.get()]),d.set(+!!c.startsWith("scale")))}),b}let l={width:({x:a},{paddingLeft:b="0",paddingRight:c="0",boxSizing:d})=>{let e=a.max-a.min;return"border-box"===d?e:e-parseFloat(b)-parseFloat(c)},height:({y:a},{paddingTop:b="0",paddingBottom:c="0",boxSizing:d})=>{let e=a.max-a.min;return"border-box"===d?e:e-parseFloat(b)-parseFloat(c)},top:(a,{top:b})=>parseFloat(b),left:(a,{left:b})=>parseFloat(b),bottom:({y:a},{top:b})=>parseFloat(b)+(a.max-a.min),right:({x:a},{left:b})=>parseFloat(b)+(a.max-a.min),x:(a,{transform:b})=>(0,d.ry)(b,"x"),y:(a,{transform:b})=>(0,d.ry)(b,"y")};l.translateX=l.x,l.translateY=l.y},8889:(a,b,c)=>{"use strict";function d(a){return null!==a&&"object"==typeof a&&"function"==typeof a.start}c.d(b,{N:()=>d})},9774:(a,b,c)=>{"use strict";function d(a){return"function"==typeof a&&"applyToOptions"in a}c.d(b,{W:()=>d})},10289:()=>{},12461:(a,b,c)=>{"use strict";c.d(b,{u:()=>e});var d=c(38520);let e={test:(0,c(3805).$)("#"),parse:function(a){let b="",c="",d="",e="";return a.length>5?(b=a.substring(1,3),c=a.substring(3,5),d=a.substring(5,7),e=a.substring(7,9)):(b=a.substring(1,2),c=a.substring(2,3),d=a.substring(3,4),e=a.substring(4,5),b+=b,c+=c,d+=d,e+=e),{red:parseInt(b,16),green:parseInt(c,16),blue:parseInt(d,16),alpha:e?parseInt(e,16)/255:1}},transform:d.B.transform}},13002:(a,b,c)=>{"use strict";c.d(b,{y:()=>g});var d=c(12461),e=c(43956),f=c(38520);let g={test:a=>f.B.test(a)||d.u.test(a)||e.V.test(a),parse:a=>f.B.test(a)?f.B.parse(a):e.V.test(a)?e.V.parse(a):d.u.parse(a),transform:a=>"string"==typeof a?a:a.hasOwnProperty("red")?f.B.transform(a):e.V.transform(a),getAnimatableNone:a=>{let b=g.parse(a);return b.alpha=0,g.transform(b)}}},16038:(a,b,c)=>{"use strict";c.d(b,{$:()=>d,V:()=>e});let d=()=>{},e=()=>{}},16240:(a,b,c)=>{"use strict";c.d(b,{q:()=>d});class d{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(a=>{this.resolve=a})}notifyFinished(){this.resolve()}then(a,b){return this.finished.then(a,b)}}},16953:(a,b,c)=>{"use strict";function d(a,b,c){b.startsWith("--")?a.style.setProperty(b,c):a.style[b]=c}c.d(b,{e:()=>d})},17419:(a,b,c)=>{"use strict";c.d(b,{BX:()=>G,vK:()=>F,lr:()=>E});var d=c(65229),e=c(20288),f=c(93180),g=c(39453),h=c(69872),i=c(71545),j=c(18222);let{schedule:k}=(0,c(48350).I)(queueMicrotask,!1);var l=c(62735),m=c(28265),n=c(84676),o=c(60646),p=c(19563),q=c(13002),r=c(86993),s=c(57426);let t=[...r.T,q.y,o.f];var u=c(35133);let v=new WeakMap;var w=c(38394),x=c(57848),y=c(42515),z=c(26340),A=c(59260),B=c(44557);let C=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"],D={};function E(a){D=a}function F(){return D}class G{scrapeMotionValuesFromProps(a,b,c){return{}}constructor({parent:a,props:b,presenceContext:c,reducedMotionConfig:d,skipAnimations:e,blockInitialAnimation:f,visualState:g},i={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=h.h,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let a=l.k.now();this.renderScheduledAt<a&&(this.renderScheduledAt=a,B.Gt.render(this.render,!1,!0))};const{latestValues:j,renderState:k}=g;this.latestValues=j,this.baseTarget={...j},this.initialValues=b.initial?{...j}:{},this.renderState=k,this.parent=a,this.props=b,this.presenceContext=c,this.depth=a?a.depth+1:0,this.reducedMotionConfig=d,this.skipAnimationsConfig=e,this.options=i,this.blockInitialAnimation=!!f,this.isControllingVariants=(0,w.e)(b),this.isVariantNode=(0,w.O)(b),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(a&&a.current);const{willChange:m,...n}=this.scrapeMotionValuesFromProps(b,{},this);for(const a in n){const b=n[a];void 0!==j[a]&&(0,u.S)(b)&&b.set(j[a])}}mount(a){if(this.hasBeenMounted)for(let a in this.initialValues)this.values.get(a)?.jump(this.initialValues[a]),this.latestValues[a]=this.initialValues[a];this.current=a,v.set(a,this),this.projection&&!this.projection.instance&&this.projection.mount(a),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((a,b)=>this.bindToMotionValue(b,a)),"never"===this.reducedMotionConfig?this.shouldReduceMotion=!1:"always"===this.reducedMotionConfig?this.shouldReduceMotion=!0:(A.r.current||(0,y.Uu)(),this.shouldReduceMotion=A.O.current),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){for(let a in this.projection&&this.projection.unmount(),(0,B.WG)(this.notifyUpdate),(0,B.WG)(this.render),this.valueSubscriptions.forEach(a=>a()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this),this.events)this.events[a].clear();for(let a in this.features){let b=this.features[a];b&&(b.unmount(),b.isMounted=!1)}this.current=null}addChild(a){this.children.add(a),this.enteringChildren??(this.enteringChildren=new Set),this.enteringChildren.add(a)}removeChild(a){this.children.delete(a),this.enteringChildren&&this.enteringChildren.delete(a)}bindToMotionValue(a,b){let c;if(this.valueSubscriptions.has(a)&&this.valueSubscriptions.get(a)(),b.accelerate&&j.M.has(a)&&this.current instanceof HTMLElement){let{factory:c,keyframes:e,times:f,ease:g,duration:h}=b.accelerate,j=new i.m({element:this.current,name:a,keyframes:e,times:f,ease:g,duration:(0,d.f)(h)}),k=c(j);this.valueSubscriptions.set(a,()=>{k(),j.cancel()});return}let e=x.f.has(a);e&&this.onBindTransform&&this.onBindTransform();let f=b.on("change",b=>{this.latestValues[a]=b,this.props.onUpdate&&B.Gt.preRender(this.notifyUpdate),e&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()});"u">typeof window&&window.MotionCheckAppearSync&&(c=window.MotionCheckAppearSync(this,a,b)),this.valueSubscriptions.set(a,()=>{f(),c&&c()})}sortNodePosition(a){return this.current&&this.sortInstanceNodePosition&&this.type===a.type?this.sortInstanceNodePosition(this.current,a.current):0}updateFeatures(){let a="animation";for(a in D){let b=D[a];if(!b)continue;let{isEnabled:c,Feature:d}=b;if(!this.features[a]&&d&&c(this.props)&&(this.features[a]=new d(this)),this.features[a]){let b=this.features[a];b.isMounted?b.update():(b.mount(),b.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):(0,m.ge)()}getStaticValue(a){return this.latestValues[a]}setStaticValue(a,b){this.latestValues[a]=b}update(a,b){(a.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=a,this.prevPresenceContext=this.presenceContext,this.presenceContext=b;for(let b=0;b<C.length;b++){let c=C[b];this.propEventSubscriptions[c]&&(this.propEventSubscriptions[c](),delete this.propEventSubscriptions[c]);let d=a["on"+c];d&&(this.propEventSubscriptions[c]=this.on(c,d))}this.prevMotionValues=function(a,b,c){for(let d in b){let e=b[d],f=c[d];if((0,u.S)(e))a.addValue(d,e);else if((0,u.S)(f))a.addValue(d,(0,n.OQ)(e,{owner:a}));else if(f!==e)if(a.hasValue(d)){let b=a.getValue(d);!0===b.liveStyle?b.jump(e):b.hasAnimated||b.set(e)}else{let b=a.getStaticValue(d);a.addValue(d,(0,n.OQ)(void 0!==b?b:e,{owner:a}))}}for(let d in c)void 0===b[d]&&a.removeValue(d);return b}(this,this.scrapeMotionValuesFromProps(a,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(a){return this.props.variants?this.props.variants[a]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(a){let b=this.getClosestVariantNode();if(b)return b.variantChildren&&b.variantChildren.add(a),()=>b.variantChildren.delete(a)}addValue(a,b){let c=this.values.get(a);b!==c&&(c&&this.removeValue(a),this.bindToMotionValue(a,b),this.values.set(a,b),this.latestValues[a]=b.get())}removeValue(a){this.values.delete(a);let b=this.valueSubscriptions.get(a);b&&(b(),this.valueSubscriptions.delete(a)),delete this.latestValues[a],this.removeValueFromRenderState(a,this.renderState)}hasValue(a){return this.values.has(a)}getValue(a,b){if(this.props.values&&this.props.values[a])return this.props.values[a];let c=this.values.get(a);return void 0===c&&void 0!==b&&(c=(0,n.OQ)(null===b?void 0:b,{owner:this}),this.addValue(a,c)),c}readValue(a,b){let c=void 0===this.latestValues[a]&&this.current?this.getBaseTargetFromProps(this.props,a)??this.readValueFromInstance(this.current,a,this.options):this.latestValues[a];if(null!=c){if("string"==typeof c&&((0,e.i)(c)||(0,f.$)(c)))c=parseFloat(c);else{let d;d=c,!t.find((0,s.w)(d))&&o.f.test(b)&&(c=(0,p.J)(a,b))}this.setBaseTarget(a,(0,u.S)(c)?c.get():c)}return(0,u.S)(c)?c.get():c}setBaseTarget(a,b){this.baseTarget[a]=b}getBaseTarget(a){let b,{initial:c}=this.props;if("string"==typeof c||"object"==typeof c){let d=(0,z.a)(this.props,c,this.presenceContext?.custom);d&&(b=d[a])}if(c&&void 0!==b)return b;let d=this.getBaseTargetFromProps(this.props,a);return void 0===d||(0,u.S)(d)?void 0!==this.initialValues[a]&&void 0===b?void 0:this.baseTarget[a]:d}on(a,b){return this.events[a]||(this.events[a]=new g.v),this.events[a].add(b)}notify(a,...b){this.events[a]&&this.events[a].notify(...b)}scheduleRenderMicrotask(){k.render(this.render)}}},18222:(a,b,c)=>{"use strict";c.d(b,{M:()=>d});let d=new Set(["opacity","clipPath","filter","transform","backgroundColor"])},19563:(a,b,c)=>{"use strict";c.d(b,{J:()=>i});var d=c(60646),e=c(32999),f=c(56093),g=c(2468);let h=new Set([e.p,f.d]);function i(a,b){let c=(0,g.D)(a);return h.has(c)||(c=d.f),c.getAnimatableNone?c.getAnimatableNone(b):void 0}},19794:(a,b,c)=>{"use strict";c.d(b,{B:()=>h});var d=c(35795);let e={offset:"stroke-dashoffset",array:"stroke-dasharray"},f={offset:"strokeDashoffset",array:"strokeDasharray"},g=["offsetDistance","offsetPath","offsetRotate","offsetAnchor"];function h(a,{attrX:b,attrY:c,attrScale:i,pathLength:j,pathSpacing:k=1,pathOffset:l=0,...m},n,o,p){if((0,d.O)(a,m,o),n){a.style.viewBox&&(a.attrs.viewBox=a.style.viewBox);return}a.attrs=a.style,a.style={};let{attrs:q,style:r}=a;for(let a of(q.transform&&(r.transform=q.transform,delete q.transform),(r.transform||q.transformOrigin)&&(r.transformOrigin=q.transformOrigin??"50% 50%",delete q.transformOrigin),r.transform&&(r.transformBox=p?.transformBox??"fill-box",delete q.transformBox),g))void 0!==q[a]&&(r[a]=q[a],delete q[a]);void 0!==b&&(q.x=b),void 0!==c&&(q.y=c),void 0!==i&&(q.scale=i),void 0!==j&&function(a,b,c=1,d=0,g=!0){a.pathLength=1;let h=g?e:f;a[h.offset]=`${-d}`,a[h.array]=`${b} ${c}`}(q,j,k,l,!1)}},20193:(a,b,c)=>{"use strict";c.d(b,{X4:()=>f,ai:()=>e,hs:()=>g});var d=c(91524);let e={test:a=>"number"==typeof a,parse:parseFloat,transform:a=>a},f={...e,transform:a=>(0,d.q)(0,1,a)},g={...e,default:1}},20288:(a,b,c)=>{"use strict";c.d(b,{i:()=>d});let d=a=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(a)},22e3:(a,b,c)=>{"use strict";c.d(b,{KN:()=>f,gQ:()=>j,px:()=>g,uj:()=>e,vh:()=>h,vw:()=>i});let d=a=>({test:b=>"string"==typeof b&&b.endsWith(a)&&1===b.split(" ").length,parse:parseFloat,transform:b=>`${b}${a}`}),e=d("deg"),f=d("%"),g=d("px"),h=d("vh"),i=d("vw"),j={...f,parse:a=>f.parse(a)/100,transform:a=>f.transform(100*a)}},25319:()=>{},26340:(a,b,c)=>{"use strict";function d(a){let b=[{},{}];return a?.values.forEach((a,c)=>{b[0][c]=a.get(),b[1][c]=a.getVelocity()}),b}function e(a,b,c,e){if("function"==typeof b){let[f,g]=d(e);b=b(void 0!==c?c:a.custom,f,g)}if("string"==typeof b&&(b=a.variants&&a.variants[b]),"function"==typeof b){let[f,g]=d(e);b=b(void 0!==c?c:a.custom,f,g)}return b}c.d(b,{a:()=>e})},26571:(a,b,c)=>{"use strict";c.d(b,{x:()=>j});var d=c(48249),e=c(67484),f=c(96897),g=c(69320),h=c(3873),i=c(82423);function j({children:a,isValidProp:b,...c}){b&&(0,h.D)(b);let k=(0,e.useContext)(g.Q);(c={...k,...c}).transition=(0,f.K)(c.transition,k.transition),c.isStatic=(0,i.M)(()=>c.isStatic);let l=(0,e.useMemo)(()=>c,[JSON.stringify(c.transition),c.transformPagePoint,c.reducedMotion,c.skipAnimations]);return(0,d.jsx)(g.Q.Provider,{value:l,children:a})}},28265:(a,b,c)=>{"use strict";c.d(b,{ge:()=>e});let d=()=>({min:0,max:0}),e=()=>({x:d(),y:d()})},28532:(a,b,c)=>{"use strict";c.d(b,{x:()=>g});var d=c(35133),e=c(57848),f=c(49757);function g(a,b,c){let g=(0,f.x)(a,b,c);for(let c in a)((0,d.S)(a[c])||(0,d.S)(b[c]))&&(g[-1!==e.U.indexOf(c)?"attr"+c.charAt(0).toUpperCase()+c.substring(1):c]=a[c]);return g}},28765:(a,b,c)=>{"use strict";c.d(b,{W:()=>d});let d={}},29871:(a,b,c)=>{"use strict";c.d(b,{U:()=>d,_:()=>e});let d=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],e=["initial",...d]},32999:(a,b,c)=>{"use strict";c.d(b,{p:()=>i});var d=c(60646),e=c(252);let f=new Set(["brightness","contrast","saturate","opacity"]);function g(a){let[b,c]=a.slice(0,-1).split("(");if("drop-shadow"===b)return a;let[d]=c.match(e.S)||[];if(!d)return a;let g=c.replace(d,""),h=+!!f.has(b);return d!==c&&(h*=100),b+"("+h+g+")"}let h=/\b([a-z-]*)\(.*?\)/gu,i={...d.f,getAnimatableNone:a=>{let b=a.match(h);return b?b.map(g).join(" "):a}}},35133:(a,b,c)=>{"use strict";c.d(b,{S:()=>d});let d=a=>!!(a&&a.getVelocity)},35795:(a,b,c)=>{"use strict";c.d(b,{O:()=>j});let d=(a,b)=>b&&"number"==typeof a?b.transform(a):a;var e=c(67040),f=c(57848),g=c(45756);let h={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},i=f.U.length;function j(a,b,c){let{style:j,vars:k,transformOrigin:l}=a,m=!1,n=!1;for(let a in b){let c=b[a];if(f.f.has(a)){m=!0;continue}if((0,g.j4)(a)){k[a]=c;continue}{let b=d(c,e.W[a]);a.startsWith("origin")?(n=!0,l[a]=b):j[a]=b}}if(!b.transform&&(m||c?j.transform=function(a,b,c){let g="",j=!0;for(let k=0;k<i;k++){let i=f.U[k],l=a[i];if(void 0===l)continue;let m=!0;if("number"==typeof l)m=l===+!!i.startsWith("scale");else{let a=parseFloat(l);m=i.startsWith("scale")?1===a:0===a}if(!m||c){let a=d(l,e.W[i]);if(!m){j=!1;let b=h[i]||i;g+=`${b}(${a}) `}c&&(b[i]=a)}}let k=a.pathRotation;return k&&(j=!1,g+=`rotate(${d(k,e.W.pathRotation)}) `),g=g.trim(),c?g=c(b,j?"":g):j&&(g="none"),g}(b,a.transform,c):j.transform&&(j.transform="none")),n){let{originX:a="50%",originY:b="50%",originZ:c=0}=l;j.transformOrigin=`${a} ${b} ${c}`}}},35884:(a,b,c)=>{"use strict";c.d(b,{I:()=>g});var d=c(59260),e=c(42515),f=c(67484);function g(){d.r.current||(0,e.Uu)();let[a]=(0,f.useState)(d.O.current);return a}},38394:(a,b,c)=>{"use strict";c.d(b,{O:()=>h,e:()=>g});var d=c(8889),e=c(85710),f=c(29871);function g(a){return(0,d.N)(a.animate)||f._.some(b=>(0,e.w)(a[b]))}function h(a){return!!(g(a)||a.variants)}},38520:(a,b,c)=>{"use strict";c.d(b,{B:()=>i});var d=c(91524),e=c(20193),f=c(55817),g=c(3805);let h={...e.ai,transform:a=>Math.round((0,d.q)(0,255,a))},i={test:(0,g.$)("rgb","red"),parse:(0,g.q)("red","green","blue"),transform:({red:a,green:b,blue:c,alpha:d=1})=>"rgba("+h.transform(a)+", "+h.transform(b)+", "+h.transform(c)+", "+(0,f.a)(e.X4.transform(d))+")"}},39453:(a,b,c)=>{"use strict";c.d(b,{v:()=>d});class d{constructor(){this.subscriptions=[]}add(a){var b;return b=this.subscriptions,-1===b.indexOf(a)&&b.push(a),()=>{var b;let c;return b=this.subscriptions,void((c=b.indexOf(a))>-1&&b.splice(c,1))}}notify(a,b,c){let d=this.subscriptions.length;if(d)if(1===d)this.subscriptions[0](a,b,c);else for(let e=0;e<d;e++){let d=this.subscriptions[e];d&&d(a,b,c)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}},42515:(a,b,c)=>{"use strict";c.d(b,{Uu:()=>f});var d=c(59260);let e="u">typeof window;function f(){if(d.r.current=!0,e)if(window.matchMedia){let a=window.matchMedia("(prefers-reduced-motion)"),b=()=>d.O.current=a.matches;a.addEventListener("change",b),b()}else d.O.current=!1}},43956:(a,b,c)=>{"use strict";c.d(b,{V:()=>h});var d=c(20193),e=c(22e3),f=c(55817),g=c(3805);let h={test:(0,g.$)("hsl","hue"),parse:(0,g.q)("hue","saturation","lightness"),transform:({hue:a,saturation:b,lightness:c,alpha:g=1})=>"hsla("+Math.round(a)+", "+e.KN.transform((0,f.a)(b))+", "+e.KN.transform((0,f.a)(c))+", "+(0,f.a)(d.X4.transform(g))+")"}},44557:(a,b,c)=>{"use strict";c.d(b,{Gt:()=>e,WG:()=>f,uv:()=>g});var d=c(6675);let{schedule:e,cancel:f,state:g}=(0,c(48350).I)("u">typeof requestAnimationFrame?requestAnimationFrame:d.l,!0)},44914:(a,b,c)=>{"use strict";c.d(b,{k:()=>d});let d=(a,b,c)=>a+(b-a)*c},45756:(a,b,c)=>{"use strict";c.d(b,{j4:()=>e,pG:()=>g,rm:()=>i});let d=a=>b=>"string"==typeof b&&b.startsWith(a),e=d("--"),f=d("var(--"),g=a=>!!f(a)&&h.test(a.split("/*")[0].trim()),h=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function i(a){return"string"==typeof a&&a.split("/*")[0].includes("var(--")}},46431:(a,b,c)=>{"use strict";c.d(b,{Q:()=>e});let d=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function e(a){if("string"!=typeof a||a.includes("-"));else if(d.indexOf(a)>-1||/[A-Z]/u.test(a))return!0;return!1}},47561:()=>{},48350:(a,b,c)=>{"use strict";c.d(b,{I:()=>f});var d=c(28765);let e=["setup","read","resolveKeyframes","preUpdate","update","preRender","render","postRender"];function f(a,b){let c=!1,f=!0,g={delta:0,timestamp:0,isProcessing:!1},h=()=>c=!0,i=e.reduce((a,b)=>(a[b]=function(a){let b=new Set,c=new Set,d=!1,e=!1,f=new WeakSet,g={delta:0,timestamp:0,isProcessing:!1};function h(b){f.has(b)&&(i.schedule(b),a()),b(g)}let i={schedule:(a,e=!1,g=!1)=>{let h=g&&d?b:c;return e&&f.add(a),h.add(a),a},cancel:a=>{c.delete(a),f.delete(a)},process:a=>{if(g=a,d){e=!0;return}d=!0;let f=b;b=c,c=f,b.forEach(h),b.clear(),d=!1,e&&(e=!1,i.process(a))}};return i}(h),a),{}),{setup:j,read:k,resolveKeyframes:l,preUpdate:m,update:n,preRender:o,render:p,postRender:q}=i,r=()=>{let e=d.W.useManualTiming,h=e?g.timestamp:performance.now();c=!1,e||(g.delta=f?1e3/60:Math.max(Math.min(h-g.timestamp,40),1)),g.timestamp=h,g.isProcessing=!0,j.process(g),k.process(g),l.process(g),m.process(g),n.process(g),o.process(g),p.process(g),q.process(g),g.isProcessing=!1,c&&b&&(f=!1,a(r))};return{schedule:e.reduce((b,d)=>{let e=i[d];return b[d]=(b,d=!1,h=!1)=>(!c&&(c=!0,f=!0,g.isProcessing||a(r)),e.schedule(b,d,h)),b},{}),cancel:a=>{for(let b=0;b<e.length;b++)i[e[b]].cancel(a)},state:g,steps:i}}},49757:(a,b,c)=>{"use strict";c.d(b,{x:()=>f});var d=c(35133),e=c(3087);function f(a,b,c){let f=a.style,g=b?.style,h={};if(!f)return h;for(let b in f)((0,d.S)(f[b])||g&&(0,d.S)(g[b])||(0,e.zK)(b,a)||c?.getValue(b)?.liveStyle!==void 0)&&(h[b]=f[b]);return h}},55091:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(5735),e=c(22675);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("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)},55817:(a,b,c)=>{"use strict";c.d(b,{a:()=>d});let d=a=>Math.round(1e5*a)/1e5},56093:(a,b,c)=>{"use strict";c.d(b,{d:()=>e});var d=c(60646);let e={...d.f,getAnimatableNone:a=>{let b=d.f.parse(a);return d.f.createTransformer(a)(b.map(a=>"number"==typeof a?0:"object"==typeof a?{...a,alpha:1}:a))}}},57426:(a,b,c)=>{"use strict";c.d(b,{w:()=>d});let d=a=>b=>b.test(a)},57848:(a,b,c)=>{"use strict";c.d(b,{U:()=>d,f:()=>e});let d=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],e=new Set([...d,"pathRotation"])},59190:(a,b,c)=>{"use strict";c.d(b,{Y:()=>g});var d=c(17419);let e={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},f=!1;function g(a){let b=(!function(){if(f)return;let a={};for(let b in e)a[b]={isEnabled:a=>e[b].some(b=>!!a[b])};(0,d.lr)(a),f=!0}(),(0,d.vK)());for(let c in a)b[c]={...b[c],...a[c]};(0,d.lr)(b)}},59260:(a,b,c)=>{"use strict";c.d(b,{O:()=>d,r:()=>e});let d={current:null},e={current:!1}},60646:(a,b,c)=>{"use strict";c.d(b,{V:()=>k,f:()=>m});var d=c(13002);let e=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;var f=c(252),g=c(55817);let h="number",i="color",j=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function k(a){let b=a.toString(),c=[],e={color:[],number:[],var:[]},f=[],g=0,k=b.replace(j,a=>(d.y.test(a)?(e.color.push(g),f.push(i),c.push(d.y.parse(a))):a.startsWith("var(")?(e.var.push(g),f.push("var"),c.push(a)):(e.number.push(g),f.push(h),c.push(parseFloat(a))),++g,"${}")).split("${}");return{values:c,split:k,indexes:e,types:f}}function l({split:a,types:b}){let c=a.length;return e=>{let f="";for(let j=0;j<c;j++)if(f+=a[j],void 0!==e[j]){let a=b[j];a===h?f+=(0,g.a)(e[j]):a===i?f+=d.y.transform(e[j]):f+=e[j]}return f}}let m={test:function(a){return isNaN(a)&&"string"==typeof a&&(a.match(f.S)?.length||0)+(a.match(e)?.length||0)>0},parse:function(a){return k(a).values},createTransformer:function(a){return l(k(a))},getAnimatableNone:function(a){let b=k(a);return l(b)(b.values.map((a,c)=>((a,b)=>"number"==typeof a?b?.trim().endsWith("/")?a:0:"number"==typeof a?0:d.y.test(a)?d.y.getAnimatableNone(a):a)(a,b.split[c])))}}},62735:(a,b,c)=>{"use strict";let d;c.d(b,{k:()=>h});var e=c(28765),f=c(44557);function g(){d=void 0}let h={now:()=>(void 0===d&&h.set(f.uv.isProcessing||e.W.useManualTiming?f.uv.timestamp:performance.now()),d),set:a=>{d=a,queueMicrotask(g)}}},64388:()=>{},65229:(a,b,c)=>{"use strict";c.d(b,{X:()=>e,f:()=>d});let d=a=>1e3*a,e=a=>a/1e3},67040:(a,b,c)=>{"use strict";c.d(b,{W:()=>h});var d=c(20193);let e={...d.ai,transform:Math.round};var f=c(22e3);let g={rotate:f.uj,pathRotation:f.uj,rotateX:f.uj,rotateY:f.uj,rotateZ:f.uj,scale:d.hs,scaleX:d.hs,scaleY:d.hs,scaleZ:d.hs,skew:f.uj,skewX:f.uj,skewY:f.uj,distance:f.px,translateX:f.px,translateY:f.px,translateZ:f.px,x:f.px,y:f.px,z:f.px,perspective:f.px,transformPerspective:f.px,opacity:d.X4,originX:f.gQ,originY:f.gQ,originZ:f.px},h={borderWidth:f.px,borderTopWidth:f.px,borderRightWidth:f.px,borderBottomWidth:f.px,borderLeftWidth:f.px,borderRadius:f.px,borderTopLeftRadius:f.px,borderTopRightRadius:f.px,borderBottomRightRadius:f.px,borderBottomLeftRadius:f.px,width:f.px,maxWidth:f.px,height:f.px,maxHeight:f.px,top:f.px,right:f.px,bottom:f.px,left:f.px,inset:f.px,insetBlock:f.px,insetBlockStart:f.px,insetBlockEnd:f.px,insetInline:f.px,insetInlineStart:f.px,insetInlineEnd:f.px,padding:f.px,paddingTop:f.px,paddingRight:f.px,paddingBottom:f.px,paddingLeft:f.px,paddingBlock:f.px,paddingBlockStart:f.px,paddingBlockEnd:f.px,paddingInline:f.px,paddingInlineStart:f.px,paddingInlineEnd:f.px,margin:f.px,marginTop:f.px,marginRight:f.px,marginBottom:f.px,marginLeft:f.px,marginBlock:f.px,marginBlockStart:f.px,marginBlockEnd:f.px,marginInline:f.px,marginInlineStart:f.px,marginInlineEnd:f.px,fontSize:f.px,backgroundPositionX:f.px,backgroundPositionY:f.px,...g,zIndex:e,fillOpacity:d.X4,strokeOpacity:d.X4,numOctaves:e}},69320:(a,b,c)=>{"use strict";c.d(b,{Q:()=>d});let d=(0,c(67484).createContext)({transformPagePoint:a=>a,isStatic:!1,reducedMotion:"never"})},69872:(a,b,c)=>{"use strict";c.d(b,{h:()=>m,q:()=>l});var d=c(8398),e=c(44557);let f=new Set,g=!1,h=!1,i=!1;function j(){if(h){let a=Array.from(f).filter(a=>a.needsMeasurement),b=new Set(a.map(a=>a.element)),c=new Map;b.forEach(a=>{let b=(0,d.W9)(a);b.length&&(c.set(a,b),a.render())}),a.forEach(a=>a.measureInitialState()),b.forEach(a=>{a.render();let b=c.get(a);b&&b.forEach(([b,c])=>{a.getValue(b)?.set(c)})}),a.forEach(a=>a.measureEndState()),a.forEach(a=>{void 0!==a.suspendedScrollY&&window.scrollTo(0,a.suspendedScrollY)})}h=!1,g=!1,f.forEach(a=>a.complete(i)),f.clear()}function k(){f.forEach(a=>{a.readKeyframes(),a.needsMeasurement&&(h=!0)})}function l(){i=!0,k(),j(),i=!1}class m{constructor(a,b,c,d,e,f=!1){this.state="pending",this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...a],this.onComplete=b,this.name=c,this.motionValue=d,this.element=e,this.isAsync=f}scheduleResolve(){this.state="scheduled",this.isAsync?(f.add(this),g||(g=!0,e.Gt.read(k),e.Gt.resolveKeyframes(j))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:a,name:b,element:c,motionValue:d}=this;if(null===a[0]){let e=d?.get(),f=a[a.length-1];if(void 0!==e)a[0]=e;else if(c&&b){let d=c.readValue(b,f);null!=d&&(a[0]=d)}void 0===a[0]&&(a[0]=f),d&&void 0===e&&d.set(a[0])}for(let b=1;b<a.length;b++)a[b]??(a[b]=a[b-1])}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(a=!1){this.state="complete",this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,a),f.delete(this)}cancel(){"scheduled"===this.state&&(f.delete(this),this.state="pending")}resume(){"pending"===this.state&&this.scheduleResolve()}}},71545:(a,b,c)=>{"use strict";c.d(b,{m:()=>t});var d=c(16038),e=c(65229),f=c(6675),g=c(16953),h=c(6941);let i={};function j(a,b){let c=(0,h.p)(a);return()=>i[b]??c()}let k=j(()=>void 0!==window.ScrollTimeline,"scrollTimeline");var l=c(93568),m=c(16240),n=c(94307);let o=j(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch(a){return!1}return!0},"linearEasing");var p=c(73873);let q=([a,b,c,d])=>`cubic-bezier(${a}, ${b}, ${c}, ${d})`,r={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:q([0,.65,.55,1]),circOut:q([.55,0,1,.45]),backIn:q([.31,.01,.66,-.59]),backOut:q([.33,1.53,.69,.99])};var s=c(9774);class t extends m.q{constructor(a){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!a)return;const{element:b,name:c,keyframes:e,pseudoElement:f,allowFlatten:h=!1,finalKeyframe:i,onComplete:j}=a;this.isPseudoElement=!!f,this.allowFlatten=h,this.options=a,(0,d.V)("string"!=typeof a.type,'Mini animate() doesn\'t support "type" as a string.',"mini-spring");const k=function({type:a,...b}){return(0,s.W)(a)&&o()?a.applyToOptions(b):(b.duration??(b.duration=300),b.ease??(b.ease="easeOut"),b)}(a);this.animation=function(a,b,c,{delay:d=0,duration:e=300,repeat:f=0,repeatType:g="loop",ease:h="easeOut",times:i}={},j){let k={[b]:c};i&&(k.offset=i);let l=function a(b,c){if(b)return"function"==typeof b?o()?(0,p.K)(b,c):"ease-out":(0,n.D)(b)?q(b):Array.isArray(b)?b.map(b=>a(b,c)||r.easeOut):r[b]}(h,e);Array.isArray(l)&&(k.easing=l);let m={delay:d,duration:e,easing:Array.isArray(l)?"linear":l,fill:"both",iterations:f+1,direction:"reverse"===g?"alternate":"normal"};return j&&(m.pseudoElement=j),a.animate(k,m)}(b,c,e,k,f),!1===k.autoplay&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!f){let a=(0,l.X)(e,this.options,i,this.speed);this.updateMotionValue&&this.updateMotionValue(a),(0,g.e)(b,c,a),this.animation.cancel()}j?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),"finished"===this.state&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch(a){}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:a}=this;"idle"!==a&&"finished"!==a&&(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let a=this.options?.element;!this.isPseudoElement&&a?.isConnected&&this.animation.commitStyles?.()}get duration(){let a=this.animation.effect?.getComputedTiming?.().duration||0;return(0,e.X)(Number(a))}get iterationDuration(){let{delay:a=0}=this.options||{};return this.duration+(0,e.X)(a)}get time(){return(0,e.X)(Number(this.animation.currentTime)||0)}set time(a){let b=null!==this.finishedTime;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=(0,e.f)(a),b&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(a){a<0&&(this.finishedTime=null),this.animation.playbackRate=a}get state(){return null!==this.finishedTime?"finished":this.animation.playState}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(a){this.manualStartTime=this.animation.startTime=a}attachTimeline({timeline:a,rangeStart:b,rangeEnd:c,observe:d}){return(this.allowFlatten&&this.animation.effect?.updateTiming({easing:"linear"}),this.animation.onfinish=null,a&&k())?(this.animation.timeline=a,b&&(this.animation.rangeStart=b),c&&(this.animation.rangeEnd=c),f.l):d(this)}}},73873:(a,b,c)=>{"use strict";c.d(b,{K:()=>d});let d=(a,b,c=10)=>{let d="",e=Math.max(Math.round(b/c),2);for(let b=0;b<e;b++)d+=Math.round(1e4*a(b/(e-1)))/1e4+", ";return`linear(${d.substring(0,d.length-2)})`}},77222:()=>{},79462:(a,b,c)=>{"use strict";c.d(b,{l:()=>bT});class d{constructor(a){this.isMounted=!1,this.node=a}update(){}}var e=c(26340);function f(a,b,c){let d=a.getProps();return(0,e.a)(d,b,void 0!==c?c:d.custom,a)}var g=c(96897);function h(a,b){let c=a?.[b]??a?.default??a;return c!==a?(0,g.K)(c,a):c}var i=c(57848);let j=new Set(["width","height","top","left","right","bottom",...i.U]);var k=c(84676);let l=a=>Array.isArray(a);var m=c(28765),n=c(35133);function o(a){return a.replace(/([A-Z])/g,a=>`-${a.toLowerCase()}`)}let p="data-"+o("framerAppearId");var q=c(65229),r=c(6675),s=c(62735);let t=(...a)=>a.reduce((a,b)=>c=>b(a(c)));var u=c(91524),v=c(16038),w=c(45756),x=c(13002),y=c(60646),z=c(12461),A=c(43956);function B(a,b,c){return(c<0&&(c+=1),c>1&&(c-=1),c<1/6)?a+(b-a)*6*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a}var C=c(38520);function D(a,b){return c=>c>0?b:a}var E=c(44914);let F=(a,b,c)=>{let d=a*a,e=c*(b*b-d)+d;return e<0?0:Math.sqrt(e)},G=[z.u,C.B,A.V];function H(a){let b=G.find(b=>b.test(a));if((0,v.$)(!!b,`'${a}' is not an animatable color. Use the equivalent color code instead.`,"color-not-animatable"),!b)return!1;let c=b.parse(a);return b===A.V&&(c=function({hue:a,saturation:b,lightness:c,alpha:d}){a/=360,c/=100;let e=0,f=0,g=0;if(b/=100){let d=c<.5?c*(1+b):c+b-c*b,h=2*c-d;e=B(h,d,a+1/3),f=B(h,d,a),g=B(h,d,a-1/3)}else e=f=g=c;return{red:Math.round(255*e),green:Math.round(255*f),blue:Math.round(255*g),alpha:d}}(c)),c}let I=(a,b)=>{let c=H(a),d=H(b);if(!c||!d)return D(a,b);let e={...c};return a=>(e.red=F(c.red,d.red,a),e.green=F(c.green,d.green,a),e.blue=F(c.blue,d.blue,a),e.alpha=(0,E.k)(c.alpha,d.alpha,a),C.B.transform(e))},J=new Set(["none","hidden"]);function K(a,b){return c=>(0,E.k)(a,b,c)}function L(a){return"number"==typeof a?K:"string"==typeof a?(0,w.pG)(a)?D:x.y.test(a)?I:O:Array.isArray(a)?M:"object"==typeof a?x.y.test(a)?I:N:D}function M(a,b){let c=[...a],d=c.length,e=a.map((a,c)=>L(a)(a,b[c]));return a=>{for(let b=0;b<d;b++)c[b]=e[b](a);return c}}function N(a,b){let c={...a,...b},d={};for(let e in c)void 0!==a[e]&&void 0!==b[e]&&(d[e]=L(a[e])(a[e],b[e]));return a=>{for(let b in d)c[b]=d[b](a);return c}}let O=(a,b)=>{let c=y.f.createTransformer(b),d=(0,y.V)(a),e=(0,y.V)(b);if(!(d.indexes.var.length===e.indexes.var.length&&d.indexes.color.length===e.indexes.color.length&&d.indexes.number.length>=e.indexes.number.length))return(0,v.$)(!0,`Complex values '${a}' and '${b}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,"complex-values-different"),D(a,b);if(J.has(a)&&!e.values.length||J.has(b)&&!d.values.length)return J.has(a)?c=>c<=0?a:b:c=>c>=1?b:a;return t(M(function(a,b){let c=[],d={color:0,var:0,number:0};for(let e=0;e<b.values.length;e++){let f=b.types[e],g=a.indexes[f][d[f]],h=a.values[g]??0;c[e]=h,d[f]++}return c}(d,e),e.values),c)};function P(a,b,c){return"number"==typeof a&&"number"==typeof b&&"number"==typeof c?(0,E.k)(a,b,c):L(a)(a,b)}var Q=c(44557);let R=a=>{let b=({timestamp:b})=>a(b);return{start:(a=!0)=>Q.Gt.update(b,a),stop:()=>(0,Q.WG)(b),now:()=>Q.uv.isProcessing?Q.uv.timestamp:s.k.now()}};var S=c(73873);function T(a){let b=0,c=a.next(b);for(;!c.done&&b<2e4;)b+=50,c=a.next(b);return b>=2e4?1/0:b}let U=.01,V=2,W=.005,X=.5;function Y(a,b){return a*Math.sqrt(1-b*b)}let Z=["duration","bounce"],$=["stiffness","damping","mass"];function _(a,b){return b.some(b=>void 0!==a[b])}function aa(a=.3,b=.3){let c,d,e,f,g,h,i="object"!=typeof a?{visualDuration:a,keyframes:[0,1],bounce:b}:a,{restSpeed:j,restDelta:k}=i,l=i.keyframes[0],m=i.keyframes[i.keyframes.length-1],n={done:!1,value:l},{stiffness:o,damping:p,mass:r,duration:s,velocity:t,isResolvedFromDuration:w}=function(a){let b={velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1,...a};if(!_(a,$)&&_(a,Z))if(b.velocity=0,a.visualDuration){let c=2*Math.PI/(1.2*a.visualDuration),d=c*c,e=2*(0,u.q)(.05,1,1-(a.bounce||0))*Math.sqrt(d);b={...b,mass:1,stiffness:d,damping:e}}else{let c=function({duration:a=800,bounce:b=.3,velocity:c=0,mass:d=1}){let e,f;(0,v.$)(a<=(0,q.f)(10),"Spring duration must be 10 seconds or less","spring-duration-limit");let g=1-b;g=(0,u.q)(.05,1,g),a=(0,u.q)(.01,10,(0,q.X)(a)),g<1?(e=b=>{let d=b*g,e=d*a;return .001-(d-c)/Y(b,g)*Math.exp(-e)},f=b=>{let d=b*g*a,f=Math.pow(g,2)*Math.pow(b,2)*a,h=Math.exp(-d),i=Y(Math.pow(b,2),g);return(d*c+c-f)*h*(-e(b)+.001>0?-1:1)/i}):(e=b=>-.001+Math.exp(-b*a)*((b-c)*a+1),f=b=>a*a*(c-b)*Math.exp(-b*a));let h=function(a,b,c){let d=c;for(let c=1;c<12;c++)d-=a(d)/b(d);return d}(e,f,5/a);if(a=(0,q.f)(a),isNaN(h))return{stiffness:100,damping:10,duration:a};{let b=Math.pow(h,2)*d;return{stiffness:b,damping:2*g*Math.sqrt(d*b),duration:a}}}({...a,velocity:0});(b={...b,...c,mass:1}).isResolvedFromDuration=!0}return b}({...i,velocity:-(0,q.X)(i.velocity||0)}),x=t||0,y=p/(2*Math.sqrt(o*r)),z=m-l,A=(0,q.X)(Math.sqrt(o/r)),B=5>Math.abs(z);if(j||(j=B?U:V),k||(k=B?W:X),y<1)e=Y(A,y),f=(x+y*A*z)/e,c=a=>m-Math.exp(-y*A*a)*(f*Math.sin(e*a)+z*Math.cos(e*a)),g=y*A*f+z*e,h=y*A*z-f*e,d=a=>Math.exp(-y*A*a)*(g*Math.sin(e*a)+h*Math.cos(e*a));else if(1===y){c=a=>m-Math.exp(-A*a)*(z+(x+A*z)*a);let a=x+A*z;d=b=>Math.exp(-A*b)*(A*a*b-x)}else{let a=A*Math.sqrt(y*y-1);c=b=>{let c=Math.exp(-y*A*b),d=Math.min(a*b,300);return m-c*((x+y*A*z)*Math.sinh(d)+a*z*Math.cosh(d))/a};let b=(x+y*A*z)/a,e=y*A*b-z*a,f=y*A*z-b*a;d=b=>{let c=Math.exp(-y*A*b),d=Math.min(a*b,300);return c*(e*Math.sinh(d)+f*Math.cosh(d))}}let C={calculatedDuration:w&&s||null,velocity:a=>(0,q.f)(d(a)),next:a=>{if(!w&&y<1){let b=Math.exp(-y*A*a),c=Math.sin(e*a),d=Math.cos(e*a),i=m-b*(f*c+z*d);return n.done=Math.abs((0,q.f)(b*(g*c+h*d)))<=j&&Math.abs(m-i)<=k,n.value=n.done?m:i,n}let b=c(a);return w?n.done=a>=s:n.done=Math.abs((0,q.f)(d(a)))<=j&&Math.abs(m-b)<=k,n.value=n.done?m:b,n},toString:()=>{let a=Math.min(T(C),2e4),b=(0,S.K)(b=>C.next(a*b).value,a,30);return a+"ms "+b},toTransition:()=>{}};return C}aa.applyToOptions=a=>{let b=function(a,b=100,c){let d=c({...a,keyframes:[0,b]}),e=Math.min(T(d),2e4);return{type:"keyframes",ease:a=>d.next(e*a).value/b,duration:(0,q.X)(e)}}(a,100,aa);return a.ease=b.ease,a.duration=(0,q.f)(b.duration),a.type="keyframes",a};var ab=c(4901);function ac(a,b,c){let d=Math.max(b-5,0);return(0,ab.f)(c-a(d),b-d)}function ad({keyframes:a,velocity:b=0,power:c=.8,timeConstant:d=325,bounceDamping:e=10,bounceStiffness:f=500,modifyTarget:g,min:h,max:i,restDelta:j=.5,restSpeed:k}){let l,m,n=a[0],o={done:!1,value:n},p=c*b,q=n+p,r=void 0===g?q:g(q);r!==q&&(p=r-n);let s=a=>-p*Math.exp(-a/d),t=a=>r+s(a),u=a=>{let b=s(a),c=t(a);o.done=Math.abs(b)<=j,o.value=o.done?r:c},v=a=>{let b;if(b=o.value,void 0!==h&&b<h||void 0!==i&&b>i){var c;l=a,m=aa({keyframes:[o.value,(c=o.value,void 0===h?i:void 0===i||Math.abs(h-c)<Math.abs(i-c)?h:i)],velocity:ac(t,a,o.value),damping:e,stiffness:f,restDelta:j,restSpeed:k})}};return v(0),{calculatedDuration:null,next:a=>{let b=!1;return(m||void 0!==l||(b=!0,u(a),v(a)),void 0!==l&&a>=l)?m.next(a-l):(b||u(a),o)}}}let ae=(a,b,c)=>(((1-3*c+3*b)*a+(3*c-6*b))*a+3*b)*a;function af(a,b,c,d){return a===b&&c===d?r.l:e=>0===e||1===e?e:ae(function(a,b,c,d,e){let f,g,h=0;do(f=ae(g=b+(c-b)/2,d,e)-a)>0?c=g:b=g;while(Math.abs(f)>1e-7&&++h<12);return g}(e,0,1,a,c),b,d)}let ag=af(.42,0,1,1),ah=af(0,0,.58,1),ai=af(.42,0,.58,1),aj=a=>b=>b<=.5?a(2*b)/2:(2-a(2*(1-b)))/2,ak=a=>b=>1-a(1-b),al=af(.33,1.53,.69,.99),am=ak(al),an=aj(am),ao=a=>a>=1?1:(a*=2)<1?.5*am(a):.5*(2-Math.pow(2,-10*(a-1))),ap=a=>1-Math.sin(Math.acos(a)),aq=ak(ap),ar=aj(ap);var as=c(94307);let at={linear:r.l,easeIn:ag,easeInOut:ai,easeOut:ah,circIn:ap,circInOut:ar,circOut:aq,backIn:am,backInOut:an,backOut:al,anticipate:ao},au=a=>{if((0,as.D)(a)){(0,v.V)(4===a.length,"Cubic bezier arrays must contain four numerical values.","cubic-bezier-length");let[b,c,d,e]=a;return af(b,c,d,e)}return"string"==typeof a?((0,v.V)(void 0!==at[a],`Invalid easing type '${a}'`,"invalid-easing-type"),at[a]):a},av=(a,b,c)=>{let d=b-a;return d?(c-a)/d:1};function aw({duration:a=300,keyframes:b,times:c,ease:d="easeInOut"}){var e;let f,g=Array.isArray(d)&&"number"!=typeof d[0]?d.map(au):au(d),h={done:!1,value:b[0]},i=function(a,b,{clamp:c=!0,ease:d,mixer:e}={}){let f=a.length;if((0,v.V)(f===b.length,"Both input and output ranges must be the same length","range-length"),1===f)return()=>b[0];if(2===f&&b[0]===b[1])return()=>b[1];let g=a[0]===a[1];a[0]>a[f-1]&&(a=[...a].reverse(),b=[...b].reverse());let h=function(a,b,c){let d=[],e=c||m.W.mix||P,f=a.length-1;for(let c=0;c<f;c++){let f=e(a[c],a[c+1]);b&&(f=t(Array.isArray(b)?b[c]||r.l:b,f)),d.push(f)}return d}(b,d,e),i=h.length,j=c=>{if(g&&c<a[0])return b[0];let d=0;if(i>1)for(;d<a.length-2&&!(c<a[d+1]);d++);let e=av(a[d],a[d+1],c);return h[d](e)};return c?b=>j((0,u.q)(a[0],a[f-1],b)):j}((e=c&&c.length===b.length?c:(!function(a,b){let c=a[a.length-1];for(let d=1;d<=b;d++){let e=av(0,b,d);a.push((0,E.k)(c,1,e))}}(f=[0],b.length-1),f),e.map(b=>b*a)),b,{ease:Array.isArray(g)?g:b.map(()=>g||ai).splice(0,b.length-1)});return{calculatedDuration:a,next:b=>(h.value=i(b),h.done=b>=a,h)}}var ax=c(93568);let ay={decay:ad,inertia:ad,tween:aw,keyframes:aw,spring:aa};function az(a){"string"==typeof a.type&&(a.type=ay[a.type])}var aA=c(16240);let aB=a=>a/100;class aC extends aA.q{constructor(a){super(),this.state="idle",this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:a}=this.options;a&&a.updatedAt!==s.k.now()&&this.tick(s.k.now()),this.isStopped=!0,"idle"!==this.state&&(this.teardown(),this.options.onStop?.())},this.options=a,this.initAnimation(),this.play(),!1===a.autoplay&&this.pause()}initAnimation(){let{options:a}=this;az(a);let{type:b=aw,repeat:c=0,repeatDelay:d=0,repeatType:e,velocity:f=0}=a,{keyframes:g}=a,h=b||aw;h!==aw&&"number"!=typeof g[0]&&(this.mixKeyframes=t(aB,P(g[0],g[1])),g=[0,100]);let i=h({...a,keyframes:g});"mirror"===e&&(this.mirroredGenerator=h({...a,keyframes:[...g].reverse(),velocity:-f})),null===i.calculatedDuration&&(i.calculatedDuration=T(i));let{calculatedDuration:j}=i;this.calculatedDuration=j,this.resolvedDuration=j+d,this.totalDuration=this.resolvedDuration*(c+1)-d,this.generator=i}updateTime(a){let b=Math.round(a-this.startTime)*this.playbackSpeed;null!==this.holdTime?this.currentTime=this.holdTime:this.currentTime=b}tick(a,b=!1){let c,{generator:d,totalDuration:e,mixKeyframes:f,mirroredGenerator:g,resolvedDuration:h,calculatedDuration:i}=this;if(null===this.startTime)return d.next(0);let{delay:j=0,keyframes:k,repeat:l,repeatType:m,repeatDelay:n,type:o,onUpdate:p,finalKeyframe:q}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,a):this.speed<0&&(this.startTime=Math.min(a-e/this.speed,this.startTime)),b?this.currentTime=a:this.updateTime(a);let r=this.currentTime-j*(this.playbackSpeed>=0?1:-1),s=this.playbackSpeed>=0?r<0:r>e;this.currentTime=Math.max(r,0),"finished"===this.state&&null===this.holdTime&&(this.currentTime=e);let t=this.currentTime,v=d;if(l){let a=Math.min(this.currentTime,e)/h,b=Math.floor(a),c=a%1;!c&&a>=1&&(c=1),1===c&&b--,(b=Math.min(b,l+1))%2&&("reverse"===m?(c=1-c,n&&(c-=n/h)):"mirror"===m&&(v=g)),t=(0,u.q)(0,1,c)*h}s?(this.delayState.value=k[0],c=this.delayState):c=v.next(t),f&&!s&&(c.value=f(c.value));let{done:w}=c;s||null===i||(w=this.playbackSpeed>=0?this.currentTime>=e:this.currentTime<=0);let x=null===this.holdTime&&("finished"===this.state||"running"===this.state&&w);return x&&o!==ad&&(c.value=(0,ax.X)(k,this.options,q,this.speed)),p&&p(c.value),x&&this.finish(),c}then(a,b){return this.finished.then(a,b)}get duration(){return(0,q.X)(this.calculatedDuration)}get iterationDuration(){let{delay:a=0}=this.options||{};return this.duration+(0,q.X)(a)}get time(){return(0,q.X)(this.currentTime)}set time(a){a=(0,q.f)(a),this.currentTime=a,null===this.startTime||null!==this.holdTime||0===this.playbackSpeed?this.holdTime=a:this.driver&&(this.startTime=this.driver.now()-a/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state="paused",this.holdTime=a,this.tick(a))}getGeneratorVelocity(){let a=this.currentTime;if(a<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(a);let b=this.generator.next(a).value;return ac(a=>this.generator.next(a).value,a,b)}get speed(){return this.playbackSpeed}set speed(a){let b=this.playbackSpeed!==a;b&&this.driver&&this.updateTime(s.k.now()),this.playbackSpeed=a,b&&this.driver&&(this.time=(0,q.X)(this.currentTime))}play(){if(this.isStopped)return;let{driver:a=R,startTime:b}=this.options;this.driver||(this.driver=a(a=>this.tick(a))),this.options.onPlay?.();let c=this.driver.now();"finished"===this.state?(this.updateFinished(),this.startTime=c):null!==this.holdTime?this.startTime=c-this.holdTime:this.startTime||(this.startTime=b??c),"finished"===this.state&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state="running",this.driver.start()}pause(){this.state="paused",this.updateTime(s.k.now()),this.holdTime=this.currentTime}complete(){"running"!==this.state&&this.play(),this.state="finished",this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state="finished",this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state="idle",this.stopDriver(),this.startTime=this.holdTime=null}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(a){return this.startTime=0,this.tick(a,!0)}attachTimeline(a){return this.options.allowFlatten&&(this.options.type="keyframes",this.options.ease="linear",this.initAnimation()),this.driver?.stop(),a.observe(this)}}var aD=c(69872),aE=c(16953),aF=c(71545);let aG={anticipate:ao,backInOut:an,circInOut:ar};class aH extends aF.m{constructor(a){!function(a){"string"==typeof a.ease&&a.ease in aG&&(a.ease=aG[a.ease])}(a),az(a),super(a),void 0!==a.startTime&&!1!==a.autoplay&&(this.startTime=a.startTime),this.options=a}updateMotionValue(a){let{motionValue:b,onUpdate:c,onComplete:d,element:e,...f}=this.options;if(!b)return;if(void 0!==a)return void b.set(a);let g=new aC({...f,autoplay:!1}),h=Math.max(10,s.k.now()-this.startTime),i=(0,u.q)(0,10,h-10),j=g.sample(h).value,{name:k}=this.options;e&&k&&(0,aE.e)(e,k,j),b.setWithVelocity(g.sample(Math.max(0,h-i)).value,j,i),g.stop()}}var aI=c(9774);let aJ=(a,b)=>"zIndex"!==b&&!!("number"==typeof a||Array.isArray(a)||"string"==typeof a&&(y.f.test(a)||"0"===a)&&!a.startsWith("url("));function aK(a){a.duration=0,a.type="keyframes"}var aL=c(6941),aM=c(18222);let aN=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/,aO=new Set(["color","backgroundColor","outlineColor","fill","stroke","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"]),aP=(0,aL.p)(()=>Object.hasOwnProperty.call(Element.prototype,"animate"));class aQ extends aA.q{constructor({autoplay:a=!0,delay:b=0,type:c="keyframes",repeat:d=0,repeatDelay:e=0,repeatType:f="loop",keyframes:g,name:h,motionValue:i,element:j,...k}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=s.k.now();const l={autoplay:a,delay:b,type:c,repeat:d,repeatDelay:e,repeatType:f,name:h,motionValue:i,element:j,...k},m=j?.KeyframeResolver||aD.h;this.keyframeResolver=new m(g,(a,b,c)=>this.onKeyframesResolved(a,b,l,!c),h,i,j),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(a,b,c,d){let e;this.keyframeResolver=void 0;let{name:f,type:g,velocity:h,delay:i,isHandoff:j,onUpdate:k}=c;this.resolvedAt=s.k.now();let l=!0;!function(a,b,c,d){let e=a[0];if(null===e)return!1;if("display"===b||"visibility"===b)return!0;let f=a[a.length-1],g=aJ(e,b),h=aJ(f,b);return(0,v.$)(g===h,`You are trying to animate ${b} from "${e}" to "${f}". "${g?f:e}" is not an animatable value.`,"value-not-animatable"),!!g&&!!h&&(function(a){let b=a[0];if(1===a.length)return!0;for(let c=0;c<a.length;c++)if(a[c]!==b)return!0}(a)||("spring"===c||(0,aI.W)(c))&&d)}(a,f,g,h)&&(l=!1,(m.W.instantAnimations||!i)&&k?.((0,ax.X)(a,c,b)),a[0]=a[a.length-1],aK(c),c.repeat=0);let n={startTime:d?this.resolvedAt&&this.resolvedAt-this.createdAt>40?this.resolvedAt:this.createdAt:void 0,finalKeyframe:b,...c,keyframes:a},o=l&&!j&&function(a){let{motionValue:b,name:c,repeatDelay:d,repeatType:e,damping:f,type:g,keyframes:h}=a,i=b?.owner?.current;if(!(i instanceof HTMLElement)&&!(i instanceof SVGElement))return!1;let{onUpdate:j,transformTemplate:k}=b.owner.getProps();return aP()&&c&&(aM.M.has(c)||aO.has(c)&&function(a){for(let b=0;b<a.length;b++)if("string"==typeof a[b]&&aN.test(a[b]))return!0;return!1}(h))&&("transform"!==c||!k)&&!j&&!d&&"mirror"!==e&&0!==f&&"inertia"!==g}(n),p=n.motionValue?.owner?.current;if(o)try{e=new aH({...n,element:p})}catch{e=new aC(n)}else e=new aC(n);e.finished.then(()=>{this.notifyFinished()}).catch(r.l),this.pendingTimeline&&(this.stopTimeline=e.attachTimeline(this.pendingTimeline),this.pendingTimeline=void 0),this._animation=e}get finished(){return this._animation?this.animation.finished:this._finished}then(a,b){return this.finished.finally(a).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),(0,aD.q)()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(a){this.animation.time=a}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(a){this.animation.speed=a}get startTime(){return this.animation.startTime}attachTimeline(a){return this._animation?this.stopTimeline=this.animation.attachTimeline(a):this.pendingTimeline=a,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}}let aR={type:"spring",stiffness:500,damping:25,restSpeed:10},aS={type:"keyframes",duration:.8},aT={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},aU=new Set(["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from","elapsed"]),aV=(a,b,c,d={},e,f)=>g=>{let j=h(d,a)||{},k=j.delay||d.delay||0,{elapsed:l=0}=d;l-=(0,q.f)(k);let n={keyframes:Array.isArray(c)?c:[null,c],ease:"easeOut",velocity:b.getVelocity(),...j,delay:-l,onUpdate:a=>{b.set(a),j.onUpdate&&j.onUpdate(a)},onComplete:()=>{g(),j.onComplete&&j.onComplete()},name:a,motionValue:b,element:f?void 0:e};!function(a){for(let b in a)if(!aU.has(b))return!0;return!1}(j)&&Object.assign(n,((a,{keyframes:b})=>b.length>2?aS:i.f.has(a)?a.startsWith("scale")?{type:"spring",stiffness:550,damping:0===b[1]?2*Math.sqrt(550):30,restSpeed:10}:aR:aT)(a,n)),n.duration&&(n.duration=(0,q.f)(n.duration)),n.repeatDelay&&(n.repeatDelay=(0,q.f)(n.repeatDelay)),void 0!==n.from&&(n.keyframes[0]=n.from);let o=!1;if(!1!==n.type&&(0!==n.duration||n.repeatDelay)||(aK(n),0===n.delay&&(o=!0)),(m.W.instantAnimations||m.W.skipAnimations||e?.shouldSkipAnimations||j.skipAnimations)&&(o=!0,aK(n),n.delay=0),n.allowFlatten=!j.type&&!j.ease,o&&!f&&void 0!==b.get()){let a=(0,ax.X)(n.keyframes,j);if(void 0!==a)return void Q.Gt.update(()=>{n.onUpdate(a),n.onComplete()})}return j.isSync?new aC(n):new aQ(n)};function aW(a,b,{delay:c=0,transitionOverride:d,type:e}={}){let{transition:i,transitionEnd:o,...q}=b,r=a.getDefaultTransition();i=i?(0,g.K)(i,r):r;let s=i?.reduceMotion,t=i?.skipAnimations;d&&(i=d);let u=[],v=e&&a.animationState&&a.animationState.getState()[e],w=i?.path;for(let b in w&&w.animateVisualElement(a,q,i,c,u),q){let d=a.getValue(b,a.latestValues[b]??null),e=q[b];if(void 0===e||v&&function({protectedKeys:a,needsAnimating:b},c){let d=a.hasOwnProperty(c)&&!0!==b[c];return b[c]=!1,d}(v,b))continue;let f={delay:c,...h(i||{},b)};t&&(f.skipAnimations=!0);let g=d.get();if(void 0!==g&&!d.isAnimating()&&!Array.isArray(e)&&e===g&&!f.velocity){Q.Gt.update(()=>d.set(e));continue}let k=!1;if(window.MotionHandoffAnimation){let c=a.props[p];if(c){let a=window.MotionHandoffAnimation(c,b,Q.Gt);null!==a&&(f.startTime=a,k=!0)}}!function(a,b){let c=a.getValue("willChange");if((0,n.S)(c)&&c.add)return c.add(b);if(!c&&m.W.WillChange){let c=new m.W.WillChange("auto");a.addValue("willChange",c),c.add(b)}}(a,b);let l=s??a.shouldReduceMotion;d.start(aV(b,d,e,l&&j.has(b)?{type:!1}:f,a,k));let o=d.animation;o&&u.push(o)}if(o){let b=()=>Q.Gt.update(()=>{o&&function(a,b){let{transitionEnd:c={},transition:d={},...e}=f(a,b)||{};for(let b in e={...e,...c}){var g;let c=l(g=e[b])?g[g.length-1]||0:g;a.hasValue(b)?a.getValue(b).set(c):a.addValue(b,(0,k.OQ)(c))}}(a,o)});u.length?Promise.all(u).then(b):b()}return u}function aX(a,b,c,d=0,e=1){let f=Array.from(a).sort((a,b)=>a.sortNodePosition(b)).indexOf(b),g=a.size,h=(g-1)*d;return"function"==typeof c?c(f,g):1===e?f*d:h-f*d}function aY(a,b,c={}){let d=f(a,b,"exit"===c.type?a.presenceContext?.custom:void 0),{transition:e=a.getDefaultTransition()||{}}=d||{};c.transitionOverride&&(e=c.transitionOverride);let g=d?()=>Promise.all(aW(a,d,c)):()=>Promise.resolve(),h=a.variantChildren&&a.variantChildren.size?(d=0)=>{let{delayChildren:f=0,staggerChildren:g,staggerDirection:h}=e;return function(a,b,c=0,d=0,e=0,f=1,g){let h=[];for(let i of a.variantChildren)i.notify("AnimationStart",b),h.push(aY(i,b,{...g,delay:c+("function"==typeof d?0:d)+aX(a.variantChildren,i,d,e,f)}).then(()=>i.notify("AnimationComplete",b)));return Promise.all(h)}(a,b,d,f,g,h,c)}:()=>Promise.resolve(),{when:i}=e;if(!i)return Promise.all([g(),h(c.delay)]);{let[a,b]="beforeChildren"===i?[g,h]:[h,g];return a().then(()=>b())}}var aZ=c(85710),a$=c(29871);let a_=a$._.length;var a0=c(8889);function a1(a,b){if(!Array.isArray(b))return!1;let c=b.length;if(c!==a.length)return!1;for(let d=0;d<c;d++)if(b[d]!==a[d])return!1;return!0}let a2=[...a$.U].reverse(),a3=a$.U.length;function a4(a=!1){return{isActive:a,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function a5(){return{animate:a4(!0),whileInView:a4(),whileHover:a4(),whileTap:a4(),whileDrag:a4(),whileFocus:a4(),exit:a4()}}class a6 extends d{constructor(a){super(a),a.animationState||(a.animationState=function(a){let b=b=>Promise.all(b.map(({animation:b,options:c})=>(function(a,b,c={}){let d;if(a.notify("AnimationStart",b),Array.isArray(b))d=Promise.all(b.map(b=>aY(a,b,c)));else if("string"==typeof b)d=aY(a,b,c);else{let e="function"==typeof b?f(a,b,c.custom):b;d=Promise.all(aW(a,e,c))}return d.then(()=>{a.notify("AnimationComplete",b)})})(a,b,c))),c=a5(),d=!0,e=!1,g=b=>(c,d)=>{let e=f(a,d,"exit"===b?a.presenceContext?.custom:void 0);if(e){let{transition:a,transitionEnd:b,...d}=e;c={...c,...d,...b}}return c};function h(h){let{props:i}=a,j=function a(b){if(!b)return;if(!b.isControllingVariants){let c=b.parent&&a(b.parent)||{};return void 0!==b.props.initial&&(c.initial=b.props.initial),c}let c={};for(let a=0;a<a_;a++){let d=a$._[a],e=b.props[d];((0,aZ.w)(e)||!1===e)&&(c[d]=e)}return c}(a.parent)||{},k=[],m=new Set,n={},o=1/0;for(let b=0;b<a3;b++){var p,q;let r=a2[b],s=c[r],t=void 0!==i[r]?i[r]:j[r],u=(0,aZ.w)(t),v=r===h?s.isActive:null;!1===v&&(o=b);let w=t===j[r]&&t!==i[r]&&u;if(w&&(d||e)&&a.manuallyAnimateOnMount&&(w=!1),s.protectedKeys={...n},!s.isActive&&null===v||!t&&!s.prevProp||(0,a0.N)(t)||"boolean"==typeof t)continue;if("exit"===r&&s.isActive&&!0!==v){s.prevResolvedValues&&(n={...n,...s.prevResolvedValues});continue}let x=(p=s.prevProp,"string"==typeof(q=t)?q!==p:!!Array.isArray(q)&&!a1(q,p)),y=x||r===h&&s.isActive&&!w&&u||b>o&&u,z=!1,A=Array.isArray(t)?t:[t],B=A.reduce(g(r),{});!1===v&&(B={});let{prevResolvedValues:C={}}=s,D={...C,...B},E=b=>{y=!0,m.has(b)&&(z=!0,m.delete(b)),s.needsAnimating[b]=!0;let c=a.getValue(b);c&&(c.liveStyle=!1)};for(let a in D){let b=B[a],c=C[a];if(!n.hasOwnProperty(a))(l(b)&&l(c)?!a1(b,c)||x:b!==c)?null!=b?E(a):m.add(a):void 0!==b&&m.has(a)?E(a):s.protectedKeys[a]=!0}s.prevProp=t,s.prevResolvedValues=B,s.isActive&&(n={...n,...B}),(d||e)&&a.blockInitialAnimation&&(y=!1);let F=w&&x,G=!F||z;y&&G&&k.push(...A.map(b=>{let c={type:r};if("string"==typeof b&&(d||e)&&!F&&a.manuallyAnimateOnMount&&a.parent){let{parent:d}=a,e=f(d,b);if(d.enteringChildren&&e){let{delayChildren:b}=e.transition||{};c.delay=aX(d.enteringChildren,a,b)}}return{animation:b,options:c}}))}if(m.size){let b={};if("boolean"!=typeof i.initial){let c=f(a,Array.isArray(i.initial)?i.initial[0]:i.initial);c&&c.transition&&(b.transition=c.transition)}m.forEach(c=>{let d=a.getBaseTarget(c),e=a.getValue(c);e&&(e.liveStyle=!0),b[c]=d??null}),k.push({animation:b})}let r=!!k.length;return d&&(!1===i.initial||i.initial===i.animate)&&!a.manuallyAnimateOnMount&&(r=!1),d=!1,e=!1,r?b(k):Promise.resolve()}return{animateChanges:h,setActive:function(b,d){if(c[b].isActive===d)return Promise.resolve();a.variantChildren?.forEach(a=>a.animationState?.setActive(b,d)),c[b].isActive=d;let e=h(b);for(let a in c)c[a].protectedKeys={};return e},setAnimateFunction:function(c){b=c(a)},getState:()=>c,reset:()=>{c=a5(),e=!0}}}(a))}updateAnimationControlsSubscription(){let{animate:a}=this.node.getProps();(0,a0.N)(a)&&(this.unmountControls=a.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:a}=this.node.getProps(),{animate:b}=this.node.prevProps||{};a!==b&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}}let a7=0;class a8 extends d{constructor(){super(...arguments),this.id=a7++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:a,onExitComplete:b}=this.node.presenceContext,{isPresent:c}=this.node.prevPresenceContext||{};if(!this.node.animationState||a===c)return;if(a&&!1===c){if(this.isExitComplete){let{initial:a,custom:b}=this.node.getProps();if("string"==typeof a||"object"==typeof a&&null!==a&&!Array.isArray(a)){let c=f(this.node,a,b);if(c){let{transition:a,transitionEnd:b,...d}=c;for(let a in d)this.node.getValue(a)?.jump(d[a])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive("exit",!1);this.isExitComplete=!1;return}let d=this.node.animationState.setActive("exit",!a);b&&!a&&d.then(()=>{this.isExitComplete=!0,b(this.id)})}mount(){let{register:a,onExitComplete:b}=this.node.presenceContext||{};b&&b(this.id),a&&(this.unmount=a(this.id))}unmount(){}}function a9(a,b){let c=function(a){if(null==a)return[];if(a instanceof EventTarget)return[a];if("string"==typeof a){let b=document,c=(void 0)??b.querySelectorAll(a);return c?Array.from(c):[]}return Array.from(a).filter(a=>null!=a)}(a),d=new AbortController;return[c,{passive:!0,...b,signal:d.signal},()=>d.abort()]}function ba(a){return{point:{x:a.pageX,y:a.pageY}}}function bb(a,b,c){let{props:d}=a;a.animationState&&d.whileHover&&a.animationState.setActive("whileHover","Start"===c);let e=d["onHover"+c];e&&Q.Gt.postRender(()=>e(b,ba(b)))}class bc extends d{mount(){let{current:a}=this.node;a&&(this.unmount=function(a,b,c={}){let[d,e,f]=a9(a,c);return d.forEach(a=>{let c,d=!1,f=!1,g=b=>{c&&(c(b),c=void 0),a.removeEventListener("pointerleave",i)},h=a=>{d=!1,window.removeEventListener("pointerup",h),window.removeEventListener("pointercancel",h),f&&(f=!1,g(a))},i=a=>{if("touch"!==a.pointerType){if(d){f=!0;return}g(a)}};a.addEventListener("pointerenter",d=>{if("touch"===d.pointerType)return;f=!1;let g=b(a,d);"function"==typeof g&&(c=g,a.addEventListener("pointerleave",i,e))},e),a.addEventListener("pointerdown",()=>{d=!0,window.addEventListener("pointerup",h,e),window.addEventListener("pointercancel",h,e)},e)}),f}(a,(a,b)=>(bb(this.node,b,"Start"),a=>bb(this.node,a,"End"))))}unmount(){}}function bd(a,b,c,d={passive:!0}){return a.addEventListener(b,c,d),()=>a.removeEventListener(b,c,d)}class be extends d{constructor(){super(...arguments),this.isActive=!1}onFocus(){let a=!1;try{a=this.node.current.matches(":focus-visible")}catch(b){a=!0}a&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){this.isActive&&this.node.animationState&&(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=t(bd(this.node.current,"focus",()=>this.onFocus()),bd(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}var bf=c(81873);let bg=(a,b)=>!!b&&(a===b||bg(a,b.parentElement)),bh=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]),bi=new WeakSet;function bj(a){return b=>{"Enter"===b.key&&a(b)}}function bk(a,b){a.dispatchEvent(new PointerEvent("pointer"+b,{isPrimary:!0,bubbles:!0}))}function bl(a){return"mouse"===a.pointerType?"number"!=typeof a.button||!!(a.button<=0):!1!==a.isPrimary}let bm=new WeakSet;function bn(a,b,c){let{props:d}=a;if(a.current instanceof HTMLButtonElement&&a.current.disabled)return;a.animationState&&d.whileTap&&a.animationState.setActive("whileTap","Start"===c);let e=d["onTap"+("End"===c?"":c)];e&&Q.Gt.postRender(()=>e(b,ba(b)))}class bo extends d{mount(){let{current:a}=this.node;if(!a)return;let{globalTapTarget:b,propagate:c}=this.node.props;this.unmount=function(a,b,c={}){let[d,e,f]=a9(a,c),g=a=>{let d=a.currentTarget;if(!bl(a)||bm.has(a))return;bi.add(d),c.stopPropagation&&bm.add(a);let f=b(d,a),g={...e,capture:!0},h=(a,b)=>{window.removeEventListener("pointerup",i,g),window.removeEventListener("pointercancel",j,g),bi.has(d)&&bi.delete(d),bl(a)&&"function"==typeof f&&f(a,{success:b})},i=a=>{h(a,d===window||d===document||c.useGlobalTarget||bg(d,a.target))},j=a=>{h(a,!1)};window.addEventListener("pointerup",i,g),window.addEventListener("pointercancel",j,g)};return d.forEach(a=>{((c.useGlobalTarget?window:a).addEventListener("pointerdown",g,e),(0,bf.s)(a))&&(a.addEventListener("focus",a=>((a,b)=>{let c=a.currentTarget;if(!c)return;let d=bj(()=>{if(bi.has(c))return;bk(c,"down");let a=bj(()=>{bk(c,"up")});c.addEventListener("keyup",a,b),c.addEventListener("blur",()=>bk(c,"cancel"),b)});c.addEventListener("keydown",d,b),c.addEventListener("blur",()=>c.removeEventListener("keydown",d),b)})(a,e)),bh.has(a.tagName)||!0===a.isContentEditable||a.hasAttribute("tabindex")||(a.tabIndex=0))}),f}(a,(a,b)=>(bn(this.node,b,"Start"),(a,{success:b})=>bn(this.node,a,b?"End":"Cancel")),{useGlobalTarget:b,stopPropagation:c?.tap===!1})}unmount(){}}let bp=new WeakMap,bq=new WeakMap,br=a=>{let b=bp.get(a.target);b&&b(a)},bs=a=>{a.forEach(br)},bt={some:0,all:1};class bu extends d{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){var a;let b;this.stopObserver?.();let{viewport:c={}}=this.node.getProps(),{root:d,margin:e,amount:f="some",once:g}=c,h={root:d?d.current:void 0,rootMargin:e,threshold:"number"==typeof f?f:bt[f]},i=a=>{let{isIntersecting:b}=a;if(this.isInView===b||(this.isInView=b,g&&!b&&this.hasEnteredView))return;b&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",b);let{onViewportEnter:c,onViewportLeave:d}=this.node.getProps(),e=b?c:d;e&&e(a)};this.stopObserver=(a=this.node.current,b=function({root:a,...b}){let c=a||document;bq.has(c)||bq.set(c,{});let d=bq.get(c),e=JSON.stringify(b);return d[e]||(d[e]=new IntersectionObserver(bs,{root:a,...b})),d[e]}(h),bp.set(a,i),b.observe(a),()=>{bp.delete(a),b.unobserve(a)})}mount(){this.startObserver()}update(){if("u"<typeof IntersectionObserver)return;let{props:a,prevProps:b}=this.node;["amount","margin","root"].some(function({viewport:a={}},{viewport:b={}}={}){return c=>a[c]!==b[c]}(a,b))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}}var bv=c(2468),bw=c(28265),bx=c(86993),by=c(20288);let bz=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;var bA=c(93180),bB=c(19563);let bC=new Set(["auto","none","0"]);var bD=c(8398);class bE extends aD.h{constructor(a,b,c,d,e){super(a,b,c,d,e,!0)}readKeyframes(){let{unresolvedKeyframes:a,element:b,name:c}=this;if(!b||!b.current)return;super.readKeyframes();for(let c=0;c<a.length;c++){let d=a[c];if("string"==typeof d&&(d=d.trim(),(0,w.pG)(d))){let e=function a(b,c,d=1){(0,v.V)(d<=4,`Max CSS variable fallback depth detected in property "${b}". This may indicate a circular fallback dependency.`,"max-css-var-depth");let[e,f]=function(a){let b=bz.exec(a);if(!b)return[,];let[,c,d,e]=b;return[`--${c??d}`,e]}(b);if(!e)return;let g=window.getComputedStyle(c).getPropertyValue(e);if(g){let a=g.trim();return(0,by.i)(a)?parseFloat(a):a}return(0,w.pG)(f)?a(f,c,d+1):f}(d,b.current);void 0!==e&&(a[c]=e),c===a.length-1&&(this.finalKeyframe=d)}}if(this.resolveNoneKeyframes(),!j.has(c)||2!==a.length)return;let[d,e]=a,f=(0,bx.n)(d),g=(0,bx.n)(e);if((0,w.rm)(d)!==(0,w.rm)(e)&&bD.Hr[c]){this.needsMeasurement=!0;return}if(f!==g)if((0,bD.E4)(f)&&(0,bD.E4)(g))for(let b=0;b<a.length;b++){let c=a[b];"string"==typeof c&&(a[b]=parseFloat(c))}else bD.Hr[c]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:a,name:b}=this,c=[];for(let b=0;b<a.length;b++){var d;(null===a[b]||("number"==typeof(d=a[b])?0===d:null===d||"none"===d||"0"===d||(0,bA.$)(d)))&&c.push(b)}c.length&&function(a,b,c){let d,e=0;for(;e<a.length&&!d;){let b=a[e];"string"==typeof b&&!bC.has(b)&&(0,y.V)(b).values.length&&(d=a[e]),e++}if(d&&c)for(let e of b)a[e]=(0,bB.J)(c,d)}(a,c,b)}measureInitialState(){let{element:a,unresolvedKeyframes:b,name:c}=this;if(!a||!a.current)return;"height"===c&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=bD.Hr[c](a.measureViewportBox(),window.getComputedStyle(a.current)),b[0]=this.measuredOrigin;let d=b[b.length-1];void 0!==d&&a.getValue(c,d).jump(d,!1)}measureEndState(){let{element:a,name:b,unresolvedKeyframes:c}=this;if(!a||!a.current)return;let d=a.getValue(b);d&&d.jump(this.measuredOrigin,!1);let e=c.length-1,f=c[e];c[e]=bD.Hr[b](a.measureViewportBox(),window.getComputedStyle(a.current)),null!==f&&void 0===this.finalKeyframe&&(this.finalKeyframe=f),this.removedTransforms?.length&&this.removedTransforms.forEach(([b,c])=>{a.getValue(b).set(c)}),this.resolveNoneKeyframes()}}var bF=c(17419);class bG extends bF.BX{constructor(){super(...arguments),this.KeyframeResolver=bE}sortInstanceNodePosition(a,b){return 2&a.compareDocumentPosition(b)?1:-1}getBaseTargetFromProps(a,b){let c=a.style;return c?c[b]:void 0}removeValueFromRenderState(a,{vars:b,style:c}){delete b[a],delete c[a]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:a}=this.props;(0,n.S)(a)&&(this.childSubscription=a.on("change",a=>{this.current&&(this.current.textContent=`${a}`)}))}}var bH=c(19794);let bI=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);var bJ=c(6536);function bK(a,{style:b,vars:c},d,e){let f,g=a.style;for(f in b)g[f]=b[f];for(f in e?.applyProjectionStyles(g,d),c)g.setProperty(f,c[f])}var bL=c(28532);class bM extends bG{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=bw.ge}getBaseTargetFromProps(a,b){return a[b]}readValueFromInstance(a,b){if(i.f.has(b)){let a=(0,bv.D)(b);return a&&a.default||0}return b=bI.has(b)?b:o(b),a.getAttribute(b)}scrapeMotionValuesFromProps(a,b,c){return(0,bL.x)(a,b,c)}build(a,b,c){(0,bH.B)(a,b,this.isSVGTag,c.transformTemplate,c.style)}renderInstance(a,b,c,d){for(let c in bK(a,b,void 0,d),b.attrs)a.setAttribute(bI.has(c)?c:o(c),b.attrs[c])}mount(a){this.isSVGTag=(0,bJ.n)(a.tagName),super.mount(a)}}var bN=c(94696),bO=c(35795),bP=c(49757);class bQ extends bG{constructor(){super(...arguments),this.type="html",this.renderInstance=bK}mount(a){(0,v.V)(!!a.style,"motion.create() components must forward their ref to a HTML or SVG element","custom-component-ref"),super.mount(a)}readValueFromInstance(a,b){if(i.f.has(b))return this.projection?.isProjecting?(0,bN.zs)(b):(0,bN.Ib)(a,b);{let c=window.getComputedStyle(a),d=((0,w.j4)(b)?c.getPropertyValue(b):c[b])||0;return"string"==typeof d?d.trim():d}}measureInstanceViewportBox(a,{transformPagePoint:b}){return function({top:a,left:b,right:c,bottom:d}){return{x:{min:b,max:c},y:{min:a,max:d}}}(function(a,b){if(!b)return a;let c=b({x:a.left,y:a.top}),d=b({x:a.right,y:a.bottom});return{top:c.y,left:c.x,bottom:d.y,right:d.x}}(a.getBoundingClientRect(),b))}build(a,b,c){(0,bO.O)(a,b,c.transformTemplate)}scrapeMotionValuesFromProps(a,b,c){return(0,bP.x)(a,b,c)}}var bR=c(67484),bS=c(46431);let bT={renderer:(a,b)=>b.isSVG??(0,bS.Q)(a)?new bM(b):new bQ(b,{allowProjection:a!==bR.Fragment}),animation:{Feature:a6},exit:{Feature:a8},inView:{Feature:bu},tap:{Feature:bo},focus:{Feature:be},hover:{Feature:bc}}},81873:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&"offsetHeight"in a&&!("ownerSVGElement"in a)}c.d(b,{s:()=>d})},82423:(a,b,c)=>{"use strict";c.d(b,{M:()=>e});var d=c(67484);function e(a){let b=(0,d.useRef)(null);return null===b.current&&(b.current=a()),b.current}},84676:(a,b,c)=>{"use strict";let d;c.d(b,{OQ:()=>j});var e=c(39453),f=c(4901),g=c(62735),h=c(44557);class i{constructor(a,b={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=a=>{let b=g.k.now();if(this.updatedAt!==b&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(a),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let a of this.dependents)a.dirty()},this.hasAnimated=!1,this.setCurrent(a),this.owner=b.owner}setCurrent(a){this.current=a,this.updatedAt=g.k.now(),null===this.canTrackVelocity&&void 0!==a&&(this.canTrackVelocity=!isNaN(parseFloat(this.current)))}setPrevFrameValue(a=this.current){this.prevFrameValue=a,this.prevUpdatedAt=this.updatedAt}onChange(a){return this.on("change",a)}on(a,b){this.events[a]||(this.events[a]=new e.v);let c=this.events[a].add(b);return"change"===a?()=>{c(),h.Gt.read(()=>{this.events.change.getSize()||this.stop()})}:c}clearListeners(){for(let a in this.events)this.events[a].clear()}attach(a,b){this.passiveEffect=a,this.stopPassiveEffect=b}set(a){this.passiveEffect?this.passiveEffect(a,this.updateAndNotify):this.updateAndNotify(a)}setWithVelocity(a,b,c){this.set(b),this.prev=void 0,this.prevFrameValue=a,this.prevUpdatedAt=this.updatedAt-c}jump(a,b=!0){this.updateAndNotify(a),this.prev=a,this.prevUpdatedAt=this.prevFrameValue=void 0,b&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(a){this.dependents||(this.dependents=new Set),this.dependents.add(a)}removeDependent(a){this.dependents&&this.dependents.delete(a)}get(){return d&&d.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let a=g.k.now();if(!this.canTrackVelocity||void 0===this.prevFrameValue||a-this.updatedAt>30)return 0;let b=Math.min(this.updatedAt-this.prevUpdatedAt,30);return(0,f.f)(parseFloat(this.current)-parseFloat(this.prevFrameValue),b)}start(a){return this.stop(),new Promise(b=>{this.hasAnimated=!0,this.animation=a(b),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function j(a,b){return new i(a,b)}},85710:(a,b,c)=>{"use strict";function d(a){return"string"==typeof a||Array.isArray(a)}c.d(b,{w:()=>d})},86993:(a,b,c)=>{"use strict";c.d(b,{T:()=>g,n:()=>h});var d=c(20193),e=c(22e3),f=c(57426);let g=[d.ai,e.px,e.KN,e.uj,e.vw,e.vh,{test:a=>"auto"===a,parse:a=>a}],h=a=>g.find((0,f.w)(a))},91524:(a,b,c)=>{"use strict";c.d(b,{q:()=>d});let d=(a,b,c)=>c>b?b:c<a?a:c},92314:(a,b,c)=>{"use strict";c.d(b,{F:()=>h});var d=c(48249),e=c(67484);let f=(0,e.createContext)({strict:!1});var g=c(59190);function h({children:a,features:b,strict:c=!1}){let[,j]=(0,e.useState)(!i(b)),k=(0,e.useRef)(void 0);if(!i(b)){let{renderer:a,...c}=b;k.current=a,(0,g.Y)(c)}return(0,d.jsx)(f.Provider,{value:{renderer:k.current,strict:c},children:a})}function i(a){return"function"==typeof a}},93180:(a,b,c)=>{"use strict";c.d(b,{$:()=>d});let d=a=>/^0[^.\s]+$/u.test(a)},93568:(a,b,c)=>{"use strict";c.d(b,{X:()=>e});let d=a=>null!==a;function e(a,{repeat:b,repeatType:c="loop"},f,g=1){let h=a.filter(d),i=g<0||b&&"loop"!==c&&b%2==1?0:h.length-1;return i&&void 0!==f?f:h[i]}},94307:(a,b,c)=>{"use strict";c.d(b,{D:()=>d});let d=a=>Array.isArray(a)&&"number"==typeof a[0]},94696:(a,b,c)=>{"use strict";c.d(b,{Ib:()=>m,ry:()=>l,zs:()=>k});let d=a=>180*a/Math.PI,e=a=>g(d(Math.atan2(a[1],a[0]))),f={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:a=>(Math.abs(a[0])+Math.abs(a[3]))/2,rotate:e,rotateZ:e,skewX:a=>d(Math.atan(a[1])),skewY:a=>d(Math.atan(a[2])),skew:a=>(Math.abs(a[1])+Math.abs(a[2]))/2},g=a=>((a%=360)<0&&(a+=360),a),h=a=>Math.sqrt(a[0]*a[0]+a[1]*a[1]),i=a=>Math.sqrt(a[4]*a[4]+a[5]*a[5]),j={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:h,scaleY:i,scale:a=>(h(a)+i(a))/2,rotateX:a=>g(d(Math.atan2(a[6],a[5]))),rotateY:a=>g(d(Math.atan2(-a[2],a[0]))),rotateZ:e,rotate:e,skewX:a=>d(Math.atan(a[4])),skewY:a=>d(Math.atan(a[1])),skew:a=>(Math.abs(a[1])+Math.abs(a[4]))/2};function k(a){return+!!a.includes("scale")}function l(a,b){let c,d;if(!a||"none"===a)return k(b);let e=a.match(/^matrix3d\(([-\d.e\s,]+)\)$/u);if(e)c=j,d=e;else{let b=a.match(/^matrix\(([-\d.e\s,]+)\)$/u);c=f,d=b}if(!d)return k(b);let g=c[b],h=d[1].split(",").map(n);return"function"==typeof g?g(h):h[g]}let m=(a,b)=>{let{transform:c="none"}=getComputedStyle(a);return l(c,b)};function n(a){return parseFloat(a.trim())}},96897:(a,b,c)=>{"use strict";function d(a,b){if(a?.inherit&&b){let{inherit:c,...d}=a;return{...b,...d}}return a}c.d(b,{K:()=>d})}};
@@ -1,3 +1,3 @@
1
1
  exports.id=5437,exports.ids=[5437],exports.modules={6999:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Tu:()=>o,o$:()=>n});var e=c(73024),f=c(76760),g=c(80974),h=c.n(g),i=c(75430),j=c(8102),k=a([i]);i=(k.then?(await k)():k)[0];let p={retries:{retries:10,factor:2,minTimeout:50,maxTimeout:2e3,randomize:!0},stale:3e4};function l(){return(0,f.join)((0,i.getAgentDir)(),"settings.json")}function m(){let a=l();if(!(0,e.existsSync)(a))return{};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null===b||"object"!=typeof b||Array.isArray(b)?{}:b}catch{return{}}}async function n(a){let b=l(),c=null,d=await h().lock(b,{...p,onCompromised:a=>{c=a}});try{if(c)throw c;let d=m(),e=await a(d);if(c)throw c;if(!e||"object"!=typeof e||!e.settings)throw Error("settings.json mutation must return { settings }");if(!1===e.changed)return{changed:!1};if((0,j.$)(b,JSON.stringify(e.settings,null,2)),c)throw c;return{changed:!0}}finally{d().catch(()=>{})}}function o(){return m()}d()}catch(a){d(a)}})},8102:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},16284:(a,b,c)=>{"use strict";c.d(b,{U:()=>i});var d=c(73024),e=c(76760);let f=[".queue.json",".goal.json"];function g(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function h(a){try{return(0,d.lstatSync)(a),!0}catch(a){if("ENOENT"===a.code)return!1;throw a}}function i(a,b){let c={restored:[],warnings:[]};if(!h(a))return c.warnings.push("No session files in this backup"),c;let i=function(a,b){let c=new Set,f=[""];for(;f.length;){let g=f.pop(),h=(0,e.join)(a,g),i=(0,d.lstatSync)(h);if(i.isSymbolicLink())b.push(`Skipped symbolic link in sessions: ${g||"sessions/"}`);else if(i.isDirectory())for(let a of(0,d.readdirSync)(h))f.push(g?`${g}/${a}`:a);else i.isFile()?c.add(g):b.push(`Skipped unsupported session entry: ${g}`)}return c}(a,c.warnings),j=[...i].filter(a=>a.endsWith(".jsonl")).sort(),k=new Set;(0,d.mkdirSync)(b,{recursive:!0,mode:448});let l=(0,d.realpathSync)(b);for(let b of j){let j,m=[b,...f.map(a=>b+a).filter(a=>i.has(a))];for(let a of m)k.add(a);let n=[];try{let i,k=(0,e.dirname)(`sessions/${b}`).split(e.sep).join("/"),o=function(a,b){let c=a;for(let f of b.split("/").filter(Boolean)){if("."===f||".."===f||/[\\:\0]/.test(f))throw Error("Invalid session path");c=(0,e.join)(c,f);try{(0,d.mkdirSync)(c,{mode:448})}catch(a){if("EEXIST"!==a.code)throw a}let b=(0,d.lstatSync)(c);if(b.isSymbolicLink())throw Error("Symbolic link in session destination");if(!b.isDirectory())throw Error("Session destination is not a directory");let g=(0,e.relative)(a,(0,d.realpathSync)(c));if(".."===g||g.startsWith(`..${e.sep}`)||(0,e.resolve)(a,g)!==(0,d.realpathSync)(c))throw Error("Session destination is outside the agent directory")}return c}(l,k),p=(0,e.join)(l,"sessions",b);if([p,...f.map(a=>p+a)].some(h)){c.warnings.push(`Skipped existing session or sidecar: ${b}`);continue}let q=(0,d.readFileSync)((0,e.join)(a,b)),r=q.indexOf(10);try{i=JSON.parse(q.subarray(0,r<0?q.length:r).toString("utf8"))}catch{throw Error("Invalid session header")}if(!g(i)||"session"!==i.type||"string"!=typeof i.id||!i.id||"string"!=typeof i.cwd)throw Error("Invalid session header");let s=!1,t=m.slice(1).map(b=>{let c=b.endsWith(".goal.json")?".goal.json":".queue.json",f=function(a,b){let c,e=(0,d.readFileSync)(a);try{c=JSON.parse(e.toString("utf8"))}catch{throw Error(`Invalid ${b} file`)}if(!g(c)||1!==c.version)throw Error(`Invalid ${b} file`);if(".queue.json"===b){if(!Array.isArray(c.entries)||!c.entries.every(a=>g(a)&&("steer"===a.kind||"followUp"===a.kind)&&"string"==typeof a.text))throw Error("Invalid queue file");return{data:e,paused:!1}}if(!g(c.state))throw Error("Invalid goal file");if("running"!==c.state.status)return{data:e,paused:!1};let f={...c,state:{...c.state,status:"paused",updatedAt:Date.now()}};return{data:Buffer.from(`${JSON.stringify(f)}
2
- `),paused:!0}}((0,e.join)(a,b),c);return s||=f.paused,{name:b,data:f.data}});for(let[a,c]of(t.push({name:b,data:q}),j=(0,d.mkdtempSync)((0,e.join)(o,".restore-")),t.entries()))(0,d.writeFileSync)((0,e.join)(j,String(a)),c.data,{flag:"wx",mode:384,flush:!0});for(let[a,b]of t.entries()){let c=(0,e.join)(l,"sessions",b.name),f=(0,e.join)(j,String(a));(0,d.linkSync)(f,c),n.push({destination:c,source:f})}c.restored.push(...t.map(({name:a})=>`sessions/${a}`)),s&&c.warnings.push(`Restored goal paused; resume manually: ${b}`),"string"!=typeof i.cwd||(0,d.existsSync)(i.cwd)||c.warnings.push(`Original workspace path was retained; select a valid workspace before continuing: ${b}`),i.parentSession&&c.warnings.push(`Parent session path was retained; verify the restored relationship: ${b}`)}catch(f){for(let{destination:a,source:b}of n.reverse())try{let f=(0,d.lstatSync)(b,{bigint:!0}),g=(0,d.lstatSync)(a,{bigint:!0});g.dev===f.dev&&g.ino===f.ino?(0,d.unlinkSync)(a):c.warnings.push(`Rollback kept a replaced session file: ${(0,e.relative)(l,a)}`)}catch(b){"ENOENT"!==b.code&&c.warnings.push(`Session rollback needs manual cleanup: ${(0,e.relative)(l,a)}`)}let a=f instanceof Error&&/^(Invalid |Symbolic link |Session destination )/.test(f.message)?f.message:"File operation failed";c.warnings.push(`Skipped session ${b}: ${a}`)}finally{if(j)try{(0,d.rmSync)(j,{recursive:!0,force:!0})}catch{c.warnings.push(`Session staging needs manual cleanup: ${(0,e.relative)(l,j)}`)}}}for(let a of i)k.has(a)||c.warnings.push(`Skipped orphan or unsupported session file: ${a}`);return c}},17551:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Br:()=>q,LB:()=>u,V6:()=>p,po:()=>r,z0:()=>s});var e=c(73024),f=c(76760),g=c(80974),h=c.n(g),i=c(75430),j=c(8102),k=c(28967),l=c(18904),m=a([i,l]);[i,l]=m.then?(await m)():m;let t={retries:{retries:10,factor:2,minTimeout:50,maxTimeout:2e3,randomize:!0},stale:3e4};function n(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function o(a=(0,i.getAgentDir)()){return(0,f.join)(a,"models.json")}class u extends Error{constructor(a){super(a),this.name="ModelsConfigReadError"}}function p(a=o()){let b;if(!(0,e.existsSync)(a))return{providers:{}};try{let c=(0,e.readFileSync)(a,"utf8").replace(/^\uFEFF/,"");if(!c.trim())return{providers:{}};b=JSON.parse(c.replace(/"(?:\\.|[^"\\])*"|\/\/[^\n]*/g,a=>'"'===a[0]?a:"").replace(/"(?:\\.|[^"\\])*"|,(\s*[}\]])/g,(a,b)=>b??('"'===a[0]?a:"")))}catch(b){throw new u(`Failed to read ${a}: ${b instanceof Error?b.message:String(b)}`)}if(!n(b))throw new u("Invalid models.json: expected an object");if(void 0!==b.providers&&!n(b.providers))throw new u("Invalid models.json: providers must be an object");return b}async function q(a,b=o()){let c,d=(0,f.dirname)(b);if((0,e.existsSync)(d)||(0,e.mkdirSync)(d,{recursive:!0,mode:448}),!(0,e.existsSync)(b))try{(0,e.writeFileSync)(b,JSON.stringify({providers:{}},null,2),{encoding:"utf8",flag:"wx",mode:384})}catch(a){if("EEXIST"!==a.code)throw a}let g=await h().lock(b,{...t,onCompromised:a=>{c=a}}),i=()=>{if(c)throw c};try{i();let c=p(b),d=await a(c);if(!n(d.data))throw Error("Invalid models.json mutation result");return i(),!1!==d.changed&&((0,j.$)(b,JSON.stringify(d.data,null,2)),(0,k.k)(),(0,l.Ln)(),i()),d.result}finally{try{await g()}catch(a){if(c)throw c;throw a}}}function r(a=o()){try{return p(a)}catch{return{providers:{}}}}function s(a){if(!n(a))throw Error("models.json payload must be an object");if(void 0!==a.providers&&!n(a.providers))throw Error("models.json payload providers must be an object")}d()}catch(a){d(a)}})},28967:(a,b,c)=>{"use strict";function d(){return globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){let c=d(),e=c.entries.get(a);if(e&&e.expiresAt>Date.now())return Promise.resolve(e.data);if(e)return c.inFlight.has(a)||g(c,a,b).catch(()=>{}),Promise.resolve(e.data);let f=c.inFlight.get(a);return f||g(c,a,b)}function g(a,b,c){let d=a.inFlight.get(b);if(d)return d;let e=a.generation,f=Promise.resolve().then(c).then(c=>{if(a.generation===e&&a.inFlight.get(b)===f){let d=Date.now();for(let[b,c]of a.entries)c.expiresAt<=d&&a.entries.delete(b);for(;a.entries.size>=32;){let b=a.entries.keys().next().value;if(void 0===b)break;a.entries.delete(b)}a.entries.set(b,{data:c,expiresAt:d+6e4})}return c}).finally(()=>{a.inFlight.get(b)===f&&a.inFlight.delete(b)});return a.inFlight.set(b,f),f}c.d(b,{k:()=>e,r:()=>f})},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"@qt4798/pi-web","version":"0.18.16","description":"Web workspace for the pi coding agent","homepage":"https://github.com/t479842598/pi-web-QT#readme","repository":{"type":"git","url":"git+https://github.com/t479842598/pi-web-QT.git"},"bugs":{"url":"https://github.com/t479842598/pi-web-QT/issues"},"license":"MIT","engines":{"node":">=22.19.0"},"bin":{"pi-web":"bin/pi-web.js"},"files":["bin",".next","!.next/cache","!.next/dev","!.next/standalone","!.next/**/*.js.map","lib/theme","public","next.config.ts","package.json"],"browserslist":["chrome 111","edge 111","firefox 111","safari 16.2","ios_saf 16.2"],"scripts":{"dev":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js nextDev","dev:lan":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next dev -H 0.0.0.0 -p 0 --turbopack","postinstall":"node bin/prepare-terminal.js","theme:css":"node scripts/generate-theme-css.mjs","prebuild":"node scripts/generate-theme-css.mjs","build":"env -u TURBOPACK -u __NEXT_PRIVATE_STANDALONE_CONFIG next build --webpack","bundle:backend":"node scripts/bundle-backend.mjs","start":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js nextStart","start:lan":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next start -H 0.0.0.0 -p 0","lint":"eslint .","release":"npm version patch --no-git-tag-version && npm run build && npm publish --access public","test":"node --experimental-strip-types --test $(find app components hooks lib -name \'*.test.mjs\' -print)","test:e2e":"node e2e/run.mjs","test:terminal":"node e2e/terminal.mjs"},"dependencies":{"@earendil-works/pi-agent-core":"0.87.1","@earendil-works/pi-ai":"0.87.1","@earendil-works/pi-coding-agent":"0.87.1","@earendil-works/pi-tui":"0.87.1","@fontsource/ia-writer-quattro":"^5.3.0","@fontsource/lilex":"^5.3.0","@phosphor-icons/react":"^2.1.10","@radix-ui/react-dialog":"^1.1.23","@tanstack/react-virtual":"^3.14.9","@tauri-apps/api":"^2.11.1","@xterm/addon-fit":"0.11.0","@xterm/xterm":"6.0.0","adm-zip":"^0.6.0","ansi_up":"^6.0.6","cmdk":"^1.1.1","js-yaml":"^5.2.3","katex":"^0.16.47","lucide-react":"^1.37.0","mammoth":"^1.12.0","mermaid":"^11.16.1","next":"16.3.6","node-pty":"1.2.0-beta.15","proper-lockfile":"4.1.2","qrcode":"^1.5.4","react":"^19.2.4","react-dom":"^19.2.4","react-markdown":"^10.1.0","react-syntax-highlighter":"^16.1.1","rehype-katex":"^7.0.1","rehype-raw":"^7.0.0","rehype-sanitize":"^6.0.0","remark-cjk-friendly":"^2.3.2","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","semver":"7.8.5","undici":"^8.11.0"},"overrides":{"undici":"^8.11.0","@earendil-works/pi-coding-agent":{"undici":"^8.11.0"},"intersection-observer":"npm:noop2@2.0.0","node-domexception":"npm:@profoundlogic/node-domexception@1.0.2"},"allowScripts":{"@google/genai@1.52.0":true,"protobufjs@7.6.5":true,"sharp@0.34.5":true,"unrs-resolver@1.12.2":true},"devDependencies":{"@resvg/resvg-js":"^2.6.2","@tailwindcss/postcss":"^4.2.2","@types/js-yaml":"^4.0.9","@types/node":"^25","@types/proper-lockfile":"4.1.4","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/react-syntax-highlighter":"^15.5.13","@types/semver":"7.8.0","eslint":"^9.39.5","eslint-config-next":"16.3.5","jiti":"^2.7.0","lightningcss":"^1.33.0","playwright":"^1.63.0","postcss":"^8","tailwindcss":"^4.2.2","to-ico":"^1.1.5","typescript":"^5.9.3"}}')},50593:(a,b,c)=>{"use strict";function d(a){return/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a}c.d(b,{A0:()=>d})},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>l,EN:()=>k});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}let j=new Set(["POST","PUT","PATCH","DELETE"]);function k(a,b=h()){if(!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b))return!1;if(function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a))return!0;if(!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))){if(j.has((a.method??"GET").toUpperCase())){let b=a.headers.get("host"),c=b?f(b):null;return null!==c&&!!("localhost"===c||c.endsWith(".localhost")||/^127\./.test(c)||"::1"===c||"[::1]"===c)}return!0}return function(a){let b,c,d;if("cross-site"===a.headers.get("sec-fetch-site"))return!1;let e=a.headers.get("origin");if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&(i(e)===f||function(a,b,c){let d,e;try{d=new URL(a),e=new URL(b)}catch{return!1}if(d.protocol!==e.protocol||d.hostname.toLowerCase()!==e.hostname.toLowerCase())return!1;if(!d.port)return"same-origin"===c;let f=e.port||("https:"===e.protocol?"443":"80");return d.port===f}(e,f,a.headers.get("sec-fetch-site"))))return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a)}function l(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},78335:()=>{},89628:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{DT:()=>A,dH:()=>C,g3:()=>B,jE:()=>x,lz:()=>D,uj:()=>v});var e=c(26106),f=c.n(e),g=c(29021),h=c(21820),i=c(33873),j=c(75430),k=c(50593),l=c(8102),m=c(17551),n=c(16284),o=a([j,m]);[j,m]=o.then?(await o)():o;let F="pi-backup",G="${agentDir}",H="${home}";function p(a){if(!(0,g.existsSync)(a))return null;try{let b=JSON.parse((0,g.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:null}catch{return null}}function q(a){let b=[],c=[""];for(;c.length>0;){let d,e=c.pop(),f=(0,i.join)(a,e);try{d=(0,g.readdirSync)(f)}catch{continue}for(let a of d){let d;if("node_modules"===a||".git"===a)continue;let h=e?`${e}/${a}`:a,j=(0,i.join)(f,a);try{d=(0,g.statSync)(j)}catch{continue}d.isDirectory()?c.push(h):d.isFile()&&b.push(h)}}return b}function r(a){let b=(0,k.A0)((0,j.getAgentDir)()),c=(0,k.A0)((0,h.homedir)());return t(a,a=>{let d=(0,k.A0)(a);return d===b?G:d===c?H:d.startsWith(b+"/")?G+d.slice(b.length):d.startsWith(c+"/")?H+d.slice(c.length):a})}function s(a){let b=(0,j.getAgentDir)(),c=(0,h.homedir)();return t(a,a=>a===G?b:a===H?c:a.startsWith(G+"/")?(0,i.join)(b,...a.slice(G.length+1).split("/")):a.startsWith(H+"/")?(0,i.join)(c,...a.slice(H.length+1).split("/")):a)}function t(a,b){if("string"==typeof a)return b(a);if(Array.isArray(a))return a.map(a=>t(a,b));if(null!==a&&"object"==typeof a){let c={};for(let[d,e]of Object.entries(a))c[d]=t(e,b);return c}return a}function u(a,b,c){a.addFile(`${F}/${b}`,Buffer.isBuffer(c)?c:Buffer.from(c,"utf8"))}function v(a){let b=(0,j.getAgentDir)(),d=new(f()),e={formatVersion:1,createdAt:new Date().toISOString(),...function(){try{return{piWebVersion:c(39006).version??"unknown",piSdkVersion:"unknown"}}catch{return{piWebVersion:"unknown",piSdkVersion:"unknown"}}}(),sourcePlatform:process.platform,includeSecrets:a.includeSecrets,includeSessions:a.includeSessions,files:[],mcpBinScripts:[],localPackages:[],absolutePaths:[],warnings:[]};for(let c of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"]){let f,h=(0,i.join)(b,c);if((0,g.existsSync)(h)&&("auth.json"!==c||a.includeSecrets)){if("models.json"===c){let b;try{b=(0,m.V6)(h)}catch{throw Error("Cannot export models.json: configuration is unreadable or invalid")}f=JSON.stringify(r(a.includeSecrets?b:function(a){let b=a.providers??{},c={};for(let[a,d]of Object.entries(b))c[a]={...d},Object.hasOwn(c[a],"apiKey")&&(c[a].apiKey="");return{...a,providers:c}}(b)),null,2)}else if(f=(0,g.readFileSync)(h,"utf8"),"settings.json"===c||"mcp.json"===c){let a=p(h);a&&(f=JSON.stringify(r(a),null,2))}u(d,c,String(f)),e.files.push(`${F}/${c}`)}}let h=(0,i.join)(b,"skills");if((0,g.existsSync)(h))for(let a of q(h))d.addFile(`${F}/skills/${a}`,(0,g.readFileSync)((0,i.join)(h,a))),e.files.push(`${F}/skills/${a}`);let l=p((0,i.join)(b,"settings.json"));for(let a of l?.packages??[]){let b="string"==typeof a?a:a?.source;if(!b||b.startsWith("npm:"))continue;let c=(0,k.A0)(b);if((0,i.isAbsolute)(c)&&(0,g.existsSync)(c)){let a=(0,i.basename)(c);for(let b of q(c))d.addFile(`${F}/local-packages/${a}/${b}`,(0,g.readFileSync)((0,i.join)(c,b))),e.files.push(`${F}/local-packages/${a}/${b}`);e.localPackages.push(a)}else e.warnings.push(`Local package skipped (not found or not absolute): ${b}`)}let n=p((0,i.join)(b,"mcp.json")),o=new Set;if(n?.mcpServers)for(let a of Object.values(n.mcpServers))!function a(b,c){if("string"==typeof b){let a=`${G}/bin/`;if(b.startsWith(a)){let d=b.slice(a.length).split("/")[0];d&&c.add(d)}return}if(Array.isArray(b)){for(let d of b)a(d,c);return}if(null!==b&&"object"==typeof b)for(let d of Object.values(b))a(d,c)}(r(a),o);for(let a of o){let c=(0,i.join)(b,"bin",a);(0,g.existsSync)(c)&&(0,g.statSync)(c).isFile()?(d.addFile(`${F}/bin/${a}`,(0,g.readFileSync)(c)),e.files.push(`${F}/bin/${a}`),e.mcpBinScripts.push(a)):e.warnings.push(`MCP bin script referenced but missing: ${a}`)}if(a.includeSessions){let a=(0,i.join)(b,"sessions");if((0,g.existsSync)(a))for(let b of q(a))d.addFile(`${F}/sessions/${b}`,(0,g.readFileSync)((0,i.join)(a,b))),e.files.push(`${F}/sessions/${b}`)}return u(d,"manifest.json",JSON.stringify(e,null,2)),d.toBuffer()}let I=new Set(["npx","uvx","node","uv","npm","git","python3","python","bun","deno"]);function w(a){let b=a.toString("utf8",0,256).split(/\r?\n/,1)[0]??"";return b.startsWith("#!")?b:null}function x(a,b,c){let d=(0,j.getAgentDir)(),e=c??process.platform,f="win32"===e,g=[],h=[];for(let[c,j]of Object.entries(a)){let a,l=s(j),m="string"==typeof l.command?l.command:"",n=Array.isArray(l.args)?l.args.map(String):[],o={command:m,args:n};if(!m){h.push({name:c,original:o,adapted:null,action:"keep",platform:e});continue}let p=function(a,b){if(!a)return"manual";if((0,k.A0)(a).startsWith((0,k.A0)(b)+"/bin/"))return"restore-script";if(a.includes("/")||a.includes("\\")||a.includes(":"))return"keep-with-warning";let c=a.split(/[\s]/)[0];return I.has(c),"keep"}(m,d),q=null;if("restore-script"===p){let j=(0,i.basename)((0,k.A0)(m)),l=b.get(j);if(!l){q=null,a=`bin script ${j} missing from backup`,h.push({name:c,original:o,adapted:q,action:"manual",platform:e,reason:a,installPrompt:E({name:c,original:o,adapted:q,action:"manual",platform:e,reason:a})});continue}if(!y(j)){a=`bin script name rejected (unsafe): ${j}`;let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:E(b)}),g.push(`${c}: ${a}`);continue}if(!z(l)){a="bin script content rejected (unrecognized shebang)";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:E(b)}),g.push(`${c}: ${a}`);continue}if(f){let b=w(l);if(b&&b.includes("node"))q={command:(0,i.join)(d,"bin",`${j}.cmd`),args:n},h.push({name:c,original:o,adapted:q,action:"generate-cmd",platform:e,reason:(0,i.join)(d,"bin",j)});else{a="bash/other shebang wrapper cannot run on Windows; reinstall or adjust manually";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:E(b)}),g.push(`${c}: ${a}`)}}else q={command:(0,i.join)(d,"bin",j),args:n},h.push({name:c,original:o,adapted:q,action:"restore-script",platform:e});continue}if("keep-with-warning"===p){q={command:m,args:n},a="absolute path outside agentDir/bin — verify it exists on this machine",h.push({name:c,original:o,adapted:q,action:"keep-with-warning",platform:e,reason:a}),g.push(`${c}: ${a}`);continue}q={command:m,args:n},h.push({name:c,original:o,adapted:q,action:"keep",platform:e})}return{servers:h,warnings:g}}function y(a){return/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(a)&&!a.includes("..")}function z(a){let b=w(a);if(!b)return!1;let c=b.slice(2).trim().split(/\s+/);if(0===c.length)return!1;let d=c[0],e=d.split("/").pop()??d;return!!["node","bash","sh","python3","python","zsh"].includes(e)||"env"===e&&c.length>1&&["node","bash","sh","python3","python"].includes(c[1].split("/").pop()??"")}function A(a){let b;try{b=new(f())(a)}catch(a){throw Error(`Not a valid zip archive: ${a instanceof Error?a.message:String(a)}`)}let c=b.getEntries(),d=(0,g.mkdtempSync)((0,i.join)((0,h.tmpdir)(),"pi-backup-")),e=(0,i.join)(d,F);(0,g.mkdirSync)(e,{recursive:!0});let j=0,k=0;for(let a of c){if(a.isDirectory)continue;let c=a.entryName.replace(/\\/g,"/");if(!c.startsWith(`${F}/`))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unexpected entry outside ${F}/: ${c}`);let f=(0,i.resolve)(e,c.slice(F.length+1));if(!f.startsWith((0,i.resolve)(e)+i.sep))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Path traversal blocked: ${c}`);let h="number"==typeof a.header.size?a.header.size:0;if(j+=h,h>0x20000000||j>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`);(0,g.mkdirSync)((0,i.dirname)(f),{recursive:!0}),b.extractEntryTo(a,(0,i.dirname)(f),!1,!0);let l=(0,g.statSync)(f).size;if(k+=l,l>0x20000000||k>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`)}let l=(0,i.join)(e,"manifest.json");if(!(0,g.existsSync)(l))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error("Backup manifest.json missing — not a pi-web backup");let m=p(l);if(!m||1!==m.formatVersion)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unsupported backup format version: ${m?.formatVersion??"unknown"} (expected 1)`);let n=p((0,i.join)(e,"mcp.json"))?.mcpServers??{},o=new Map;for(let a of m.mcpBinScripts??[]){let b=(0,i.join)(e,"bin",a);(0,g.existsSync)(b)&&o.set(a,(0,g.readFileSync)(b))}let q=["core","skills","packages","mcp"];return m.includeSessions&&q.push("sessions"),{manifest:m,tempDir:d,servers:n,binScripts:o,categories:q}}function B(a){(0,g.rmSync)(a.tempDir,{recursive:!0,force:!0})}function C(a,b){let c=(0,j.getAgentDir)(),{manifest:d}=a,e={restored:[],needsRestart:[],manual:[],warnings:[]},f=new Set(b.categories),h=new Set(b.skippedMcpServers),m=b=>{let d=(0,i.join)(c,b),f=(0,i.join)(a.tempDir,F,b);(0,g.existsSync)(f)&&((0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)(f,"utf8")),e.restored.push(b))};if(f.has("core"))for(let a of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"])("auth.json"!==a||d.includeSecrets)&&(m(a),e.needsRestart.push(a));if(f.has("skills")){let b=(0,i.join)(a.tempDir,F,"skills");if((0,g.existsSync)(b)){for(let a of q(b)){let d=(0,i.join)(c,"skills",a);(0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push("skills/")}}if(f.has("packages")){let b=(0,i.join)(c,"settings.json"),f=p(b)??{},h=f.packages??[],j=d.localPackages??[],m=(0,i.join)(a.tempDir,F,"local-packages");for(let a of j){if(!y(a)){e.warnings.push(`Local package ${a} not restored (unsafe name)`);continue}let b=(0,i.join)(m,a);if(!(0,g.existsSync)(b)){e.warnings.push(`Local package ${a} missing from backup`);continue}let d=(0,i.join)(c,"local-packages",a);for(let a of q(b)){let c=(0,i.join)(d,a);(0,g.mkdirSync)((0,i.dirname)(c),{recursive:!0}),(0,l.$)(c,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push(`local-packages/${a}`)}let n=!1,o=h.map(a=>{let b="string"==typeof a?a:a?.source;if("string"!=typeof b||b.startsWith("npm:"))return a;let d=(0,i.basename)((0,k.A0)(b));if(j.includes(d)){n=!0;let b=(0,i.join)(c,"local-packages",d);return"string"==typeof a?b:{...a,source:b}}return a});if(n){let a={...f,packages:o};(0,l.$)(b,JSON.stringify(a,null,2)),e.restored.push("settings.json (packages paths)"),e.needsRestart.push("settings.json (packages paths)")}for(let a of h.map(a=>"string"==typeof a?a:a?.source).filter(a=>"string"==typeof a&&a.startsWith("npm:")))e.restored.push(`npm package ${a} (queued for reinstall)`)}if(f.has("mcp")){let b=x(a.servers,a.binScripts);e.warnings.push(...b.warnings);let d=p((0,i.join)(c,"mcp.json"))??{},f={};for(let d of b.servers){if(h.has(d.name))continue;if("manual"===d.action){e.manual.push({server:d.name,message:d.reason??"cannot be adapted automatically"});continue}let b=a.servers[d.name]??{},j=s(b);if(f[d.name]={...j,command:d.adapted?.command??j.command,...d.adapted?{args:d.adapted.args}:{}},"restore-script"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))),f=a.binScripts.get(b);if(f&&y(b)&&z(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));try{(0,g.chmodSync)(a,493)}catch{}e.restored.push(`bin/${b}`)}else e.warnings.push(`bin script ${b} not restored (unsafe name or content)`)}if("generate-cmd"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))).replace(/\.cmd$/,""),f=a.binScripts.get(b);if(f&&y(b)&&z(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));let d=(0,i.join)(c,"bin",`${b}.cmd`),h=`%~dp0${b}`;(0,l.$)(d,`@node "${h}" %*\r
2
+ `),paused:!0}}((0,e.join)(a,b),c);return s||=f.paused,{name:b,data:f.data}});for(let[a,c]of(t.push({name:b,data:q}),j=(0,d.mkdtempSync)((0,e.join)(o,".restore-")),t.entries()))(0,d.writeFileSync)((0,e.join)(j,String(a)),c.data,{flag:"wx",mode:384,flush:!0});for(let[a,b]of t.entries()){let c=(0,e.join)(l,"sessions",b.name),f=(0,e.join)(j,String(a));(0,d.linkSync)(f,c),n.push({destination:c,source:f})}c.restored.push(...t.map(({name:a})=>`sessions/${a}`)),s&&c.warnings.push(`Restored goal paused; resume manually: ${b}`),"string"!=typeof i.cwd||(0,d.existsSync)(i.cwd)||c.warnings.push(`Original workspace path was retained; select a valid workspace before continuing: ${b}`),i.parentSession&&c.warnings.push(`Parent session path was retained; verify the restored relationship: ${b}`)}catch(f){for(let{destination:a,source:b}of n.reverse())try{let f=(0,d.lstatSync)(b,{bigint:!0}),g=(0,d.lstatSync)(a,{bigint:!0});g.dev===f.dev&&g.ino===f.ino?(0,d.unlinkSync)(a):c.warnings.push(`Rollback kept a replaced session file: ${(0,e.relative)(l,a)}`)}catch(b){"ENOENT"!==b.code&&c.warnings.push(`Session rollback needs manual cleanup: ${(0,e.relative)(l,a)}`)}let a=f instanceof Error&&/^(Invalid |Symbolic link |Session destination )/.test(f.message)?f.message:"File operation failed";c.warnings.push(`Skipped session ${b}: ${a}`)}finally{if(j)try{(0,d.rmSync)(j,{recursive:!0,force:!0})}catch{c.warnings.push(`Session staging needs manual cleanup: ${(0,e.relative)(l,j)}`)}}}for(let a of i)k.has(a)||c.warnings.push(`Skipped orphan or unsupported session file: ${a}`);return c}},17551:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Br:()=>q,LB:()=>u,V6:()=>p,po:()=>r,z0:()=>s});var e=c(73024),f=c(76760),g=c(80974),h=c.n(g),i=c(75430),j=c(8102),k=c(28967),l=c(18904),m=a([i,l]);[i,l]=m.then?(await m)():m;let t={retries:{retries:10,factor:2,minTimeout:50,maxTimeout:2e3,randomize:!0},stale:3e4};function n(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function o(a=(0,i.getAgentDir)()){return(0,f.join)(a,"models.json")}class u extends Error{constructor(a){super(a),this.name="ModelsConfigReadError"}}function p(a=o()){let b;if(!(0,e.existsSync)(a))return{providers:{}};try{let c=(0,e.readFileSync)(a,"utf8").replace(/^\uFEFF/,"");if(!c.trim())return{providers:{}};b=JSON.parse(c.replace(/"(?:\\.|[^"\\])*"|\/\/[^\n]*/g,a=>'"'===a[0]?a:"").replace(/"(?:\\.|[^"\\])*"|,(\s*[}\]])/g,(a,b)=>b??('"'===a[0]?a:"")))}catch(b){throw new u(`Failed to read ${a}: ${b instanceof Error?b.message:String(b)}`)}if(!n(b))throw new u("Invalid models.json: expected an object");if(void 0!==b.providers&&!n(b.providers))throw new u("Invalid models.json: providers must be an object");return b}async function q(a,b=o()){let c,d=(0,f.dirname)(b);if((0,e.existsSync)(d)||(0,e.mkdirSync)(d,{recursive:!0,mode:448}),!(0,e.existsSync)(b))try{(0,e.writeFileSync)(b,JSON.stringify({providers:{}},null,2),{encoding:"utf8",flag:"wx",mode:384})}catch(a){if("EEXIST"!==a.code)throw a}let g=await h().lock(b,{...t,onCompromised:a=>{c=a}}),i=()=>{if(c)throw c};try{i();let c=p(b),d=await a(c);if(!n(d.data))throw Error("Invalid models.json mutation result");return i(),!1!==d.changed&&((0,j.$)(b,JSON.stringify(d.data,null,2)),(0,k.k)(),(0,l.Ln)(),i()),d.result}finally{try{await g()}catch(a){if(c)throw c;throw a}}}function r(a=o()){try{return p(a)}catch{return{providers:{}}}}function s(a){if(!n(a))throw Error("models.json payload must be an object");if(void 0!==a.providers&&!n(a.providers))throw Error("models.json payload providers must be an object")}d()}catch(a){d(a)}})},28967:(a,b,c)=>{"use strict";function d(){return globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState}function e(){let a=d();a.generation+=1,a.entries.clear(),a.inFlight.clear()}function f(a,b){let c=d(),e=c.entries.get(a);if(e&&e.expiresAt>Date.now())return Promise.resolve(e.data);if(e)return c.inFlight.has(a)||g(c,a,b).catch(()=>{}),Promise.resolve(e.data);let f=c.inFlight.get(a);return f||g(c,a,b)}function g(a,b,c){let d=a.inFlight.get(b);if(d)return d;let e=a.generation,f=Promise.resolve().then(c).then(c=>{if(a.generation===e&&a.inFlight.get(b)===f){let d=Date.now();for(let[b,c]of a.entries)c.expiresAt<=d&&a.entries.delete(b);for(;a.entries.size>=32;){let b=a.entries.keys().next().value;if(void 0===b)break;a.entries.delete(b)}a.entries.set(b,{data:c,expiresAt:d+6e4})}return c}).finally(()=>{a.inFlight.get(b)===f&&a.inFlight.delete(b)});return a.inFlight.set(b,f),f}c.d(b,{k:()=>e,r:()=>f})},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"@qt4798/pi-web","version":"0.18.19","description":"Web workspace for the pi coding agent","homepage":"https://github.com/t479842598/pi-web-QT#readme","repository":{"type":"git","url":"git+https://github.com/t479842598/pi-web-QT.git"},"bugs":{"url":"https://github.com/t479842598/pi-web-QT/issues"},"license":"MIT","engines":{"node":">=22.19.0"},"bin":{"pi-web":"bin/pi-web.js"},"files":["bin",".next","!.next/cache","!.next/dev","!.next/standalone","!.next/**/*.js.map","lib/theme","public","next.config.ts","package.json"],"browserslist":["chrome 111","edge 111","firefox 111","safari 16.2","ios_saf 16.2"],"scripts":{"dev":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js nextDev","dev:lan":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next dev -H 0.0.0.0 -p 0 --turbopack","postinstall":"node bin/prepare-terminal.js","theme:css":"node scripts/generate-theme-css.mjs","prebuild":"node scripts/generate-theme-css.mjs","build":"env -u TURBOPACK -u __NEXT_PRIVATE_STANDALONE_CONFIG next build --webpack","bundle:backend":"node scripts/bundle-backend.mjs","start":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js nextStart","start:lan":"node bin/fix-pi-agent-undici.js && node bin/with-memory-limit.js node_modules/.bin/next start -H 0.0.0.0 -p 0","lint":"eslint .","release":"npm version patch --no-git-tag-version && npm run build && npm publish --access public","test":"node --experimental-strip-types --test $(find app components hooks lib -name \'*.test.mjs\' -print)","test:e2e":"node e2e/run.mjs","test:terminal":"node e2e/terminal.mjs"},"dependencies":{"@earendil-works/pi-agent-core":"0.87.1","@earendil-works/pi-ai":"0.87.1","@earendil-works/pi-coding-agent":"0.87.1","@earendil-works/pi-tui":"0.87.1","@fontsource/ia-writer-quattro":"^5.3.0","@fontsource/lilex":"^5.3.0","@phosphor-icons/react":"^2.1.10","@radix-ui/react-dialog":"^1.1.23","@tanstack/react-virtual":"^3.14.9","@tauri-apps/api":"^2.11.1","@xterm/addon-fit":"0.11.0","@xterm/xterm":"6.0.0","adm-zip":"^0.6.0","ansi_up":"^6.0.6","cmdk":"^1.1.1","framer-motion":"^12.43.0","js-yaml":"^5.2.3","katex":"^0.16.47","lucide-react":"^1.37.0","mammoth":"^1.12.0","mermaid":"^11.16.1","next":"16.3.6","node-pty":"1.2.0-beta.15","proper-lockfile":"4.1.2","qrcode":"^1.5.4","react":"^19.2.4","react-dom":"^19.2.4","react-markdown":"^10.1.0","react-syntax-highlighter":"^16.1.1","rehype-katex":"^7.0.1","rehype-raw":"^7.0.0","rehype-sanitize":"^6.0.0","remark-cjk-friendly":"^2.3.2","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1","remark-math":"^6.0.0","semver":"7.8.5","undici":"^8.11.0"},"overrides":{"undici":"^8.11.0","@earendil-works/pi-coding-agent":{"undici":"^8.11.0"},"intersection-observer":"npm:noop2@2.0.0","node-domexception":"npm:@profoundlogic/node-domexception@1.0.2"},"allowScripts":{"@google/genai@1.52.0":true,"protobufjs@7.6.5":true,"sharp@0.34.5":true,"unrs-resolver@1.12.2":true},"devDependencies":{"@resvg/resvg-js":"^2.6.2","@tailwindcss/postcss":"^4.2.2","@types/js-yaml":"^4.0.9","@types/node":"^25","@types/proper-lockfile":"4.1.4","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/react-syntax-highlighter":"^15.5.13","@types/semver":"7.8.0","eslint":"^9.39.5","eslint-config-next":"16.3.5","jiti":"^2.7.0","lightningcss":"^1.33.0","playwright":"^1.63.0","postcss":"^8","tailwindcss":"^4.2.2","to-ico":"^1.1.5","typescript":"^5.9.3"}}')},50593:(a,b,c)=>{"use strict";function d(a){return/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a}c.d(b,{A0:()=>d})},66544:(a,b,c)=>{"use strict";c.d(b,{E2:()=>l,EN:()=>k});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}let j=new Set(["POST","PUT","PATCH","DELETE"]);function k(a,b=h()){if(!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b))return!1;if(function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a))return!0;if(!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))){if(j.has((a.method??"GET").toUpperCase())){let b=a.headers.get("host"),c=b?f(b):null;return null!==c&&!!("localhost"===c||c.endsWith(".localhost")||/^127\./.test(c)||"::1"===c||"[::1]"===c)}return!0}return function(a){let b,c,d;if("cross-site"===a.headers.get("sec-fetch-site"))return!1;let e=a.headers.get("origin");if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&(i(e)===f||function(a,b,c){let d,e;try{d=new URL(a),e=new URL(b)}catch{return!1}if(d.protocol!==e.protocol||d.hostname.toLowerCase()!==e.hostname.toLowerCase())return!1;if(!d.port)return"same-origin"===c;let f=e.port||("https:"===e.protocol?"443":"80");return d.port===f}(e,f,a.headers.get("sec-fetch-site"))))return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a)}function l(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},78335:()=>{},89628:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{DT:()=>A,dH:()=>C,g3:()=>B,jE:()=>x,lz:()=>D,uj:()=>v});var e=c(26106),f=c.n(e),g=c(29021),h=c(21820),i=c(33873),j=c(75430),k=c(50593),l=c(8102),m=c(17551),n=c(16284),o=a([j,m]);[j,m]=o.then?(await o)():o;let F="pi-backup",G="${agentDir}",H="${home}";function p(a){if(!(0,g.existsSync)(a))return null;try{let b=JSON.parse((0,g.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:null}catch{return null}}function q(a){let b=[],c=[""];for(;c.length>0;){let d,e=c.pop(),f=(0,i.join)(a,e);try{d=(0,g.readdirSync)(f)}catch{continue}for(let a of d){let d;if("node_modules"===a||".git"===a)continue;let h=e?`${e}/${a}`:a,j=(0,i.join)(f,a);try{d=(0,g.statSync)(j)}catch{continue}d.isDirectory()?c.push(h):d.isFile()&&b.push(h)}}return b}function r(a){let b=(0,k.A0)((0,j.getAgentDir)()),c=(0,k.A0)((0,h.homedir)());return t(a,a=>{let d=(0,k.A0)(a);return d===b?G:d===c?H:d.startsWith(b+"/")?G+d.slice(b.length):d.startsWith(c+"/")?H+d.slice(c.length):a})}function s(a){let b=(0,j.getAgentDir)(),c=(0,h.homedir)();return t(a,a=>a===G?b:a===H?c:a.startsWith(G+"/")?(0,i.join)(b,...a.slice(G.length+1).split("/")):a.startsWith(H+"/")?(0,i.join)(c,...a.slice(H.length+1).split("/")):a)}function t(a,b){if("string"==typeof a)return b(a);if(Array.isArray(a))return a.map(a=>t(a,b));if(null!==a&&"object"==typeof a){let c={};for(let[d,e]of Object.entries(a))c[d]=t(e,b);return c}return a}function u(a,b,c){a.addFile(`${F}/${b}`,Buffer.isBuffer(c)?c:Buffer.from(c,"utf8"))}function v(a){let b=(0,j.getAgentDir)(),d=new(f()),e={formatVersion:1,createdAt:new Date().toISOString(),...function(){try{return{piWebVersion:c(39006).version??"unknown",piSdkVersion:"unknown"}}catch{return{piWebVersion:"unknown",piSdkVersion:"unknown"}}}(),sourcePlatform:process.platform,includeSecrets:a.includeSecrets,includeSessions:a.includeSessions,files:[],mcpBinScripts:[],localPackages:[],absolutePaths:[],warnings:[]};for(let c of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"]){let f,h=(0,i.join)(b,c);if((0,g.existsSync)(h)&&("auth.json"!==c||a.includeSecrets)){if("models.json"===c){let b;try{b=(0,m.V6)(h)}catch{throw Error("Cannot export models.json: configuration is unreadable or invalid")}f=JSON.stringify(r(a.includeSecrets?b:function(a){let b=a.providers??{},c={};for(let[a,d]of Object.entries(b))c[a]={...d},Object.hasOwn(c[a],"apiKey")&&(c[a].apiKey="");return{...a,providers:c}}(b)),null,2)}else if(f=(0,g.readFileSync)(h,"utf8"),"settings.json"===c||"mcp.json"===c){let a=p(h);a&&(f=JSON.stringify(r(a),null,2))}u(d,c,String(f)),e.files.push(`${F}/${c}`)}}let h=(0,i.join)(b,"skills");if((0,g.existsSync)(h))for(let a of q(h))d.addFile(`${F}/skills/${a}`,(0,g.readFileSync)((0,i.join)(h,a))),e.files.push(`${F}/skills/${a}`);let l=p((0,i.join)(b,"settings.json"));for(let a of l?.packages??[]){let b="string"==typeof a?a:a?.source;if(!b||b.startsWith("npm:"))continue;let c=(0,k.A0)(b);if((0,i.isAbsolute)(c)&&(0,g.existsSync)(c)){let a=(0,i.basename)(c);for(let b of q(c))d.addFile(`${F}/local-packages/${a}/${b}`,(0,g.readFileSync)((0,i.join)(c,b))),e.files.push(`${F}/local-packages/${a}/${b}`);e.localPackages.push(a)}else e.warnings.push(`Local package skipped (not found or not absolute): ${b}`)}let n=p((0,i.join)(b,"mcp.json")),o=new Set;if(n?.mcpServers)for(let a of Object.values(n.mcpServers))!function a(b,c){if("string"==typeof b){let a=`${G}/bin/`;if(b.startsWith(a)){let d=b.slice(a.length).split("/")[0];d&&c.add(d)}return}if(Array.isArray(b)){for(let d of b)a(d,c);return}if(null!==b&&"object"==typeof b)for(let d of Object.values(b))a(d,c)}(r(a),o);for(let a of o){let c=(0,i.join)(b,"bin",a);(0,g.existsSync)(c)&&(0,g.statSync)(c).isFile()?(d.addFile(`${F}/bin/${a}`,(0,g.readFileSync)(c)),e.files.push(`${F}/bin/${a}`),e.mcpBinScripts.push(a)):e.warnings.push(`MCP bin script referenced but missing: ${a}`)}if(a.includeSessions){let a=(0,i.join)(b,"sessions");if((0,g.existsSync)(a))for(let b of q(a))d.addFile(`${F}/sessions/${b}`,(0,g.readFileSync)((0,i.join)(a,b))),e.files.push(`${F}/sessions/${b}`)}return u(d,"manifest.json",JSON.stringify(e,null,2)),d.toBuffer()}let I=new Set(["npx","uvx","node","uv","npm","git","python3","python","bun","deno"]);function w(a){let b=a.toString("utf8",0,256).split(/\r?\n/,1)[0]??"";return b.startsWith("#!")?b:null}function x(a,b,c){let d=(0,j.getAgentDir)(),e=c??process.platform,f="win32"===e,g=[],h=[];for(let[c,j]of Object.entries(a)){let a,l=s(j),m="string"==typeof l.command?l.command:"",n=Array.isArray(l.args)?l.args.map(String):[],o={command:m,args:n};if(!m){h.push({name:c,original:o,adapted:null,action:"keep",platform:e});continue}let p=function(a,b){if(!a)return"manual";if((0,k.A0)(a).startsWith((0,k.A0)(b)+"/bin/"))return"restore-script";if(a.includes("/")||a.includes("\\")||a.includes(":"))return"keep-with-warning";let c=a.split(/[\s]/)[0];return I.has(c),"keep"}(m,d),q=null;if("restore-script"===p){let j=(0,i.basename)((0,k.A0)(m)),l=b.get(j);if(!l){q=null,a=`bin script ${j} missing from backup`,h.push({name:c,original:o,adapted:q,action:"manual",platform:e,reason:a,installPrompt:E({name:c,original:o,adapted:q,action:"manual",platform:e,reason:a})});continue}if(!y(j)){a=`bin script name rejected (unsafe): ${j}`;let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:E(b)}),g.push(`${c}: ${a}`);continue}if(!z(l)){a="bin script content rejected (unrecognized shebang)";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:E(b)}),g.push(`${c}: ${a}`);continue}if(f){let b=w(l);if(b&&b.includes("node"))q={command:(0,i.join)(d,"bin",`${j}.cmd`),args:n},h.push({name:c,original:o,adapted:q,action:"generate-cmd",platform:e,reason:(0,i.join)(d,"bin",j)});else{a="bash/other shebang wrapper cannot run on Windows; reinstall or adjust manually";let b={name:c,original:o,adapted:null,action:"manual",platform:e,reason:a};h.push({...b,installPrompt:E(b)}),g.push(`${c}: ${a}`)}}else q={command:(0,i.join)(d,"bin",j),args:n},h.push({name:c,original:o,adapted:q,action:"restore-script",platform:e});continue}if("keep-with-warning"===p){q={command:m,args:n},a="absolute path outside agentDir/bin — verify it exists on this machine",h.push({name:c,original:o,adapted:q,action:"keep-with-warning",platform:e,reason:a}),g.push(`${c}: ${a}`);continue}q={command:m,args:n},h.push({name:c,original:o,adapted:q,action:"keep",platform:e})}return{servers:h,warnings:g}}function y(a){return/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(a)&&!a.includes("..")}function z(a){let b=w(a);if(!b)return!1;let c=b.slice(2).trim().split(/\s+/);if(0===c.length)return!1;let d=c[0],e=d.split("/").pop()??d;return!!["node","bash","sh","python3","python","zsh"].includes(e)||"env"===e&&c.length>1&&["node","bash","sh","python3","python"].includes(c[1].split("/").pop()??"")}function A(a){let b;try{b=new(f())(a)}catch(a){throw Error(`Not a valid zip archive: ${a instanceof Error?a.message:String(a)}`)}let c=b.getEntries(),d=(0,g.mkdtempSync)((0,i.join)((0,h.tmpdir)(),"pi-backup-")),e=(0,i.join)(d,F);(0,g.mkdirSync)(e,{recursive:!0});let j=0,k=0;for(let a of c){if(a.isDirectory)continue;let c=a.entryName.replace(/\\/g,"/");if(!c.startsWith(`${F}/`))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unexpected entry outside ${F}/: ${c}`);let f=(0,i.resolve)(e,c.slice(F.length+1));if(!f.startsWith((0,i.resolve)(e)+i.sep))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Path traversal blocked: ${c}`);let h="number"==typeof a.header.size?a.header.size:0;if(j+=h,h>0x20000000||j>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`);(0,g.mkdirSync)((0,i.dirname)(f),{recursive:!0}),b.extractEntryTo(a,(0,i.dirname)(f),!1,!0);let l=(0,g.statSync)(f).size;if(k+=l,l>0x20000000||k>0x40000000)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Backup archive too large when extracted (entry: ${c})`)}let l=(0,i.join)(e,"manifest.json");if(!(0,g.existsSync)(l))throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error("Backup manifest.json missing — not a pi-web backup");let m=p(l);if(!m||1!==m.formatVersion)throw(0,g.rmSync)(d,{recursive:!0,force:!0}),Error(`Unsupported backup format version: ${m?.formatVersion??"unknown"} (expected 1)`);let n=p((0,i.join)(e,"mcp.json"))?.mcpServers??{},o=new Map;for(let a of m.mcpBinScripts??[]){let b=(0,i.join)(e,"bin",a);(0,g.existsSync)(b)&&o.set(a,(0,g.readFileSync)(b))}let q=["core","skills","packages","mcp"];return m.includeSessions&&q.push("sessions"),{manifest:m,tempDir:d,servers:n,binScripts:o,categories:q}}function B(a){(0,g.rmSync)(a.tempDir,{recursive:!0,force:!0})}function C(a,b){let c=(0,j.getAgentDir)(),{manifest:d}=a,e={restored:[],needsRestart:[],manual:[],warnings:[]},f=new Set(b.categories),h=new Set(b.skippedMcpServers),m=b=>{let d=(0,i.join)(c,b),f=(0,i.join)(a.tempDir,F,b);(0,g.existsSync)(f)&&((0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)(f,"utf8")),e.restored.push(b))};if(f.has("core"))for(let a of["models.json","auth.json","settings.json","mcp.json","models-store.json","AGENTS.md","APPEND_SYSTEM.md"])("auth.json"!==a||d.includeSecrets)&&(m(a),e.needsRestart.push(a));if(f.has("skills")){let b=(0,i.join)(a.tempDir,F,"skills");if((0,g.existsSync)(b)){for(let a of q(b)){let d=(0,i.join)(c,"skills",a);(0,g.mkdirSync)((0,i.dirname)(d),{recursive:!0}),(0,l.$)(d,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push("skills/")}}if(f.has("packages")){let b=(0,i.join)(c,"settings.json"),f=p(b)??{},h=f.packages??[],j=d.localPackages??[],m=(0,i.join)(a.tempDir,F,"local-packages");for(let a of j){if(!y(a)){e.warnings.push(`Local package ${a} not restored (unsafe name)`);continue}let b=(0,i.join)(m,a);if(!(0,g.existsSync)(b)){e.warnings.push(`Local package ${a} missing from backup`);continue}let d=(0,i.join)(c,"local-packages",a);for(let a of q(b)){let c=(0,i.join)(d,a);(0,g.mkdirSync)((0,i.dirname)(c),{recursive:!0}),(0,l.$)(c,(0,g.readFileSync)((0,i.join)(b,a),"utf8"))}e.restored.push(`local-packages/${a}`)}let n=!1,o=h.map(a=>{let b="string"==typeof a?a:a?.source;if("string"!=typeof b||b.startsWith("npm:"))return a;let d=(0,i.basename)((0,k.A0)(b));if(j.includes(d)){n=!0;let b=(0,i.join)(c,"local-packages",d);return"string"==typeof a?b:{...a,source:b}}return a});if(n){let a={...f,packages:o};(0,l.$)(b,JSON.stringify(a,null,2)),e.restored.push("settings.json (packages paths)"),e.needsRestart.push("settings.json (packages paths)")}for(let a of h.map(a=>"string"==typeof a?a:a?.source).filter(a=>"string"==typeof a&&a.startsWith("npm:")))e.restored.push(`npm package ${a} (queued for reinstall)`)}if(f.has("mcp")){let b=x(a.servers,a.binScripts);e.warnings.push(...b.warnings);let d=p((0,i.join)(c,"mcp.json"))??{},f={};for(let d of b.servers){if(h.has(d.name))continue;if("manual"===d.action){e.manual.push({server:d.name,message:d.reason??"cannot be adapted automatically"});continue}let b=a.servers[d.name]??{},j=s(b);if(f[d.name]={...j,command:d.adapted?.command??j.command,...d.adapted?{args:d.adapted.args}:{}},"restore-script"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))),f=a.binScripts.get(b);if(f&&y(b)&&z(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));try{(0,g.chmodSync)(a,493)}catch{}e.restored.push(`bin/${b}`)}else e.warnings.push(`bin script ${b} not restored (unsafe name or content)`)}if("generate-cmd"===d.action){let b=(0,i.basename)((0,k.A0)(String(d.adapted?.command??""))).replace(/\.cmd$/,""),f=a.binScripts.get(b);if(f&&y(b)&&z(f)){let a=(0,i.join)(c,"bin",b);(0,g.mkdirSync)((0,i.dirname)(a),{recursive:!0}),(0,l.$)(a,f.toString("utf8"));let d=(0,i.join)(c,"bin",`${b}.cmd`),h=`%~dp0${b}`;(0,l.$)(d,`@node "${h}" %*\r
3
3
  `),e.restored.push(`bin/${b}`,`bin/${b}.cmd`)}else e.warnings.push(`bin script ${b} not restored (unsafe name or content)`)}}(0,l.$)((0,i.join)(c,"mcp.json"),JSON.stringify({...d,mcpServers:f},null,2)),e.restored.push("mcp.json"),e.needsRestart.push("mcp.json")}if(f.has("sessions")){let b=(0,n.U)((0,i.join)(a.tempDir,F,"sessions"),c);e.restored.push(...b.restored),e.warnings.push(...b.warnings)}return{report:e,npmPackages:D(a)}}function D(a){let b=p((0,i.join)(a.tempDir,F,"settings.json"));return(b?.packages??[]).map(a=>"string"==typeof a?a:a?.source).filter(a=>"string"==typeof a&&a.startsWith("npm:"))}function E(a){let b=(0,j.getAgentDir)(),c="win32"===process.platform?"Windows":"darwin"===process.platform?"macOS":"Linux",d=JSON.stringify(a.original,null,2);return[`请在当前环境(${c})安装 MCP server「${a.name}」。`,"\n## 原始配置(来自备份)\n```json",d,"```\n\n## 统一安装约定",`- 脚本类工具统一安装到 \`${(0,i.join)(b,"bin")}\`(Windows 上同时生成同名 \`.cmd\` 包装)。`,`- npm 类工具统一通过 \`npx <pkg>\` 运行,或安装到 \`${(0,i.join)(b,"npm")}\` 后引用。`,"- 依赖(node/npx/uv 等)统一从 PATH 解析,不要硬编码本机绝对路径。\n- 安装完成后,输出可直接写入 `~/.pi/agent/mcp.json` 的完整 server 配置片段(含 command/args/transport/lifecycle)。\n- 不要修改 mcp.json 中其它 server 的配置。\n\n安装过程中如遇障碍,请说明原因并给出替代方案。"].join("\n")}d()}catch(a){d(a)}})},96487:()=>{}};