@leanspec/ui 0.2.9 → 0.2.10

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 (609) hide show
  1. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/README.md +2 -2
  2. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/glib-2.0/include/glibconfig.h +9 -8
  3. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64/lib/libvips-cpp.8.17.3.dylib → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3} +0 -0
  4. package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/package.json +11 -5
  5. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  6. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  7. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  8. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  9. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  10. package/.next/standalone/node_modules/.pnpm/@img+sharp-libvips-linuxmusl-x64@1.2.4/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  11. package/.next/standalone/node_modules/.pnpm/@img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  12. package/.next/standalone/node_modules/.pnpm/{@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64 → @img+sharp-linux-x64@0.34.5/node_modules/@img/sharp-linux-x64}/package.json +13 -7
  13. package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  14. package/.next/standalone/node_modules/.pnpm/@img+sharp-linuxmusl-x64@0.34.5/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  15. package/.next/standalone/node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  16. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  17. package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +11 -0
  18. package/.next/standalone/packages/ui/.next/build-manifest.json +2 -2
  19. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  20. package/.next/standalone/packages/ui/.next/required-server-files.json +4 -4
  21. package/.next/standalone/packages/ui/.next/routes-manifest.json +88 -0
  22. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  23. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  25. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  26. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  27. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  28. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  29. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  30. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  33. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +18 -20
  34. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +18 -20
  35. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +23 -26
  36. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  37. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  38. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
  39. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js +1 -1
  40. package/.next/standalone/packages/ui/.next/server/app/api/context/route.js.nft.json +1 -1
  41. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js +1 -1
  42. package/.next/standalone/packages/ui/.next/server/app/api/dependencies/route.js.nft.json +1 -1
  43. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/[id]/route.js.nft.json +1 -1
  44. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/discover/route.js.nft.json +1 -1
  45. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/list-directory/route.js.nft.json +1 -1
  46. package/.next/standalone/packages/ui/.next/server/app/api/local-projects/route.js.nft.json +1 -1
  47. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/app-paths-manifest.json +3 -0
  48. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/build-manifest.json +11 -0
  49. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route/server-reference-manifest.json +4 -0
  50. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js +8 -0
  51. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.map +5 -0
  52. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route.js.nft.json +1 -0
  53. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/context/route_client-reference-manifest.js +2 -0
  54. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/app-paths-manifest.json +3 -0
  55. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/build-manifest.json +11 -0
  56. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route/server-reference-manifest.json +4 -0
  57. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js +8 -0
  58. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.map +5 -0
  59. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route.js.nft.json +1 -0
  60. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/dependencies/route_client-reference-manifest.js +2 -0
  61. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js +1 -3
  62. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  63. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route/app-paths-manifest.json +3 -0
  64. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route/build-manifest.json +11 -0
  65. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route/server-reference-manifest.json +4 -0
  66. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js +8 -0
  67. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js.map +5 -0
  68. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route.js.nft.json +1 -0
  69. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/dependency-graph/route_client-reference-manifest.js +2 -0
  70. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/app-paths-manifest.json +3 -0
  71. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/build-manifest.json +11 -0
  72. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route/server-reference-manifest.json +4 -0
  73. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js +8 -0
  74. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js.map +5 -0
  75. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route.js.nft.json +1 -0
  76. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/metadata/route_client-reference-manifest.js +2 -0
  77. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js +1 -2
  78. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/route.js.nft.json +1 -1
  79. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js +1 -1
  80. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/[spec]/status/route.js.nft.json +1 -1
  81. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +1 -2
  82. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  83. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js +1 -1
  84. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/stats/route.js.nft.json +1 -1
  85. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route/app-paths-manifest.json +3 -0
  86. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route/build-manifest.json +11 -0
  87. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route/server-reference-manifest.json +4 -0
  88. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js +8 -0
  89. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js.map +5 -0
  90. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route.js.nft.json +1 -0
  91. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/tags/route_client-reference-manifest.js +2 -0
  92. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/app-paths-manifest.json +3 -0
  93. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/build-manifest.json +11 -0
  94. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route/server-reference-manifest.json +4 -0
  95. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js +6 -0
  96. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.map +5 -0
  97. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route.js.nft.json +1 -0
  98. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/validate/route_client-reference-manifest.js +2 -0
  99. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +1 -3
  100. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  101. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +1 -1
  102. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  103. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +1 -1
  104. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  105. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route/app-paths-manifest.json +3 -0
  106. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route/build-manifest.json +11 -0
  107. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route/server-reference-manifest.json +4 -0
  108. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js +8 -0
  109. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js.map +5 -0
  110. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route.js.nft.json +1 -0
  111. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/metadata/route_client-reference-manifest.js +2 -0
  112. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +1 -1
  113. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  114. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -1
  115. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +1 -1
  116. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  117. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +1 -1
  118. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  119. package/.next/standalone/packages/ui/.next/server/app/api/tags/route/app-paths-manifest.json +3 -0
  120. package/.next/standalone/packages/ui/.next/server/app/api/tags/route/build-manifest.json +11 -0
  121. package/.next/standalone/packages/ui/.next/server/app/api/tags/route/server-reference-manifest.json +4 -0
  122. package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js +8 -0
  123. package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js.map +5 -0
  124. package/.next/standalone/packages/ui/.next/server/app/api/tags/route.js.nft.json +1 -0
  125. package/.next/standalone/packages/ui/.next/server/app/api/tags/route_client-reference-manifest.js +2 -0
  126. package/.next/standalone/packages/ui/.next/server/app/context/page.js +2 -1
  127. package/.next/standalone/packages/ui/.next/server/app/context/page.js.nft.json +1 -1
  128. package/.next/standalone/packages/ui/.next/server/app/context/page_client-reference-manifest.js +1 -1
  129. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js +2 -1
  130. package/.next/standalone/packages/ui/.next/server/app/dependencies/page.js.nft.json +1 -1
  131. package/.next/standalone/packages/ui/.next/server/app/dependencies/page_client-reference-manifest.js +1 -1
  132. package/.next/standalone/packages/ui/.next/server/app/page.js +2 -1
  133. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  134. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  135. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/app-paths-manifest.json +3 -0
  136. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/build-manifest.json +18 -0
  137. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/next-font-manifest.json +6 -0
  138. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/react-loadable-manifest.json +1 -0
  139. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page/server-reference-manifest.json +4 -0
  140. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js +21 -0
  141. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.map +5 -0
  142. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page.js.nft.json +1 -0
  143. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/context/page_client-reference-manifest.js +2 -0
  144. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/app-paths-manifest.json +3 -0
  145. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/build-manifest.json +18 -0
  146. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/next-font-manifest.json +6 -0
  147. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/react-loadable-manifest.json +1 -0
  148. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page/server-reference-manifest.json +4 -0
  149. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js +21 -0
  150. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.map +5 -0
  151. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page.js.nft.json +1 -0
  152. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/dependencies/page_client-reference-manifest.js +2 -0
  153. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js +5 -5
  154. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page.js.nft.json +1 -1
  155. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/page_client-reference-manifest.js +1 -1
  156. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js +6 -5
  157. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page.js.nft.json +1 -1
  158. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/[specId]/page_client-reference-manifest.js +1 -1
  159. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js +5 -4
  160. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page.js.nft.json +1 -1
  161. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/specs/page_client-reference-manifest.js +1 -1
  162. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/app-paths-manifest.json +3 -0
  163. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/build-manifest.json +18 -0
  164. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/next-font-manifest.json +6 -0
  165. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/react-loadable-manifest.json +1 -0
  166. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page/server-reference-manifest.json +4 -0
  167. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js +21 -0
  168. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.map +5 -0
  169. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page.js.nft.json +1 -0
  170. package/.next/standalone/packages/ui/.next/server/app/projects/[projectId]/stats/page_client-reference-manifest.js +2 -0
  171. package/.next/standalone/packages/ui/.next/server/app/projects/page.js +5 -4
  172. package/.next/standalone/packages/ui/.next/server/app/projects/page.js.nft.json +1 -1
  173. package/.next/standalone/packages/ui/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  174. package/.next/standalone/packages/ui/.next/server/app/projects.html +2 -2
  175. package/.next/standalone/packages/ui/.next/server/app/projects.rsc +24 -25
  176. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_full.segment.rsc +24 -25
  177. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_index.segment.rsc +20 -24
  178. package/.next/standalone/packages/ui/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  179. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  180. package/.next/standalone/packages/ui/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  181. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  182. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  183. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -1
  184. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  185. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  186. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -1
  187. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  188. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  189. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +11 -0
  190. package/.next/standalone/packages/ui/.next/server/chunks/284a8_app_api_projects_[id]_specs_[spec]_dependency-graph_route_actions_f18476ed.js +3 -0
  191. package/.next/standalone/packages/ui/.next/server/chunks/6681a__next-internal_server_app_api_projects_[id]_dependencies_route_actions_7ac49581.js +3 -0
  192. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_context_route_actions_96adca70.js +3 -0
  193. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_tags_route_actions_40899744.js +3 -0
  194. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_projects_[id]_validate_route_actions_b60372c9.js +3 -0
  195. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_metadata_route_actions_139bb09f.js +3 -0
  196. package/.next/standalone/packages/ui/.next/server/chunks/[externals]_better-sqlite3_a1cc22cb._.js +3 -0
  197. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0afcada7._.js +3 -0
  198. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0e63a440._.js +3 -0
  199. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0ec6f9b0._.js +3 -0
  200. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0edb782a._.js +3 -0
  201. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__0fbfea15._.js +1 -1
  202. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1706515f._.js +3 -0
  203. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__1f037512._.js +1 -1
  204. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__38780e00._.js +3 -0
  205. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3a535244._.js +3 -0
  206. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__41f43652._.js +3 -0
  207. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5081ac6f._.js +3 -0
  208. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__526764b2._.js +3 -0
  209. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__548e27d4._.js +1 -1
  210. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__5f1e0195._.js +3 -0
  211. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__71d98924._.js +3 -0
  212. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__74af400b._.js +3 -0
  213. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8075fe29._.js +1 -1
  214. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9ce722b4._.js +1 -1
  215. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9cf3bf21._.js +3 -0
  216. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2d7cbed._.js +1 -1
  217. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b1ad8b69._.js +3 -0
  218. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__c7a4906b._.js +3 -0
  219. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__de15d2aa._.js +3 -0
  220. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e16f7651._.js +3 -0
  221. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e2fcb5c6._.js +3 -0
  222. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e8d9903e._.js +3 -0
  223. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f6936b89._.js +3 -0
  224. package/.next/standalone/packages/ui/.next/server/chunks/f825c_server_app_api_projects_[id]_specs_[spec]_metadata_route_actions_35af9a8c.js +3 -0
  225. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui__next-internal_server_app_api_tags_route_actions_64625b2c.js +3 -0
  226. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_b8c1af87._.js +3 -0
  227. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_baa0160d._.js +72 -1
  228. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_context_page_actions_e4940a48.js +3 -0
  229. package/.next/standalone/packages/ui/.next/server/chunks/ssr/730ea_ui__next-internal_server_app_projects_[projectId]_stats_page_actions_82a85203.js +3 -0
  230. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__0f0dade1._.js +1 -1
  231. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__174e1ca1._.js +3 -0
  232. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__212c8580._.js +3 -0
  233. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__2b66bcca._.js +3 -0
  234. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__a965a67b._.js → [root-of-the-server]__2d9202e8._.js} +2 -2
  235. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__312221a2._.js +3 -0
  236. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__338c65fe._.js +1 -1
  237. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__366688dd._.js +3 -0
  238. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__44b603f9._.js +1 -1
  239. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__46b71f61._.js +3 -0
  240. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__665ae766._.js +3 -0
  241. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__69a0d63a._.js +1 -1
  242. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
  243. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__a34731d8._.js +3 -0
  244. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__12b4eb41._.js → [root-of-the-server]__b0d6e2ad._.js} +2 -2
  245. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c158c9a9._.js +3 -0
  246. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__c7735439._.js +3 -0
  247. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__dcee62dd._.js +3 -0
  248. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e2c760eb._.js +3 -0
  249. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ead1539c._.js +1 -1
  250. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ec5b96a5._.js +1 -1
  251. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  252. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_39562b2a._.js → _170362f4._.js} +3 -3
  253. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_1a642e67._.js +4 -0
  254. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_adb9d7cb._.js → _22274047._.js} +2 -2
  255. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_85effc18._.js → _2bc76f88._.js} +3 -3
  256. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_fdd7780b._.js → _3f059230._.js} +3 -3
  257. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_58b98a8f._.js +4 -0
  258. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_59616aa6._.js +3 -0
  259. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_5e1484f9._.js +7 -0
  260. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8ab6f9ca._.js +3 -0
  261. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b303aeea._.js +3 -0
  262. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{_bae6d2b8._.js → _b421ba4a._.js} +3 -3
  263. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_be836d6a._.js +5 -0
  264. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_d840ffc6._.js +3 -0
  265. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ec637d7c._.js +3 -0
  266. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f05260d6._.js +4 -0
  267. package/.next/standalone/packages/ui/.next/server/chunks/ssr/f825c_server_app_projects_[projectId]_dependencies_page_actions_ba2321b8.js +3 -0
  268. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_0056f1f2._.js +3 -0
  269. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_30b0b05a._.js +3 -0
  270. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_478d57e5._.js +3 -0
  271. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_151891de._.js → node_modules__pnpm_4e3e790c._.js} +2 -2
  272. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_f5b29533._.js → node_modules__pnpm_8680dc29._.js} +2 -2
  273. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_e175b92a._.js → node_modules__pnpm_94a0b1f5._.js} +2 -2
  274. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_1120b57c._.js → node_modules__pnpm_b4ff5c78._.js} +2 -2
  275. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{node_modules__pnpm_7791e3b8._.js → node_modules__pnpm_d3262b3d._.js} +2 -2
  276. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_context_context-client_tsx_4ba99a62._.js +2 -2
  277. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_dependencies_dependencies-client_tsx_0e82443a._.js +1 -1
  278. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_layout_tsx_86c2ce0f._.js +3 -0
  279. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_projects_page_tsx_6e166c8e._.js +1 -1
  280. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +1 -1
  281. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_spec-detail-wrapper_tsx_fd35401c._.js +1 -1
  282. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +1 -1
  283. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  284. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  285. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  286. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  287. package/.next/standalone/packages/ui/.next/static/chunks/0c7bbb59865774a1.js +1 -0
  288. package/.next/standalone/packages/ui/.next/static/chunks/0fe978002ba489fb.js +3 -0
  289. package/.next/standalone/packages/ui/.next/static/chunks/1169d4ac8f9df687.js +1 -0
  290. package/.next/standalone/packages/ui/.next/static/chunks/1e0689744f87e958.js +2 -0
  291. package/.next/standalone/packages/ui/.next/static/chunks/241b6b1c83610ebf.js +1 -0
  292. package/.next/standalone/packages/ui/.next/static/chunks/39931c5cecf4c4b7.js +1 -0
  293. package/.next/{static/chunks/6d938a49daa10208.js → standalone/packages/ui/.next/static/chunks/4610aea3ca2e69eb.js} +1 -1
  294. package/.next/standalone/packages/ui/.next/static/chunks/6d7922838a3513a4.js +1 -0
  295. package/.next/standalone/packages/ui/.next/static/chunks/781328ee279ffc41.js +1 -0
  296. package/.next/standalone/packages/ui/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
  297. package/.next/standalone/packages/ui/.next/static/chunks/840c6743a491a398.js +1 -0
  298. package/.next/standalone/packages/ui/.next/static/chunks/937cb3894a606899.js +5 -0
  299. package/.next/standalone/packages/ui/.next/static/chunks/9cf644b700f37825.css +1 -0
  300. package/.next/{static/chunks/a3d7e1be47de010b.js → standalone/packages/ui/.next/static/chunks/bbd498aa5689c057.js} +1 -1
  301. package/.next/standalone/packages/ui/.next/static/chunks/bc0f8f7f8dc0a352.js +1 -0
  302. package/.next/{static/chunks/979625373d5474b6.js → standalone/packages/ui/.next/static/chunks/c26909a25ca9fc9b.js} +1 -1
  303. package/.next/{static/chunks/e3bc96a996e2a314.js → standalone/packages/ui/.next/static/chunks/d26f4109b44eb240.js} +1 -1
  304. package/.next/standalone/packages/ui/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
  305. package/.next/standalone/packages/ui/.next/static/chunks/dbce73f7087f2470.js +10 -0
  306. package/.next/standalone/packages/ui/.next/static/chunks/e399b4afc7936907.js +1 -0
  307. package/.next/standalone/packages/ui/.next/static/chunks/f0a083ac29b4b6c2.js +1 -0
  308. package/.next/standalone/packages/ui/dist/BUILD_ID +1 -0
  309. package/.next/standalone/packages/ui/dist/standalone/packages/web/package.json +1 -9
  310. package/.next/standalone/packages/ui/dist/standalone/packages/web/server.js +1 -1
  311. package/.next/standalone/packages/ui/dist/standalone/specs/035-live-specs-showcase/README.md +3 -7
  312. package/.next/standalone/packages/ui/dist/standalone/specs/072-ai-agent-first-use-workflow/README.md +3 -5
  313. package/.next/standalone/packages/ui/dist/standalone/specs/081-web-app-ux-redesign/README.md +1 -2
  314. package/.next/standalone/packages/ui/dist/standalone/specs/082-web-realtime-sync-architecture/README.md +3 -8
  315. package/.next/standalone/packages/ui/dist/standalone/specs/087-cli-ui-command/README.md +259 -73
  316. package/.next/standalone/packages/ui/dist/standalone/specs/088-core-concepts-terminology-only/README.md +3 -5
  317. package/.next/standalone/packages/ui/dist/standalone/specs/089-sdd-practical-tutorials/README.md +3 -5
  318. package/.next/standalone/packages/ui/dist/standalone/specs/090-leanspec-sdd-case-studies/README.md +3 -5
  319. package/.next/standalone/packages/ui/dist/standalone/specs/091-chinese-localization-strategy/README.md +23 -33
  320. package/.next/standalone/packages/ui/dist/standalone/specs/092-docs-site-submodule-migration/README.md +3 -7
  321. package/.next/standalone/packages/ui/dist/standalone/specs/093-spec-detail-ui-improvements/README.md +14 -25
  322. package/.next/standalone/packages/ui/dist/static/chunks/0c19c69aa7625475.js +1 -0
  323. package/.next/standalone/packages/ui/dist/static/chunks/116800b03245a1e5.js +1 -0
  324. package/.next/standalone/packages/ui/dist/static/chunks/15843a3d7584e314.js +1 -0
  325. package/.next/standalone/packages/ui/dist/static/chunks/19e80edf527aef5c.js +1 -0
  326. package/.next/standalone/packages/ui/dist/static/chunks/465954d5af3284a9.js +1 -0
  327. package/.next/standalone/packages/ui/dist/static/chunks/5abeeb89f1412a80.js +3 -0
  328. package/.next/standalone/packages/ui/dist/static/chunks/5c2072ad938de8ed.js +1 -0
  329. package/.next/standalone/packages/ui/dist/static/chunks/6a05a93ec8fa7b83.js +1 -0
  330. package/.next/standalone/packages/ui/dist/static/chunks/778e42188e450b39.css +1 -0
  331. package/.next/standalone/packages/ui/dist/static/chunks/a02c1f50ff00204f.js +1 -0
  332. package/.next/standalone/packages/ui/dist/static/chunks/a45464b9776dd88e.js +1 -0
  333. package/.next/standalone/packages/ui/dist/static/chunks/a6dad97d9634a72d.js +1 -0
  334. package/.next/standalone/packages/ui/dist/static/chunks/b0ea0ac61604f843.js +1 -0
  335. package/.next/standalone/packages/ui/dist/static/chunks/c06e85b449720194.js +1 -0
  336. package/.next/standalone/packages/ui/dist/static/chunks/c557ac675be79771.js +1 -0
  337. package/.next/standalone/packages/ui/dist/static/chunks/cad005a57ffbb2d3.js +1 -0
  338. package/.next/standalone/packages/ui/dist/static/chunks/cdf6fe33bc65efbc.js +1 -0
  339. package/.next/standalone/packages/ui/dist/static/chunks/d12ed5dbe44caed7.js +1 -0
  340. package/.next/standalone/packages/ui/dist/static/chunks/d1ebe5c1a344f4ca.js +5 -0
  341. package/.next/standalone/packages/ui/dist/static/chunks/d42cf1682bc46652.js +1 -0
  342. package/.next/standalone/packages/ui/dist/static/chunks/dde5d8bddd7fbfcf.js +1 -0
  343. package/.next/standalone/packages/ui/dist/static/chunks/ebd89051637b9a47.js +4 -0
  344. package/.next/standalone/packages/ui/dist/static/chunks/ec82875d18b29f47.js +2 -0
  345. package/.next/standalone/packages/ui/dist/static/chunks/f0b701df9769bcc5.js +19 -0
  346. package/.next/standalone/packages/ui/dist/static/chunks/turbopack-1c09a99f4c9e28d3.js +3 -0
  347. package/.next/standalone/packages/ui/package.json +1 -1
  348. package/.next/standalone/packages/ui/server.js +1 -1
  349. package/.next/standalone/packages/ui/src/app/api/dependencies/route.ts +4 -67
  350. package/.next/standalone/packages/ui/src/app/api/projects/[id]/context/route.ts +39 -0
  351. package/.next/standalone/packages/ui/src/app/api/projects/[id]/dependencies/route.ts +20 -0
  352. package/.next/standalone/packages/ui/src/app/api/projects/[id]/route.ts +25 -9
  353. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/dependency-graph/route.ts +129 -0
  354. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/metadata/route.ts +170 -0
  355. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/route.ts +14 -14
  356. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/[spec]/status/route.ts +9 -2
  357. package/.next/standalone/packages/ui/src/app/api/projects/[id]/specs/route.ts +9 -8
  358. package/.next/standalone/packages/ui/src/app/api/projects/[id]/tags/route.ts +25 -0
  359. package/.next/standalone/packages/ui/src/app/api/projects/[id]/validate/route.ts +49 -0
  360. package/.next/standalone/packages/ui/src/app/api/projects/route.ts +18 -5
  361. package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -2
  362. package/.next/standalone/packages/ui/src/app/api/specs/[id]/dependency-graph/route.ts +0 -15
  363. package/.next/standalone/packages/ui/src/app/api/specs/[id]/metadata/route.ts +184 -0
  364. package/.next/standalone/packages/ui/src/app/api/tags/route.ts +16 -0
  365. package/.next/standalone/packages/ui/src/app/context/page.tsx +22 -0
  366. package/.next/standalone/packages/ui/src/app/dashboard-client.tsx +43 -62
  367. package/.next/standalone/packages/ui/src/app/dependencies/constants.ts +9 -8
  368. package/.next/standalone/packages/ui/src/app/dependencies/dependencies-client.tsx +95 -20
  369. package/.next/standalone/packages/ui/src/app/dependencies/page.tsx +25 -13
  370. package/.next/standalone/packages/ui/src/app/dependencies/spec-node.tsx +8 -8
  371. package/.next/standalone/packages/ui/src/app/dependencies/spec-sidebar.tsx +40 -67
  372. package/.next/standalone/packages/ui/src/app/page.tsx +24 -0
  373. package/.next/standalone/packages/ui/src/app/projects/[projectId]/context/page.tsx +41 -0
  374. package/.next/standalone/packages/ui/src/app/projects/[projectId]/dependencies/page.tsx +30 -0
  375. package/.next/standalone/packages/ui/src/app/projects/[projectId]/page.tsx +18 -2
  376. package/.next/standalone/packages/ui/src/app/projects/[projectId]/stats/page.tsx +24 -0
  377. package/.next/standalone/packages/ui/src/app/projects/layout.tsx +7 -0
  378. package/.next/standalone/packages/ui/src/app/projects/page.tsx +375 -107
  379. package/.next/standalone/packages/ui/src/app/specs/[id]/page.tsx +24 -1
  380. package/.next/standalone/packages/ui/src/app/specs/page.tsx +22 -0
  381. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +28 -18
  382. package/.next/standalone/packages/ui/src/app/stats/page.tsx +22 -0
  383. package/.next/standalone/packages/ui/src/components/color-picker.tsx +73 -0
  384. package/.next/standalone/packages/ui/src/components/create-project-dialog.tsx +3 -5
  385. package/.next/standalone/packages/ui/src/components/directory-picker.tsx +1 -0
  386. package/.next/standalone/packages/ui/{dist/standalone/packages/web/src/components/spec-metadata.tsx → src/components/editable-spec-metadata.tsx} +46 -30
  387. package/.next/standalone/packages/ui/src/components/main-sidebar.tsx +28 -6
  388. package/.next/standalone/packages/ui/src/components/markdown-link.tsx +15 -8
  389. package/.next/standalone/packages/ui/src/components/priority-editor.tsx +153 -0
  390. package/.next/standalone/packages/ui/src/components/project-switcher.tsx +74 -10
  391. package/.next/standalone/packages/ui/src/components/quick-search.tsx +3 -1
  392. package/.next/standalone/packages/ui/src/components/spec-dependency-graph.tsx +13 -52
  393. package/.next/standalone/packages/ui/src/components/spec-detail-client.tsx +58 -30
  394. package/.next/standalone/packages/ui/src/components/spec-detail-wrapper.tsx +3 -4
  395. package/.next/standalone/packages/ui/src/components/specs-nav-sidebar.tsx +8 -6
  396. package/.next/standalone/packages/ui/src/components/status-editor.tsx +153 -0
  397. package/.next/standalone/packages/ui/src/components/tags-editor.tsx +238 -0
  398. package/.next/standalone/packages/ui/src/components/ui/command.tsx +1 -1
  399. package/.next/standalone/packages/ui/src/contexts/project-context.tsx +24 -0
  400. package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +230 -40
  401. package/.next/standalone/packages/ui/src/lib/dependency-graph.ts +0 -13
  402. package/.next/standalone/packages/ui/src/lib/projects/registry.ts +1 -1
  403. package/.next/standalone/packages/ui/src/lib/specs/sources/multi-project-source.ts +21 -5
  404. package/.next/standalone/packages/ui/src/types/specs.ts +6 -4
  405. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  406. package/.next/static/chunks/0c7bbb59865774a1.js +1 -0
  407. package/.next/static/chunks/0fe978002ba489fb.js +3 -0
  408. package/.next/static/chunks/1169d4ac8f9df687.js +1 -0
  409. package/.next/static/chunks/1e0689744f87e958.js +2 -0
  410. package/.next/static/chunks/241b6b1c83610ebf.js +1 -0
  411. package/.next/static/chunks/39931c5cecf4c4b7.js +1 -0
  412. package/.next/{standalone/packages/ui/.next/static/chunks/6d938a49daa10208.js → static/chunks/4610aea3ca2e69eb.js} +1 -1
  413. package/.next/static/chunks/6d7922838a3513a4.js +1 -0
  414. package/.next/static/chunks/781328ee279ffc41.js +1 -0
  415. package/.next/static/chunks/{942cf63b4032c808.js → 7df6308e6cfcf902.js} +1 -1
  416. package/.next/static/chunks/840c6743a491a398.js +1 -0
  417. package/.next/static/chunks/937cb3894a606899.js +5 -0
  418. package/.next/static/chunks/9cf644b700f37825.css +1 -0
  419. package/.next/{standalone/packages/ui/.next/static/chunks/a3d7e1be47de010b.js → static/chunks/bbd498aa5689c057.js} +1 -1
  420. package/.next/static/chunks/bc0f8f7f8dc0a352.js +1 -0
  421. package/.next/{standalone/packages/ui/.next/static/chunks/979625373d5474b6.js → static/chunks/c26909a25ca9fc9b.js} +1 -1
  422. package/.next/{standalone/packages/ui/.next/static/chunks/e3bc96a996e2a314.js → static/chunks/d26f4109b44eb240.js} +1 -1
  423. package/.next/static/chunks/{3276ca6fd9005903.js → d52a048b511c32bd.js} +1 -1
  424. package/.next/static/chunks/dbce73f7087f2470.js +10 -0
  425. package/.next/static/chunks/e399b4afc7936907.js +1 -0
  426. package/.next/static/chunks/f0a083ac29b4b6c2.js +1 -0
  427. package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_buildManifest.js +11 -0
  428. package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_clientMiddlewareManifest.json +1 -0
  429. package/.next/static/s9uUE9DnvJD2xIz-iBGMe/_ssgManifest.js +1 -0
  430. package/package.json +2 -2
  431. package/.next/standalone/node_modules/.pnpm/@img+sharp-darwin-arm64@0.34.5/node_modules/@img/sharp-darwin-arm64/lib/sharp-darwin-arm64.node +0 -0
  432. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__126dea7b._.js +0 -3
  433. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__65667b70._.js +0 -3
  434. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__675a763e._.js +0 -3
  435. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__803d07f0._.js +0 -3
  436. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8233e09b._.js +0 -3
  437. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__84cdc14a._.js +0 -3
  438. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__8a9ab1a3._.js +0 -3
  439. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__aa677b0d._.js +0 -3
  440. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__ae726e9c._.js +0 -3
  441. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__b0969111._.js +0 -3
  442. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__bdc3963a._.js +0 -3
  443. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f06435b0._.js +0 -3
  444. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__f5c6d6b8._.js +0 -3
  445. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__fb91986f._.js +0 -3
  446. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_db_index_ts_556307fa._.js +0 -74
  447. package/.next/standalone/packages/ui/.next/server/chunks/packages_ui_src_lib_specs_sources_database-source_ts_0bd881ee._.js +0 -3
  448. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__3c77d95b._.js +0 -3
  449. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__50122e7e._.js +0 -3
  450. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__8608a6fa._.js +0 -3
  451. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__88a691ee._.js +0 -3
  452. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__bdbbba01._.js +0 -3
  453. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__cc589a54._.js +0 -3
  454. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__daedd80e._.js +0 -3
  455. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__dc176c61._.js +0 -3
  456. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_03aa8d19._.js +0 -7
  457. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_28fe1532._.js +0 -5
  458. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_3b617676._.js +0 -3
  459. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_8cec504f._.js +0 -3
  460. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_ea899b87._.js +0 -3
  461. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_fe120f8a._.js +0 -3
  462. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_1c916fe3._.js +0 -3
  463. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_3ba1438c._.js +0 -3
  464. package/.next/standalone/packages/ui/.next/static/chunks/094cf9f4e3553261.js +0 -1
  465. package/.next/standalone/packages/ui/.next/static/chunks/1c015eb9eaaf9f9c.js +0 -1
  466. package/.next/standalone/packages/ui/.next/static/chunks/1d36660b2877d213.js +0 -3
  467. package/.next/standalone/packages/ui/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
  468. package/.next/standalone/packages/ui/.next/static/chunks/2c85b8059e42248a.js +0 -1
  469. package/.next/standalone/packages/ui/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
  470. package/.next/standalone/packages/ui/.next/static/chunks/4d29ca0fa6843070.js +0 -2
  471. package/.next/standalone/packages/ui/.next/static/chunks/59854b15bf046467.js +0 -1
  472. package/.next/standalone/packages/ui/.next/static/chunks/5fd8101e32b076b1.js +0 -1
  473. package/.next/standalone/packages/ui/.next/static/chunks/a33f10af6abef4df.js +0 -10
  474. package/.next/standalone/packages/ui/.next/static/chunks/b7f19087afe1d2c9.css +0 -1
  475. package/.next/standalone/packages/ui/.next/static/chunks/ddd87cd0d26bc2f5.js +0 -1
  476. package/.next/standalone/packages/ui/.next/static/chunks/eeec245955b3b600.js +0 -5
  477. package/.next/standalone/packages/ui/dist/standalone/packages/web/components.json +0 -20
  478. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0000_reflective_thena.sql +0 -59
  479. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/0001_fresh_carmella_unuscione.sql +0 -1
  480. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0000_snapshot.json +0 -427
  481. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/0001_snapshot.json +0 -436
  482. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle/meta/_journal.json +0 -20
  483. package/.next/standalone/packages/ui/dist/standalone/packages/web/drizzle.config.ts +0 -10
  484. package/.next/standalone/packages/ui/dist/standalone/packages/web/eslint.config.mjs +0 -18
  485. package/.next/standalone/packages/ui/dist/standalone/packages/web/next.config.ts +0 -7
  486. package/.next/standalone/packages/ui/dist/standalone/packages/web/postcss.config.mjs +0 -8
  487. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/[id]/specs/route.ts +0 -23
  488. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/projects/route.ts +0 -19
  489. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/revalidate/route.ts +0 -63
  490. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.test.ts +0 -51
  491. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.ts +0 -171
  492. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/route.ts +0 -36
  493. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts +0 -46
  494. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/api/stats/route.ts +0 -19
  495. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/board-client.tsx +0 -162
  496. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/loading.tsx +0 -43
  497. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/board/page.tsx +0 -18
  498. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/dashboard-client.tsx +0 -364
  499. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/error.tsx +0 -43
  500. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/globals.css +0 -531
  501. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/home-client.tsx +0 -277
  502. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/layout.tsx +0 -70
  503. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/loading.tsx +0 -87
  504. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/not-found.tsx +0 -27
  505. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/page.tsx +0 -18
  506. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/loading.tsx +0 -5
  507. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/[id]/page.tsx +0 -43
  508. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/page.tsx +0 -18
  509. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/specs/specs-client.tsx +0 -425
  510. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/page.tsx +0 -18
  511. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/app/stats/stats-client.tsx +0 -283
  512. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/back-to-top.tsx +0 -46
  513. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/empty-state.tsx +0 -52
  514. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/main-sidebar.tsx +0 -175
  515. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.test.ts +0 -96
  516. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/markdown-link.tsx +0 -95
  517. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/navigation.tsx +0 -210
  518. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/priority-badge.tsx +0 -53
  519. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/quick-search.tsx +0 -180
  520. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/skeletons.tsx +0 -119
  521. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-dependency-graph.tsx +0 -369
  522. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-client.tsx +0 -372
  523. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-loading-shell.tsx +0 -42
  524. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-detail-wrapper.tsx +0 -70
  525. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-sidebar.tsx +0 -127
  526. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/spec-timeline.tsx +0 -186
  527. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/specs-nav-sidebar.tsx +0 -561
  528. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/status-badge.tsx +0 -53
  529. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/sub-spec-tabs.tsx +0 -143
  530. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/table-of-contents.tsx +0 -130
  531. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-provider.tsx +0 -11
  532. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/theme-toggle.tsx +0 -37
  533. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/avatar.tsx +0 -50
  534. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/badge.tsx +0 -36
  535. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/breadcrumb.tsx +0 -110
  536. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/button.tsx +0 -57
  537. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/card.tsx +0 -76
  538. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/command.tsx +0 -153
  539. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/dialog.tsx +0 -122
  540. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/input.tsx +0 -24
  541. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/select.tsx +0 -159
  542. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/separator.tsx +0 -31
  543. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/skeleton.tsx +0 -15
  544. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tabs.tsx +0 -55
  545. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/toast.tsx +0 -30
  546. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/components/ui/tooltip.tsx +0 -32
  547. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/date-utils.ts +0 -76
  548. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/index.ts +0 -42
  549. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/migrate.ts +0 -18
  550. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/queries.ts +0 -114
  551. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/schema.ts +0 -123
  552. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/seed.ts +0 -156
  553. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/db/service-queries.ts +0 -216
  554. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/dependency-graph.ts +0 -105
  555. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/service.ts +0 -120
  556. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/database-source.ts +0 -94
  557. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/sources/filesystem-source.ts +0 -249
  558. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/specs/types.ts +0 -55
  559. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/stores/specs-sidebar-store.ts +0 -152
  560. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/sub-specs.ts +0 -171
  561. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/lib/utils.ts +0 -17
  562. package/.next/standalone/packages/ui/dist/standalone/packages/web/src/types/specs.ts +0 -18
  563. package/.next/standalone/packages/ui/dist/standalone/packages/web/tailwind.config.ts +0 -58
  564. package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.json +0 -34
  565. package/.next/standalone/packages/ui/dist/standalone/packages/web/tsconfig.tsbuildinfo +0 -1
  566. package/.next/standalone/packages/ui/dist/standalone/packages/web/vitest.config.ts +0 -14
  567. package/.next/standalone/packages/ui/dist/standalone/specs/094-ai-chatbot-web-integration/README.md +0 -332
  568. package/.next/standalone/packages/ui/dist/standalone/specs/095-pr-migration-verification/README.md +0 -339
  569. package/.next/standalone/packages/ui/dist/standalone/specs/096-docs-beginner-first-reorg/README.md +0 -399
  570. package/.next/standalone/packages/ui/dist/standalone/specs/097-dag-visualization-library/README.md +0 -525
  571. package/.next/standalone/packages/ui/dist/standalone/specs/098-github-multi-project-integration/README.md +0 -387
  572. package/.next/standalone/packages/ui/dist/standalone/specs/099-enhanced-dependency-commands-cli-mcp/README.md +0 -613
  573. package/.next/standalone/packages/ui/dist/standalone/specs/100-release-process-typecheck-failure/README.md +0 -266
  574. package/.next/standalone/packages/ui/dist/standalone/specs/101-sidebar-scroll-position-drift/README.md +0 -100
  575. package/.next/standalone/packages/ui/dist/standalone/specs/102-mcp-wrapper-package/README.md +0 -172
  576. package/.next/static/chunks/094cf9f4e3553261.js +0 -1
  577. package/.next/static/chunks/1c015eb9eaaf9f9c.js +0 -1
  578. package/.next/static/chunks/1d36660b2877d213.js +0 -3
  579. package/.next/static/chunks/20f4141ccb5d4eb4.js +0 -1
  580. package/.next/static/chunks/2c85b8059e42248a.js +0 -1
  581. package/.next/static/chunks/3b6b058ebd14dbed.js +0 -1
  582. package/.next/static/chunks/4d29ca0fa6843070.js +0 -2
  583. package/.next/static/chunks/59854b15bf046467.js +0 -1
  584. package/.next/static/chunks/5fd8101e32b076b1.js +0 -1
  585. package/.next/static/chunks/a33f10af6abef4df.js +0 -10
  586. package/.next/static/chunks/b7f19087afe1d2c9.css +0 -1
  587. package/.next/static/chunks/ddd87cd0d26bc2f5.js +0 -1
  588. package/.next/static/chunks/eeec245955b3b600.js +0 -5
  589. /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/lib/index.js +0 -0
  590. /package/.next/standalone/node_modules/.pnpm/{@img+sharp-libvips-darwin-arm64@1.2.4/node_modules/@img/sharp-libvips-darwin-arm64 → @img+sharp-libvips-linux-x64@1.2.4/node_modules/@img/sharp-libvips-linux-x64}/versions.json +0 -0
  591. /package/.next/standalone/packages/ui/.next/static/{8PwFWS-09QjFSbDbfp15t → s9uUE9DnvJD2xIz-iBGMe}/_buildManifest.js +0 -0
  592. /package/.next/standalone/packages/ui/.next/static/{8PwFWS-09QjFSbDbfp15t → s9uUE9DnvJD2xIz-iBGMe}/_clientMiddlewareManifest.json +0 -0
  593. /package/.next/standalone/packages/ui/.next/static/{8PwFWS-09QjFSbDbfp15t → s9uUE9DnvJD2xIz-iBGMe}/_ssgManifest.js +0 -0
  594. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -0
  595. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/favicon.ico +0 -0
  596. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/file.svg +0 -0
  597. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/github-mark-white.svg +0 -0
  598. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/github-mark.svg +0 -0
  599. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/globe.svg +0 -0
  600. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/icon.svg +0 -0
  601. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/logo-dark-bg.svg +0 -0
  602. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/logo-with-bg.svg +0 -0
  603. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/logo.svg +0 -0
  604. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/next.svg +0 -0
  605. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/vercel.svg +0 -0
  606. /package/.next/standalone/packages/ui/dist/{standalone/packages/web/public → public}/window.svg +0 -0
  607. /package/.next/{static/8PwFWS-09QjFSbDbfp15t → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_buildManifest.js +0 -0
  608. /package/.next/{static/8PwFWS-09QjFSbDbfp15t → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_clientMiddlewareManifest.json +0 -0
  609. /package/.next/{static/8PwFWS-09QjFSbDbfp15t → standalone/packages/ui/dist/static/4ZnYN1WbN4LGJQOwP6FkT}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,497332,e=>{"use strict";let t=(0,e.i(122436).default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);e.s(["Home",()=>t],497332)},963781,e=>{"use strict";let t=(0,e.i(122436).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],963781)},341965,e=>{"use strict";var t=e.i(890022),r=e.i(431231),n=e.i(291967),o=e.i(430406),a=e.i(79014),l=e.i(255235),i=e.i(254440),s=e.i(31007),u=e.i(315599),c=e.i(306839),d=e.i(214260),f=e.i(111052),p=e.i(122925),m=e.i(665489),h=e.i(393136),g=e.i(73772),v=e.i(97496),y="Popover",[b,x]=(0,a.createContextScope)(y,[c.createPopperScope]),w=(0,c.createPopperScope)(),[C,k]=b(y),E=e=>{let{__scopePopover:n,children:o,open:a,defaultOpen:l,onOpenChange:i,modal:s=!1}=e,d=w(n),f=r.useRef(null),[p,m]=r.useState(!1),[g,v]=(0,h.useControllableState)({prop:a,defaultProp:l??!1,onChange:i,caller:y});return(0,t.jsx)(c.Root,{...d,children:(0,t.jsx)(C,{scope:n,contentId:(0,u.useId)(),triggerRef:f,open:g,onOpenChange:v,onOpenToggle:r.useCallback(()=>v(e=>!e),[v]),hasCustomAnchor:p,onCustomAnchorAdd:r.useCallback(()=>m(!0),[]),onCustomAnchorRemove:r.useCallback(()=>m(!1),[]),modal:s,children:o})})};E.displayName=y;var j="PopoverAnchor";r.forwardRef((e,n)=>{let{__scopePopover:o,...a}=e,l=k(j,o),i=w(o),{onCustomAnchorAdd:s,onCustomAnchorRemove:u}=l;return r.useEffect(()=>(s(),()=>u()),[s,u]),(0,t.jsx)(c.Anchor,{...i,...a,ref:n})}).displayName=j;var P="PopoverTrigger",R=r.forwardRef((e,r)=>{let{__scopePopover:a,...l}=e,i=k(P,a),s=w(a),u=(0,o.useComposedRefs)(r,i.triggerRef),d=(0,t.jsx)(p.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":D(i.open),...l,ref:u,onClick:(0,n.composeEventHandlers)(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?d:(0,t.jsx)(c.Anchor,{asChild:!0,...s,children:d})});R.displayName=P;var S="PopoverPortal",[N,_]=b(S,{forceMount:void 0}),A=e=>{let{__scopePopover:r,forceMount:n,children:o,container:a}=e,l=k(S,r);return(0,t.jsx)(N,{scope:r,forceMount:n,children:(0,t.jsx)(f.Presence,{present:n||l.open,children:(0,t.jsx)(d.Portal,{asChild:!0,container:a,children:o})})})};A.displayName=S;var O="PopoverContent",T=r.forwardRef((e,r)=>{let n=_(O,e.__scopePopover),{forceMount:o=n.forceMount,...a}=e,l=k(O,e.__scopePopover);return(0,t.jsx)(f.Presence,{present:o||l.open,children:l.modal?(0,t.jsx)(M,{...a,ref:r}):(0,t.jsx)(L,{...a,ref:r})})});T.displayName=O;var I=(0,m.createSlot)("PopoverContent.RemoveScroll"),M=r.forwardRef((e,a)=>{let l=k(O,e.__scopePopover),i=r.useRef(null),s=(0,o.useComposedRefs)(a,i),u=r.useRef(!1);return r.useEffect(()=>{let e=i.current;if(e)return(0,g.hideOthers)(e)},[]),(0,t.jsx)(v.RemoveScroll,{as:I,allowPinchZoom:!0,children:(0,t.jsx)($,{...e,ref:s,trapFocus:l.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,n.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),u.current||l.triggerRef.current?.focus()}),onPointerDownOutside:(0,n.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;u.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,n.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),L=r.forwardRef((e,n)=>{let o=k(O,e.__scopePopover),a=r.useRef(!1),l=r.useRef(!1);return(0,t.jsx)($,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(a.current||o.triggerRef.current?.focus(),t.preventDefault()),a.current=!1,l.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(a.current=!0,"pointerdown"===t.detail.originalEvent.type&&(l.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&l.current&&t.preventDefault()}})}),$=r.forwardRef((e,r)=>{let{__scopePopover:n,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:u,disableOutsidePointerEvents:d,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:m,onInteractOutside:h,...g}=e,v=k(O,n),y=w(n);return(0,i.useFocusGuards)(),(0,t.jsx)(s.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:a,onUnmountAutoFocus:u,children:(0,t.jsx)(l.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:d,onInteractOutside:h,onEscapeKeyDown:f,onPointerDownOutside:p,onFocusOutside:m,onDismiss:()=>v.onOpenChange(!1),children:(0,t.jsx)(c.Content,{"data-state":D(v.open),role:"dialog",id:v.contentId,...y,...g,ref:r,style:{...g.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),F="PopoverClose";function D(e){return e?"open":"closed"}r.forwardRef((e,r)=>{let{__scopePopover:o,...a}=e,l=k(F,o);return(0,t.jsx)(p.Primitive.button,{type:"button",...a,ref:r,onClick:(0,n.composeEventHandlers)(e.onClick,()=>l.onOpenChange(!1))})}).displayName=F,r.forwardRef((e,r)=>{let{__scopePopover:n,...o}=e,a=w(n);return(0,t.jsx)(c.Arrow,{...a,...o,ref:r})}).displayName="PopoverArrow";var z=e.i(632137);let U=r.forwardRef(({className:e,align:r="center",sideOffset:n=4,...o},a)=>(0,t.jsx)(A,{children:(0,t.jsx)(T,{ref:a,align:r,sideOffset:n,className:(0,z.cn)("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...o})}));U.displayName=T.displayName,e.s(["Popover",()=>E,"PopoverContent",()=>U,"PopoverTrigger",()=>R],341965)},308402,e=>{"use strict";var t=e.i(890022),r=e.i(431231),n=e.i(291967),o=e.i(430406),a=e.i(79014),l=e.i(255235),i=e.i(315599),s=e.i(306839),u=e.i(214260),c=e.i(111052),d=e.i(122925),f=e.i(665489),p=e.i(393136),m=e.i(826985),[h,g]=(0,a.createContextScope)("Tooltip",[s.createPopperScope]),v=(0,s.createPopperScope)(),y="TooltipProvider",b="tooltip.open",[x,w]=h(y),C=e=>{let{__scopeTooltip:n,delayDuration:o=700,skipDelayDuration:a=300,disableHoverableContent:l=!1,children:i}=e,s=r.useRef(!0),u=r.useRef(!1),c=r.useRef(0);return r.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(x,{scope:n,isOpenDelayedRef:s,delayDuration:o,onOpen:r.useCallback(()=>{window.clearTimeout(c.current),s.current=!1},[]),onClose:r.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,a)},[a]),isPointerInTransitRef:u,onPointerInTransitChange:r.useCallback(e=>{u.current=e},[]),disableHoverableContent:l,children:i})};C.displayName=y;var k="Tooltip",[E,j]=h(k),P=e=>{let{__scopeTooltip:n,children:o,open:a,defaultOpen:l,onOpenChange:u,disableHoverableContent:c,delayDuration:d}=e,f=w(k,e.__scopeTooltip),m=v(n),[h,g]=r.useState(null),y=(0,i.useId)(),x=r.useRef(0),C=c??f.disableHoverableContent,j=d??f.delayDuration,P=r.useRef(!1),[R,S]=(0,p.useControllableState)({prop:a,defaultProp:l??!1,onChange:e=>{e?(f.onOpen(),document.dispatchEvent(new CustomEvent(b))):f.onClose(),u?.(e)},caller:k}),N=r.useMemo(()=>R?P.current?"delayed-open":"instant-open":"closed",[R]),_=r.useCallback(()=>{window.clearTimeout(x.current),x.current=0,P.current=!1,S(!0)},[S]),A=r.useCallback(()=>{window.clearTimeout(x.current),x.current=0,S(!1)},[S]),O=r.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{P.current=!0,S(!0),x.current=0},j)},[j,S]);return r.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),(0,t.jsx)(s.Root,{...m,children:(0,t.jsx)(E,{scope:n,contentId:y,open:R,stateAttribute:N,trigger:h,onTriggerChange:g,onTriggerEnter:r.useCallback(()=>{f.isOpenDelayedRef.current?O():_()},[f.isOpenDelayedRef,O,_]),onTriggerLeave:r.useCallback(()=>{C?A():(window.clearTimeout(x.current),x.current=0)},[A,C]),onOpen:_,onClose:A,disableHoverableContent:C,children:o})})};P.displayName=k;var R="TooltipTrigger",S=r.forwardRef((e,a)=>{let{__scopeTooltip:l,...i}=e,u=j(R,l),c=w(R,l),f=v(l),p=r.useRef(null),m=(0,o.useComposedRefs)(a,p,u.onTriggerChange),h=r.useRef(!1),g=r.useRef(!1),y=r.useCallback(()=>h.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),(0,t.jsx)(s.Anchor,{asChild:!0,...f,children:(0,t.jsx)(d.Primitive.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...i,ref:m,onPointerMove:(0,n.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(g.current||c.isPointerInTransitRef.current||(u.onTriggerEnter(),g.current=!0))}),onPointerLeave:(0,n.composeEventHandlers)(e.onPointerLeave,()=>{u.onTriggerLeave(),g.current=!1}),onPointerDown:(0,n.composeEventHandlers)(e.onPointerDown,()=>{u.open&&u.onClose(),h.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>{h.current||u.onOpen()}),onBlur:(0,n.composeEventHandlers)(e.onBlur,u.onClose),onClick:(0,n.composeEventHandlers)(e.onClick,u.onClose)})})});S.displayName=R;var N="TooltipPortal",[_,A]=h(N,{forceMount:void 0}),O=e=>{let{__scopeTooltip:r,forceMount:n,children:o,container:a}=e,l=j(N,r);return(0,t.jsx)(_,{scope:r,forceMount:n,children:(0,t.jsx)(c.Presence,{present:n||l.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:a,children:o})})})};O.displayName=N;var T="TooltipContent",I=r.forwardRef((e,r)=>{let n=A(T,e.__scopeTooltip),{forceMount:o=n.forceMount,side:a="top",...l}=e,i=j(T,e.__scopeTooltip);return(0,t.jsx)(c.Presence,{present:o||i.open,children:i.disableHoverableContent?(0,t.jsx)(D,{side:a,...l,ref:r}):(0,t.jsx)(M,{side:a,...l,ref:r})})}),M=r.forwardRef((e,n)=>{let a=j(T,e.__scopeTooltip),l=w(T,e.__scopeTooltip),i=r.useRef(null),s=(0,o.useComposedRefs)(n,i),[u,c]=r.useState(null),{trigger:d,onClose:f}=a,p=i.current,{onPointerInTransitChange:m}=l,h=r.useCallback(()=>{c(null),m(!1)},[m]),g=r.useCallback((e,t)=>{let r,n=e.currentTarget,o={x:e.clientX,y:e.clientY},a=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(r,n,o,a)){case a:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(o,n.getBoundingClientRect());c(((r=[...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(o,a),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),m(!0)},[m]);return r.useEffect(()=>()=>h(),[h]),r.useEffect(()=>{if(d&&p){let e=e=>g(e,p),t=e=>g(e,d);return d.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[d,p,g,h]),r.useEffect(()=>{if(u){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=d?.contains(t)||p?.contains(t),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let l=t[e],i=t[a],s=l.x,u=l.y,c=i.x,d=i.y;u>n!=d>n&&r<(c-s)*(n-u)/(d-u)+s&&(o=!o)}return o}(r,u);n?h():o&&(h(),f())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,p,u,f,h]),(0,t.jsx)(D,{...e,ref:s})}),[L,$]=h(k,{isInside:!1}),F=(0,f.createSlottable)("TooltipContent"),D=r.forwardRef((e,n)=>{let{__scopeTooltip:o,children:a,"aria-label":i,onEscapeKeyDown:u,onPointerDownOutside:c,...d}=e,f=j(T,o),p=v(o),{onClose:h}=f;return r.useEffect(()=>(document.addEventListener(b,h),()=>document.removeEventListener(b,h)),[h]),r.useEffect(()=>{if(f.trigger){let e=e=>{let t=e.target;t?.contains(f.trigger)&&h()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[f.trigger,h]),(0,t.jsx)(l.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:h,children:(0,t.jsxs)(s.Content,{"data-state":f.stateAttribute,...p,...d,ref:n,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,t.jsx)(F,{children:a}),(0,t.jsx)(L,{scope:o,isInside:!0,children:(0,t.jsx)(m.Root,{id:f.contentId,role:"tooltip",children:i||a})})]})})});I.displayName=T;var z="TooltipArrow";r.forwardRef((e,r)=>{let{__scopeTooltip:n,...o}=e,a=v(n);return $(z,n).isInside?null:(0,t.jsx)(s.Arrow,{...a,...o,ref:r})}).displayName=z;var U=e.i(632137);let B=r.forwardRef(({className:e,sideOffset:r=4,...n},o)=>(0,t.jsx)(O,{children:(0,t.jsx)(I,{ref:o,sideOffset:r,className:(0,U.cn)("z-[100] overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-xs text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));B.displayName=I.displayName,e.s(["Tooltip",()=>P,"TooltipContent",()=>B,"TooltipProvider",()=>C,"TooltipTrigger",()=>S],308402)},158362,e=>{"use strict";let t=(0,e.i(122436).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],158362)},122436,e=>{"use strict";var t=e.i(431231);let r=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)},n=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim();var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let a=(0,t.forwardRef)(({color:e="currentColor",size:r=24,strokeWidth:a=2,absoluteStrokeWidth:l,className:i="",children:s,iconNode:u,...c},d)=>(0,t.createElement)("svg",{ref:d,...o,width:r,height:r,stroke:e,strokeWidth:l?24*Number(a)/Number(r):a,className:n("lucide",i),...!s&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0})(c)&&{"aria-hidden":"true"},...c},[...u.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(s)?s:[s]])),l=(e,o)=>{let l=(0,t.forwardRef)(({className:l,...i},s)=>(0,t.createElement)(a,{ref:s,iconNode:o,className:n(`lucide-${r(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,l),...i}));return l.displayName=r(e),l};e.s(["default",()=>l],122436)},40843,e=>{"use strict";let t=(0,e.i(122436).default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Clock",()=>t],40843)},20315,e=>{"use strict";let t=(0,e.i(122436).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",()=>t],20315)},196812,e=>{"use strict";let t=(0,e.i(122436).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",()=>t],196812)},75364,e=>{"use strict";let t=(0,e.i(122436).default)("circle-play",[["path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z",key:"kmsa83"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["PlayCircle",()=>t],75364)},168497,490225,755541,374231,597705,e=>{"use strict";var t=e.i(890022),r=e.i(40843),n=e.i(75364),o=e.i(196812),a=e.i(122436);let l=(0,a.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);e.s(["Archive",()=>l],490225);var i=e.i(323490),s=e.i(632137);let u={planned:{icon:r.Clock,label:"Planned",className:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},"in-progress":{icon:n.PlayCircle,label:"In Progress",className:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-400"},complete:{icon:o.CheckCircle2,label:"Complete",className:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400"},archived:{icon:l,label:"Archived",className:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-400"}};function c({status:e,className:r,iconOnly:n=!1}){let o=u[e]||u.planned,a=o.icon;return(0,t.jsxs)(i.Badge,{className:(0,s.cn)("flex items-center w-fit",!n&&"gap-1.5",o.className,r),children:[(0,t.jsx)(a,{className:"h-3.5 w-3.5"}),!n&&o.label]})}function d(e){return(u[e]||u.planned).label}e.s(["StatusBadge",()=>c,"getStatusLabel",()=>d],168497);var f=e.i(94176),p=e.i(606751);let m=(0,a.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["Minus",()=>m],755541);let h=(0,a.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);e.s(["ArrowDown",()=>h],374231);let g={critical:{icon:f.AlertCircle,label:"Critical",className:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},high:{icon:p.ArrowUp,label:"High",className:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-400"},medium:{icon:m,label:"Medium",className:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},low:{icon:h,label:"Low",className:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-400"}};function v({priority:e,className:r,iconOnly:n=!1}){let o=g[e]||g.medium,a=o.icon;return(0,t.jsxs)(i.Badge,{className:(0,s.cn)("flex items-center w-fit",!n&&"gap-1.5",o.className,r),children:[(0,t.jsx)(a,{className:"h-3.5 w-3.5"}),!n&&o.label]})}function y(e){return(g[e]||g.medium).label}e.s(["PriorityBadge",()=>v,"getPriorityLabel",()=>y],597705)},614433,430406,e=>{"use strict";var t=e.i(431231);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function n(...e){return t=>{let n=!1,o=e.map(e=>{let o=r(e,t);return n||"function"!=typeof o||(n=!0),o});if(n)return()=>{for(let t=0;t<o.length;t++){let n=o[t];"function"==typeof n?n():r(e[t],null)}}}}function o(...e){return t.useCallback(n(...e),e)}e.s(["composeRefs",()=>n,"useComposedRefs",()=>o],430406);var a=e.i(890022),l=Symbol.for("react.lazy"),i=t[" use ".trim().toString()];function s(e){var t;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===l&&"_payload"in e&&"object"==typeof(t=e._payload)&&null!==t&&"then"in t}function u(e){var r;let o,l=(r=e,(o=t.forwardRef((e,r)=>{let{children:o,...a}=e;if(s(o)&&"function"==typeof i&&(o=i(o._payload)),t.isValidElement(o)){var l;let e,i,s=(l=o,(i=(e=Object.getOwnPropertyDescriptor(l.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.ref:(i=(e=Object.getOwnPropertyDescriptor(l,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.props.ref:l.props.ref||l.ref),u=function(e,t){let r={...t};for(let n in t){let o=e[n],a=t[n];/^on[A-Z]/.test(n)?o&&a?r[n]=(...e)=>{let t=a(...e);return o(...e),t}:o&&(r[n]=o):"style"===n?r[n]={...o,...a}:"className"===n&&(r[n]=[o,a].filter(Boolean).join(" "))}return{...e,...r}}(a,o.props);return o.type!==t.Fragment&&(u.ref=r?n(r,s):s),t.cloneElement(o,u)}return t.Children.count(o)>1?t.Children.only(null):null})).displayName=`${r}.SlotClone`,o),u=t.forwardRef((e,r)=>{let{children:n,...o}=e;s(n)&&"function"==typeof i&&(n=i(n._payload));let u=t.Children.toArray(n),c=u.find(f);if(c){let e=c.props.children,n=u.map(r=>r!==c?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,a.jsx)(l,{...o,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,n):null})}return(0,a.jsx)(l,{...o,ref:r,children:n})});return u.displayName=`${e}.Slot`,u}var c=u("Slot"),d=Symbol("radix.slottable");function f(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===d}e.s(["Slot",()=>c,"createSlot",()=>u],614433)},294237,e=>{"use strict";var t=e.i(7284);let r=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.clsx;e.s(["cva",0,(e,t)=>o=>{var a;if((null==t?void 0:t.variants)==null)return n(e,null==o?void 0:o.class,null==o?void 0:o.className);let{variants:l,defaultVariants:i}=t,s=Object.keys(l).map(e=>{let t=null==o?void 0:o[e],n=null==i?void 0:i[e];if(null===t)return null;let a=r(t)||r(n);return l[e][a]}),u=o&&Object.entries(o).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return n(e,s,null==t||null==(a=t.compoundVariants)?void 0:a.reduce((e,t)=>{let{class:r,className:n,...o}=t;return Object.entries(o).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...i,...u}[t]):({...i,...u})[t]===r})?[...e,r,n]:e},[]),null==o?void 0:o.class,null==o?void 0:o.className)}])},235893,e=>{"use strict";var t=e.i(890022),r=e.i(431231),n=e.i(614433),o=e.i(294237),a=e.i(632137);let l=(0,o.cva)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),i=r.forwardRef(({className:e,variant:r,size:o,asChild:i=!1,...s},u)=>{let c=i?n.Slot:"button";return(0,t.jsx)(c,{className:(0,a.cn)(l({variant:r,size:o,className:e})),ref:u,...s})});i.displayName="Button",e.s(["Button",()=>i])},323490,e=>{"use strict";var t=e.i(890022),r=e.i(294237),n=e.i(632137);let o=(0,r.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function a({className:e,variant:r,...a}){return(0,t.jsx)("div",{className:(0,n.cn)(o({variant:r}),e),...a})}e.s(["Badge",()=>a])},94176,e=>{"use strict";let t=(0,e.i(122436).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",()=>t],94176)},606751,e=>{"use strict";let t=(0,e.i(122436).default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);e.s(["ArrowUp",()=>t],606751)},56863,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},965683,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return s},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return i}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function l(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function i(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,l(e));else t.set(r,l(n));return t}function s(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},700678,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return i},formatWithValidation:function(){return u},urlObjectKeys:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(744066)._(e.r(965683)),l=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",i=e.hash||"",s=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),s&&"object"==typeof s&&(s=String(a.urlQueryToSearchParams(s)));let c=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||l.test(n))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${o}${c}${i}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return i(e)}},266500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(431231);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},789370,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return v},MiddlewareNotFoundError:function(){return w},MissingStaticPage:function(){return x},NormalizeError:function(){return y},PageNotFoundError:function(){return b},SP:function(){return h},ST:function(){return g},WEB_VITALS:function(){return a},execOnce:function(){return l},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return s},isResSent:function(){return f},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return C}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function l(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>i.test(e);function u(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function m(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let h="undefined"!=typeof performance,g=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class v extends Error{}class y extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class x extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class w extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function C(e){return JSON.stringify({message:e.message,stack:e.stack})}},608672,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(789370),o=e.r(772125);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},937465,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},987985,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return v},useLinkStatus:function(){return b}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(744066),l=e.r(890022),i=a._(e.r(431231)),s=e.r(700678),u=e.r(415698),c=e.r(266500),d=e.r(789370),f=e.r(912992);e.r(56863);let p=e.r(617945),m=e.r(608672),h=e.r(754772);function g(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}function v(t){var r;let n,o,a,[s,v]=(0,i.useOptimistic)(p.IDLE_LINK_STATUS),b=(0,i.useRef)(null),{href:x,as:w,children:C,prefetch:k=null,passHref:E,replace:j,shallow:P,scroll:R,onClick:S,onMouseEnter:N,onTouchStart:_,legacyBehavior:A=!1,onNavigate:O,ref:T,unstable_dynamicOnHover:I,...M}=t;n=C,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,l.jsx)("a",{children:n}));let L=i.default.useContext(u.AppRouterContext),$=!1!==k,F=!1!==k?null===(r=k)||"auto"===r?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:D,as:z}=i.default.useMemo(()=>{let e=g(x);return{href:e,as:w?g(w):e}},[x,w]);if(A){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=i.default.Children.only(n)}let U=A?o&&"object"==typeof o&&o.ref:T,B=i.default.useCallback(e=>(null!==L&&(b.current=(0,p.mountLinkInstance)(e,D,L,F,$,v)),()=>{b.current&&((0,p.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,p.unmountPrefetchableInstance)(e)}),[$,D,L,F,v]),H={ref:(0,c.useMergedRef)(B,U),onClick(t){A||"function"!=typeof S||S(t),A&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!L||t.defaultPrevented||function(t,r,n,o,a,l,s){if("undefined"!=typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(986026);i.default.startTransition(()=>{d(n||r,a?"replace":"push",l??!0,o.current)})}}(t,D,z,b,j,R,O)},onMouseEnter(e){A||"function"!=typeof N||N(e),A&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),L&&$&&(0,p.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){A||"function"!=typeof _||_(e),A&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),L&&$&&(0,p.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,d.isAbsoluteUrl)(z)?H.href=z:A&&!E&&("a"!==o.type||"href"in o.props)||(H.href=(0,f.addBasePath)(z)),a=A?i.default.cloneElement(o,H):(0,l.jsx)("a",{...M,...H,children:n}),(0,l.jsx)(y.Provider,{value:s,children:a})}e.r(937465);let y=(0,i.createContext)(p.IDLE_LINK_STATUS),b=()=>(0,i.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},20648,e=>{"use strict";var t=e.i(890022),r=e.i(431231);let n=(0,r.createContext)(null);function o(){let e=(0,r.useContext)(n);if(!e)throw Error("useProject must be used within ProjectProvider");return e}function a({children:e,initialProjectId:o}){let[a,l]=(0,r.useState)("single-project"),[i,s]=(0,r.useState)(null),[u,c]=(0,r.useState)([]),[d,f]=(0,r.useState)([]),[p,m]=(0,r.useState)([]),[h,g]=(0,r.useState)(!0),[v,y]=(0,r.useState)(null),b=(0,r.useCallback)(async()=>{try{g(!0),y(null);let e=await fetch("/api/projects");if(!e.ok)throw Error("Failed to fetch projects");let t=await e.json();if(l(t.mode||"single-project"),c(t.projects||[]),f(t.recentProjects||[]),m(t.favoriteProjects||[]),!i&&t.projects.length>0){let e=o?t.projects.find(e=>e.id===o):t.recentProjects?.[0]||t.projects[0];e&&s(e)}}catch(e){console.error("Error fetching projects:",e),y(e instanceof Error?e.message:"Failed to load projects")}finally{g(!1)}},[i,o]),x=(0,r.useCallback)(async e=>{try{let t=await fetch(`/api/projects/${e}`);if(!t.ok)throw Error("Failed to fetch project");let r=await t.json();s(r.project),await b()}catch(e){throw console.error("Error switching project:",e),y(e instanceof Error?e.message:"Failed to switch project"),e}},[b]),w=(0,r.useCallback)(async(e,t)=>{try{let r=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,...t})});if(!r.ok){let e=await r.json();throw Error(e.details||"Failed to add project")}let n=await r.json();return await b(),n.project}catch(e){throw console.error("Error adding project:",e),y(e instanceof Error?e.message:"Failed to add project"),e}},[b]),C=(0,r.useCallback)(async e=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"DELETE"})).ok)throw Error("Failed to remove project");if(i?.id===e){let t=u.find(t=>t.id!==e);s(t||null)}await b()}catch(e){throw console.error("Error removing project:",e),y(e instanceof Error?e.message:"Failed to remove project"),e}},[i,u,b]),k=(0,r.useCallback)(async e=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({favorite:!0})})).ok)throw Error("Failed to toggle favorite");await b()}catch(e){throw console.error("Error toggling favorite:",e),y(e instanceof Error?e.message:"Failed to toggle favorite"),e}},[b]),E=(0,r.useCallback)(async(e,t)=>{try{if(!(await fetch(`/api/projects/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).ok)throw Error("Failed to update project");await b()}catch(e){throw console.error("Error updating project:",e),y(e instanceof Error?e.message:"Failed to update project"),e}},[b]);return(0,r.useEffect)(()=>{b()},[b]),(0,t.jsx)(n.Provider,{value:{mode:a,currentProject:i,projects:u,recentProjects:d,favoriteProjects:p,isLoading:h,error:v,switchProject:x,addProject:w,removeProject:C,toggleFavorite:k,updateProject:E,refreshProjects:b},children:e})}function l(){let{mode:e,currentProject:t}=o(),n=(0,r.useCallback)(r=>{if("multi-project"===e&&t){let e=r.startsWith("/")?r:`/${r}`;return`/projects/${t.id}${e}`}return r.startsWith("/")?r:`/${r}`},[e,t]),a=(0,r.useCallback)((e,t)=>{let r=n(`/specs/${e}`);return t?`${r}?subspec=${t}`:r},[n]);return{getUrl:n,getSpecUrl:a,isMultiProject:"multi-project"===e,projectId:t?.id}}e.s(["ProjectProvider",()=>a,"useProject",()=>o,"useProjectUrl",()=>l])},787949,e=>{"use strict";let t=(0,e.i(122436).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],787949)},694541,e=>{"use strict";var t=e.i(890022),r=e.i(431231),n=/[\\\/_+.#"@\[\(\{&]/,o=/[\\\/_+.#"@\[\(\{&]/g,a=/[\s-]/,l=/[\s-]/g;function i(e){return e.toLowerCase().replace(l," ")}var s=e.i(739065);e.i(395635);var u=e.i(614433),c=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{let o=(0,u.createSlot)(`Primitive.${n}`),a=r.forwardRef((e,r)=>{let{asChild:a,...l}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(a?o:n,{...l,ref:r})});return a.displayName=`Primitive.${n}`,{...e,[n]:a}},{}),d=e.i(315599),f=e.i(430406),p='[cmdk-group=""]',m='[cmdk-group-items=""]',h='[cmdk-item=""]',g=`${h}:not([aria-disabled="true"])`,v="cmdk-item-select",y="data-value",b=(e,t,r)=>{var s;return s=e,function e(t,r,i,s,u,c,d){if(c===r.length)return u===t.length?1:.99;var f=`${u},${c}`;if(void 0!==d[f])return d[f];for(var p,m,h,g,v=s.charAt(c),y=i.indexOf(v,u),b=0;y>=0;)(p=e(t,r,i,s,y+1,c+1,d))>b&&(y===u?p*=1:n.test(t.charAt(y-1))?(p*=.8,(h=t.slice(u,y-1).match(o))&&u>0&&(p*=Math.pow(.999,h.length))):a.test(t.charAt(y-1))?(p*=.9,(g=t.slice(u,y-1).match(l))&&u>0&&(p*=Math.pow(.999,g.length))):(p*=.17,u>0&&(p*=Math.pow(.999,y-u))),t.charAt(y)!==r.charAt(c)&&(p*=.9999)),(p<.1&&i.charAt(y-1)===s.charAt(c+1)||s.charAt(c+1)===s.charAt(c)&&i.charAt(y-1)!==s.charAt(c))&&.1*(m=e(t,r,i,s,y+1,c+2,d))>p&&(p=.1*m),p>b&&(b=p),y=i.indexOf(v,y+1);return d[f]=b,b}(s=r&&r.length>0?`${s+" "+r.join(" ")}`:s,t,i(s),i(t),0,0,{})},x=r.createContext(void 0),w=r.createContext(void 0),C=r.createContext(void 0),k=r.forwardRef((e,t)=>{let n=T(()=>{var t,r;return{search:"",value:null!=(r=null!=(t=e.value)?t:e.defaultValue)?r:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),o=T(()=>new Set),a=T(()=>new Map),l=T(()=>new Map),i=T(()=>new Set),s=A(e),{label:u,children:f,value:C,onValueChange:k,filter:E,shouldFilter:j,loop:P,disablePointerSelection:R=!1,vimBindings:S=!0,...N}=e,_=(0,d.useId)(),I=(0,d.useId)(),M=(0,d.useId)(),D=r.useRef(null),z=L();O(()=>{if(void 0!==C){let e=C.trim();n.current.value=e,U.emit()}},[C]),O(()=>{z(6,q)},[]);let U=r.useMemo(()=>({subscribe:e=>(i.current.add(e),()=>i.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var o,a,l,i;if(!Object.is(n.current[e],t)){if(n.current[e]=t,"search"===e)W(),V(),z(1,K);else if("value"===e){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let e=document.getElementById(M);e?e.focus():null==(o=document.getElementById(_))||o.focus()}if(z(7,()=>{var e;n.current.selectedItemId=null==(e=G())?void 0:e.id,U.emit()}),r||z(5,q),(null==(a=s.current)?void 0:a.value)!==void 0){null==(i=(l=s.current).onValueChange)||i.call(l,null!=t?t:"");return}}U.emit()}},emit:()=>{i.current.forEach(e=>e())}}),[]),B=r.useMemo(()=>({value:(e,t,r)=>{var o;t!==(null==(o=l.current.get(e))?void 0:o.value)&&(l.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,H(t,r)),z(2,()=>{V(),U.emit()}))},item:(e,t)=>(o.current.add(e),t&&(a.current.has(t)?a.current.get(t).add(e):a.current.set(t,new Set([e]))),z(3,()=>{W(),V(),n.current.value||K(),U.emit()}),()=>{l.current.delete(e),o.current.delete(e),n.current.filtered.items.delete(e);let t=G();z(4,()=>{W(),(null==t?void 0:t.getAttribute("id"))===e&&K(),U.emit()})}),group:e=>(a.current.has(e)||a.current.set(e,new Set),()=>{l.current.delete(e),a.current.delete(e)}),filter:()=>s.current.shouldFilter,label:u||e["aria-label"],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:_,inputId:M,labelId:I,listInnerRef:D}),[]);function H(e,t){var r,o;let a=null!=(o=null==(r=s.current)?void 0:r.filter)?o:b;return e?a(e,n.current.search,t):0}function V(){if(!n.current.search||!1===s.current.shouldFilter)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(r=>{let n=a.current.get(r),o=0;n.forEach(t=>{o=Math.max(e.get(t),o)}),t.push([r,o])});let r=D.current;Z().sort((t,r)=>{var n,o;let a=t.getAttribute("id"),l=r.getAttribute("id");return(null!=(n=e.get(l))?n:0)-(null!=(o=e.get(a))?o:0)}).forEach(e=>{let t=e.closest(m);t?t.appendChild(e.parentElement===t?e:e.closest(`${m} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${m} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{var t;let r=null==(t=D.current)?void 0:t.querySelector(`${p}[${y}="${encodeURIComponent(e[0])}"]`);null==r||r.parentElement.appendChild(r)})}function K(){let e=Z().find(e=>"true"!==e.getAttribute("aria-disabled")),t=null==e?void 0:e.getAttribute(y);U.setState("value",t||void 0)}function W(){var e,t,r,i;if(!n.current.search||!1===s.current.shouldFilter){n.current.filtered.count=o.current.size;return}n.current.filtered.groups=new Set;let u=0;for(let a of o.current){let o=H(null!=(t=null==(e=l.current.get(a))?void 0:e.value)?t:"",null!=(i=null==(r=l.current.get(a))?void 0:r.keywords)?i:[]);n.current.filtered.items.set(a,o),o>0&&u++}for(let[e,t]of a.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=u}function q(){var e,t,r;let n=G();n&&((null==(e=n.parentElement)?void 0:e.firstChild)===n&&(null==(r=null==(t=n.closest(p))?void 0:t.querySelector('[cmdk-group-heading=""]'))||r.scrollIntoView({block:"nearest"})),n.scrollIntoView({block:"nearest"}))}function G(){var e;return null==(e=D.current)?void 0:e.querySelector(`${h}[aria-selected="true"]`)}function Z(){var e;return Array.from((null==(e=D.current)?void 0:e.querySelectorAll(g))||[])}function J(e){let t=Z()[e];t&&U.setState("value",t.getAttribute(y))}function X(e){var t;let r=G(),n=Z(),o=n.findIndex(e=>e===r),a=n[o+e];null!=(t=s.current)&&t.loop&&(a=o+e<0?n[n.length-1]:o+e===n.length?n[0]:n[o+e]),a&&U.setState("value",a.getAttribute(y))}function Q(e){let t=G(),r=null==t?void 0:t.closest(p),n;for(;r&&!n;)n=null==(r=e>0?function(e,t){let r=e.nextElementSibling;for(;r;){if(r.matches(t))return r;r=r.nextElementSibling}}(r,p):function(e,t){let r=e.previousElementSibling;for(;r;){if(r.matches(t))return r;r=r.previousElementSibling}}(r,p))?void 0:r.querySelector(g);n?U.setState("value",n.getAttribute(y)):X(e)}let Y=()=>J(Z().length-1),ee=e=>{e.preventDefault(),e.metaKey?Y():e.altKey?Q(1):X(1)},et=e=>{e.preventDefault(),e.metaKey?J(0):e.altKey?Q(-1):X(-1)};return r.createElement(c.div,{ref:t,tabIndex:-1,...N,"cmdk-root":"",onKeyDown:e=>{var t;null==(t=N.onKeyDown)||t.call(N,e);let r=e.nativeEvent.isComposing||229===e.keyCode;if(!(e.defaultPrevented||r))switch(e.key){case"n":case"j":S&&e.ctrlKey&&ee(e);break;case"ArrowDown":ee(e);break;case"p":case"k":S&&e.ctrlKey&&et(e);break;case"ArrowUp":et(e);break;case"Home":e.preventDefault(),J(0);break;case"End":e.preventDefault(),Y();break;case"Enter":{e.preventDefault();let t=G();if(t){let e=new Event(v);t.dispatchEvent(e)}}}}},r.createElement("label",{"cmdk-label":"",htmlFor:B.inputId,id:B.labelId,style:F},u),$(e,e=>r.createElement(w.Provider,{value:U},r.createElement(x.Provider,{value:B},e))))}),E=r.forwardRef((e,t)=>{var n,o;let a=(0,d.useId)(),l=r.useRef(null),i=r.useContext(C),s=r.useContext(x),u=A(e),p=null!=(o=null==(n=u.current)?void 0:n.forceMount)?o:null==i?void 0:i.forceMount;O(()=>{if(!p)return s.item(a,null==i?void 0:i.id)},[p]);let m=M(a,l,[e.value,e.children,l],e.keywords),h=r.useContext(w),g=I(e=>e.value&&e.value===m.current),y=I(e=>!!p||!1===s.filter()||!e.search||e.filtered.items.get(a)>0);function b(){var e,t;k(),null==(t=(e=u.current).onSelect)||t.call(e,m.current)}function k(){h.setState("value",m.current,!0)}if(r.useEffect(()=>{let t=l.current;if(!(!t||e.disabled))return t.addEventListener(v,b),()=>t.removeEventListener(v,b)},[y,e.onSelect,e.disabled]),!y)return null;let{disabled:E,value:j,onSelect:P,forceMount:R,keywords:S,...N}=e;return r.createElement(c.div,{ref:(0,f.composeRefs)(l,t),...N,id:a,"cmdk-item":"",role:"option","aria-disabled":!!E,"aria-selected":!!g,"data-disabled":!!E,"data-selected":!!g,onPointerMove:E||s.getDisablePointerSelection()?void 0:k,onClick:E?void 0:b},e.children)}),j=r.forwardRef((e,t)=>{let{heading:n,children:o,forceMount:a,...l}=e,i=(0,d.useId)(),s=r.useRef(null),u=r.useRef(null),p=(0,d.useId)(),m=r.useContext(x),h=I(e=>!!a||!1===m.filter()||!e.search||e.filtered.groups.has(i));O(()=>m.group(i),[]),M(i,s,[e.value,e.heading,u]);let g=r.useMemo(()=>({id:i,forceMount:a}),[a]);return r.createElement(c.div,{ref:(0,f.composeRefs)(s,t),...l,"cmdk-group":"",role:"presentation",hidden:!h||void 0},n&&r.createElement("div",{ref:u,"cmdk-group-heading":"","aria-hidden":!0,id:p},n),$(e,e=>r.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?p:void 0},r.createElement(C.Provider,{value:g},e))))}),P=r.forwardRef((e,t)=>{let{alwaysRender:n,...o}=e,a=r.useRef(null),l=I(e=>!e.search);return n||l?r.createElement(c.div,{ref:(0,f.composeRefs)(a,t),...o,"cmdk-separator":"",role:"separator"}):null}),R=r.forwardRef((e,t)=>{let{onValueChange:n,...o}=e,a=null!=e.value,l=r.useContext(w),i=I(e=>e.search),s=I(e=>e.selectedItemId),u=r.useContext(x);return r.useEffect(()=>{null!=e.value&&l.setState("search",e.value)},[e.value]),r.createElement(c.input,{ref:t,...o,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":u.listId,"aria-labelledby":u.labelId,"aria-activedescendant":s,id:u.inputId,type:"text",value:a?e.value:i,onChange:e=>{a||l.setState("search",e.target.value),null==n||n(e.target.value)}})}),S=r.forwardRef((e,t)=>{let{children:n,label:o="Suggestions",...a}=e,l=r.useRef(null),i=r.useRef(null),s=I(e=>e.selectedItemId),u=r.useContext(x);return r.useEffect(()=>{if(i.current&&l.current){let e=i.current,t=l.current,r,n=new ResizeObserver(()=>{r=requestAnimationFrame(()=>{let r=e.offsetHeight;t.style.setProperty("--cmdk-list-height",r.toFixed(1)+"px")})});return n.observe(e),()=>{cancelAnimationFrame(r),n.unobserve(e)}}},[]),r.createElement(c.div,{ref:(0,f.composeRefs)(l,t),...a,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":s,"aria-label":o,id:u.listId},$(e,e=>r.createElement("div",{ref:(0,f.composeRefs)(i,u.listInnerRef),"cmdk-list-sizer":""},e)))}),N=r.forwardRef((e,t)=>{let{open:n,onOpenChange:o,overlayClassName:a,contentClassName:l,container:i,...u}=e;return r.createElement(s.Root,{open:n,onOpenChange:o},r.createElement(s.Portal,{container:i},r.createElement(s.Overlay,{"cmdk-overlay":"",className:a}),r.createElement(s.Content,{"aria-label":e.label,"cmdk-dialog":"",className:l},r.createElement(k,{ref:t,...u}))))}),_=Object.assign(k,{List:S,Item:E,Input:R,Group:j,Separator:P,Dialog:N,Empty:r.forwardRef((e,t)=>I(e=>0===e.filtered.count)?r.createElement(c.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Loading:r.forwardRef((e,t)=>{let{progress:n,children:o,label:a="Loading...",...l}=e;return r.createElement(c.div,{ref:t,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":a},$(e,e=>r.createElement("div",{"aria-hidden":!0},e)))})});function A(e){let t=r.useRef(e);return O(()=>{t.current=e}),t}var O="undefined"==typeof window?r.useEffect:r.useLayoutEffect;function T(e){let t=r.useRef();return void 0===t.current&&(t.current=e()),t}function I(e){let t=r.useContext(w),n=()=>e(t.snapshot());return r.useSyncExternalStore(t.subscribe,n,n)}function M(e,t,n,o=[]){let a=r.useRef(),l=r.useContext(x);return O(()=>{var r;let i=(()=>{var e;for(let t of n){if("string"==typeof t)return t.trim();if("object"==typeof t&&"current"in t)return t.current?null==(e=t.current.textContent)?void 0:e.trim():a.current}})(),s=o.map(e=>e.trim());l.value(e,i,s),null==(r=t.current)||r.setAttribute(y,i),a.current=i}),a}var L=()=>{let[e,t]=r.useState(),n=T(()=>new Map);return O(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function $({asChild:e,children:t},n){let o;return e&&r.isValidElement(t)?r.cloneElement("function"==typeof(o=t.type)?o(t.props):"render"in o?o.render(t.props):t,{ref:t.ref},n(t.props.children)):n(t)}var F={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},D=e.i(300329),z=e.i(632137),U=e.i(439779);let B=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(_,{ref:n,className:(0,z.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...r}));B.displayName=_.displayName;let H=({children:e,...r})=>(0,t.jsx)(U.Dialog,{...r,children:(0,t.jsx)(U.DialogContent,{className:"overflow-hidden p-0 shadow-lg",children:(0,t.jsx)(B,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),V=r.forwardRef(({className:e,...r},n)=>(0,t.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[(0,t.jsx)(D.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,t.jsx)(_.Input,{ref:n,className:(0,z.cn)("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...r})]}));V.displayName=_.Input.displayName;let K=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(_.List,{ref:n,className:(0,z.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...r}));K.displayName=_.List.displayName;let W=r.forwardRef((e,r)=>(0,t.jsx)(_.Empty,{ref:r,className:"py-6 text-center text-sm",...e}));W.displayName=_.Empty.displayName;let q=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(_.Group,{ref:n,className:(0,z.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...r}));q.displayName=_.Group.displayName;let G=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(_.Separator,{ref:n,className:(0,z.cn)("-mx-1 h-px bg-border",e),...r}));G.displayName=_.Separator.displayName;let Z=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(_.Item,{ref:n,className:(0,z.cn)("relative flex cursor-pointer gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...r}));Z.displayName=_.Item.displayName,e.s(["Command",()=>B,"CommandDialog",()=>H,"CommandEmpty",()=>W,"CommandGroup",()=>q,"CommandInput",()=>V,"CommandItem",()=>Z,"CommandList",()=>K,"CommandSeparator",()=>G],694541)}]);
@@ -1,2 +1,2 @@
1
1
  (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,612938,488446,187580,631982,t=>{"use strict";var e,i=t.i(697619),n=t.i(625393),r=t.i(181713);t.i(991577);var s=t.i(352195),a=t.i(527750),o=t.i(995066),h=t.i(219412),c=t.i(334236),l=t.i(458968);function u(t,e){this._basis=new l.Basis(t),this._beta=e}u.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,i=t.length-1;if(i>0)for(var n,r=t[0],s=e[0],a=t[i]-r,o=e[i]-s,h=-1;++h<=i;)n=h/i,this._basis.point(this._beta*t[h]+(1-this._beta)*(r+n*a),this._beta*e[h]+(1-this._beta)*(s+n*o));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};let _=function t(e){function i(t){return 1===e?new l.Basis(t):new u(t,e)}return i.beta=function(e){return t(+e)},i}(.85);var f=t.i(709286);function d(t,e,i){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-i),t._x2,t._y2)}function x(t,e){this._context=t,this._k=(1-e)/6}x.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:d(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:d(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let p=function t(e){function i(t){return new x(t,e)}return i.tension=function(e){return t(+e)},i}(0);function y(t,e){this._context=t,this._k=(1-e)/6}y.prototype={areaStart:f.default,areaEnd:f.default,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:d(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let g=function t(e){function i(t){return new y(t,e)}return i.tension=function(e){return t(+e)},i}(0);function m(t,e){this._context=t,this._k=(1-e)/6}m.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:d(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let v=function t(e){function i(t){return new m(t,e)}return i.tension=function(e){return t(+e)},i}(0);t.s(["curveCardinal",0,p],488446);var b=t.i(424885);function w(t,e,i){var n=t._x1,r=t._y1,s=t._x2,a=t._y2;if(t._l01_a>b.epsilon){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,h=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/h,r=(r*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/h}if(t._l23_a>b.epsilon){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);s=(s*c+t._x1*t._l23_2a-e*t._l12_2a)/l,a=(a*c+t._y1*t._l23_2a-i*t._l12_2a)/l}t._context.bezierCurveTo(n,r,s,a,t._x2,t._y2)}function $(t,e){this._context=t,this._alpha=e}$.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t*=1,e*=1,this._point){var i=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:w(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let M=function t(e){function i(t){return e?new $(t,e):new x(t,0)}return i.alpha=function(e){return t(+e)},i}(.5);function S(t,e){this._context=t,this._alpha=e}S.prototype={areaStart:f.default,areaEnd:f.default,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t*=1,e*=1,this._point){var i=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:w(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let N=function t(e){function i(t){return e?new S(t,e):new y(t,0)}return i.alpha=function(e){return t(+e)},i}(.5);function k(t,e){this._context=t,this._alpha=e}k.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t*=1,e*=1,this._point){var i=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:w(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};let T=function t(e){function i(t){return e?new k(t,e):new m(t,0)}return i.alpha=function(e){return t(+e)},i}(.5);t.s(["curveCatmullRom",0,M],187580);var E=t.i(460605),C=t.i(759299),R=t.i(114605),D=t.i(211986),O=t.i(12669),A=t.i(373593),L=t.i(814826),B=t.i(472737),P=t.i(692423),H=t.i(976179),F=t.i(793290),I=t.i(846801),j=t.i(664139);let W=function(t,e,i){(void 0===i||(0,j.default)(t[e],i))&&(void 0!==i||e in t)||(0,I.default)(t,e,i)};var z=t.i(496515),U=t.i(161176),Y=t.i(848348),q=t.i(395508),K=t.i(988128),J=t.i(22422),X=t.i(284612),V=t.i(411021),Z=t.i(169310),G=t.i(892251),Q=t.i(418890),tt=t.i(104979),te=t.i(603280),ti=t.i(161184),tn=Object.prototype,tr=Function.prototype.toString,ts=tn.hasOwnProperty,ta=tr.call(Object);let to=function(t){if(!(0,ti.default)(t)||"[object Object]"!=(0,tt.default)(t))return!1;var e=(0,te.default)(t);if(null===e)return!0;var i=ts.call(e,"constructor")&&e.constructor;return"function"==typeof i&&i instanceof i&&tr.call(i)==ta};var th=t.i(79213);let tc=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]};var tl=t.i(53286),tu=t.i(420474);let t_=function(t,e,i,n,r,s,a){var o=tc(t,i),h=tc(e,i),c=a.get(h);if(c)return void W(t,i,c);var l=s?s(o,h,i+"",t,e,a):void 0,u=void 0===l;if(u){var _=(0,X.default)(h),f=!_&&(0,Z.default)(h),d=!_&&!f&&(0,th.default)(h);(l=h,_||f||d)?(0,X.default)(o)?l=o:(0,V.default)(o)?l=(0,q.default)(o):f?(u=!1,l=(0,U.default)(h,!0)):d?(u=!1,l=(0,Y.default)(h,!0)):l=[]:to(h)||(0,J.default)(h)?(l=o,(0,J.default)(o))?l=(0,tl.default)(o,(0,tu.default)(o)):(!(0,Q.default)(o)||(0,G.default)(o))&&(l=(0,K.default)(h)):u=!1}u&&(a.set(h,l),r(l,h,n,s,a),a.delete(h)),W(t,i,l)},tf=function t(e,i,n,r,s){e!==i&&(0,z.default)(i,function(a,o){if(s||(s=new F.default),(0,Q.default)(a))t_(e,i,o,n,t,r,s);else{var h=r?r(tc(e,o),a,o+"",e,i,s):void 0;void 0===h&&(h=a),W(e,o,h)}},tu.default)};var td=(0,t.i(273990).default)(function(t,e,i){tf(t,e,i)});t.s(["default",0,td],631982);var tx={curveBasis:s.curveBasis,curveBasisClosed:a.curveBasisClosed,curveBasisOpen:o.curveBasisOpen,curveBumpX:h.curveBumpX,curveBumpY:c.curveBumpY,curveBundle:_,curveCardinalClosed:g,curveCardinalOpen:v,curveCardinal:p,curveCatmullRomClosed:N,curveCatmullRomOpen:T,curveCatmullRom:M,curveLinear:E.curveLinear,curveLinearClosed:C.curveLinearClosed,curveMonotoneX:R.curveMonotoneX,curveMonotoneY:D.curveMonotoneY,curveNatural:O.curveNatural,curveStep:A.curveStep,curveStepAfter:L.curveStepAfter,curveStepBefore:B.curveStepBefore},tp=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,ty=(0,n.__name)(function(t,e){let n=tg(t,/(?:init\b)|(?:initialize\b)/),r={};if(Array.isArray(n)){let t=n.map(t=>t.args);(0,i.sanitizeDirective)(t),r=(0,i.assignWithDepth_default)(r,[...t])}else r=n.args;if(!r)return;let s=(0,i.detectType)(t,e),a="config";return void 0!==r[a]&&("flowchart-v2"===s&&(s="flowchart"),r[s]=r[a],delete r[a]),r},"detectInit"),tg=(0,n.__name)(function(t,e=null){try{let r,s=RegExp(`[%]{2}(?![{]${tp.source})(?=[}][%]{2}).*
2
- `,"ig");t=t.trim().replace(s,"").replace(/'/gm,'"'),n.log.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);let a=[];for(;null!==(r=i.directiveRegex.exec(t));)if(r.index===i.directiveRegex.lastIndex&&i.directiveRegex.lastIndex++,r&&!e||e&&r[1]?.match(e)||e&&r[2]?.match(e)){let t=r[1]?r[1]:r[2],e=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;a.push({type:t,args:e})}if(0===a.length)return{type:t,args:null};return 1===a.length?a[0]:a}catch(i){return n.log.error(`ERROR: ${i.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),tm=(0,n.__name)(function(t){return t.replace(i.directiveRegex,"")},"removeDirectives"),tv=(0,n.__name)(function(t,e){for(let[i,n]of e.entries())if(n.match(t))return i;return -1},"isSubstringInArray");function tb(t,e){return t?tx[`curve${t.charAt(0).toUpperCase()+t.slice(1)}`]??e:e}function tw(t,e){let i=t.trim();if(i)return"loose"!==e.securityLevel?(0,r.sanitizeUrl)(i):i}(0,n.__name)(tb,"interpolateToCurve"),(0,n.__name)(tw,"formatUrl");var t$=(0,n.__name)((t,...e)=>{let i=t.split("."),r=i.length-1,s=i[r],a=window;for(let e=0;e<r;e++)if(!(a=a[i[e]]))return void n.log.error(`Function name: ${t} not found in window`);a[s](...e)},"runFunc");function tM(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}function tS(t){let e,i=0;return t.forEach(t=>{i+=tM(t,e),e=t}),tT(t,i/2)}function tN(t){return 1===t.length?t[0]:tS(t)}(0,n.__name)(tM,"distance"),(0,n.__name)(tS,"traverseEdge"),(0,n.__name)(tN,"calcLabelPosition");var tk=(0,n.__name)((t,e=2)=>{let i=Math.pow(10,e);return Math.round(t*i)/i},"roundNumber"),tT=(0,n.__name)((t,e)=>{let i,n=e;for(let e of t){if(i){let t=tM(e,i);if(0===t)return i;if(t<n)n-=t;else{let r=n/t;if(r<=0)return i;if(r>=1)return{x:e.x,y:e.y};if(r>0&&r<1)return{x:tk((1-r)*i.x+r*e.x,5),y:tk((1-r)*i.y+r*e.y,5)}}}i=e}throw Error("Could not find a suitable point for the given distance")},"calculatePoint"),tE=(0,n.__name)((t,e,i)=>{n.log.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());let r=tT(e,25),s=t?10:5,a=Math.atan2(e[0].y-r.y,e[0].x-r.x),o={x:0,y:0};return o.x=Math.sin(a)*s+(e[0].x+r.x)/2,o.y=-Math.cos(a)*s+(e[0].y+r.y)/2,o},"calcCardinalityPosition");function tC(t,e,i){let r=structuredClone(i);n.log.info("our points",r),"start_left"!==e&&"start_right"!==e&&r.reverse();let s=tT(r,25+t),a=10+.5*t,o=Math.atan2(r[0].y-s.y,r[0].x-s.x),h={x:0,y:0};return"start_left"===e?(h.x=Math.sin(o+Math.PI)*a+(r[0].x+s.x)/2,h.y=-Math.cos(o+Math.PI)*a+(r[0].y+s.y)/2):"end_right"===e?(h.x=Math.sin(o-Math.PI)*a+(r[0].x+s.x)/2-5,h.y=-Math.cos(o-Math.PI)*a+(r[0].y+s.y)/2-5):"end_left"===e?(h.x=Math.sin(o)*a+(r[0].x+s.x)/2-5,h.y=-Math.cos(o)*a+(r[0].y+s.y)/2-5):(h.x=Math.sin(o)*a+(r[0].x+s.x)/2,h.y=-Math.cos(o)*a+(r[0].y+s.y)/2),h}function tR(t){let e="",i="";for(let n of t)void 0!==n&&(n.startsWith("color:")||n.startsWith("text-align:")?i=i+n+";":e=e+n+";");return{style:e,labelStyle:i}}(0,n.__name)(tC,"calcTerminalLabelPosition"),(0,n.__name)(tR,"getStylesFromArray");var tD=0,tO=(0,n.__name)(()=>(tD++,"id-"+Math.random().toString(36).substr(2,12)+"-"+tD),"generateId");function tA(t){let e="",i="0123456789abcdef",n=i.length;for(let r=0;r<t;r++)e+=i.charAt(Math.floor(Math.random()*n));return e}(0,n.__name)(tA,"makeRandomHex");var tL=(0,n.__name)(t=>tA(t.length),"random"),tB=(0,n.__name)(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),tP=(0,n.__name)(function(t,e){let n=e.text.replace(i.common_default.lineBreakRegex," "),[,r]=tK(e.fontSize),s=t.append("text");s.attr("x",e.x),s.attr("y",e.y),s.style("text-anchor",e.anchor),s.style("font-family",e.fontFamily),s.style("font-size",r),s.style("font-weight",e.fontWeight),s.attr("fill",e.fill),void 0!==e.class&&s.attr("class",e.class);let a=s.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.attr("fill",e.fill),a.text(n),s},"drawSimpleText"),tH=(0,H.default)((t,e,n)=>{if(!t||(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},n),i.common_default.lineBreakRegex.test(t)))return t;let r=t.split(" ").filter(Boolean),s=[],a="";return r.forEach((t,i)=>{let o=tj(`${t} `,n),h=tj(a,n);if(o>e){let{hyphenatedStrings:i,remainingWord:r}=tF(t,e,"-",n);s.push(a,...i),a=r}else h+o>=e?(s.push(a),a=t):a=[a,t].filter(Boolean).join(" ");i+1===r.length&&s.push(a)}),s.filter(t=>""!==t).join(n.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),tF=(0,H.default)((t,e,i="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let r=[...t],s=[],a="";return r.forEach((t,o)=>{let h=`${a}${t}`;if(tj(h,n)>=e){let t=r.length===o+1,e=`${h}${i}`;s.push(t?h:e),a=""}else a=h}),{hyphenatedStrings:s,remainingWord:a}},(t,e,i="-",n)=>`${t}${e}${i}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function tI(t,e){return tW(t,e).height}function tj(t,e){return tW(t,e).width}(0,n.__name)(tI,"calculateTextHeight"),(0,n.__name)(tj,"calculateTextWidth");var tW=(0,H.default)((t,e)=>{let{fontSize:n=12,fontFamily:r="Arial",fontWeight:s=400}=e;if(!t)return{width:0,height:0};let[,a]=tK(n),o=t.split(i.common_default.lineBreakRegex),h=[],c=(0,P.select)("body");if(!c.remove)return{width:0,height:0,lineHeight:0};let l=c.append("svg");for(let t of["sans-serif",r]){let e=0,i={width:0,height:0,lineHeight:0};for(let n of o){let r=tB();r.text=n||"​";let o=tP(l,r).style("font-size",a).style("font-weight",s).style("font-family",t),h=(o._groups||o)[0][0].getBBox();if(0===h.width&&0===h.height)throw Error("svg element not in render tree");i.width=Math.round(Math.max(i.width,h.width)),e=Math.round(h.height),i.height+=e,i.lineHeight=Math.round(Math.max(i.lineHeight,e))}h.push(i)}l.remove();let u=isNaN(h[1].height)||isNaN(h[1].width)||isNaN(h[1].lineHeight)||h[0].height>h[1].height&&h[0].width>h[1].width&&h[0].lineHeight>h[1].lineHeight?0:1;return h[u]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),tz=class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}static{(0,n.__name)(this,"InitIDGenerator")}},tU=(0,n.__name)(function(t){return e=e||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),e.innerHTML=t,unescape(e.textContent)},"entityDecode");function tY(t){return"str"in t}(0,n.__name)(tY,"isDetailedError");var tq=(0,n.__name)((t,e,i,n)=>{if(!n)return;let r=t.node()?.getBBox();r&&t.append("text").text(n).attr("text-anchor","middle").attr("x",r.x+r.width/2).attr("y",-i).attr("class",e)},"insertTitle"),tK=(0,n.__name)(t=>{if("number"==typeof t)return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function tJ(t,e){return td({},t,e)}(0,n.__name)(tJ,"cleanAndMerge");var tX={assignWithDepth:i.assignWithDepth_default,wrapLabel:tH,calculateTextHeight:tI,calculateTextWidth:tj,calculateTextDimensions:tW,cleanAndMerge:tJ,detectInit:ty,detectDirective:tg,isSubstringInArray:tv,interpolateToCurve:tb,calcLabelPosition:tN,calcCardinalityPosition:tE,calcTerminalLabelPosition:tC,formatUrl:tw,getStylesFromArray:tR,generateId:tO,random:tL,runFunc:t$,entityDecode:tU,insertTitle:tq,isLabelCoordinateInPath:t0,parseFontSize:tK,InitIDGenerator:tz},tV=(0,n.__name)(function(t){let e=t;return(e=(e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/#\w+;/g,function(t){let e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},"encodeEntities"),tZ=(0,n.__name)(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),tG=(0,n.__name)((t,e,{counter:i=0,prefix:n,suffix:r},s)=>s||`${n?`${n}_`:""}${t}_${e}_${i}${r?`_${r}`:""}`,"getEdgeId");function tQ(t){return t??null}function t0(t,e){let i=Math.round(t.x),n=Math.round(t.y),r=e.replace(/(\d+\.\d+)/g,t=>Math.round(parseFloat(t)).toString());return r.includes(i.toString())||r.includes(n.toString())}(0,n.__name)(tQ,"handleUndefinedAttr"),(0,n.__name)(t0,"isLabelCoordinateInPath"),t.s(["ZERO_WIDTH_SPACE",()=>"​","calculateTextHeight",()=>tI,"calculateTextWidth",()=>tj,"cleanAndMerge",()=>tJ,"decodeEntities",()=>tZ,"encodeEntities",()=>tV,"generateId",()=>tO,"getEdgeId",()=>tG,"getStylesFromArray",()=>tR,"handleUndefinedAttr",()=>tQ,"interpolateToCurve",()=>tb,"isDetailedError",()=>tY,"parseFontSize",()=>tK,"random",()=>tL,"removeDirectives",()=>tm,"utils_default",()=>tX,"wrapLabel",()=>tH],612938)},458968,t=>{"use strict";function e(t,e,i){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+i)/6)}function i(t){this._context=t}i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:e(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,i){switch(t*=1,i*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:e(this,t,i)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=i}},t.s(["Basis",()=>i,"default",0,function(t){return new i(t)},"point",()=>e])},352195,t=>{"use strict";var e=t.i(458968);t.s(["curveBasis",()=>e.default])},709286,t=>{"use strict";t.s(["default",0,function(){}])},527750,995066,t=>{"use strict";var e=t.i(709286),i=t.i(458968);function n(t){this._context=t}function r(t){this._context=t}n.prototype={areaStart:e.default,areaEnd:e.default,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:(0,i.point)(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},t.s(["curveBasisClosed",0,function(t){return new n(t)}],527750),r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:(0,i.point)(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},t.s(["curveBasisOpen",0,function(t){return new r(t)}],995066)},219412,334236,t=>{"use strict";class e{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function i(t){return new e(t,!0)}function n(t){return new e(t,!1)}t.s(["curveBumpX",()=>i],219412),t.s(["curveBumpY",()=>n],334236)},566635,t=>{"use strict";function e(t){this._context=t}e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},t.s(["default",0,function(t){return new e(t)}])},460605,t=>{"use strict";var e=t.i(566635);t.s(["curveLinear",()=>e.default])},759299,t=>{"use strict";var e=t.i(709286);function i(t){this._context=t}i.prototype={areaStart:e.default,areaEnd:e.default,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t*=1,e*=1,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},t.s(["curveLinearClosed",0,function(t){return new i(t)}],759299)},114605,211986,12669,373593,814826,472737,t=>{"use strict";function e(t,e,i){var n=t._x1-t._x0,r=e-t._x1,s=(t._y1-t._y0)/(n||r<0&&-0),a=(i-t._y1)/(r||n<0&&-0);return((s<0?-1:1)+(a<0?-1:1))*Math.min(Math.abs(s),Math.abs(a),.5*Math.abs((s*r+a*n)/(n+r)))||0}function i(t,e){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-e)/2:e}function n(t,e,i){var n=t._x0,r=t._y0,s=t._x1,a=t._y1,o=(s-n)/3;t._context.bezierCurveTo(n+o,r+o*e,s-o,a-o*i,s,a)}function r(t){this._context=t}function s(t){this._context=new a(t)}function a(t){this._context=t}function o(t){return new r(t)}function h(t){return new s(t)}function c(t){this._context=t}function l(t){var e,i,n=t.length-1,r=Array(n),s=Array(n),a=Array(n);for(r[0]=0,s[0]=2,a[0]=t[0]+2*t[1],e=1;e<n-1;++e)r[e]=1,s[e]=4,a[e]=4*t[e]+2*t[e+1];for(r[n-1]=2,s[n-1]=7,a[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)i=r[e]/s[e-1],s[e]-=i,a[e]-=i*a[e-1];for(r[n-1]=a[n-1]/s[n-1],e=n-2;e>=0;--e)r[e]=(a[e]-r[e+1])/s[e];for(e=0,s[n-1]=(t[n]+r[n-1])/2;e<n-1;++e)s[e]=2*t[e+1]-r[e+1];return[r,s]}function u(t,e){this._context=t,this._t=e}function _(t){return new u(t,0)}function f(t){return new u(t,1)}r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:n(this,this._t0,i(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,r){var s=NaN;if(r*=1,(t*=1)!==this._x1||r!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break;case 1:this._point=2;break;case 2:this._point=3,n(this,i(this,s=e(this,t,r)),s);break;default:n(this,this._t0,s=e(this,t,r))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=r,this._t0=s}}},(s.prototype=Object.create(r.prototype)).point=function(t,e){r.prototype.point.call(this,e,t)},a.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,i,n,r,s){this._context.bezierCurveTo(e,t,n,i,s,r)}},t.s(["curveMonotoneX",()=>o],114605),t.s(["curveMonotoneY",()=>h],211986),c.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===i)this._context.lineTo(t[1],e[1]);else for(var n=l(t),r=l(e),s=0,a=1;a<i;++s,++a)this._context.bezierCurveTo(n[0][s],r[0][s],n[1][s],r[1][s],t[a],e[a]);(this._line||0!==this._line&&1===i)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},t.s(["curveNatural",0,function(t){return new c(t)}],12669),u.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,e)}}this._x=t,this._y=e}},t.s(["curveStep",0,function(t){return new u(t,.5)}],373593),t.s(["curveStepAfter",()=>f],814826),t.s(["curveStepBefore",()=>_],472737)},625393,991577,t=>{"use strict";var e=t.i(585458),i=Object.defineProperty,n=(t,e)=>i(t,"name",{value:e,configurable:!0}),r=(t,e)=>{for(var n in e)i(t,n,{get:e[n],enumerable:!0})},s={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},a={trace:n((...t)=>{},"trace"),debug:n((...t)=>{},"debug"),info:n((...t)=>{},"info"),warn:n((...t)=>{},"warn"),error:n((...t)=>{},"error"),fatal:n((...t)=>{},"fatal")},o=n(function(t="fatal"){let e=s.fatal;"string"==typeof t?t.toLowerCase()in s&&(e=s[t]):"number"==typeof t&&(e=t),a.trace=()=>{},a.debug=()=>{},a.info=()=>{},a.warn=()=>{},a.error=()=>{},a.fatal=()=>{},e<=s.fatal&&(a.fatal=console.error?console.error.bind(console,h("FATAL"),"color: orange"):console.log.bind(console,"\x1b[35m",h("FATAL"))),e<=s.error&&(a.error=console.error?console.error.bind(console,h("ERROR"),"color: orange"):console.log.bind(console,"\x1b[31m",h("ERROR"))),e<=s.warn&&(a.warn=console.warn?console.warn.bind(console,h("WARN"),"color: orange"):console.log.bind(console,`\x1b[33m`,h("WARN"))),e<=s.info&&(a.info=console.info?console.info.bind(console,h("INFO"),"color: lightblue"):console.log.bind(console,"\x1b[34m",h("INFO"))),e<=s.debug&&(a.debug=console.debug?console.debug.bind(console,h("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",h("DEBUG"))),e<=s.trace&&(a.trace=console.debug?console.debug.bind(console,h("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",h("TRACE")))},"setLogLevel"),h=n(t=>{let i=(0,e.default)().format("ss.SSS");return`%c${i} : ${t} : `},"format");t.s(["__export",()=>r,"__name",()=>n,"log",()=>a,"setLogLevel",()=>o],625393),t.i(8164),t.i(542550),t.i(145850),t.i(678152),t.i(954542),t.i(692423),t.i(183502),t.i(603760);let{abs:c,max:l,min:u}=Math;function _(t){return{type:t}}["w","e"].map(_),["n","s"].map(_),["n","w","e","s","nw","ne","sw","se"].map(_),t.i(250149),t.s([],991577)},585458,(t,e,i)=>{t.e,e.exports=function(){"use strict";var t="millisecond",e="second",i="minute",n="hour",r="week",s="month",a="quarter",o="year",h="date",c="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,_=function(t,e,i){var n=String(t);return!n||n.length>=e?t:""+Array(e+1-n.length).join(i)+t},f="en",d={};d[f]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],i=t%100;return"["+t+(e[(i-20)%10]||e[i]||e[0])+"]"}};var x="$isDayjsObject",p=function(t){return t instanceof v||!(!t||!t[x])},y=function t(e,i,n){var r;if(!e)return f;if("string"==typeof e){var s=e.toLowerCase();d[s]&&(r=s),i&&(d[s]=i,r=s);var a=e.split("-");if(!r&&a.length>1)return t(a[0])}else{var o=e.name;d[o]=e,r=o}return!n&&r&&(f=r),r||!n&&f},g=function(t,e){if(p(t))return t.clone();var i="object"==typeof e?e:{};return i.date=t,i.args=arguments,new v(i)},m={s:_,z:function(t){var e=-t.utcOffset(),i=Math.abs(e);return(e<=0?"+":"-")+_(Math.floor(i/60),2,"0")+":"+_(i%60,2,"0")},m:function t(e,i){if(e.date()<i.date())return-t(i,e);var n=12*(i.year()-e.year())+(i.month()-e.month()),r=e.clone().add(n,s),a=i-r<0,o=e.clone().add(n+(a?-1:1),s);return+(-(n+(i-r)/(a?r-o:o-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(c){return({M:s,y:o,w:r,d:"day",D:h,h:n,m:i,s:e,ms:t,Q:a})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}};m.l=y,m.i=p,m.w=function(t,e){return g(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var v=function(){function _(t){this.$L=y(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[x]=!0}var f=_.prototype;return f.parse=function(t){this.$d=function(t){var e=t.date,i=t.utc;if(null===e)return new Date(NaN);if(m.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var n=e.match(l);if(n){var r=n[2]-1||0,s=(n[7]||"0").substring(0,3);return i?new Date(Date.UTC(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(e)}(t),this.init()},f.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},f.$utils=function(){return m},f.isValid=function(){return this.$d.toString()!==c},f.isSame=function(t,e){var i=g(t);return this.startOf(e)<=i&&i<=this.endOf(e)},f.isAfter=function(t,e){return g(t)<this.startOf(e)},f.isBefore=function(t,e){return this.endOf(e)<g(t)},f.$g=function(t,e,i){return m.u(t)?this[e]:this.set(i,t)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(t,a){var c=this,l=!!m.u(a)||a,u=m.p(t),_=function(t,e){var i=m.w(c.$u?Date.UTC(c.$y,e,t):new Date(c.$y,e,t),c);return l?i:i.endOf("day")},f=function(t,e){return m.w(c.toDate()[t].apply(c.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(e)),c)},d=this.$W,x=this.$M,p=this.$D,y="set"+(this.$u?"UTC":"");switch(u){case o:return l?_(1,0):_(31,11);case s:return l?_(1,x):_(0,x+1);case r:var g=this.$locale().weekStart||0,v=(d<g?d+7:d)-g;return _(l?p-v:p+(6-v),x);case"day":case h:return f(y+"Hours",0);case n:return f(y+"Minutes",1);case i:return f(y+"Seconds",2);case e:return f(y+"Milliseconds",3);default:return this.clone()}},f.endOf=function(t){return this.startOf(t,!1)},f.$set=function(r,a){var c,l=m.p(r),u="set"+(this.$u?"UTC":""),_=((c={}).day=u+"Date",c[h]=u+"Date",c[s]=u+"Month",c[o]=u+"FullYear",c[n]=u+"Hours",c[i]=u+"Minutes",c[e]=u+"Seconds",c[t]=u+"Milliseconds",c)[l],f="day"===l?this.$D+(a-this.$W):a;if(l===s||l===o){var d=this.clone().set(h,1);d.$d[_](f),d.init(),this.$d=d.set(h,Math.min(this.$D,d.daysInMonth())).$d}else _&&this.$d[_](f);return this.init(),this},f.set=function(t,e){return this.clone().$set(t,e)},f.get=function(t){return this[m.p(t)]()},f.add=function(t,a){var h,c=this;t=Number(t);var l=m.p(a),u=function(e){var i=g(c);return m.w(i.date(i.date()+Math.round(e*t)),c)};if(l===s)return this.set(s,this.$M+t);if(l===o)return this.set(o,this.$y+t);if("day"===l)return u(1);if(l===r)return u(7);var _=((h={})[i]=6e4,h[n]=36e5,h[e]=1e3,h)[l]||1,f=this.$d.getTime()+t*_;return m.w(f,this)},f.subtract=function(t,e){return this.add(-1*t,e)},f.format=function(t){var e=this,i=this.$locale();if(!this.isValid())return i.invalidDate||c;var n=t||"YYYY-MM-DDTHH:mm:ssZ",r=m.z(this),s=this.$H,a=this.$m,o=this.$M,h=i.weekdays,l=i.months,_=i.meridiem,f=function(t,i,r,s){return t&&(t[i]||t(e,n))||r[i].slice(0,s)},d=function(t){return m.s(s%12||12,t,"0")},x=_||function(t,e,i){var n=t<12?"AM":"PM";return i?n.toLowerCase():n};return n.replace(u,function(t,n){return n||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return m.s(e.$y,4,"0");case"M":return o+1;case"MM":return m.s(o+1,2,"0");case"MMM":return f(i.monthsShort,o,l,3);case"MMMM":return f(l,o);case"D":return e.$D;case"DD":return m.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return f(i.weekdaysMin,e.$W,h,2);case"ddd":return f(i.weekdaysShort,e.$W,h,3);case"dddd":return h[e.$W];case"H":return String(s);case"HH":return m.s(s,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return x(s,a,!0);case"A":return x(s,a,!1);case"m":return String(a);case"mm":return m.s(a,2,"0");case"s":return String(e.$s);case"ss":return m.s(e.$s,2,"0");case"SSS":return m.s(e.$ms,3,"0");case"Z":return r}return null}(t)||r.replace(":","")})},f.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},f.diff=function(t,h,c){var l,u=this,_=m.p(h),f=g(t),d=(f.utcOffset()-this.utcOffset())*6e4,x=this-f,p=function(){return m.m(u,f)};switch(_){case o:l=p()/12;break;case s:l=p();break;case a:l=p()/3;break;case r:l=(x-d)/6048e5;break;case"day":l=(x-d)/864e5;break;case n:l=x/36e5;break;case i:l=x/6e4;break;case e:l=x/1e3;break;default:l=x}return c?l:m.a(l)},f.daysInMonth=function(){return this.endOf(s).$D},f.$locale=function(){return d[this.$L]},f.locale=function(t,e){if(!t)return this.$L;var i=this.clone(),n=y(t,e,!0);return n&&(i.$L=n),i},f.clone=function(){return m.w(this.$d,this)},f.toDate=function(){return new Date(this.valueOf())},f.toJSON=function(){return this.isValid()?this.toISOString():null},f.toISOString=function(){return this.$d.toISOString()},f.toString=function(){return this.$d.toUTCString()},_}(),b=v.prototype;return g.prototype=b,[["$ms",t],["$s",e],["$m",i],["$H",n],["$W","day"],["$M",s],["$y",o],["$D",h]].forEach(function(t){b[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),g.extend=function(t,e){return t.$i||(t(e,v,g),t.$i=!0),g},g.locale=y,g.isDayjs=p,g.unix=function(t){return g(1e3*t)},g.en=d[f],g.Ls=d,g.p={},g}()},161610,189517,321137,t=>{"use strict";function e(t,e,i){t.prototype=e.prototype=i,i.constructor=t}function i(t,e){var i=Object.create(t.prototype);for(var n in e)i[n]=e[n];return i}function n(){}t.s(["default",0,e,"extend",()=>i],189517);var r="\\s*([+-]?\\d+)\\s*",s="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",o=/^#([0-9a-f]{3,8})$/,h=RegExp(`^rgb\\(${r},${r},${r}\\)$`),c=RegExp(`^rgb\\(${a},${a},${a}\\)$`),l=RegExp(`^rgba\\(${r},${r},${r},${s}\\)$`),u=RegExp(`^rgba\\(${a},${a},${a},${s}\\)$`),_=RegExp(`^hsl\\(${s},${a},${a}\\)$`),f=RegExp(`^hsla\\(${s},${a},${a},${s}\\)$`),d={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function x(){return this.rgb().formatHex()}function p(){return this.rgb().formatRgb()}function y(t){var e,i;return t=(t+"").trim().toLowerCase(),(e=o.exec(t))?(i=e[1].length,e=parseInt(e[1],16),6===i?g(e):3===i?new w(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===i?m(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===i?m(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new w(e[1],e[2],e[3],1):(e=c.exec(t))?new w(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=l.exec(t))?m(e[1],e[2],e[3],e[4]):(e=u.exec(t))?m(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=_.exec(t))?T(e[1],e[2]/100,e[3]/100,1):(e=f.exec(t))?T(e[1],e[2]/100,e[3]/100,e[4]):d.hasOwnProperty(t)?g(d[t]):"transparent"===t?new w(NaN,NaN,NaN,0):null}function g(t){return new w(t>>16&255,t>>8&255,255&t,1)}function m(t,e,i,n){return n<=0&&(t=e=i=NaN),new w(t,e,i,n)}function v(t){return(t instanceof n||(t=y(t)),t)?new w((t=t.rgb()).r,t.g,t.b,t.opacity):new w}function b(t,e,i,n){return 1==arguments.length?v(t):new w(t,e,i,null==n?1:n)}function w(t,e,i,n){this.r=+t,this.g=+e,this.b=+i,this.opacity=+n}function $(){return`#${k(this.r)}${k(this.g)}${k(this.b)}`}function M(){let t=S(this.opacity);return`${1===t?"rgb(":"rgba("}${N(this.r)}, ${N(this.g)}, ${N(this.b)}${1===t?")":`, ${t})`}`}function S(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function N(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function k(t){return((t=N(t))<16?"0":"")+t.toString(16)}function T(t,e,i,n){return n<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new C(t,e,i,n)}function E(t){if(t instanceof C)return new C(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=y(t)),!t)return new C;if(t instanceof C)return t;var e=(t=t.rgb()).r/255,i=t.g/255,r=t.b/255,s=Math.min(e,i,r),a=Math.max(e,i,r),o=NaN,h=a-s,c=(a+s)/2;return h?(o=e===a?(i-r)/h+(i<r)*6:i===a?(r-e)/h+2:(e-i)/h+4,h/=c<.5?a+s:2-a-s,o*=60):h=c>0&&c<1?0:o,new C(o,h,c,t.opacity)}function C(t,e,i,n){this.h=+t,this.s=+e,this.l=+i,this.opacity=+n}function R(t){return(t=(t||0)%360)<0?t+360:t}function D(t){return Math.max(0,Math.min(1,t||0))}function O(t,e,i){return(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)*255}e(n,y,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return E(this).formatHsl()},formatRgb:p,toString:p}),e(w,b,i(n,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new w(N(this.r),N(this.g),N(this.b),S(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:$,formatHex:$,formatHex8:function(){return`#${k(this.r)}${k(this.g)}${k(this.b)}${k((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:M,toString:M})),e(C,function(t,e,i,n){return 1==arguments.length?E(t):new C(t,e,i,null==n?1:n)},i(n,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new C(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new C(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,n=i+(i<.5?i:1-i)*e,r=2*i-n;return new w(O(t>=240?t-240:t+120,r,n),O(t,r,n),O(t<120?t+240:t-120,r,n),this.opacity)},clamp(){return new C(R(this.h),D(this.s),D(this.l),S(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=S(this.opacity);return`${1===t?"hsl(":"hsla("}${R(this.h)}, ${100*D(this.s)}%, ${100*D(this.l)}%${1===t?")":`, ${t})`}`}})),t.s(["Color",()=>n,"Rgb",()=>w,"default",()=>y,"rgb",()=>b,"rgbConvert",()=>v],321137),t.s(["color",()=>y],161610)},145665,181503,425902,t=>{"use strict";var e=t.i(321137);function i(t,e,i,n,r){var s=t*t,a=s*t;return((1-3*t+3*s-a)*e+(4-6*s+3*a)*i+(1+3*t+3*s-3*a)*n+a*r)/6}let n=t=>()=>t;function r(t,e){return function(i){return t+i*e}}function s(t,e){var i=e-t;return i?r(t,i>180||i<-180?i-360*Math.round(i/360):i):n(isNaN(t)?e:t)}function a(t){return 1==(t*=1)?o:function(e,i){var r,s,a;return i-e?(r=e,s=i,r=Math.pow(r,a=t),s=Math.pow(s,a)-r,a=1/a,function(t){return Math.pow(r+t*s,a)}):n(isNaN(e)?i:e)}}function o(t,e){var i=e-t;return i?r(t,i):n(isNaN(t)?e:t)}t.s(["default",0,n],181503),t.s(["default",()=>o,"gamma",()=>a,"hue",()=>s],425902);let h=function t(i){var n=a(i);function r(t,i){var r=n((t=(0,e.rgb)(t)).r,(i=(0,e.rgb)(i)).r),s=n(t.g,i.g),a=n(t.b,i.b),h=o(t.opacity,i.opacity);return function(e){return t.r=r(e),t.g=s(e),t.b=a(e),t.opacity=h(e),t+""}}return r.gamma=t,r}(1);function c(t){return function(i){var n,r,s=i.length,a=Array(s),o=Array(s),h=Array(s);for(n=0;n<s;++n)r=(0,e.rgb)(i[n]),a[n]=r.r||0,o[n]=r.g||0,h[n]=r.b||0;return a=t(a),o=t(o),h=t(h),r.opacity=1,function(t){return r.r=a(t),r.g=o(t),r.b=h(t),r+""}}}c(function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),s=t[r],a=t[r+1],o=r>0?t[r-1]:2*s-a,h=r<e-1?t[r+2]:2*a-s;return i((n-r/e)*e,o,s,a,h)}}),c(function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),s=t[(r+e-1)%e],a=t[r%e],o=t[(r+1)%e],h=t[(r+2)%e];return i((n-r/e)*e,s,a,o,h)}}),t.s(["default",0,h],145665)},842541,t=>{"use strict";t.s(["default",0,function(t,e){return t*=1,e*=1,function(i){return t*(1-i)+e*i}}])},647483,t=>{"use strict";var e=t.i(842541),i=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,n=RegExp(i.source,"g");t.s(["default",0,function(t,r){var s,a,o,h,c,l=i.lastIndex=n.lastIndex=0,u=-1,_=[],f=[];for(t+="",r+="";(o=i.exec(t))&&(h=n.exec(r));)(c=h.index)>l&&(c=r.slice(l,c),_[u]?_[u]+=c:_[++u]=c),(o=o[0])===(h=h[0])?_[u]?_[u]+=h:_[++u]=h:(_[++u]=null,f.push({i:u,x:(0,e.default)(o,h)})),l=n.lastIndex;return l<r.length&&(c=r.slice(l),_[u]?_[u]+=c:_[++u]=c),_.length<2?f[0]?(s=f[0].x,function(t){return s(t)+""}):(a=r,function(){return a}):(r=f.length,function(t){for(var e,i=0;i<r;++i)_[(e=f[i]).i]=e.x(t);return _.join("")})}])},77075,t=>{"use strict";var e=t.i(842541);t.s(["interpolateNumber",()=>e.default])},678152,213570,t=>{"use strict";t.s(["default",()=>a],213570);var e=t.i(161610),i=t.i(145665),n=t.i(842541),r=t.i(647483),s=t.i(181503);function a(t,o){var h,c,l=typeof o;return null==o||"boolean"===l?(0,s.default)(o):("number"===l?n.default:"string"===l?(c=(0,e.color)(o))?(o=c,i.default):r.default:o instanceof e.color?i.default:o instanceof Date?function(t,e){var i=new Date;return t*=1,e*=1,function(n){return i.setTime(t*(1-n)+e*n),i}}:!ArrayBuffer.isView(h=o)||h instanceof DataView?Array.isArray(o)?function(t,e){var i,n=e?e.length:0,r=t?Math.min(n,t.length):0,s=Array(r),o=Array(n);for(i=0;i<r;++i)s[i]=a(t[i],e[i]);for(;i<n;++i)o[i]=e[i];return function(t){for(i=0;i<r;++i)o[i]=s[i](t);return o}}:"function"!=typeof o.valueOf&&"function"!=typeof o.toString||isNaN(o)?function(t,e){var i,n={},r={};for(i in(null===t||"object"!=typeof t)&&(t={}),(null===e||"object"!=typeof e)&&(e={}),e)i in t?n[i]=a(t[i],e[i]):r[i]=e[i];return function(t){for(i in n)r[i]=n[i](t);return r}}:n.default:function(t,e){e||(e=[]);var i,n=t?Math.min(e.length,t.length):0,r=e.slice();return function(s){for(i=0;i<n;++i)r[i]=t[i]*(1-s)+e[i]*s;return r}})(t,o)}t.s(["interpolate",0,a],678152)},424885,t=>{"use strict";let e=Math.abs,i=Math.atan2,n=Math.cos,r=Math.max,s=Math.min,a=Math.sin,o=Math.sqrt,h=Math.PI,c=h/2;function l(t){return t>1?0:t<-1?h:Math.acos(t)}function u(t){return t>=1?c:t<=-1?-c:Math.asin(t)}t.s(["abs",0,e,"acos",()=>l,"asin",()=>u,"atan2",0,i,"cos",0,n,"epsilon",0,1e-12,"halfPi",0,c,"max",0,r,"min",0,s,"pi",0,h,"sin",0,a,"sqrt",0,o,"tau",0,2*h])},557553,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.BLANK_URL=i.relativeFirstCharacters=i.whitespaceEscapeCharsRegex=i.urlSchemeRegex=i.ctrlCharactersRegex=i.htmlCtrlEntityRegex=i.htmlEntitiesRegex=i.invalidProtocolRegex=void 0,i.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,i.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,i.htmlCtrlEntityRegex=/&(newline|tab);/gi,i.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,i.urlSchemeRegex=/^.+(:|&colon;)/gim,i.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,i.relativeFirstCharacters=[".","/"],i.BLANK_URL="about:blank"},181713,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.sanitizeUrl=void 0;var n=t.r(557553);function r(t){try{return decodeURIComponent(t)}catch(e){return t}}i.sanitizeUrl=function(t){if(!t)return n.BLANK_URL;var e,i=r(t.trim());do e=(i=r(i=i.replace(n.ctrlCharactersRegex,"").replace(n.htmlEntitiesRegex,function(t,e){return String.fromCharCode(e)}).replace(n.htmlCtrlEntityRegex,"").replace(n.ctrlCharactersRegex,"").replace(n.whitespaceEscapeCharsRegex,"").trim())).match(n.ctrlCharactersRegex)||i.match(n.htmlEntitiesRegex)||i.match(n.htmlCtrlEntityRegex)||i.match(n.whitespaceEscapeCharsRegex);while(e&&e.length>0)var s=i;if(!s)return n.BLANK_URL;if(n.relativeFirstCharacters.indexOf(s[0])>-1)return s;var a=s.trimStart(),o=a.match(n.urlSchemeRegex);if(!o)return s;var h=o[0].toLowerCase().trim();if(n.invalidProtocolRegex.test(h))return n.BLANK_URL;var c=a.replace(/\\/g,"/");if("mailto:"===h||h.includes("://"))return c;if("http:"===h||"https:"===h){if(!URL.canParse(c))return n.BLANK_URL;var l=new URL(c);return l.protocol=l.protocol.toLowerCase(),l.hostname=l.hostname.toLowerCase(),l.toString()}return c}}]);
2
+ `,"ig");t=t.trim().replace(s,"").replace(/'/gm,'"'),n.log.debug(`Detecting diagram directive${null!==e?" type:"+e:""} based on the text:${t}`);let a=[];for(;null!==(r=i.directiveRegex.exec(t));)if(r.index===i.directiveRegex.lastIndex&&i.directiveRegex.lastIndex++,r&&!e||e&&r[1]?.match(e)||e&&r[2]?.match(e)){let t=r[1]?r[1]:r[2],e=r[3]?r[3].trim():r[4]?JSON.parse(r[4].trim()):null;a.push({type:t,args:e})}if(0===a.length)return{type:t,args:null};return 1===a.length?a[0]:a}catch(i){return n.log.error(`ERROR: ${i.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),tm=(0,n.__name)(function(t){return t.replace(i.directiveRegex,"")},"removeDirectives"),tv=(0,n.__name)(function(t,e){for(let[i,n]of e.entries())if(n.match(t))return i;return -1},"isSubstringInArray");function tb(t,e){return t?tx[`curve${t.charAt(0).toUpperCase()+t.slice(1)}`]??e:e}function tw(t,e){let i=t.trim();if(i)return"loose"!==e.securityLevel?(0,r.sanitizeUrl)(i):i}(0,n.__name)(tb,"interpolateToCurve"),(0,n.__name)(tw,"formatUrl");var t$=(0,n.__name)((t,...e)=>{let i=t.split("."),r=i.length-1,s=i[r],a=window;for(let e=0;e<r;e++)if(!(a=a[i[e]]))return void n.log.error(`Function name: ${t} not found in window`);a[s](...e)},"runFunc");function tM(t,e){return t&&e?Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)):0}function tS(t){let e,i=0;return t.forEach(t=>{i+=tM(t,e),e=t}),tT(t,i/2)}function tN(t){return 1===t.length?t[0]:tS(t)}(0,n.__name)(tM,"distance"),(0,n.__name)(tS,"traverseEdge"),(0,n.__name)(tN,"calcLabelPosition");var tk=(0,n.__name)((t,e=2)=>{let i=Math.pow(10,e);return Math.round(t*i)/i},"roundNumber"),tT=(0,n.__name)((t,e)=>{let i,n=e;for(let e of t){if(i){let t=tM(e,i);if(0===t)return i;if(t<n)n-=t;else{let r=n/t;if(r<=0)return i;if(r>=1)return{x:e.x,y:e.y};if(r>0&&r<1)return{x:tk((1-r)*i.x+r*e.x,5),y:tk((1-r)*i.y+r*e.y,5)}}}i=e}throw Error("Could not find a suitable point for the given distance")},"calculatePoint"),tE=(0,n.__name)((t,e,i)=>{n.log.info(`our points ${JSON.stringify(e)}`),e[0]!==i&&(e=e.reverse());let r=tT(e,25),s=t?10:5,a=Math.atan2(e[0].y-r.y,e[0].x-r.x),o={x:0,y:0};return o.x=Math.sin(a)*s+(e[0].x+r.x)/2,o.y=-Math.cos(a)*s+(e[0].y+r.y)/2,o},"calcCardinalityPosition");function tC(t,e,i){let r=structuredClone(i);n.log.info("our points",r),"start_left"!==e&&"start_right"!==e&&r.reverse();let s=tT(r,25+t),a=10+.5*t,o=Math.atan2(r[0].y-s.y,r[0].x-s.x),h={x:0,y:0};return"start_left"===e?(h.x=Math.sin(o+Math.PI)*a+(r[0].x+s.x)/2,h.y=-Math.cos(o+Math.PI)*a+(r[0].y+s.y)/2):"end_right"===e?(h.x=Math.sin(o-Math.PI)*a+(r[0].x+s.x)/2-5,h.y=-Math.cos(o-Math.PI)*a+(r[0].y+s.y)/2-5):"end_left"===e?(h.x=Math.sin(o)*a+(r[0].x+s.x)/2-5,h.y=-Math.cos(o)*a+(r[0].y+s.y)/2-5):(h.x=Math.sin(o)*a+(r[0].x+s.x)/2,h.y=-Math.cos(o)*a+(r[0].y+s.y)/2),h}function tR(t){let e="",i="";for(let n of t)void 0!==n&&(n.startsWith("color:")||n.startsWith("text-align:")?i=i+n+";":e=e+n+";");return{style:e,labelStyle:i}}(0,n.__name)(tC,"calcTerminalLabelPosition"),(0,n.__name)(tR,"getStylesFromArray");var tD=0,tO=(0,n.__name)(()=>(tD++,"id-"+Math.random().toString(36).substr(2,12)+"-"+tD),"generateId");function tA(t){let e="",i="0123456789abcdef",n=i.length;for(let r=0;r<t;r++)e+=i.charAt(Math.floor(Math.random()*n));return e}(0,n.__name)(tA,"makeRandomHex");var tL=(0,n.__name)(t=>tA(t.length),"random"),tB=(0,n.__name)(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),tP=(0,n.__name)(function(t,e){let n=e.text.replace(i.common_default.lineBreakRegex," "),[,r]=tK(e.fontSize),s=t.append("text");s.attr("x",e.x),s.attr("y",e.y),s.style("text-anchor",e.anchor),s.style("font-family",e.fontFamily),s.style("font-size",r),s.style("font-weight",e.fontWeight),s.attr("fill",e.fill),void 0!==e.class&&s.attr("class",e.class);let a=s.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.attr("fill",e.fill),a.text(n),s},"drawSimpleText"),tH=(0,H.default)((t,e,n)=>{if(!t||(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},n),i.common_default.lineBreakRegex.test(t)))return t;let r=t.split(" ").filter(Boolean),s=[],a="";return r.forEach((t,i)=>{let o=tj(`${t} `,n),h=tj(a,n);if(o>e){let{hyphenatedStrings:i,remainingWord:r}=tF(t,e,"-",n);s.push(a,...i),a=r}else h+o>=e?(s.push(a),a=t):a=[a,t].filter(Boolean).join(" ");i+1===r.length&&s.push(a)}),s.filter(t=>""!==t).join(n.joinWith)},(t,e,i)=>`${t}${e}${i.fontSize}${i.fontWeight}${i.fontFamily}${i.joinWith}`),tF=(0,H.default)((t,e,i="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let r=[...t],s=[],a="";return r.forEach((t,o)=>{let h=`${a}${t}`;if(tj(h,n)>=e){let t=r.length===o+1,e=`${h}${i}`;s.push(t?h:e),a=""}else a=h}),{hyphenatedStrings:s,remainingWord:a}},(t,e,i="-",n)=>`${t}${e}${i}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function tI(t,e){return tW(t,e).height}function tj(t,e){return tW(t,e).width}(0,n.__name)(tI,"calculateTextHeight"),(0,n.__name)(tj,"calculateTextWidth");var tW=(0,H.default)((t,e)=>{let{fontSize:n=12,fontFamily:r="Arial",fontWeight:s=400}=e;if(!t)return{width:0,height:0};let[,a]=tK(n),o=t.split(i.common_default.lineBreakRegex),h=[],c=(0,P.select)("body");if(!c.remove)return{width:0,height:0,lineHeight:0};let l=c.append("svg");for(let t of["sans-serif",r]){let e=0,i={width:0,height:0,lineHeight:0};for(let n of o){let r=tB();r.text=n||"​";let o=tP(l,r).style("font-size",a).style("font-weight",s).style("font-family",t),h=(o._groups||o)[0][0].getBBox();if(0===h.width&&0===h.height)throw Error("svg element not in render tree");i.width=Math.round(Math.max(i.width,h.width)),e=Math.round(h.height),i.height+=e,i.lineHeight=Math.round(Math.max(i.lineHeight,e))}h.push(i)}l.remove();let u=isNaN(h[1].height)||isNaN(h[1].width)||isNaN(h[1].lineHeight)||h[0].height>h[1].height&&h[0].width>h[1].width&&h[0].lineHeight>h[1].lineHeight?0:1;return h[u]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),tz=class{constructor(t=!1,e){this.count=0,this.count=e?e.length:0,this.next=t?()=>this.count++:()=>Date.now()}static{(0,n.__name)(this,"InitIDGenerator")}},tU=(0,n.__name)(function(t){return e=e||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),e.innerHTML=t,unescape(e.textContent)},"entityDecode");function tY(t){return"str"in t}(0,n.__name)(tY,"isDetailedError");var tq=(0,n.__name)((t,e,i,n)=>{if(!n)return;let r=t.node()?.getBBox();r&&t.append("text").text(n).attr("text-anchor","middle").attr("x",r.x+r.width/2).attr("y",-i).attr("class",e)},"insertTitle"),tK=(0,n.__name)(t=>{if("number"==typeof t)return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");function tJ(t,e){return td({},t,e)}(0,n.__name)(tJ,"cleanAndMerge");var tX={assignWithDepth:i.assignWithDepth_default,wrapLabel:tH,calculateTextHeight:tI,calculateTextWidth:tj,calculateTextDimensions:tW,cleanAndMerge:tJ,detectInit:ty,detectDirective:tg,isSubstringInArray:tv,interpolateToCurve:tb,calcLabelPosition:tN,calcCardinalityPosition:tE,calcTerminalLabelPosition:tC,formatUrl:tw,getStylesFromArray:tR,generateId:tO,random:tL,runFunc:t$,entityDecode:tU,insertTitle:tq,isLabelCoordinateInPath:t0,parseFontSize:tK,InitIDGenerator:tz},tV=(0,n.__name)(function(t){let e=t;return(e=(e=e.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/#\w+;/g,function(t){let e=t.substring(1,t.length-1);return/^\+?\d+$/.test(e)?"fl°°"+e+"¶ß":"fl°"+e+"¶ß"})},"encodeEntities"),tZ=(0,n.__name)(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),tG=(0,n.__name)((t,e,{counter:i=0,prefix:n,suffix:r},s)=>s||`${n?`${n}_`:""}${t}_${e}_${i}${r?`_${r}`:""}`,"getEdgeId");function tQ(t){return t??null}function t0(t,e){let i=Math.round(t.x),n=Math.round(t.y),r=e.replace(/(\d+\.\d+)/g,t=>Math.round(parseFloat(t)).toString());return r.includes(i.toString())||r.includes(n.toString())}(0,n.__name)(tQ,"handleUndefinedAttr"),(0,n.__name)(t0,"isLabelCoordinateInPath"),t.s(["ZERO_WIDTH_SPACE",()=>"​","calculateTextHeight",()=>tI,"calculateTextWidth",()=>tj,"cleanAndMerge",()=>tJ,"decodeEntities",()=>tZ,"encodeEntities",()=>tV,"generateId",()=>tO,"getEdgeId",()=>tG,"getStylesFromArray",()=>tR,"handleUndefinedAttr",()=>tQ,"interpolateToCurve",()=>tb,"isDetailedError",()=>tY,"parseFontSize",()=>tK,"random",()=>tL,"removeDirectives",()=>tm,"utils_default",()=>tX,"wrapLabel",()=>tH],612938)},458968,t=>{"use strict";function e(t,e,i){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+i)/6)}function i(t){this._context=t}i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:e(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,i){switch(t*=1,i*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:e(this,t,i)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=i}},t.s(["Basis",()=>i,"default",0,function(t){return new i(t)},"point",()=>e])},352195,t=>{"use strict";var e=t.i(458968);t.s(["curveBasis",()=>e.default])},709286,t=>{"use strict";t.s(["default",0,function(){}])},527750,995066,t=>{"use strict";var e=t.i(709286),i=t.i(458968);function n(t){this._context=t}function r(t){this._context=t}n.prototype={areaStart:e.default,areaEnd:e.default,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:(0,i.point)(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},t.s(["curveBasisClosed",0,function(t){return new n(t)}],527750),r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:(0,i.point)(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},t.s(["curveBasisOpen",0,function(t){return new r(t)}],995066)},219412,334236,t=>{"use strict";class e{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function i(t){return new e(t,!0)}function n(t){return new e(t,!1)}t.s(["curveBumpX",()=>i],219412),t.s(["curveBumpY",()=>n],334236)},566635,t=>{"use strict";function e(t){this._context=t}e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}},t.s(["default",0,function(t){return new e(t)}])},460605,t=>{"use strict";var e=t.i(566635);t.s(["curveLinear",()=>e.default])},759299,t=>{"use strict";var e=t.i(709286);function i(t){this._context=t}i.prototype={areaStart:e.default,areaEnd:e.default,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t*=1,e*=1,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},t.s(["curveLinearClosed",0,function(t){return new i(t)}],759299)},114605,211986,12669,373593,814826,472737,t=>{"use strict";function e(t,e,i){var n=t._x1-t._x0,r=e-t._x1,s=(t._y1-t._y0)/(n||r<0&&-0),a=(i-t._y1)/(r||n<0&&-0);return((s<0?-1:1)+(a<0?-1:1))*Math.min(Math.abs(s),Math.abs(a),.5*Math.abs((s*r+a*n)/(n+r)))||0}function i(t,e){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-e)/2:e}function n(t,e,i){var n=t._x0,r=t._y0,s=t._x1,a=t._y1,o=(s-n)/3;t._context.bezierCurveTo(n+o,r+o*e,s-o,a-o*i,s,a)}function r(t){this._context=t}function s(t){this._context=new a(t)}function a(t){this._context=t}function o(t){return new r(t)}function h(t){return new s(t)}function c(t){this._context=t}function l(t){var e,i,n=t.length-1,r=Array(n),s=Array(n),a=Array(n);for(r[0]=0,s[0]=2,a[0]=t[0]+2*t[1],e=1;e<n-1;++e)r[e]=1,s[e]=4,a[e]=4*t[e]+2*t[e+1];for(r[n-1]=2,s[n-1]=7,a[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)i=r[e]/s[e-1],s[e]-=i,a[e]-=i*a[e-1];for(r[n-1]=a[n-1]/s[n-1],e=n-2;e>=0;--e)r[e]=(a[e]-r[e+1])/s[e];for(e=0,s[n-1]=(t[n]+r[n-1])/2;e<n-1;++e)s[e]=2*t[e+1]-r[e+1];return[r,s]}function u(t,e){this._context=t,this._t=e}function _(t){return new u(t,0)}function f(t){return new u(t,1)}r.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:n(this,this._t0,i(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,r){var s=NaN;if(r*=1,(t*=1)!==this._x1||r!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break;case 1:this._point=2;break;case 2:this._point=3,n(this,i(this,s=e(this,t,r)),s);break;default:n(this,this._t0,s=e(this,t,r))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=r,this._t0=s}}},(s.prototype=Object.create(r.prototype)).point=function(t,e){r.prototype.point.call(this,e,t)},a.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,i,n,r,s){this._context.bezierCurveTo(e,t,n,i,s,r)}},t.s(["curveMonotoneX",()=>o],114605),t.s(["curveMonotoneY",()=>h],211986),c.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===i)this._context.lineTo(t[1],e[1]);else for(var n=l(t),r=l(e),s=0,a=1;a<i;++s,++a)this._context.bezierCurveTo(n[0][s],r[0][s],n[1][s],r[1][s],t[a],e[a]);(this._line||0!==this._line&&1===i)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},t.s(["curveNatural",0,function(t){return new c(t)}],12669),u.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,e)}}this._x=t,this._y=e}},t.s(["curveStep",0,function(t){return new u(t,.5)}],373593),t.s(["curveStepAfter",()=>f],814826),t.s(["curveStepBefore",()=>_],472737)},625393,991577,t=>{"use strict";var e=t.i(585458),i=Object.defineProperty,n=(t,e)=>i(t,"name",{value:e,configurable:!0}),r=(t,e)=>{for(var n in e)i(t,n,{get:e[n],enumerable:!0})},s={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},a={trace:n((...t)=>{},"trace"),debug:n((...t)=>{},"debug"),info:n((...t)=>{},"info"),warn:n((...t)=>{},"warn"),error:n((...t)=>{},"error"),fatal:n((...t)=>{},"fatal")},o=n(function(t="fatal"){let e=s.fatal;"string"==typeof t?t.toLowerCase()in s&&(e=s[t]):"number"==typeof t&&(e=t),a.trace=()=>{},a.debug=()=>{},a.info=()=>{},a.warn=()=>{},a.error=()=>{},a.fatal=()=>{},e<=s.fatal&&(a.fatal=console.error?console.error.bind(console,h("FATAL"),"color: orange"):console.log.bind(console,"\x1b[35m",h("FATAL"))),e<=s.error&&(a.error=console.error?console.error.bind(console,h("ERROR"),"color: orange"):console.log.bind(console,"\x1b[31m",h("ERROR"))),e<=s.warn&&(a.warn=console.warn?console.warn.bind(console,h("WARN"),"color: orange"):console.log.bind(console,`\x1b[33m`,h("WARN"))),e<=s.info&&(a.info=console.info?console.info.bind(console,h("INFO"),"color: lightblue"):console.log.bind(console,"\x1b[34m",h("INFO"))),e<=s.debug&&(a.debug=console.debug?console.debug.bind(console,h("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",h("DEBUG"))),e<=s.trace&&(a.trace=console.debug?console.debug.bind(console,h("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1b[32m",h("TRACE")))},"setLogLevel"),h=n(t=>{let i=(0,e.default)().format("ss.SSS");return`%c${i} : ${t} : `},"format");t.s(["__export",()=>r,"__name",()=>n,"log",()=>a,"setLogLevel",()=>o],625393),t.i(8164),t.i(542550),t.i(145850),t.i(678152),t.i(954542),t.i(692423),t.i(183502),t.i(603760);let{abs:c,max:l,min:u}=Math;function _(t){return{type:t}}["w","e"].map(_),["n","s"].map(_),["n","w","e","s","nw","ne","sw","se"].map(_),t.i(250149),t.s([],991577)},678152,213570,t=>{"use strict";t.s(["default",()=>a],213570);var e=t.i(161610),i=t.i(145665),n=t.i(842541),r=t.i(647483),s=t.i(181503);function a(t,o){var h,c,l=typeof o;return null==o||"boolean"===l?(0,s.default)(o):("number"===l?n.default:"string"===l?(c=(0,e.color)(o))?(o=c,i.default):r.default:o instanceof e.color?i.default:o instanceof Date?function(t,e){var i=new Date;return t*=1,e*=1,function(n){return i.setTime(t*(1-n)+e*n),i}}:!ArrayBuffer.isView(h=o)||h instanceof DataView?Array.isArray(o)?function(t,e){var i,n=e?e.length:0,r=t?Math.min(n,t.length):0,s=Array(r),o=Array(n);for(i=0;i<r;++i)s[i]=a(t[i],e[i]);for(;i<n;++i)o[i]=e[i];return function(t){for(i=0;i<r;++i)o[i]=s[i](t);return o}}:"function"!=typeof o.valueOf&&"function"!=typeof o.toString||isNaN(o)?function(t,e){var i,n={},r={};for(i in(null===t||"object"!=typeof t)&&(t={}),(null===e||"object"!=typeof e)&&(e={}),e)i in t?n[i]=a(t[i],e[i]):r[i]=e[i];return function(t){for(i in n)r[i]=n[i](t);return r}}:n.default:function(t,e){e||(e=[]);var i,n=t?Math.min(e.length,t.length):0,r=e.slice();return function(s){for(i=0;i<n;++i)r[i]=t[i]*(1-s)+e[i]*s;return r}})(t,o)}t.s(["interpolate",0,a],678152)},585458,(t,e,i)=>{t.e,e.exports=function(){"use strict";var t="millisecond",e="second",i="minute",n="hour",r="week",s="month",a="quarter",o="year",h="date",c="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,_=function(t,e,i){var n=String(t);return!n||n.length>=e?t:""+Array(e+1-n.length).join(i)+t},f="en",d={};d[f]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],i=t%100;return"["+t+(e[(i-20)%10]||e[i]||e[0])+"]"}};var x="$isDayjsObject",p=function(t){return t instanceof v||!(!t||!t[x])},y=function t(e,i,n){var r;if(!e)return f;if("string"==typeof e){var s=e.toLowerCase();d[s]&&(r=s),i&&(d[s]=i,r=s);var a=e.split("-");if(!r&&a.length>1)return t(a[0])}else{var o=e.name;d[o]=e,r=o}return!n&&r&&(f=r),r||!n&&f},g=function(t,e){if(p(t))return t.clone();var i="object"==typeof e?e:{};return i.date=t,i.args=arguments,new v(i)},m={s:_,z:function(t){var e=-t.utcOffset(),i=Math.abs(e);return(e<=0?"+":"-")+_(Math.floor(i/60),2,"0")+":"+_(i%60,2,"0")},m:function t(e,i){if(e.date()<i.date())return-t(i,e);var n=12*(i.year()-e.year())+(i.month()-e.month()),r=e.clone().add(n,s),a=i-r<0,o=e.clone().add(n+(a?-1:1),s);return+(-(n+(i-r)/(a?r-o:o-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(c){return({M:s,y:o,w:r,d:"day",D:h,h:n,m:i,s:e,ms:t,Q:a})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}};m.l=y,m.i=p,m.w=function(t,e){return g(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var v=function(){function _(t){this.$L=y(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[x]=!0}var f=_.prototype;return f.parse=function(t){this.$d=function(t){var e=t.date,i=t.utc;if(null===e)return new Date(NaN);if(m.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var n=e.match(l);if(n){var r=n[2]-1||0,s=(n[7]||"0").substring(0,3);return i?new Date(Date.UTC(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)):new Date(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,s)}}return new Date(e)}(t),this.init()},f.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},f.$utils=function(){return m},f.isValid=function(){return this.$d.toString()!==c},f.isSame=function(t,e){var i=g(t);return this.startOf(e)<=i&&i<=this.endOf(e)},f.isAfter=function(t,e){return g(t)<this.startOf(e)},f.isBefore=function(t,e){return this.endOf(e)<g(t)},f.$g=function(t,e,i){return m.u(t)?this[e]:this.set(i,t)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(t,a){var c=this,l=!!m.u(a)||a,u=m.p(t),_=function(t,e){var i=m.w(c.$u?Date.UTC(c.$y,e,t):new Date(c.$y,e,t),c);return l?i:i.endOf("day")},f=function(t,e){return m.w(c.toDate()[t].apply(c.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(e)),c)},d=this.$W,x=this.$M,p=this.$D,y="set"+(this.$u?"UTC":"");switch(u){case o:return l?_(1,0):_(31,11);case s:return l?_(1,x):_(0,x+1);case r:var g=this.$locale().weekStart||0,v=(d<g?d+7:d)-g;return _(l?p-v:p+(6-v),x);case"day":case h:return f(y+"Hours",0);case n:return f(y+"Minutes",1);case i:return f(y+"Seconds",2);case e:return f(y+"Milliseconds",3);default:return this.clone()}},f.endOf=function(t){return this.startOf(t,!1)},f.$set=function(r,a){var c,l=m.p(r),u="set"+(this.$u?"UTC":""),_=((c={}).day=u+"Date",c[h]=u+"Date",c[s]=u+"Month",c[o]=u+"FullYear",c[n]=u+"Hours",c[i]=u+"Minutes",c[e]=u+"Seconds",c[t]=u+"Milliseconds",c)[l],f="day"===l?this.$D+(a-this.$W):a;if(l===s||l===o){var d=this.clone().set(h,1);d.$d[_](f),d.init(),this.$d=d.set(h,Math.min(this.$D,d.daysInMonth())).$d}else _&&this.$d[_](f);return this.init(),this},f.set=function(t,e){return this.clone().$set(t,e)},f.get=function(t){return this[m.p(t)]()},f.add=function(t,a){var h,c=this;t=Number(t);var l=m.p(a),u=function(e){var i=g(c);return m.w(i.date(i.date()+Math.round(e*t)),c)};if(l===s)return this.set(s,this.$M+t);if(l===o)return this.set(o,this.$y+t);if("day"===l)return u(1);if(l===r)return u(7);var _=((h={})[i]=6e4,h[n]=36e5,h[e]=1e3,h)[l]||1,f=this.$d.getTime()+t*_;return m.w(f,this)},f.subtract=function(t,e){return this.add(-1*t,e)},f.format=function(t){var e=this,i=this.$locale();if(!this.isValid())return i.invalidDate||c;var n=t||"YYYY-MM-DDTHH:mm:ssZ",r=m.z(this),s=this.$H,a=this.$m,o=this.$M,h=i.weekdays,l=i.months,_=i.meridiem,f=function(t,i,r,s){return t&&(t[i]||t(e,n))||r[i].slice(0,s)},d=function(t){return m.s(s%12||12,t,"0")},x=_||function(t,e,i){var n=t<12?"AM":"PM";return i?n.toLowerCase():n};return n.replace(u,function(t,n){return n||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return m.s(e.$y,4,"0");case"M":return o+1;case"MM":return m.s(o+1,2,"0");case"MMM":return f(i.monthsShort,o,l,3);case"MMMM":return f(l,o);case"D":return e.$D;case"DD":return m.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return f(i.weekdaysMin,e.$W,h,2);case"ddd":return f(i.weekdaysShort,e.$W,h,3);case"dddd":return h[e.$W];case"H":return String(s);case"HH":return m.s(s,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return x(s,a,!0);case"A":return x(s,a,!1);case"m":return String(a);case"mm":return m.s(a,2,"0");case"s":return String(e.$s);case"ss":return m.s(e.$s,2,"0");case"SSS":return m.s(e.$ms,3,"0");case"Z":return r}return null}(t)||r.replace(":","")})},f.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},f.diff=function(t,h,c){var l,u=this,_=m.p(h),f=g(t),d=(f.utcOffset()-this.utcOffset())*6e4,x=this-f,p=function(){return m.m(u,f)};switch(_){case o:l=p()/12;break;case s:l=p();break;case a:l=p()/3;break;case r:l=(x-d)/6048e5;break;case"day":l=(x-d)/864e5;break;case n:l=x/36e5;break;case i:l=x/6e4;break;case e:l=x/1e3;break;default:l=x}return c?l:m.a(l)},f.daysInMonth=function(){return this.endOf(s).$D},f.$locale=function(){return d[this.$L]},f.locale=function(t,e){if(!t)return this.$L;var i=this.clone(),n=y(t,e,!0);return n&&(i.$L=n),i},f.clone=function(){return m.w(this.$d,this)},f.toDate=function(){return new Date(this.valueOf())},f.toJSON=function(){return this.isValid()?this.toISOString():null},f.toISOString=function(){return this.$d.toISOString()},f.toString=function(){return this.$d.toUTCString()},_}(),b=v.prototype;return g.prototype=b,[["$ms",t],["$s",e],["$m",i],["$H",n],["$W","day"],["$M",s],["$y",o],["$D",h]].forEach(function(t){b[t[1]]=function(e){return this.$g(e,t[0],t[1])}}),g.extend=function(t,e){return t.$i||(t(e,v,g),t.$i=!0),g},g.locale=y,g.isDayjs=p,g.unix=function(t){return g(1e3*t)},g.en=d[f],g.Ls=d,g.p={},g}()},161610,189517,321137,t=>{"use strict";function e(t,e,i){t.prototype=e.prototype=i,i.constructor=t}function i(t,e){var i=Object.create(t.prototype);for(var n in e)i[n]=e[n];return i}function n(){}t.s(["default",0,e,"extend",()=>i],189517);var r="\\s*([+-]?\\d+)\\s*",s="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",o=/^#([0-9a-f]{3,8})$/,h=RegExp(`^rgb\\(${r},${r},${r}\\)$`),c=RegExp(`^rgb\\(${a},${a},${a}\\)$`),l=RegExp(`^rgba\\(${r},${r},${r},${s}\\)$`),u=RegExp(`^rgba\\(${a},${a},${a},${s}\\)$`),_=RegExp(`^hsl\\(${s},${a},${a}\\)$`),f=RegExp(`^hsla\\(${s},${a},${a},${s}\\)$`),d={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function x(){return this.rgb().formatHex()}function p(){return this.rgb().formatRgb()}function y(t){var e,i;return t=(t+"").trim().toLowerCase(),(e=o.exec(t))?(i=e[1].length,e=parseInt(e[1],16),6===i?g(e):3===i?new w(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===i?m(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===i?m(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new w(e[1],e[2],e[3],1):(e=c.exec(t))?new w(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=l.exec(t))?m(e[1],e[2],e[3],e[4]):(e=u.exec(t))?m(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=_.exec(t))?T(e[1],e[2]/100,e[3]/100,1):(e=f.exec(t))?T(e[1],e[2]/100,e[3]/100,e[4]):d.hasOwnProperty(t)?g(d[t]):"transparent"===t?new w(NaN,NaN,NaN,0):null}function g(t){return new w(t>>16&255,t>>8&255,255&t,1)}function m(t,e,i,n){return n<=0&&(t=e=i=NaN),new w(t,e,i,n)}function v(t){return(t instanceof n||(t=y(t)),t)?new w((t=t.rgb()).r,t.g,t.b,t.opacity):new w}function b(t,e,i,n){return 1==arguments.length?v(t):new w(t,e,i,null==n?1:n)}function w(t,e,i,n){this.r=+t,this.g=+e,this.b=+i,this.opacity=+n}function $(){return`#${k(this.r)}${k(this.g)}${k(this.b)}`}function M(){let t=S(this.opacity);return`${1===t?"rgb(":"rgba("}${N(this.r)}, ${N(this.g)}, ${N(this.b)}${1===t?")":`, ${t})`}`}function S(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function N(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function k(t){return((t=N(t))<16?"0":"")+t.toString(16)}function T(t,e,i,n){return n<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new C(t,e,i,n)}function E(t){if(t instanceof C)return new C(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=y(t)),!t)return new C;if(t instanceof C)return t;var e=(t=t.rgb()).r/255,i=t.g/255,r=t.b/255,s=Math.min(e,i,r),a=Math.max(e,i,r),o=NaN,h=a-s,c=(a+s)/2;return h?(o=e===a?(i-r)/h+(i<r)*6:i===a?(r-e)/h+2:(e-i)/h+4,h/=c<.5?a+s:2-a-s,o*=60):h=c>0&&c<1?0:o,new C(o,h,c,t.opacity)}function C(t,e,i,n){this.h=+t,this.s=+e,this.l=+i,this.opacity=+n}function R(t){return(t=(t||0)%360)<0?t+360:t}function D(t){return Math.max(0,Math.min(1,t||0))}function O(t,e,i){return(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)*255}e(n,y,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return E(this).formatHsl()},formatRgb:p,toString:p}),e(w,b,i(n,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new w(N(this.r),N(this.g),N(this.b),S(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:$,formatHex:$,formatHex8:function(){return`#${k(this.r)}${k(this.g)}${k(this.b)}${k((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:M,toString:M})),e(C,function(t,e,i,n){return 1==arguments.length?E(t):new C(t,e,i,null==n?1:n)},i(n,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new C(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new C(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,n=i+(i<.5?i:1-i)*e,r=2*i-n;return new w(O(t>=240?t-240:t+120,r,n),O(t,r,n),O(t<120?t+240:t-120,r,n),this.opacity)},clamp(){return new C(R(this.h),D(this.s),D(this.l),S(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=S(this.opacity);return`${1===t?"hsl(":"hsla("}${R(this.h)}, ${100*D(this.s)}%, ${100*D(this.l)}%${1===t?")":`, ${t})`}`}})),t.s(["Color",()=>n,"Rgb",()=>w,"default",()=>y,"rgb",()=>b,"rgbConvert",()=>v],321137),t.s(["color",()=>y],161610)},145665,181503,425902,t=>{"use strict";var e=t.i(321137);function i(t,e,i,n,r){var s=t*t,a=s*t;return((1-3*t+3*s-a)*e+(4-6*s+3*a)*i+(1+3*t+3*s-3*a)*n+a*r)/6}let n=t=>()=>t;function r(t,e){return function(i){return t+i*e}}function s(t,e){var i=e-t;return i?r(t,i>180||i<-180?i-360*Math.round(i/360):i):n(isNaN(t)?e:t)}function a(t){return 1==(t*=1)?o:function(e,i){var r,s,a;return i-e?(r=e,s=i,r=Math.pow(r,a=t),s=Math.pow(s,a)-r,a=1/a,function(t){return Math.pow(r+t*s,a)}):n(isNaN(e)?i:e)}}function o(t,e){var i=e-t;return i?r(t,i):n(isNaN(t)?e:t)}t.s(["default",0,n],181503),t.s(["default",()=>o,"gamma",()=>a,"hue",()=>s],425902);let h=function t(i){var n=a(i);function r(t,i){var r=n((t=(0,e.rgb)(t)).r,(i=(0,e.rgb)(i)).r),s=n(t.g,i.g),a=n(t.b,i.b),h=o(t.opacity,i.opacity);return function(e){return t.r=r(e),t.g=s(e),t.b=a(e),t.opacity=h(e),t+""}}return r.gamma=t,r}(1);function c(t){return function(i){var n,r,s=i.length,a=Array(s),o=Array(s),h=Array(s);for(n=0;n<s;++n)r=(0,e.rgb)(i[n]),a[n]=r.r||0,o[n]=r.g||0,h[n]=r.b||0;return a=t(a),o=t(o),h=t(h),r.opacity=1,function(t){return r.r=a(t),r.g=o(t),r.b=h(t),r+""}}}c(function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),s=t[r],a=t[r+1],o=r>0?t[r-1]:2*s-a,h=r<e-1?t[r+2]:2*a-s;return i((n-r/e)*e,o,s,a,h)}}),c(function(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),s=t[(r+e-1)%e],a=t[r%e],o=t[(r+1)%e],h=t[(r+2)%e];return i((n-r/e)*e,s,a,o,h)}}),t.s(["default",0,h],145665)},842541,t=>{"use strict";t.s(["default",0,function(t,e){return t*=1,e*=1,function(i){return t*(1-i)+e*i}}])},647483,t=>{"use strict";var e=t.i(842541),i=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,n=RegExp(i.source,"g");t.s(["default",0,function(t,r){var s,a,o,h,c,l=i.lastIndex=n.lastIndex=0,u=-1,_=[],f=[];for(t+="",r+="";(o=i.exec(t))&&(h=n.exec(r));)(c=h.index)>l&&(c=r.slice(l,c),_[u]?_[u]+=c:_[++u]=c),(o=o[0])===(h=h[0])?_[u]?_[u]+=h:_[++u]=h:(_[++u]=null,f.push({i:u,x:(0,e.default)(o,h)})),l=n.lastIndex;return l<r.length&&(c=r.slice(l),_[u]?_[u]+=c:_[++u]=c),_.length<2?f[0]?(s=f[0].x,function(t){return s(t)+""}):(a=r,function(){return a}):(r=f.length,function(t){for(var e,i=0;i<r;++i)_[(e=f[i]).i]=e.x(t);return _.join("")})}])},77075,t=>{"use strict";var e=t.i(842541);t.s(["interpolateNumber",()=>e.default])},424885,t=>{"use strict";let e=Math.abs,i=Math.atan2,n=Math.cos,r=Math.max,s=Math.min,a=Math.sin,o=Math.sqrt,h=Math.PI,c=h/2;function l(t){return t>1?0:t<-1?h:Math.acos(t)}function u(t){return t>=1?c:t<=-1?-c:Math.asin(t)}t.s(["abs",0,e,"acos",()=>l,"asin",()=>u,"atan2",0,i,"cos",0,n,"epsilon",0,1e-12,"halfPi",0,c,"max",0,r,"min",0,s,"pi",0,h,"sin",0,a,"sqrt",0,o,"tau",0,2*h])},557553,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.BLANK_URL=i.relativeFirstCharacters=i.whitespaceEscapeCharsRegex=i.urlSchemeRegex=i.ctrlCharactersRegex=i.htmlCtrlEntityRegex=i.htmlEntitiesRegex=i.invalidProtocolRegex=void 0,i.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,i.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,i.htmlCtrlEntityRegex=/&(newline|tab);/gi,i.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,i.urlSchemeRegex=/^.+(:|&colon;)/gim,i.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,i.relativeFirstCharacters=[".","/"],i.BLANK_URL="about:blank"},181713,(t,e,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.sanitizeUrl=void 0;var n=t.r(557553);function r(t){try{return decodeURIComponent(t)}catch(e){return t}}i.sanitizeUrl=function(t){if(!t)return n.BLANK_URL;var e,i=r(t.trim());do e=(i=r(i=i.replace(n.ctrlCharactersRegex,"").replace(n.htmlEntitiesRegex,function(t,e){return String.fromCharCode(e)}).replace(n.htmlCtrlEntityRegex,"").replace(n.ctrlCharactersRegex,"").replace(n.whitespaceEscapeCharsRegex,"").trim())).match(n.ctrlCharactersRegex)||i.match(n.htmlEntitiesRegex)||i.match(n.htmlCtrlEntityRegex)||i.match(n.whitespaceEscapeCharsRegex);while(e&&e.length>0)var s=i;if(!s)return n.BLANK_URL;if(n.relativeFirstCharacters.indexOf(s[0])>-1)return s;var a=s.trimStart(),o=a.match(n.urlSchemeRegex);if(!o)return s;var h=o[0].toLowerCase().trim();if(n.invalidProtocolRegex.test(h))return n.BLANK_URL;var c=a.replace(/\\/g,"/");if("mailto:"===h||h.includes("://"))return c;if("http:"===h||"https:"===h){if(!URL.canParse(c))return n.BLANK_URL;var l=new URL(c);return l.protocol=l.protocol.toLowerCase(),l.hostname=l.hostname.toLowerCase(),l.toString()}return c}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,918412,e=>{"use strict";let t;var r=e.i(890022),s=e.i(431231),a=e.i(417612),i=e.i(230827),n=e.i(334960);e.s(["ERROR_REVALIDATE_EVENT",()=>3,"FOCUS_EVENT",()=>0,"MUTATE_EVENT",()=>2,"RECONNECT_EVENT",()=>1],89601);var l=Object.prototype.hasOwnProperty;let o=new WeakMap,c=()=>{},d=c(),u=Object,p=e=>e===d,m=(e,t)=>({...e,...t}),h={},x={},f="undefined",g=typeof window!=f,b=typeof document!=f,j=g&&"Deno"in window,y=(e,t)=>{let r=o.get(e);return[()=>!p(t)&&e.get(t)||h,s=>{if(!p(t)){let a=e.get(t);t in x||(x[t]=a),r[5](t,m(a,s),a||h)}},r[6],()=>!p(t)&&t in x?x[t]:!p(t)&&e.get(t)||h]},v=!0,[N,w]=g&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[c,c],k={initFocus:e=>(b&&document.addEventListener("visibilitychange",e),N("focus",e),()=>{b&&document.removeEventListener("visibilitychange",e),w("focus",e)}),initReconnect:e=>{let t=()=>{v=!0,e()},r=()=>{v=!1};return N("online",t),N("offline",r),()=>{w("online",t),w("offline",r)}}},S=!s.default.useId,C=!g||j,E=C?s.useEffect:s.useLayoutEffect,T="undefined"!=typeof navigator&&navigator.connection,A=!C&&T&&(["slow-2g","2g"].includes(T.effectiveType)||T.saveData),O=new WeakMap,R=(e,t)=>e===`[object ${t}]`,P=0,$=e=>{let t,r,s=typeof e,a=u.prototype.toString.call(e),i=R(a,"Date"),n=R(a,"RegExp"),l=R(a,"Object");if(u(e)!==e||i||n)t=i?e.toJSON():"symbol"==s?e.toString():"string"==s?JSON.stringify(e):""+e;else{if(t=O.get(e))return t;if(t=++P+"~",O.set(e,t),Array.isArray(e)){for(r=0,t="@";r<e.length;r++)t+=$(e[r])+",";O.set(e,t)}if(l){t="#";let s=u.keys(e).sort();for(;!p(r=s.pop());)p(e[r])||(t+=r+":"+$(e[r])+",");O.set(e,t)}}return t},L=e=>{if("function"==typeof e)try{e=e()}catch(t){e=""}let t=e;return[e="string"==typeof e?e:(Array.isArray(e)?e.length:e)?$(e):"",t]},F=0,D=()=>++F;async function V(...e){let[t,r,s,a]=e,i=m({populateCache:!0,throwOnError:!0},"boolean"==typeof a?{revalidate:a}:a||{}),n=i.populateCache,l=i.rollbackOnError,c=i.optimisticData,u=i.throwOnError;if("function"==typeof r){let e=[];for(let s of t.keys())!/^\$(inf|sub)\$/.test(s)&&r(t.get(s)._k)&&e.push(s);return Promise.all(e.map(h))}return h(r);async function h(r){let a,[m]=L(r);if(!m)return;let[h,x]=y(t,m),[f,g,b,j]=o.get(t),v=()=>{let e=f[m];return("function"==typeof i.revalidate?i.revalidate(h().data,r):!1!==i.revalidate)&&(delete b[m],delete j[m],e&&e[0])?e[0](2).then(()=>h().data):h().data};if(e.length<3)return v();let N=s,w=!1,k=D();g[m]=[k,0];let S=!p(c),C=h(),E=C.data,T=C._c,A=p(T)?E:T;if(S&&x({data:c="function"==typeof c?c(A,E):c,_c:A}),"function"==typeof N)try{N=N(A)}catch(e){a=e,w=!0}if(N&&"function"==typeof N.then){let e;if(N=await N.catch(e=>{a=e,w=!0}),k!==g[m][0]){if(w)throw a;return N}w&&S&&(e=a,"function"==typeof l?l(e):!1!==l)&&(n=!0,x({data:A,_c:d}))}if(n&&!w&&("function"==typeof n?x({data:n(N,A),error:d,_c:d}):x({data:N,error:d,_c:d})),g[m][1]=D(),Promise.resolve(v()).then(()=>{x({_c:d})}),w){if(u)throw a;return}return N}}let M=(e,t)=>{for(let r in e)e[r][0]&&e[r][0](t)},_=(e,t)=>{if(!o.has(e)){let r=m(k,t),s=Object.create(null),a=V.bind(d,e),i=c,n=Object.create(null),l=(e,t)=>{let r=n[e]||[];return n[e]=r,r.push(t),()=>r.splice(r.indexOf(t),1)},u=(t,r,s)=>{e.set(t,r);let a=n[t];if(a)for(let e of a)e(r,s)},p=()=>{if(!o.has(e)&&(o.set(e,[s,Object.create(null),Object.create(null),Object.create(null),a,u,l]),!C)){let t=r.initFocus(setTimeout.bind(d,M.bind(d,s,0))),a=r.initReconnect(setTimeout.bind(d,M.bind(d,s,1)));i=()=>{t&&t(),a&&a(),o.delete(e)}}};return p(),[e,a,p,i]}return[e,o.get(e)[4]]},[I,z]=_(new Map),B=m({onLoadingSlow:c,onSuccess:c,onError:c,onErrorRetry:(e,t,r,s,a)=>{let i=r.errorRetryCount,n=a.retryCount,l=~~((Math.random()+.5)*(1<<(n<8?n:8)))*r.errorRetryInterval;(p(i)||!(n>i))&&setTimeout(s,l,a)},onDiscarded:c,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:A?1e4:5e3,focusThrottleInterval:5e3,dedupingInterval:2e3,loadingTimeout:A?5e3:3e3,compare:function e(t,r){var s,a;if(t===r)return!0;if(t&&r&&(s=t.constructor)===r.constructor){if(s===Date)return t.getTime()===r.getTime();if(s===RegExp)return t.toString()===r.toString();if(s===Array){if((a=t.length)===r.length)for(;a--&&e(t[a],r[a]););return -1===a}if(!s||"object"==typeof t){for(s in a=0,t)if(l.call(t,s)&&++a&&!l.call(r,s)||!(s in r)||!e(t[s],r[s]))return!1;return Object.keys(r).length===a}}return t!=t&&r!=r},isPaused:()=>!1,cache:I,mutate:z,fallback:{}},{isOnline:()=>v,isVisible:()=>{let e=b&&document.visibilityState;return p(e)||"hidden"!==e}}),W=(e,t)=>{let r=m(e,t);if(t){let{use:s,fallback:a}=e,{use:i,fallback:n}=t;s&&i&&(r.use=s.concat(i)),a&&n&&(r.fallback=m(a,n))}return r},q=(0,s.createContext)({});var H=e.i(89601);let U=g&&window.__SWR_DEVTOOLS_USE__,G=(U?window.__SWR_DEVTOOLS_USE__:[]).concat(e=>(t,r,s)=>{let a=r&&((...e)=>{let[s]=L(t),[,,,a]=o.get(I);if(s.startsWith("$inf$"))return r(...e);let i=a[s];return p(i)?r(...e):(delete a[s],i)});return e(t,a,s)});U&&(window.__SWR_DEVTOOLS_REACT__=s.default);let J=()=>{},K=J(),Z=(new WeakMap,s.default.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}})),Q={dedupe:!0},X=Promise.resolve(d);u.defineProperty(e=>{let{value:t}=e,r=(0,s.useContext)(q),a="function"==typeof t,i=(0,s.useMemo)(()=>a?t(r):t,[a,r,t]),n=(0,s.useMemo)(()=>a?i:W(r,i),[a,r,i]),l=i&&i.provider,o=(0,s.useRef)(d);l&&!o.current&&(o.current=_(l(n.cache||I),i));let c=o.current;return c&&(n.cache=c[0],n.mutate=c[1]),E(()=>{if(c)return c[2]&&c[2](),c[3]},[]),(0,s.createElement)(q.Provider,m(e,{value:n}))},"defaultValue",{value:B});let Y=(t=(e,t,r)=>{let{cache:a,compare:i,suspense:l,fallbackData:c,revalidateOnMount:u,revalidateIfStale:h,refreshInterval:x,refreshWhenHidden:b,refreshWhenOffline:j,keepPreviousData:v}=r,[N,w,k,T]=o.get(a),[A,O]=L(e),R=(0,s.useRef)(!1),P=(0,s.useRef)(!1),$=(0,s.useRef)(A),F=(0,s.useRef)(t),M=(0,s.useRef)(r),_=()=>M.current.isVisible()&&M.current.isOnline(),[I,z,B,W]=y(a,A),q=(0,s.useRef)({}).current,U=p(c)?p(r.fallback)?d:r.fallback[A]:c,G=(e,t)=>{for(let r in q)if("data"===r){if(!i(e[r],t[r])&&(!p(e[r])||!i(ei,t[r])))return!1}else if(t[r]!==e[r])return!1;return!0},J=(0,s.useMemo)(()=>{let e=!!A&&!!t&&(p(u)?!M.current.isPaused()&&!l&&!1!==h:u),r=t=>{let r=m(t);return(delete r._k,e)?{isValidating:!0,isLoading:!0,...r}:r},s=I(),a=W(),i=r(s),n=s===a?i:r(a),o=i;return[()=>{let e=r(I());return G(e,o)?(o.data=e.data,o.isLoading=e.isLoading,o.isValidating=e.isValidating,o.error=e.error,o):(o=e,e)},()=>n]},[a,A]),K=(0,n.useSyncExternalStore)((0,s.useCallback)(e=>B(A,(t,r)=>{G(r,t)||e()}),[a,A]),J[0],J[1]),Y=!R.current,ee=N[A]&&N[A].length>0,et=K.data,er=p(et)?U&&"function"==typeof U.then?Z(U):U:et,es=K.error,ea=(0,s.useRef)(er),ei=v?p(et)?p(ea.current)?er:ea.current:et:er,en=(!ee||!!p(es))&&(Y&&!p(u)?u:!M.current.isPaused()&&(l?!p(er)&&h:p(er)||h)),el=!!(A&&t&&Y&&en),eo=p(K.isValidating)?el:K.isValidating,ec=p(K.isLoading)?el:K.isLoading,ed=(0,s.useCallback)(async e=>{let t,s,a=F.current;if(!A||!a||P.current||M.current.isPaused())return!1;let n=!0,l=e||{},o=!k[A]||!l.dedupe,c=()=>S?!P.current&&A===$.current&&R.current:A===$.current,u={isValidating:!1,isLoading:!1},m=()=>{z(u)},h=()=>{let e=k[A];e&&e[1]===s&&delete k[A]},x={isValidating:!0};p(I().data)&&(x.isLoading=!0);try{if(o&&(z(x),r.loadingTimeout&&p(I().data)&&setTimeout(()=>{n&&c()&&M.current.onLoadingSlow(A,r)},r.loadingTimeout),k[A]=[a(O),D()]),[t,s]=k[A],t=await t,o&&setTimeout(h,r.dedupingInterval),!k[A]||k[A][1]!==s)return o&&c()&&M.current.onDiscarded(A),!1;u.error=d;let e=w[A];if(!p(e)&&(s<=e[0]||s<=e[1]||0===e[1]))return m(),o&&c()&&M.current.onDiscarded(A),!1;let l=I().data;u.data=i(l,t)?l:t,o&&c()&&M.current.onSuccess(t,A,r)}catch(r){h();let e=M.current,{shouldRetryOnError:t}=e;!e.isPaused()&&(u.error=r,o&&c())&&(e.onError(r,A,e),(!0===t||"function"==typeof t&&t(r))&&(!M.current.revalidateOnFocus||!M.current.revalidateOnReconnect||_())&&e.onErrorRetry(r,A,e,e=>{let t=N[A];t&&t[0]&&t[0](H.ERROR_REVALIDATE_EVENT,e)},{retryCount:(l.retryCount||0)+1,dedupe:!0}))}return n=!1,m(),!0},[A,a]),eu=(0,s.useCallback)((...e)=>V(a,$.current,...e),[]);if(E(()=>{F.current=t,M.current=r,p(et)||(ea.current=et)}),E(()=>{var e;let t;if(!A)return;let r=ed.bind(d,Q),s=0;M.current.revalidateOnFocus&&(s=Date.now()+M.current.focusThrottleInterval);let a=(e=(e,t={})=>{if(e==H.FOCUS_EVENT){let e=Date.now();M.current.revalidateOnFocus&&e>s&&_()&&(s=e+M.current.focusThrottleInterval,r())}else if(e==H.RECONNECT_EVENT)M.current.revalidateOnReconnect&&_()&&r();else if(e==H.MUTATE_EVENT)return ed();else if(e==H.ERROR_REVALIDATE_EVENT)return ed(t)},(t=N[A]||(N[A]=[])).push(e),()=>{let r=t.indexOf(e);r>=0&&(t[r]=t[t.length-1],t.pop())});if(P.current=!1,$.current=A,R.current=!0,z({_k:O}),en&&!k[A])if(p(er)||C)r();else g&&typeof window.requestAnimationFrame!=f?window.requestAnimationFrame(r):setTimeout(r,1);return()=>{P.current=!0,a()}},[A]),E(()=>{let e;function t(){let t="function"==typeof x?x(I().data):x;t&&-1!==e&&(e=setTimeout(r,t))}function r(){!I().error&&(b||M.current.isVisible())&&(j||M.current.isOnline())?ed(Q).then(t):t()}return t(),()=>{e&&(clearTimeout(e),e=-1)}},[x,b,j,A]),(0,s.useDebugValue)(ei),l){let e=A&&p(er);if(!S&&C&&e)throw Error("Fallback data is required when using Suspense in SSR.");e&&(F.current=t,M.current=r,P.current=!1);let s=T[A];if(Z(!p(s)&&e?eu(s):X),!p(es)&&e)throw es;let a=e?ed(Q):X;!p(ei)&&e&&(a.status="fulfilled",a.value=!0),Z(a)}return{mutate:eu,get data(){return q.data=!0,ei},get error(){return q.error=!0,es},get isValidating(){return q.isValidating=!0,eo},get isLoading(){return q.isLoading=!0,ec}}},function(...e){let r,a=(r=(0,s.useContext)(q),(0,s.useMemo)(()=>m(B,r),[r])),[i,n,l]="function"==typeof e[1]?[e[0],e[1],e[2]||{}]:[e[0],null,(null===e[1]?e[2]:e[1])||{}],o=W(a,l),c=t,{use:d}=o,u=(d||[]).concat(G);for(let e=u.length;e--;)c=u[e](c);return c(i,n||o.fetcher||null,o)});var ee=e.i(603921),et=e.i(812878),er=e.i(188168),es=e.i(237545),ea=e.i(235893),ei=e.i(40843),en=e.i(75364),el=e.i(196812),eo=e.i(490225),ec=e.i(443991),ed=e.i(145878),eu=e.i(632137);function ep({createdAt:e,updatedAt:t,completedAt:s,status:a,className:i}){let n=[];return(e&&n.push({label:"Created",date:e,isActive:!0,isFuture:!1,icon:ei.Clock,color:"text-blue-600"}),"in-progress"===a||"complete"===a||"archived"===a?n.push({label:"In Progress",date:t||e,isActive:!0,isFuture:!1,icon:en.PlayCircle,color:"text-orange-600"}):n.push({label:"In Progress",date:null,isActive:!1,isFuture:!0,icon:ec.Circle,color:"text-muted-foreground"}),"complete"===a||"archived"===a?n.push({label:"Complete",date:s||t,isActive:!0,isFuture:!1,icon:el.CheckCircle2,color:"text-green-600"}):n.push({label:"Complete",date:null,isActive:!1,isFuture:!0,icon:ec.Circle,color:"text-muted-foreground"}),"archived"===a&&n.push({label:"Archived",date:t,isActive:!0,isFuture:!1,icon:eo.Archive,color:"text-gray-600"}),0===n.length)?null:(0,r.jsx)("div",{className:(0,eu.cn)("flex items-start gap-2",i),children:n.map((e,t)=>{let s=e.icon,a=t===n.length-1,i=a?null:n[t+1],l=e.date&&i?.date&&!i.isFuture?(0,ed.formatDuration)(e.date,i.date):"";return(0,r.jsxs)("div",{className:"flex items-center gap-2 flex-1",children:[(0,r.jsxs)("div",{className:"flex flex-col items-center gap-1 min-w-0",children:[(0,r.jsx)("div",{className:(0,eu.cn)("w-8 h-8 rounded-full border-2 bg-background flex items-center justify-center shrink-0",e.isActive&&!e.isFuture?"border-primary":"border-muted-foreground/40"),children:s&&(0,r.jsx)(s,{className:(0,eu.cn)("h-4 w-4",e.isActive&&!e.isFuture?"text-primary":"text-muted-foreground/60")})}),(0,r.jsx)("div",{className:(0,eu.cn)("text-xs font-medium text-center whitespace-nowrap",e.isActive&&!e.isFuture?"text-foreground":"text-muted-foreground"),children:e.label}),(0,r.jsxs)("div",{className:"text-[10px] text-center min-h-[14px]",children:[e.date&&!e.isFuture&&(0,r.jsx)("span",{className:"text-muted-foreground",children:(0,ed.formatRelativeTime)(e.date)}),!e.date&&e.isFuture&&(0,r.jsx)("span",{className:"text-muted-foreground/70",children:"Awaiting start"}),e.date&&e.isFuture&&(0,r.jsx)("span",{className:"text-muted-foreground/70",children:"Queued"}),!e.date&&!e.isFuture&&(0,r.jsx)("span",{className:"text-muted-foreground/60",children:"Pending update"})]})]}),!a&&(0,r.jsxs)("div",{className:"flex flex-col items-center flex-1 min-w-4 gap-0.5",children:[(0,r.jsx)("div",{className:(0,eu.cn)("h-0.5 w-full",e.isActive&&!e.isFuture?"bg-primary":"bg-muted-foreground/40")}),l&&(0,r.jsx)("div",{className:"text-[10px] text-muted-foreground font-medium whitespace-nowrap",children:l})]})]},t)})})}var em=e.i(168497),eh=e.i(597705),ex=e.i(787949);e.i(178420);var ef=e.i(995403),eg=e.i(708737);let eb=["planned","in-progress","complete","archived"],ej={planned:{icon:ei.Clock,label:"Planned",className:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},"in-progress":{icon:en.PlayCircle,label:"In Progress",className:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-400"},complete:{icon:el.CheckCircle2,label:"Complete",className:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400"},archived:{icon:eo.Archive,label:"Archived",className:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-400"}};function ey({specId:e,currentStatus:t,onUpdate:a,disabled:i=!1,projectId:n}){let[l,o]=s.useState(t||"planned"),[c,d]=s.useState(!1),[u,p]=s.useState(null),m=async t=>{if(t!==l){o(t),d(!0),p(null);try{let r=n?`/api/projects/${n}/specs/${e}/metadata`:`/api/specs/${e}/metadata`,s=await fetch(r,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:t})});if(!s.ok){let e=await s.json();throw Error(e.error||"Failed to update status")}a?.(t),ef.toast.success("Status updated")}catch(t){o(l);let e=t instanceof Error?t.message:"Failed to update";p(e),ef.toast.error("Failed to update status",{description:e}),console.error("Status update failed:",t)}finally{d(!1)}}},h=ej[l]||ej.planned,x=h.icon;return(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)(eg.Select,{value:l,onValueChange:e=>m(e),disabled:i||c,children:[(0,r.jsx)(eg.SelectTrigger,{className:(0,eu.cn)("h-7 w-fit min-w-[120px] border-0 px-2 text-xs font-medium",h.className,c&&"opacity-70"),"aria-label":"Change spec status",children:(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[c?(0,r.jsx)(ex.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(x,{className:"h-3.5 w-3.5"}),(0,r.jsx)(eg.SelectValue,{children:h.label})]})}),(0,r.jsx)(eg.SelectContent,{children:eb.map(e=>{let t=ej[e],s=t.icon;return(0,r.jsx)(eg.SelectItem,{value:e,className:"pl-2",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(s,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:t.label})]})},e)})})]}),u&&(0,r.jsx)("div",{className:"absolute top-full left-0 mt-1 text-xs text-destructive",children:u})]})}var ev=e.i(94176),eN=e.i(606751),ew=e.i(755541),ek=e.i(374231);let eS=["low","medium","high","critical"],eC={critical:{icon:ev.AlertCircle,label:"Critical",className:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400"},high:{icon:eN.ArrowUp,label:"High",className:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-400"},medium:{icon:ew.Minus,label:"Medium",className:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400"},low:{icon:ek.ArrowDown,label:"Low",className:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-400"}};function eE({specId:e,currentPriority:t,onUpdate:a,disabled:i=!1,projectId:n}){let[l,o]=s.useState(t||"medium"),[c,d]=s.useState(!1),[u,p]=s.useState(null),m=async t=>{if(t!==l){o(t),d(!0),p(null);try{let r=n?`/api/projects/${n}/specs/${e}/metadata`:`/api/specs/${e}/metadata`,s=await fetch(r,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:t})});if(!s.ok){let e=await s.json();throw Error(e.error||"Failed to update priority")}a?.(t),ef.toast.success("Priority updated")}catch(t){o(l);let e=t instanceof Error?t.message:"Failed to update";p(e),ef.toast.error("Failed to update priority",{description:e}),console.error("Priority update failed:",t)}finally{d(!1)}}},h=eC[l]||eC.medium,x=h.icon;return(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)(eg.Select,{value:l,onValueChange:e=>m(e),disabled:i||c,children:[(0,r.jsx)(eg.SelectTrigger,{className:(0,eu.cn)("h-7 w-fit min-w-[100px] border-0 px-2 text-xs font-medium",h.className,c&&"opacity-70"),"aria-label":"Change spec priority",children:(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[c?(0,r.jsx)(ex.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(x,{className:"h-3.5 w-3.5"}),(0,r.jsx)(eg.SelectValue,{children:h.label})]})}),(0,r.jsx)(eg.SelectContent,{children:eS.map(e=>{let t=eC[e],s=t.icon;return(0,r.jsx)(eg.SelectItem,{value:e,className:"pl-2",children:(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(s,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:t.label})]})},e)})})]}),u&&(0,r.jsx)("div",{className:"absolute top-full left-0 mt-1 text-xs text-destructive",children:u})]})}var eT=e.i(644021),eA=e.i(963781),eO=e.i(323490),eR=e.i(341965),eP=e.i(694541);function e$({specId:e,currentTags:t,onUpdate:a,disabled:i=!1,projectId:n}){let[l,o]=s.useState(t||[]),[c,d]=s.useState([]),[u,p]=s.useState(!1),[m,h]=s.useState(null),[x,f]=s.useState(!1),[g,b]=s.useState("");s.useEffect(()=>{x&&0===c.length&&(async()=>{try{let e=n?`/api/projects/${n}/tags`:"/api/tags",t=await fetch(e);if(t.ok){let e=await t.json();d(e.tags||[])}}catch(e){console.error("Failed to fetch tags:",e)}})()},[x,c.length,n]);let j=async t=>{o(t),p(!0),h(null);try{let r=n?`/api/projects/${n}/specs/${e}/metadata`:`/api/specs/${e}/metadata`,s=await fetch(r,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tags:t})});if(!s.ok){let e=await s.json();throw Error(e.error||"Failed to update tags")}a?.(t),ef.toast.success("Tags updated")}catch(t){o(l);let e=t instanceof Error?t.message:"Failed to update";h(e),ef.toast.error("Failed to update tags",{description:e}),console.error("Tags update failed:",t)}finally{p(!1)}},y=e=>{let t=e.trim().toLowerCase();t&&(l.includes(t)?h("Tag already exists"):(j([...l,t]),b(""),f(!1)))},v=s.useMemo(()=>{let e=g.toLowerCase();return c.filter(e=>!l.includes(e)).filter(t=>!e||t.toLowerCase().includes(e))},[c,l,g]),N=g.trim()&&!l.includes(g.trim().toLowerCase())&&!c.includes(g.trim().toLowerCase());return(0,r.jsx)("div",{className:"relative",children:(0,r.jsxs)("div",{className:"flex gap-1 flex-wrap items-center",children:[l.map(e=>(0,r.jsxs)(eO.Badge,{variant:"outline",className:(0,eu.cn)("text-xs pr-1 gap-1",i&&"opacity-50"),children:[e,!i&&(0,r.jsx)("button",{onClick:()=>{j(l.filter(t=>t!==e))},disabled:u,className:"ml-1 rounded-full hover:bg-muted p-0.5 transition-colors","aria-label":`Remove ${e} tag`,children:(0,r.jsx)(eT.X,{className:"h-3 w-3"})})]},e)),!i&&(0,r.jsxs)(eR.Popover,{open:x,onOpenChange:f,children:[(0,r.jsx)(eR.PopoverTrigger,{asChild:!0,children:(0,r.jsx)(ea.Button,{variant:"outline",size:"sm",className:"h-6 px-2 text-xs",disabled:u,"aria-label":"Add new tag",children:u?(0,r.jsx)(ex.Loader2,{className:"h-3 w-3 animate-spin"}):(0,r.jsx)(eA.Plus,{className:"h-3 w-3"})})}),(0,r.jsxs)(eR.PopoverContent,{className:"w-56 p-0",align:"start",children:[(0,r.jsxs)(eP.Command,{children:[(0,r.jsx)(eP.CommandInput,{placeholder:"Search or create tag...",value:g,onValueChange:b}),(0,r.jsxs)(eP.CommandList,{children:[(0,r.jsx)(eP.CommandEmpty,{children:N?(0,r.jsxs)(eP.CommandItem,{onSelect:()=>y(g),className:"cursor-pointer",children:[(0,r.jsx)(eA.Plus,{className:"mr-2 h-4 w-4"}),'Create "',g.trim().toLowerCase(),'"']}):(0,r.jsx)("span",{className:"text-muted-foreground px-2 py-1.5 text-sm",children:"No tags found."})}),v.length>0&&(0,r.jsx)(eP.CommandGroup,{heading:"Existing tags",children:v.slice(0,10).map(e=>(0,r.jsx)(eP.CommandItem,{value:e,onSelect:()=>y(e),className:"cursor-pointer",children:e},e))}),N&&v.length>0&&(0,r.jsx)(eP.CommandGroup,{heading:"Create new",children:(0,r.jsxs)(eP.CommandItem,{onSelect:()=>y(g),className:"cursor-pointer",children:[(0,r.jsx)(eA.Plus,{className:"mr-2 h-4 w-4"}),'Create "',g.trim().toLowerCase(),'"']})})]})]}),m&&(0,r.jsx)("p",{className:"text-xs text-destructive px-2 pb-2",children:m})]})]})]})})}var eL=e.i(987985);function eF({href:e,children:t,currentSpecNumber:s,projectId:a,...i}){if(!e)return(0,r.jsx)("a",{...i,children:t});let n=function(e,t,r){if(e.startsWith("#")||e.startsWith("http://")||e.startsWith("https://"))return e;let s=(e,t)=>{let s=r?`/projects/${r}/specs/${e}`:`/specs/${e}`;return t?`${s}?subspec=${t}`:s},a=e.match(/^\.\/([^/]+\.md)$/);if(a&&t){let e=a[1];return"README.md"!==e?s(t,e):s(t)}let i=e.match(/^\.\.\/(\d+)-[^/]+\/?([^/]+\.md)?$/);if(i){let e=parseInt(i[1],10),t=i[2];return t&&"README.md"!==t?s(e,t):s(e)}return e}(e,s,a),l=n.startsWith("http://")||n.startsWith("https://"),o=n.startsWith("#");return l||o?(0,r.jsx)("a",{href:n,...i,target:l?"_blank":void 0,rel:l?"noopener noreferrer":void 0,children:t}):(0,r.jsx)(eL.default,{href:n,...i,className:"text-primary hover:underline",children:t})}var eD=e.i(998489),eV=e.i(656756),eM=e.i(35380),e_=e.i(910338),eI=e.i(555141),ez=e.i(252294),eB=e.i(771864);let eW="#f59e0b",eq="#ef4444",eH={current:"border-primary/70 bg-primary/5 text-foreground",precedence:"border-amber-400/70 bg-amber-400/10 text-amber-900 dark:text-amber-200","required-by":"border-red-400/70 bg-red-400/10 text-red-900 dark:text-red-200"},eU={rankdir:"LR",align:"UL",nodesep:60,ranksep:120,marginx:40,marginy:40},eG=s.memo(function({data:e}){return(0,r.jsxs)("div",{className:(0,eu.cn)("flex w-[280px] flex-col gap-1.5 rounded-xl border-2 px-5 py-4 text-base shadow-md transition-colors",eH[e.tone],e.interactive&&"cursor-pointer hover:border-primary/70 hover:shadow-lg"),children:[(0,r.jsx)(eB.Handle,{type:"target",position:eB.Position.Left,className:"opacity-0"}),(0,r.jsx)("span",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground/70",children:e.badge}),(0,r.jsx)("span",{className:"text-base font-semibold leading-snug",children:e.label}),e.subtitle&&(0,r.jsx)("span",{className:"text-sm text-muted-foreground/80",children:e.subtitle}),(0,r.jsx)(eB.Handle,{type:"source",position:eB.Position.Right,className:"opacity-0"})]})});eG.displayName="SpecNode";let eJ={specNode:eG};function eK(e){let t=e.trim();if(!t)return"Unknown Spec";let r=t.match(/^(\d+)[-_]?(.*)$/);if(!r)return t;let s=r[1].padStart(3,"0"),a=r[2]?.replace(/[-_]/g," ").trim();return a?`#${s} ${a}`:`#${s}`}function eZ(e,t){let r=e.trim(),s=r.match(/^(\d+)/),a=s?parseInt(s[1],10):r;return t?`/projects/${t}/specs/${a}`:`/specs/${a}`}function eQ(e,t,r){return`${e}-${r}-${t.trim().toLowerCase().replace(/[^a-z0-9]+/g,"-")||r}`}function eX({relationships:e,specNumber:t,specTitle:a,projectId:n}){let l=(0,i.useRouter)(),[o,c]=s.useState(null),d=s.useMemo(()=>{let r,s,i,l;return r=[],s=[],i={id:"current-spec",type:"specNode",data:{label:t?`#${t.toString().padStart(3,"0")} ${a}`:a,badge:"Current Spec",subtitle:"This spec",tone:"current",interactive:!1},position:{x:0,y:0},draggable:!1,selectable:!1,sourcePosition:eB.Position.Right,targetPosition:eB.Position.Left},r.push(i),e.dependsOn?.forEach((e,t)=>{let a=eQ("precedence",e,t);r.push({id:a,type:"specNode",data:{label:eK(e),badge:"Depends On",subtitle:"Must complete first",tone:"precedence",href:eZ(e,n),interactive:!0},position:{x:0,y:0},draggable:!1,selectable:!0,sourcePosition:eB.Position.Right,targetPosition:eB.Position.Left}),s.push({id:`edge-${a}-current`,source:a,target:i.id,type:"smoothstep",markerEnd:{type:eB.MarkerType.ArrowClosed,color:eW,width:28,height:28},style:{stroke:eW,strokeWidth:3}})}),e.requiredBy?.forEach((e,t)=>{let a=eQ("required-by",e,t);r.push({id:a,type:"specNode",data:{label:eK(e),badge:"Required By",subtitle:"Blocked by this spec",tone:"required-by",href:eZ(e,n),interactive:!0},position:{x:0,y:0},draggable:!1,selectable:!0,sourcePosition:eB.Position.Right,targetPosition:eB.Position.Left}),s.push({id:`edge-current-${a}`,source:i.id,target:a,type:"smoothstep",markerEnd:{type:eB.MarkerType.ArrowClosed,color:eq,width:28,height:28},style:{stroke:eq,strokeWidth:3}})}),(l=new eM.default.graphlib.Graph).setGraph(eU),l.setDefaultEdgeLabel(()=>({})),r.forEach(e=>{l.setNode(e.id,{width:280,height:110})}),s.forEach(e=>{l.setEdge(e.source,e.target)}),eM.default.layout(l),{nodes:r.map(e=>{let{x:t,y:r}=l.node(e.id);return{...e,position:{x:t-140,y:r-55}}}),edges:s}},[e,t,a,n]),u=s.useCallback(e=>{c(e),requestAnimationFrame(()=>{e.fitView({padding:.4,duration:350})})},[]);s.useEffect(()=>{o&&o.fitView({padding:.4,duration:350})},[o,d.nodes]);let p=s.useCallback((e,t)=>{!t?.data||t.data.href&&l.push(t.data.href)},[l]);return(0,r.jsxs)("div",{className:"flex h-full flex-col gap-4",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 text-sm text-muted-foreground",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-xs font-semibold uppercase tracking-wide",children:"Dependency Map"}),(0,r.jsx)("p",{className:"text-base text-foreground",children:"Explore precedence and connected work"})]}),(0,r.jsx)("div",{className:"rounded-full border border-border px-3 py-1.5 text-sm font-medium uppercase tracking-wide",children:"React Flow DAG"})]}),(0,r.jsx)("div",{className:"flex-1 overflow-hidden rounded-2xl border border-border bg-muted/30",children:(0,r.jsxs)(e_.default,{nodes:d.nodes,edges:d.edges,nodeTypes:eJ,onInit:u,className:"h-full w-full",fitView:!0,proOptions:{hideAttribution:!0},nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,panOnScroll:!0,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,minZoom:.4,maxZoom:1.6,onNodeClick:p,children:[(0,r.jsx)(eI.Background,{gap:24,size:1,color:"rgba(148, 163, 184, 0.3)"}),(0,r.jsx)(ez.Controls,{showInteractive:!1})]})}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-4 text-sm text-muted-foreground",children:[(0,r.jsxs)("span",{className:"inline-flex items-center gap-2 font-medium",children:[(0,r.jsx)("span",{className:"inline-block h-2.5 w-8 rounded-full bg-amber-400/80"}),"Depends On → blocks until complete"]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-2 font-medium",children:[(0,r.jsx)("span",{className:"inline-block h-2.5 w-8 rounded-full bg-red-400/80"}),"Required By ← blocked by this spec"]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-2 font-medium",children:[(0,r.jsx)("span",{className:"inline-block h-2.5 w-8 rounded-full bg-sky-400/80"}),"Related ↔ connected work (bidirectional)"]}),(0,r.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,r.jsx)("span",{className:"inline-block h-2.5 w-8 rounded-full bg-primary/60"}),"Drag to pan • Scroll / pinch to zoom."]})]})]})}var eY=e.i(715683),e0=e.i(439779),e1=e.i(20648),e2=e.i(20315),e5=e.i(122436);let e3=(0,e5.default)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]),e4=(0,e5.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]),e8=(0,e5.default)("test-tube",[["path",{d:"M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2",key:"125lnx"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M14.5 16h-5",key:"1ox875"}]]),e6=(0,e5.default)("square-check-big",[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),e9=(0,e5.default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]),e7=(0,e5.default)("map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]);var te=e.i(730885),tt=e.i(497332),tr=e.i(296026),ts=e.i(635389),ta=e.i(340982),ti=e.i(522764),tn=e.i(765213),tl=e.i(446207);let to=()=>e=>{(0,tl.visit)(e,"html",e=>{"string"==typeof e.value&&e.value.trim().startsWith("<!--")&&(e.value="")})},tc={FileText:e2.FileText,Palette:e3,Code:e4,TestTube:e8,CheckSquare:e6,Wrench:e9,Map:e7,GitBranch:te.GitBranch,Home:tt.Home,TrendingUp:tr.TrendingUp},td=e=>fetch(e).then(e=>{if(!e.ok)throw Error(`HTTP error! status: ${e.status}`);return e.json()});function tu({initialSpec:e,initialSubSpec:t,isFocusMode:a=!1,onToggleFocusMode:n}){let l=(0,i.useRouter)(),o=(0,i.useSearchParams)().get("subspec")||t,[c,d]=s.useState(!1),[u,p]=s.useState(!1),{getSpecUrl:m,projectId:h}=(0,e1.useProjectUrl)(),x=h?`/api/projects/${h}/specs/${e.specNumber||e.id}`:`/api/specs/${e.specNumber||e.id}`,f=h?`/api/projects/${h}/specs/${e.specNumber||e.id}/dependency-graph`:`/api/specs/${e.specNumber||e.id}/dependency-graph`,{data:g,error:b,isLoading:j}=Y(x,td,{fallbackData:{spec:e},revalidateOnFocus:!1,dedupingInterval:5e3}),{data:y}=Y(u?f:null,td,{revalidateOnFocus:!1,dedupingInterval:6e4}),v=g?.spec||e,N=s.useMemo(()=>v.tags||[],[v.tags]),w=v.updatedAt?(0,ed.formatRelativeTime)(v.updatedAt):"N/A",k=v.relationships,S=y?{dependsOn:y.dependsOn.map(e=>e.specName),requiredBy:y.requiredBy.map(e=>e.specName)}:k,C=!!(k&&((k.dependsOn?.length??0)>0||(k.requiredBy?.length??0)>0));s.useEffect(()=>{C||p(!1)},[C]);let E=(0,eu.extractH1Title)(v.contentMd)||v.title||v.specName,T=v.contentMd;if(o&&v.subSpecs){let e=v.subSpecs.find(e=>e.file===o);e&&(T=e.content)}let A=e=>e?new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):"N/A",O=e=>{let t=e?m(v.specNumber||v.id,e):m(v.specNumber||v.id);l.push(t,{scroll:!1})},R=s.useRef(null);return s.useEffect(()=>{let e=()=>{let e=56;window.innerWidth>=1024&&R.current&&(e+=R.current.offsetHeight-56),document.documentElement.style.scrollPaddingTop=`${e}px`};e(),window.addEventListener("resize",e);let t=new ResizeObserver(e);return R.current&&t.observe(R.current),()=>{window.removeEventListener("resize",e),t.disconnect(),document.documentElement.style.scrollPaddingTop=""}},[v,N]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("header",{ref:R,className:"lg:sticky lg:top-14 lg:z-20 border-b bg-card",children:[(0,r.jsx)("div",{className:(0,eu.cn)("px-3 sm:px-6",a?"py-1.5":"py-2 sm:py-3"),children:a?(0,r.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,r.jsxs)("h1",{className:"text-base font-semibold tracking-tight truncate",children:[v.specNumber&&(0,r.jsxs)("span",{className:"text-muted-foreground",children:["#",v.specNumber.toString().padStart(3,"0")," "]}),E]}),(0,r.jsx)(em.StatusBadge,{status:v.status||"planned"}),(0,r.jsx)(eh.PriorityBadge,{priority:v.priority||"medium"})]}),(0,r.jsx)(ea.Button,{type:"button",variant:"ghost",size:"sm",onClick:n,className:"h-7 px-2 text-xs text-muted-foreground hover:text-foreground shrink-0",title:"Exit focus mode",children:(0,r.jsx)(ta.Minimize2,{className:"h-4 w-4"})})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2 mb-1.5 sm:mb-2",children:[(0,r.jsxs)("h1",{className:"text-lg sm:text-xl font-bold tracking-tight",children:[v.specNumber&&(0,r.jsxs)("span",{className:"text-muted-foreground",children:["#",v.specNumber.toString().padStart(3,"0")," "]}),E]}),(0,r.jsxs)(ea.Button,{variant:"ghost",size:"icon",className:"lg:hidden h-8 w-8 -mr-2 shrink-0 text-muted-foreground",onClick:()=>{window.toggleSpecsSidebar&&window.toggleSpecsSidebar()},children:[(0,r.jsx)(ti.List,{className:"h-5 w-5"}),(0,r.jsx)("span",{className:"sr-only",children:"Toggle specs list"})]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(ey,{specId:v.specNumber?.toString()||v.id,currentStatus:v.status||"planned",projectId:h}),(0,r.jsx)(eE,{specId:v.specNumber?.toString()||v.id,currentPriority:v.priority||"medium",projectId:h}),(0,r.jsx)("div",{className:"h-4 w-px bg-border mx-1 hidden sm:block"}),(0,r.jsx)(e$,{specId:v.specNumber?.toString()||v.id,currentTags:N,projectId:h})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-2 sm:gap-4 text-xs text-muted-foreground mt-1.5 sm:mt-2",children:[(0,r.jsxs)("span",{className:"hidden sm:inline",children:["Created: ",A(v.createdAt)]}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"•"}),(0,r.jsxs)("span",{children:["Updated: ",A(v.updatedAt),v.updatedAt&&(0,r.jsxs)("span",{className:"ml-1 text-[11px] text-muted-foreground/80",children:["(",w,")"]})]}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"•"}),(0,r.jsxs)("span",{className:"hidden md:inline",children:["Name: ",v.specName]}),v.assignee&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"hidden sm:inline",children:"•"}),(0,r.jsxs)("span",{className:"hidden sm:inline",children:["Assignee: ",v.assignee]})]})]}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mt-2",children:[(0,r.jsxs)(e0.Dialog,{open:c,onOpenChange:d,children:[(0,r.jsxs)(ea.Button,{type:"button",variant:"outline",size:"sm","aria-haspopup":"dialog","aria-expanded":c,onClick:()=>d(!0),className:"h-8 rounded-full border px-3 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground",children:[(0,r.jsx)(ei.Clock,{className:"mr-1.5 h-3.5 w-3.5"}),"View Timeline",(0,r.jsx)(ts.Maximize2,{className:"ml-1.5 h-3.5 w-3.5"})]}),(0,r.jsxs)(e0.DialogContent,{className:"w-[min(900px,90vw)] max-w-3xl max-h-[90vh] overflow-y-auto",children:[(0,r.jsxs)(e0.DialogHeader,{children:[(0,r.jsx)(e0.DialogTitle,{children:"Spec Timeline"}),(0,r.jsx)(e0.DialogDescription,{children:"Created, updated, and completion milestones."})]}),(0,r.jsx)("div",{className:"rounded-xl border border-border bg-muted/30 p-4",children:(0,r.jsx)(ep,{createdAt:v.createdAt,updatedAt:v.updatedAt,completedAt:v.completedAt,status:v.status||"planned"})})]})]}),(0,r.jsxs)(e0.Dialog,{open:u,onOpenChange:p,children:[(0,r.jsxs)(ea.Button,{type:"button",variant:"outline",size:"sm","aria-haspopup":"dialog","aria-expanded":u,onClick:()=>p(!0),disabled:!C,className:(0,eu.cn)("h-8 rounded-full border px-3 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground",!C&&"cursor-not-allowed opacity-50"),children:[(0,r.jsx)(te.GitBranch,{className:"mr-1.5 h-3.5 w-3.5"}),"View Dependencies",(0,r.jsx)(ts.Maximize2,{className:"ml-1.5 h-3.5 w-3.5"})]}),(0,r.jsxs)(e0.DialogContent,{className:"flex h-[85vh] w-[min(1200px,95vw)] max-w-6xl flex-col gap-4 overflow-hidden",children:[(0,r.jsxs)(e0.DialogHeader,{children:[(0,r.jsx)(e0.DialogTitle,{children:"Dependency Graph"}),(0,r.jsxs)(e0.DialogDescription,{className:"flex flex-col gap-2",children:[(0,r.jsx)("span",{children:"Precedence requirements and connected specs rendered with automatic layout."}),(0,r.jsxs)(eL.default,{href:h?`/projects/${h}/dependencies?spec=${v.specNumber||v.id}`:`/dependencies?spec=${v.specNumber||v.id}`,className:"inline-flex items-center gap-1.5 text-xs text-primary hover:underline w-fit",onClick:()=>p(!1),children:[(0,r.jsx)(tn.ExternalLink,{className:"h-3 w-3"}),"View in full dependencies page"]})]})]}),(0,r.jsx)("div",{className:"min-h-0 flex-1",children:S&&(0,r.jsx)(eX,{relationships:S,specNumber:v.specNumber,specTitle:E,projectId:h})})]})]}),n&&(0,r.jsxs)(ea.Button,{type:"button",variant:"outline",size:"sm",onClick:n,className:"hidden lg:inline-flex h-8 rounded-full border px-3 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground",title:"Enter focus mode",children:[(0,r.jsx)(ts.Maximize2,{className:"mr-1.5 h-3.5 w-3.5"}),"Focus"]})]})]})}),v.subSpecs&&v.subSpecs.length>0&&(0,r.jsx)("div",{className:"border-t bg-muted/30",children:(0,r.jsx)("div",{className:"px-3 sm:px-6 overflow-x-auto",children:(0,r.jsxs)("div",{className:"flex gap-1 py-2 min-w-max",children:[(0,r.jsxs)("button",{onClick:()=>O(null),className:`flex items-center gap-2 px-3 sm:px-4 py-2 text-xs sm:text-sm font-medium rounded-md whitespace-nowrap transition-colors ${!o?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,children:[(0,r.jsx)(tt.Home,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"Overview"})]}),v.subSpecs.map(e=>{let t=tc[e.iconName]||e2.FileText;return(0,r.jsxs)("button",{onClick:()=>O(e.file),className:`flex items-center gap-2 px-3 sm:px-4 py-2 text-xs sm:text-sm font-medium rounded-md whitespace-nowrap transition-colors ${o===e.file?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,children:[(0,r.jsx)(t,{className:`h-4 w-4 ${e.color}`}),(0,r.jsx)("span",{className:"hidden sm:inline",children:e.name})]},e.file)})]})})})]}),(0,r.jsxs)("div",{className:"flex flex-col xl:flex-row xl:items-start",children:[(0,r.jsx)("main",{className:"flex-1 px-3 sm:px-6 py-3 sm:py-6 min-w-0",children:(0,r.jsxs)("div",{className:"space-y-4",children:[j&&(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:"Loading..."}),b&&(0,r.jsx)("div",{className:"text-sm text-destructive",children:"Error loading spec"}),(0,r.jsx)("article",{className:"prose prose-slate dark:prose-invert max-w-none prose-sm sm:prose-base",children:(0,r.jsx)(ee.default,{remarkPlugins:[et.default,to],rehypePlugins:[er.default,es.default],components:{a:e=>(0,r.jsx)(eF,{...e,currentSpecNumber:v.specNumber||void 0,projectId:h}),pre:({children:e,...t})=>{let a=s.Children.toArray(e)[0];if(s.isValidElement(a)&&"code"===a.type&&"string"==typeof a.props.className&&a.props.className?.includes("language-mermaid")){let e=a.props,t="string"==typeof e.children?e.children:"";return(0,r.jsx)(eY.MermaidDiagram,{code:t})}return(0,r.jsx)("pre",{...t,children:e})}},children:T})})]})}),(0,r.jsx)("aside",{className:"hidden xl:block w-72 shrink-0 px-6 py-6 sticky top-32 h-[calc(100vh-8rem)] overflow-y-auto scrollbar-auto-hide",children:(0,r.jsx)(eD.TableOfContentsSidebar,{content:T})})]}),(0,r.jsx)("div",{className:"xl:hidden",children:(0,r.jsx)(eD.TableOfContents,{content:T})}),(0,r.jsx)(eV.BackToTop,{})]})}var tp=e.i(293821);function tm({spec:e,allSpecs:t,currentSubSpec:i}){let[n,l]=s.useState(()=>"true"===localStorage.getItem("spec-detail-focus-mode")),o=s.useCallback(()=>{l(e=>{let t=!e;return localStorage.setItem("spec-detail-focus-mode",String(t)),t})},[]),c=s.useMemo(()=>t.map(e=>({id:e.id,specNumber:e.specNumber,title:e.title,specName:e.specName,status:e.status,priority:e.priority,tags:e.tags,updatedAt:e.updatedAt,subSpecsCount:"subSpecsCount"in e?e.subSpecsCount:void 0})),[t]);s.useEffect(()=>{(0,tp.primeSpecsSidebar)(c)},[c]),s.useEffect(()=>{(0,tp.setActiveSidebarSpec)(e.id)},[e.id]);let d=s.useCallback(e=>{fetch(`/api/specs/${e}`).catch(()=>{})},[]);return(0,r.jsxs)("div",{className:"flex min-h-[calc(100vh-3.5rem)] w-full min-w-0",children:[(0,r.jsx)(a.SpecsNavSidebar,{initialSpecs:c,currentSpecId:e.id,currentSubSpec:i,onSpecHover:d,className:(0,eu.cn)(n&&"hidden")}),(0,r.jsx)("div",{className:"flex-1 min-w-0",children:(0,r.jsx)(tu,{initialSpec:e,initialSubSpec:i,isFocusMode:n,onToggleFocusMode:o})})]})}e.s(["SpecDetailWrapper",()=>tm],918412)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,296026,e=>{"use strict";let s=(0,e.i(122436).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);e.s(["TrendingUp",()=>s],296026)},76075,e=>{"use strict";var s=e.i(890022),t=e.i(431231),a=e.i(632137);let r=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow",e),...t}));r.displayName="Card";let l=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...t}));l.displayName="CardHeader";let d=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("font-semibold leading-none tracking-tight",e),...t}));d.displayName="CardTitle";let i=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("text-sm text-muted-foreground",e),...t}));i.displayName="CardDescription";let c=t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("p-6 pt-0",e),...t}));c.displayName="CardContent",t.forwardRef(({className:e,...t},r)=>(0,s.jsx)("div",{ref:r,className:(0,a.cn)("flex items-center p-6 pt-0",e),...t})).displayName="CardFooter",e.s(["Card",()=>r,"CardContent",()=>c,"CardDescription",()=>i,"CardHeader",()=>l,"CardTitle",()=>d])},522764,e=>{"use strict";let s=(0,e.i(122436).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>s],522764)},416992,e=>{"use strict";let s=(0,e.i(122436).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",()=>s],416992)},506116,e=>{"use strict";var s=e.i(890022),t=e.i(431231),a=e.i(987985),r=e.i(20648),l=e.i(76075),d=e.i(235893),i=e.i(20315),c=e.i(196812),n=e.i(75364),o=e.i(40843),x=e.i(416992),m=e.i(522764),h=e.i(296026);let p=(0,e.i(122436).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var u=e.i(787949),j=e.i(168497),f=e.i(597705),N=e.i(323490);function g({spec:e,projectId:t}){let r=e.title||e.specName,l=t?`/projects/${t}/specs/${e.specNumber}`:`/specs/${e.specNumber}`;return(0,s.jsx)(a.default,{href:l,className:"block p-3 rounded-lg hover:bg-accent transition-colors",title:e.specName,children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[e.specNumber&&(0,s.jsxs)("span",{className:"text-sm font-mono text-muted-foreground shrink-0",children:["#",e.specNumber.toString().padStart(3,"0")]}),(0,s.jsx)("h4",{className:"text-sm font-medium truncate",children:r})]}),r!==e.specName&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:e.specName}),e.tags&&e.tags.length>0&&(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:e.tags.slice(0,3).map(e=>(0,s.jsx)(N.Badge,{variant:"secondary",className:"text-xs",children:e},e))})]}),(0,s.jsxs)("div",{className:"flex flex-col items-end gap-1 shrink-0",children:[e.status&&(0,s.jsx)(j.StatusBadge,{status:e.status,className:"text-xs scale-90"}),e.priority&&(0,s.jsx)(f.PriorityBadge,{priority:e.priority,className:"text-xs scale-90"})]})]})})}function v({spec:e,action:t,time:r,projectId:l}){let d=e.title||e.specName,i=l?`/projects/${l}/specs/${e.specNumber}`:`/specs/${e.specNumber}`;return(0,s.jsxs)("div",{className:"flex items-start gap-3 py-2",children:[(0,s.jsx)("div",{className:"w-2 h-2 rounded-full bg-primary mt-2 shrink-0"}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("p",{className:"text-sm",children:[(0,s.jsxs)(a.default,{href:i,className:"font-medium hover:underline",title:e.specName,children:["#",e.specNumber?.toString().padStart(3,"0")," ",d]})," ",(0,s.jsx)("span",{className:"text-muted-foreground",children:t})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:function(e){if(!e)return"Unknown";let s=Math.floor((new Date().getTime()-e.getTime())/36e5),t=Math.floor(s/24);return s<1?"Just now":s<24?`${s} hour${s>1?"s":""} ago`:t<7?`${t} day${t>1?"s":""} ago`:t<30?`${Math.floor(t/7)} week${Math.floor(t/7)>1?"s":""} ago`:e.toLocaleDateString()}(r)})]})]})}function C({initialSpecs:e,initialStats:j,projectId:f}){let{mode:N,currentProject:C,isLoading:y}=(0,r.useProject)(),[b,w]=(0,t.useState)(e),[k,T]=(0,t.useState)(j);if((0,t.useEffect)(()=>{w(e),T(j)},[e,j]),"multi-project"===N&&!f&&!C)return y?(0,s.jsx)("div",{className:"flex items-center justify-center h-screen",children:(0,s.jsx)(u.Loader2,{className:"animate-spin"})}):(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center h-[calc(100vh-4rem)] text-center p-8",children:[(0,s.jsx)("h2",{className:"text-2xl font-bold mb-2",children:"Welcome to LeanSpec"}),(0,s.jsx)("p",{className:"text-muted-foreground mb-4",children:"Select a project from the sidebar or create a new one to get started."})]});let S=b.filter(e=>"in-progress"===e.status).sort((e,s)=>(s.specNumber||0)-(e.specNumber||0)).slice(0,5),A=b.filter(e=>"planned"===e.status).sort((e,s)=>(s.specNumber||0)-(e.specNumber||0)).slice(0,5),M=b.sort((e,s)=>e.createdAt?s.createdAt?s.createdAt.getTime()-e.createdAt.getTime():-1:1).slice(0,5),$=b.filter(e=>e.updatedAt).sort((e,s)=>e.updatedAt?s.updatedAt?s.updatedAt.getTime()-e.updatedAt.getTime():-1:1).slice(0,10),B=k.specsByStatus.find(e=>"complete"===e.status)?.count||0;return(0,s.jsx)("div",{className:"min-h-screen bg-background p-4 sm:p-8",children:(0,s.jsxs)("div",{className:"max-w-7xl mx-auto space-y-6 sm:space-y-8",children:[(0,s.jsx)("div",{children:(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[C?.color&&(0,s.jsx)("div",{className:"h-8 w-2 rounded-full shrink-0",style:{backgroundColor:C.color}}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-3xl sm:text-4xl font-bold tracking-tight",children:"Dashboard"}),(0,s.jsx)("p",{className:"text-muted-foreground mt-2",children:C?`${C.name} — overview and recent activity`:"Project overview and recent activity"})]})]})}),(0,s.jsxs)("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3 sm:gap-4",children:[(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Total Specs"}),(0,s.jsx)(i.FileText,{className:"h-5 w-5 text-blue-600"})]})}),(0,s.jsx)(l.CardContent,{className:"relative",children:(0,s.jsx)("div",{className:"text-3xl font-bold",children:k.totalSpecs})})]}),(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-orange-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"In Progress"}),(0,s.jsx)(n.PlayCircle,{className:"h-5 w-5 text-orange-600"})]})}),(0,s.jsx)(l.CardContent,{className:"relative",children:(0,s.jsx)("div",{className:"text-3xl font-bold",children:k.specsByStatus.find(e=>"in-progress"===e.status)?.count||0})})]}),(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-green-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Completed"}),(0,s.jsx)(c.CheckCircle2,{className:"h-5 w-5 text-green-600"})]})}),(0,s.jsxs)(l.CardContent,{className:"relative",children:[(0,s.jsx)("div",{className:"text-3xl font-bold",children:B}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground mt-1 flex items-center gap-1",children:[(0,s.jsx)(h.TrendingUp,{className:"h-3 w-3"}),k.completionRate.toFixed(1),"% completion rate"]})]})]}),(0,s.jsxs)(l.Card,{className:"relative overflow-hidden",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-purple-500/10 to-transparent"}),(0,s.jsx)(l.CardHeader,{className:"relative pb-3",children:(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium text-muted-foreground",children:"Planned"}),(0,s.jsx)(o.Clock,{className:"h-5 w-5 text-purple-600"})]})}),(0,s.jsx)(l.CardContent,{className:"relative",children:(0,s.jsx)("div",{className:"text-3xl font-bold",children:k.specsByStatus.find(e=>"planned"===e.status)?.count||0})})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-4 sm:gap-6",children:[(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,s.jsx)(p,{className:"h-5 w-5 text-blue-600"}),"Recently Added"]})}),(0,s.jsx)(l.CardContent,{className:"space-y-1",children:M.slice(0,5).map(e=>(0,s.jsx)(g,{spec:e,projectId:f},e.id))})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,s.jsx)(o.Clock,{className:"h-5 w-5 text-purple-600"}),"Planned (",A.length,")"]})}),(0,s.jsx)(l.CardContent,{className:"space-y-1",children:A.length>0?A.map(e=>(0,s.jsx)(g,{spec:e,projectId:f},e.id)):(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No planned specs"})})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)(l.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,s.jsx)(n.PlayCircle,{className:"h-5 w-5 text-orange-600"}),"In Progress (",S.length,")"]})}),(0,s.jsx)(l.CardContent,{className:"space-y-1",children:S.length>0?S.map(e=>(0,s.jsx)(g,{spec:e,projectId:f},e.id)):(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No specs in progress"})})]})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsx)(l.CardTitle,{className:"text-lg",children:"Recent Activity"})}),(0,s.jsx)(l.CardContent,{children:(0,s.jsx)("div",{className:"border-l-2 border-muted pl-4 space-y-1",children:$.map(e=>(0,s.jsx)(v,{spec:e,action:"updated",time:e.updatedAt,projectId:f},e.id))})})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsx)(l.CardTitle,{className:"text-lg",children:"Quick Actions"})}),(0,s.jsx)(l.CardContent,{children:(0,s.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,s.jsx)(d.Button,{asChild:!0,children:(0,s.jsxs)(a.default,{href:"/specs",children:[(0,s.jsx)(m.List,{className:"h-4 w-4 mr-2"}),"View All Specs"]})}),(0,s.jsx)(d.Button,{variant:"outline",asChild:!0,children:(0,s.jsxs)(a.default,{href:"/specs?view=board",children:[(0,s.jsx)(x.LayoutGrid,{className:"h-4 w-4 mr-2"}),"Board View"]})}),(0,s.jsx)(d.Button,{variant:"outline",asChild:!0,children:(0,s.jsxs)(a.default,{href:"/stats",children:[(0,s.jsx)(h.TrendingUp,{className:"h-4 w-4 mr-2"}),"View Stats"]})})]})})]})]})})}e.s(["DashboardClient",()=>C],506116)}]);