@andrew.ng/symbion 0.1.0

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 (417) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +125 -0
  3. package/apps/daemon/dist/boot/menu.d.ts +11 -0
  4. package/apps/daemon/dist/boot/menu.d.ts.map +1 -0
  5. package/apps/daemon/dist/boot/menu.js +32 -0
  6. package/apps/daemon/dist/boot/menu.js.map +1 -0
  7. package/apps/daemon/dist/fs/folderPick.d.ts +13 -0
  8. package/apps/daemon/dist/fs/folderPick.d.ts.map +1 -0
  9. package/apps/daemon/dist/fs/folderPick.js +4 -0
  10. package/apps/daemon/dist/fs/folderPick.js.map +1 -0
  11. package/apps/daemon/dist/fs/listDir.d.ts +13 -0
  12. package/apps/daemon/dist/fs/listDir.d.ts.map +1 -0
  13. package/apps/daemon/dist/fs/listDir.js +121 -0
  14. package/apps/daemon/dist/fs/listDir.js.map +1 -0
  15. package/apps/daemon/dist/fs/readTargetFiles.d.ts +20 -0
  16. package/apps/daemon/dist/fs/readTargetFiles.d.ts.map +1 -0
  17. package/apps/daemon/dist/fs/readTargetFiles.js +76 -0
  18. package/apps/daemon/dist/fs/readTargetFiles.js.map +1 -0
  19. package/apps/daemon/dist/fs/writeFiles.d.ts +32 -0
  20. package/apps/daemon/dist/fs/writeFiles.d.ts.map +1 -0
  21. package/apps/daemon/dist/fs/writeFiles.js +93 -0
  22. package/apps/daemon/dist/fs/writeFiles.js.map +1 -0
  23. package/apps/daemon/dist/git/status.d.ts +11 -0
  24. package/apps/daemon/dist/git/status.d.ts.map +1 -0
  25. package/apps/daemon/dist/git/status.js +30 -0
  26. package/apps/daemon/dist/git/status.js.map +1 -0
  27. package/apps/daemon/dist/index.d.ts +2 -0
  28. package/apps/daemon/dist/index.d.ts.map +1 -0
  29. package/apps/daemon/dist/index.js +69 -0
  30. package/apps/daemon/dist/index.js.map +1 -0
  31. package/apps/daemon/dist/llm/anthropicProvider.d.ts +26 -0
  32. package/apps/daemon/dist/llm/anthropicProvider.d.ts.map +1 -0
  33. package/apps/daemon/dist/llm/anthropicProvider.js +90 -0
  34. package/apps/daemon/dist/llm/anthropicProvider.js.map +1 -0
  35. package/apps/daemon/dist/llm/geminiProvider.d.ts +25 -0
  36. package/apps/daemon/dist/llm/geminiProvider.d.ts.map +1 -0
  37. package/apps/daemon/dist/llm/geminiProvider.js +89 -0
  38. package/apps/daemon/dist/llm/geminiProvider.js.map +1 -0
  39. package/apps/daemon/dist/llm/installInstructions.d.ts +40 -0
  40. package/apps/daemon/dist/llm/installInstructions.d.ts.map +1 -0
  41. package/apps/daemon/dist/llm/installInstructions.js +80 -0
  42. package/apps/daemon/dist/llm/installInstructions.js.map +1 -0
  43. package/apps/daemon/dist/llm/ollamaProvider.d.ts +55 -0
  44. package/apps/daemon/dist/llm/ollamaProvider.d.ts.map +1 -0
  45. package/apps/daemon/dist/llm/ollamaProvider.js +213 -0
  46. package/apps/daemon/dist/llm/ollamaProvider.js.map +1 -0
  47. package/apps/daemon/dist/llm/openaiProvider.d.ts +25 -0
  48. package/apps/daemon/dist/llm/openaiProvider.d.ts.map +1 -0
  49. package/apps/daemon/dist/llm/openaiProvider.js +90 -0
  50. package/apps/daemon/dist/llm/openaiProvider.js.map +1 -0
  51. package/apps/daemon/dist/llm/providerStatus.d.ts +60 -0
  52. package/apps/daemon/dist/llm/providerStatus.d.ts.map +1 -0
  53. package/apps/daemon/dist/llm/providerStatus.js +88 -0
  54. package/apps/daemon/dist/llm/providerStatus.js.map +1 -0
  55. package/apps/daemon/dist/llm/registry.d.ts +14 -0
  56. package/apps/daemon/dist/llm/registry.d.ts.map +1 -0
  57. package/apps/daemon/dist/llm/registry.js +35 -0
  58. package/apps/daemon/dist/llm/registry.js.map +1 -0
  59. package/apps/daemon/dist/llm/remoteProvider.d.ts +25 -0
  60. package/apps/daemon/dist/llm/remoteProvider.d.ts.map +1 -0
  61. package/apps/daemon/dist/llm/remoteProvider.js +88 -0
  62. package/apps/daemon/dist/llm/remoteProvider.js.map +1 -0
  63. package/apps/daemon/dist/llm/secrets.d.ts +55 -0
  64. package/apps/daemon/dist/llm/secrets.d.ts.map +1 -0
  65. package/apps/daemon/dist/llm/secrets.js +167 -0
  66. package/apps/daemon/dist/llm/secrets.js.map +1 -0
  67. package/apps/daemon/dist/llm/types.d.ts +50 -0
  68. package/apps/daemon/dist/llm/types.d.ts.map +1 -0
  69. package/apps/daemon/dist/llm/types.js +16 -0
  70. package/apps/daemon/dist/llm/types.js.map +1 -0
  71. package/apps/daemon/dist/net/findOpenPort.d.ts +26 -0
  72. package/apps/daemon/dist/net/findOpenPort.d.ts.map +1 -0
  73. package/apps/daemon/dist/net/findOpenPort.js +37 -0
  74. package/apps/daemon/dist/net/findOpenPort.js.map +1 -0
  75. package/apps/daemon/dist/rpc/contract.d.ts +10 -0
  76. package/apps/daemon/dist/rpc/contract.d.ts.map +1 -0
  77. package/apps/daemon/dist/rpc/contract.js +2 -0
  78. package/apps/daemon/dist/rpc/contract.js.map +1 -0
  79. package/apps/daemon/dist/rpc/guard.d.ts +18 -0
  80. package/apps/daemon/dist/rpc/guard.d.ts.map +1 -0
  81. package/apps/daemon/dist/rpc/guard.js +75 -0
  82. package/apps/daemon/dist/rpc/guard.js.map +1 -0
  83. package/apps/daemon/dist/rpc/handlers.d.ts +118 -0
  84. package/apps/daemon/dist/rpc/handlers.d.ts.map +1 -0
  85. package/apps/daemon/dist/rpc/handlers.js +694 -0
  86. package/apps/daemon/dist/rpc/handlers.js.map +1 -0
  87. package/apps/daemon/dist/rpc/pathStyle.d.ts +27 -0
  88. package/apps/daemon/dist/rpc/pathStyle.d.ts.map +1 -0
  89. package/apps/daemon/dist/rpc/pathStyle.js +43 -0
  90. package/apps/daemon/dist/rpc/pathStyle.js.map +1 -0
  91. package/apps/daemon/dist/rpc/rpcError.d.ts +13 -0
  92. package/apps/daemon/dist/rpc/rpcError.d.ts.map +1 -0
  93. package/apps/daemon/dist/rpc/rpcError.js +16 -0
  94. package/apps/daemon/dist/rpc/rpcError.js.map +1 -0
  95. package/apps/daemon/dist/server.d.ts +18 -0
  96. package/apps/daemon/dist/server.d.ts.map +1 -0
  97. package/apps/daemon/dist/server.js +208 -0
  98. package/apps/daemon/dist/server.js.map +1 -0
  99. package/apps/daemon/dist/store/publishLog.d.ts +6 -0
  100. package/apps/daemon/dist/store/publishLog.d.ts.map +1 -0
  101. package/apps/daemon/dist/store/publishLog.js +27 -0
  102. package/apps/daemon/dist/store/publishLog.js.map +1 -0
  103. package/apps/daemon/dist/store/store.d.ts +35 -0
  104. package/apps/daemon/dist/store/store.d.ts.map +1 -0
  105. package/apps/daemon/dist/store/store.js +129 -0
  106. package/apps/daemon/dist/store/store.js.map +1 -0
  107. package/apps/daemon/dist/templates/githubFetch.d.ts +49 -0
  108. package/apps/daemon/dist/templates/githubFetch.d.ts.map +1 -0
  109. package/apps/daemon/dist/templates/githubFetch.js +168 -0
  110. package/apps/daemon/dist/templates/githubFetch.js.map +1 -0
  111. package/apps/web/out/404.html +1 -0
  112. package/apps/web/out/_next/static/IIw50lkv8jQuwHOBZJifS/_buildManifest.js +1 -0
  113. package/apps/web/out/_next/static/IIw50lkv8jQuwHOBZJifS/_ssgManifest.js +1 -0
  114. package/apps/web/out/_next/static/chunks/1dd3208c-6a745fea7bd2124a.js +1 -0
  115. package/apps/web/out/_next/static/chunks/426-deb95a16531d3b4b.js +25 -0
  116. package/apps/web/out/_next/static/chunks/528-6e64508688610bfe.js +2 -0
  117. package/apps/web/out/_next/static/chunks/656-fd1628581ad77b01.js +1 -0
  118. package/apps/web/out/_next/static/chunks/777-d587bc7cc0fc6be8.js +1 -0
  119. package/apps/web/out/_next/static/chunks/990-f2445c68c17fa077.js +1 -0
  120. package/apps/web/out/_next/static/chunks/app/_not-found/page-e0d77774c4eb9aef.js +1 -0
  121. package/apps/web/out/_next/static/chunks/app/layout-e5023aba6634ce53.js +1 -0
  122. package/apps/web/out/_next/static/chunks/app/page-a545c902535ac2e3.js +1 -0
  123. package/apps/web/out/_next/static/chunks/app/settings/page-a68ed4ae2ccb8840.js +1 -0
  124. package/apps/web/out/_next/static/chunks/app/templates/page-e5f0cefb905e5b72.js +1 -0
  125. package/apps/web/out/_next/static/chunks/baeaa4ff-28d2e32e4dd119b9.js +1 -0
  126. package/apps/web/out/_next/static/chunks/eb0351e1-329719bc902eaf71.js +1 -0
  127. package/apps/web/out/_next/static/chunks/framework-3664cab31236a9fa.js +1 -0
  128. package/apps/web/out/_next/static/chunks/main-app-d515c42ecb17b8e8.js +1 -0
  129. package/apps/web/out/_next/static/chunks/main-ff24788874d4ec1b.js +1 -0
  130. package/apps/web/out/_next/static/chunks/pages/_app-10a93ab5b7c32eb3.js +1 -0
  131. package/apps/web/out/_next/static/chunks/pages/_error-2d792b2a41857be4.js +1 -0
  132. package/apps/web/out/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  133. package/apps/web/out/_next/static/chunks/webpack-ae7ee8fe97fdceba.js +1 -0
  134. package/apps/web/out/_next/static/css/0a42edcfc2beb916.css +3 -0
  135. package/apps/web/out/_next/static/css/a275cc2b185e04f8.css +1 -0
  136. package/apps/web/out/_next/static/media/011e180705008d6f-s.woff2 +0 -0
  137. package/apps/web/out/_next/static/media/20535187d867b7b9-s.woff2 +0 -0
  138. package/apps/web/out/_next/static/media/26d4368bf94c0ec4-s.p.woff2 +0 -0
  139. package/apps/web/out/_next/static/media/2801417b65625cf5-s.woff2 +0 -0
  140. package/apps/web/out/_next/static/media/28793f5c5e3d822d-s.woff2 +0 -0
  141. package/apps/web/out/_next/static/media/5356a6a4f2c8c8d8-s.woff2 +0 -0
  142. package/apps/web/out/_next/static/media/58f386aa6b1a2a92-s.woff2 +0 -0
  143. package/apps/web/out/_next/static/media/73cb51aac9c97f90-s.woff2 +0 -0
  144. package/apps/web/out/_next/static/media/7b19b489dc6743ba-s.woff2 +0 -0
  145. package/apps/web/out/_next/static/media/7ba5fb2a8c88521c-s.woff2 +0 -0
  146. package/apps/web/out/_next/static/media/92eeb95d069020cc-s.woff2 +0 -0
  147. package/apps/web/out/_next/static/media/98e207f02528a563-s.p.woff2 +0 -0
  148. package/apps/web/out/_next/static/media/99dcf268bda04fe5-s.woff2 +0 -0
  149. package/apps/web/out/_next/static/media/b3bf17a9041d9433-s.woff2 +0 -0
  150. package/apps/web/out/_next/static/media/c9c3823090ec8b55-s.woff2 +0 -0
  151. package/apps/web/out/_next/static/media/d26bbd13d6b70f89-s.woff2 +0 -0
  152. package/apps/web/out/_next/static/media/d29838c109ef09b4-s.woff2 +0 -0
  153. package/apps/web/out/_next/static/media/d3ebbfd689654d3a-s.p.woff2 +0 -0
  154. package/apps/web/out/_next/static/media/db96af6b531dc71f-s.p.woff2 +0 -0
  155. package/apps/web/out/_next/static/media/e40af3453d7c920a-s.woff2 +0 -0
  156. package/apps/web/out/_next/static/media/ef4d5661765d0e49-s.woff2 +0 -0
  157. package/apps/web/out/index.html +1 -0
  158. package/apps/web/out/index.txt +6 -0
  159. package/apps/web/out/settings.html +1 -0
  160. package/apps/web/out/settings.txt +6 -0
  161. package/apps/web/out/templates.html +1 -0
  162. package/apps/web/out/templates.txt +6 -0
  163. package/bin/symbion.mjs +41 -0
  164. package/node_modules/@symbion/core/dist/adapters/claude.d.ts +3 -0
  165. package/node_modules/@symbion/core/dist/adapters/claude.d.ts.map +1 -0
  166. package/node_modules/@symbion/core/dist/adapters/claude.js +43 -0
  167. package/node_modules/@symbion/core/dist/adapters/claude.js.map +1 -0
  168. package/node_modules/@symbion/core/dist/adapters/codex.d.ts +3 -0
  169. package/node_modules/@symbion/core/dist/adapters/codex.d.ts.map +1 -0
  170. package/node_modules/@symbion/core/dist/adapters/codex.js +58 -0
  171. package/node_modules/@symbion/core/dist/adapters/codex.js.map +1 -0
  172. package/node_modules/@symbion/core/dist/adapters/registry.d.ts +5 -0
  173. package/node_modules/@symbion/core/dist/adapters/registry.d.ts.map +1 -0
  174. package/node_modules/@symbion/core/dist/adapters/registry.js +14 -0
  175. package/node_modules/@symbion/core/dist/adapters/registry.js.map +1 -0
  176. package/node_modules/@symbion/core/dist/adapters/types.d.ts +34 -0
  177. package/node_modules/@symbion/core/dist/adapters/types.d.ts.map +1 -0
  178. package/node_modules/@symbion/core/dist/adapters/types.js +2 -0
  179. package/node_modules/@symbion/core/dist/adapters/types.js.map +1 -0
  180. package/node_modules/@symbion/core/dist/diff/conflict.d.ts +19 -0
  181. package/node_modules/@symbion/core/dist/diff/conflict.d.ts.map +1 -0
  182. package/node_modules/@symbion/core/dist/diff/conflict.js +20 -0
  183. package/node_modules/@symbion/core/dist/diff/conflict.js.map +1 -0
  184. package/node_modules/@symbion/core/dist/diff/diff.d.ts +44 -0
  185. package/node_modules/@symbion/core/dist/diff/diff.d.ts.map +1 -0
  186. package/node_modules/@symbion/core/dist/diff/diff.js +124 -0
  187. package/node_modules/@symbion/core/dist/diff/diff.js.map +1 -0
  188. package/node_modules/@symbion/core/dist/generate/bodyPrompt.d.ts +27 -0
  189. package/node_modules/@symbion/core/dist/generate/bodyPrompt.d.ts.map +1 -0
  190. package/node_modules/@symbion/core/dist/generate/bodyPrompt.js +55 -0
  191. package/node_modules/@symbion/core/dist/generate/bodyPrompt.js.map +1 -0
  192. package/node_modules/@symbion/core/dist/generate/description.d.ts +18 -0
  193. package/node_modules/@symbion/core/dist/generate/description.d.ts.map +1 -0
  194. package/node_modules/@symbion/core/dist/generate/description.js +164 -0
  195. package/node_modules/@symbion/core/dist/generate/description.js.map +1 -0
  196. package/node_modules/@symbion/core/dist/index.d.ts +23 -0
  197. package/node_modules/@symbion/core/dist/index.d.ts.map +1 -0
  198. package/node_modules/@symbion/core/dist/index.js +24 -0
  199. package/node_modules/@symbion/core/dist/index.js.map +1 -0
  200. package/node_modules/@symbion/core/dist/ir/refs.d.ts +11 -0
  201. package/node_modules/@symbion/core/dist/ir/refs.d.ts.map +1 -0
  202. package/node_modules/@symbion/core/dist/ir/refs.js +25 -0
  203. package/node_modules/@symbion/core/dist/ir/refs.js.map +1 -0
  204. package/node_modules/@symbion/core/dist/ir/types.d.ts +107 -0
  205. package/node_modules/@symbion/core/dist/ir/types.d.ts.map +1 -0
  206. package/node_modules/@symbion/core/dist/ir/types.js +19 -0
  207. package/node_modules/@symbion/core/dist/ir/types.js.map +1 -0
  208. package/node_modules/@symbion/core/dist/ir/validate.d.ts +13 -0
  209. package/node_modules/@symbion/core/dist/ir/validate.d.ts.map +1 -0
  210. package/node_modules/@symbion/core/dist/ir/validate.js +114 -0
  211. package/node_modules/@symbion/core/dist/ir/validate.js.map +1 -0
  212. package/node_modules/@symbion/core/dist/parse/scan.d.ts +47 -0
  213. package/node_modules/@symbion/core/dist/parse/scan.d.ts.map +1 -0
  214. package/node_modules/@symbion/core/dist/parse/scan.js +109 -0
  215. package/node_modules/@symbion/core/dist/parse/scan.js.map +1 -0
  216. package/node_modules/@symbion/core/dist/render/frontmatter.d.ts +29 -0
  217. package/node_modules/@symbion/core/dist/render/frontmatter.d.ts.map +1 -0
  218. package/node_modules/@symbion/core/dist/render/frontmatter.js +99 -0
  219. package/node_modules/@symbion/core/dist/render/frontmatter.js.map +1 -0
  220. package/node_modules/@symbion/core/dist/render/marker.d.ts +30 -0
  221. package/node_modules/@symbion/core/dist/render/marker.d.ts.map +1 -0
  222. package/node_modules/@symbion/core/dist/render/marker.js +48 -0
  223. package/node_modules/@symbion/core/dist/render/marker.js.map +1 -0
  224. package/node_modules/@symbion/core/dist/render/render.d.ts +12 -0
  225. package/node_modules/@symbion/core/dist/render/render.d.ts.map +1 -0
  226. package/node_modules/@symbion/core/dist/render/render.js +10 -0
  227. package/node_modules/@symbion/core/dist/render/render.js.map +1 -0
  228. package/node_modules/@symbion/core/dist/runcommand/render.d.ts +13 -0
  229. package/node_modules/@symbion/core/dist/runcommand/render.d.ts.map +1 -0
  230. package/node_modules/@symbion/core/dist/runcommand/render.js +19 -0
  231. package/node_modules/@symbion/core/dist/runcommand/render.js.map +1 -0
  232. package/node_modules/@symbion/core/dist/templates/authorSource.d.ts +55 -0
  233. package/node_modules/@symbion/core/dist/templates/authorSource.d.ts.map +1 -0
  234. package/node_modules/@symbion/core/dist/templates/authorSource.js +24 -0
  235. package/node_modules/@symbion/core/dist/templates/authorSource.js.map +1 -0
  236. package/node_modules/@symbion/core/dist/templates/matchAuthorFolders.d.ts +28 -0
  237. package/node_modules/@symbion/core/dist/templates/matchAuthorFolders.d.ts.map +1 -0
  238. package/node_modules/@symbion/core/dist/templates/matchAuthorFolders.js +54 -0
  239. package/node_modules/@symbion/core/dist/templates/matchAuthorFolders.js.map +1 -0
  240. package/node_modules/@symbion/core/dist/templates/parseTemplate.d.ts +42 -0
  241. package/node_modules/@symbion/core/dist/templates/parseTemplate.d.ts.map +1 -0
  242. package/node_modules/@symbion/core/dist/templates/parseTemplate.js +56 -0
  243. package/node_modules/@symbion/core/dist/templates/parseTemplate.js.map +1 -0
  244. package/node_modules/@symbion/core/dist/templates/templateListItem.d.ts +39 -0
  245. package/node_modules/@symbion/core/dist/templates/templateListItem.d.ts.map +1 -0
  246. package/node_modules/@symbion/core/dist/templates/templateListItem.js +2 -0
  247. package/node_modules/@symbion/core/dist/templates/templateListItem.js.map +1 -0
  248. package/node_modules/@symbion/core/dist/util/sha256.d.ts +9 -0
  249. package/node_modules/@symbion/core/dist/util/sha256.d.ts.map +1 -0
  250. package/node_modules/@symbion/core/dist/util/sha256.js +91 -0
  251. package/node_modules/@symbion/core/dist/util/sha256.js.map +1 -0
  252. package/node_modules/@symbion/core/dist/version/semver.d.ts +18 -0
  253. package/node_modules/@symbion/core/dist/version/semver.d.ts.map +1 -0
  254. package/node_modules/@symbion/core/dist/version/semver.js +53 -0
  255. package/node_modules/@symbion/core/dist/version/semver.js.map +1 -0
  256. package/node_modules/@symbion/core/package.json +14 -0
  257. package/node_modules/@symbion/rpc-types/dist/index.d.ts +444 -0
  258. package/node_modules/@symbion/rpc-types/dist/index.d.ts.map +1 -0
  259. package/node_modules/@symbion/rpc-types/dist/index.js +2 -0
  260. package/node_modules/@symbion/rpc-types/dist/index.js.map +1 -0
  261. package/node_modules/@symbion/rpc-types/package.json +11 -0
  262. package/node_modules/yaml/dist/cli.d.ts +8 -0
  263. package/node_modules/yaml/dist/cli.mjs +201 -0
  264. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  265. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  266. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  267. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  268. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  269. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  270. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  271. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  272. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  273. package/node_modules/yaml/dist/compose/composer.js +224 -0
  274. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  275. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  276. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  277. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  278. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  279. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  280. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  281. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  282. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  283. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  284. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  285. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
  286. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  287. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  288. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  289. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  290. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  291. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  292. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  293. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  294. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  295. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  296. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  297. package/node_modules/yaml/dist/doc/Document.js +337 -0
  298. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  299. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  300. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  301. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  302. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  303. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  304. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  305. package/node_modules/yaml/dist/doc/directives.js +178 -0
  306. package/node_modules/yaml/dist/errors.d.ts +21 -0
  307. package/node_modules/yaml/dist/errors.js +62 -0
  308. package/node_modules/yaml/dist/index.d.ts +25 -0
  309. package/node_modules/yaml/dist/index.js +50 -0
  310. package/node_modules/yaml/dist/log.d.ts +3 -0
  311. package/node_modules/yaml/dist/log.js +19 -0
  312. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  313. package/node_modules/yaml/dist/nodes/Alias.js +118 -0
  314. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  315. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  316. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  317. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  318. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  319. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  320. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  321. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  322. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  323. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  324. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  325. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  326. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  327. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  328. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  329. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  330. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  331. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  332. package/node_modules/yaml/dist/options.d.ts +350 -0
  333. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  334. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  335. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  336. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  337. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  338. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  339. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  340. package/node_modules/yaml/dist/parse/cst.js +112 -0
  341. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  342. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  343. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  344. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  345. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  346. package/node_modules/yaml/dist/parse/parser.js +980 -0
  347. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  348. package/node_modules/yaml/dist/public-api.js +107 -0
  349. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  350. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  351. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  352. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  353. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  354. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  355. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  356. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  357. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  358. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  359. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  360. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  361. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  362. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  363. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  364. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  365. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  366. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  367. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  368. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  369. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  370. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  371. package/node_modules/yaml/dist/schema/tags.js +99 -0
  372. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  373. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  374. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  375. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  376. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  377. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  378. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  379. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  380. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  381. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  382. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  383. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  384. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  385. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  386. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  387. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  388. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  389. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  390. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  391. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  392. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  393. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  394. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  395. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  396. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  397. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  398. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  399. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  400. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  401. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  402. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  403. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  404. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  405. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  406. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  407. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  408. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  409. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  410. package/node_modules/yaml/dist/test-events.js +134 -0
  411. package/node_modules/yaml/dist/util.d.ts +16 -0
  412. package/node_modules/yaml/dist/util.js +28 -0
  413. package/node_modules/yaml/dist/visit.d.ts +102 -0
  414. package/node_modules/yaml/dist/visit.js +236 -0
  415. package/node_modules/yaml/package.json +20 -0
  416. package/node_modules/yaml/util.js +2 -0
  417. package/package.json +39 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[990],{8146:function(e,t,r){"use strict";r.d(t,{default:function(){return o.a}});var n=r(6340),o=r.n(n)},1695:function(e,t,r){"use strict";var n=r(1219);r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}})},4859:function(e,t,r){"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(9566)},3919:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(4812);let n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5335:function(e,t,r){"use strict";function n(e,t,r,n){return!1}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDomainLocale",{enumerable:!0,get:function(){return n}}),r(4812),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6340:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return _}});let n=r(1887),o=r(7573),i=n._(r(7653)),a=r(8998),s=r(5277),l=r(121),u=r(672),c=r(3919),d=r(4125),f=r(4982),p=r(6951),h=r(5335),g=r(5240),m=r(2312),b=new Set;function y(e,t,r,n,o,i){if("undefined"!=typeof window&&(i||(0,s.isLocalURL)(t))){if(!n.bypassPrefetchedCheck){let o=t+"%"+r+"%"+(void 0!==n.locale?n.locale:"locale"in e?e.locale:void 0);if(b.has(o))return;b.add(o)}(async()=>i?e.prefetch(t,o):e.prefetch(t,r,n))().catch(e=>{})}}function v(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}let _=i.default.forwardRef(function(e,t){let r,n;let{href:l,as:b,children:_,prefetch:x=null,passHref:E,replace:w,shallow:R,scroll:S,locale:P,onClick:T,onMouseEnter:O,onTouchStart:A,legacyBehavior:N=!1,...I}=e;r=_,N&&("string"==typeof r||"number"==typeof r)&&(r=(0,o.jsx)("a",{children:r}));let j=i.default.useContext(d.RouterContext),C=i.default.useContext(f.AppRouterContext),k=null!=j?j:C,M=!j,L=!1!==x,D=null===x?m.PrefetchKind.AUTO:m.PrefetchKind.FULL,{href:z,as:U}=i.default.useMemo(()=>{if(!j){let e=v(l);return{href:e,as:b?v(b):e}}let[e,t]=(0,a.resolveHref)(j,l,!0);return{href:e,as:b?(0,a.resolveHref)(j,b):t||e}},[j,l,b]),F=i.default.useRef(z),G=i.default.useRef(U);N&&(n=i.default.Children.only(r));let W=N?n&&"object"==typeof n&&n.ref:t,[X,H,V]=(0,p.useIntersection)({rootMargin:"200px"}),Y=i.default.useCallback(e=>{(G.current!==U||F.current!==z)&&(V(),G.current=U,F.current=z),X(e),W&&("function"==typeof W?W(e):"object"==typeof W&&(W.current=e))},[U,W,z,V,X]);i.default.useEffect(()=>{k&&H&&L&&y(k,z,U,{locale:P},{kind:D},M)},[U,z,H,P,L,null==j?void 0:j.locale,k,M,D]);let B={ref:Y,onClick(e){N||"function"!=typeof T||T(e),N&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),k&&!e.defaultPrevented&&function(e,t,r,n,o,a,l,u,c){let{nodeName:d}=e.currentTarget;if("A"===d.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!c&&!(0,s.isLocalURL)(r)))return;e.preventDefault();let f=()=>{let e=null==l||l;"beforePopState"in t?t[o?"replace":"push"](r,n,{shallow:a,locale:u,scroll:e}):t[o?"replace":"push"](n||r,{scroll:e})};c?i.default.startTransition(f):f()}(e,k,z,U,w,R,S,P,M)},onMouseEnter(e){N||"function"!=typeof O||O(e),N&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),k&&(L||!M)&&y(k,z,U,{locale:P,priority:!0,bypassPrefetchedCheck:!0},{kind:D},M)},onTouchStart:function(e){N||"function"!=typeof A||A(e),N&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),k&&(L||!M)&&y(k,z,U,{locale:P,priority:!0,bypassPrefetchedCheck:!0},{kind:D},M)}};if((0,u.isAbsoluteUrl)(U))B.href=U;else if(!N||E||"a"===n.type&&!("href"in n.props)){let e=void 0!==P?P:null==j?void 0:j.locale,t=(null==j?void 0:j.isLocaleDomain)&&(0,h.getDomainLocale)(U,e,null==j?void 0:j.locales,null==j?void 0:j.domainLocales);B.href=t||(0,g.addBasePath)((0,c.addLocale)(U,e,null==j?void 0:j.defaultLocale))}return N?i.default.cloneElement(n,B):(0,o.jsx)("a",{...I,...B,children:r})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6588:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return n},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8998:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return d}});let n=r(2297),o=r(121),i=r(4199),a=r(672),s=r(4812),l=r(5277),u=r(4948),c=r(4903);function d(e,t,r){let d;let f="string"==typeof t?t:(0,o.formatWithValidation)(t),p=f.match(/^[a-zA-Z]{1,}:\/\//),h=p?f.slice(p[0].length):f;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+f+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,a.normalizeRepeatedSlashes)(h);f=(p?p[0]:"")+t}if(!(0,l.isLocalURL)(f))return r?[f]:f;try{d=new URL(f.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){d=new URL("/","http://n")}try{let e=new URL(f,d);e.pathname=(0,s.normalizePathTrailingSlash)(e.pathname);let t="";if((0,u.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,n.searchParamsToUrlQuery)(e.searchParams),{result:a,params:s}=(0,c.interpolateAs)(e.pathname,e.pathname,r);a&&(t=(0,o.formatWithValidation)({pathname:a,hash:e.hash,query:(0,i.omit)(r,s)}))}let a=e.origin===d.origin?e.href.slice(e.origin.length):e.href;return r?[a,t||a]:a}catch(e){return r?[f]:f}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6951:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return l}});let n=r(7653),o=r(6588),i="function"==typeof IntersectionObserver,a=new Map,s=[];function l(e){let{rootRef:t,rootMargin:r,disabled:l}=e,u=l||!i,[c,d]=(0,n.useState)(!1),f=(0,n.useRef)(null),p=(0,n.useCallback)(e=>{f.current=e},[]);return(0,n.useEffect)(()=>{if(i){if(u||c)return;let e=f.current;if(e&&e.tagName)return function(e,t,r){let{id:n,observer:o,elements:i}=function(e){let t;let r={root:e.root||null,margin:e.rootMargin||""},n=s.find(e=>e.root===r.root&&e.margin===r.margin);if(n&&(t=a.get(n)))return t;let o=new Map;return t={id:r,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),r=e.isIntersecting||e.intersectionRatio>0;t&&r&&t(r)})},e),elements:o},s.push(r),a.set(r,t),t}(r);return i.set(e,t),o.observe(e),function(){if(i.delete(e),o.unobserve(e),0===i.size){o.disconnect(),a.delete(n);let e=s.findIndex(e=>e.root===n.root&&e.margin===n.margin);e>-1&&s.splice(e,1)}}}(e,e=>e&&d(e),{root:null==t?void 0:t.current,rootMargin:r})}else if(!c){let e=(0,o.requestIdleCallback)(()=>d(!0));return()=>(0,o.cancelIdleCallback)(e)}},[u,r,t,c,f.current]),[p,c,(0,n.useCallback)(()=>{d(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9566:function(e){!function(){var t={229:function(e){var t,r,n,o=e.exports={};function i(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:i}catch(e){t=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var l=[],u=!1,c=-1;function d(){u&&n&&(u=!1,n.length?l=n.concat(l):c=-1,l.length&&f())}function f(){if(!u){var e=s(d);u=!0;for(var t=l.length;t;){for(n=l,l=[];++c<t;)n&&n[c].run();c=-1,t=l.length}n=null,u=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function h(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];l.push(new p(e,t)),1!==l.length||u||s(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=h,o.addListener=h,o.once=h,o.off=h,o.removeListener=h,o.removeAllListeners=h,o.emit=h,o.prependListener=h,o.prependOnceListener=h,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}}},r={};function n(e){var o=r[e];if(void 0!==o)return o.exports;var i=r[e]={exports:{}},a=!0;try{t[e](i,i.exports,n),a=!1}finally{a&&delete r[e]}return i.exports}n.ab="//";var o=n(229);e.exports=o}()},9687:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_SUFFIX:function(){return l},APP_DIR_ALIAS:function(){return T},CACHE_ONE_YEAR:function(){return _},DOT_NEXT_ALIAS:function(){return S},ESLINT_DEFAULT_DIRS:function(){return V},GSP_NO_RETURNED_VALUE:function(){return U},GSSP_COMPONENT_MEMBER_ERROR:function(){return W},GSSP_NO_RETURNED_VALUE:function(){return F},INSTRUMENTATION_HOOK_FILENAME:function(){return w},MIDDLEWARE_FILENAME:function(){return x},MIDDLEWARE_LOCATION_REGEXP:function(){return E},NEXT_BODY_SUFFIX:function(){return d},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return v},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return h},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return g},NEXT_CACHE_SOFT_TAGS_HEADER:function(){return p},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return y},NEXT_CACHE_TAGS_HEADER:function(){return f},NEXT_CACHE_TAG_MAX_ITEMS:function(){return m},NEXT_CACHE_TAG_MAX_LENGTH:function(){return b},NEXT_DATA_SUFFIX:function(){return u},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return n},NEXT_META_SUFFIX:function(){return c},NEXT_QUERY_PARAM_PREFIX:function(){return r},NON_STANDARD_NODE_ENV:function(){return X},PAGES_DIR_ALIAS:function(){return R},PRERENDER_REVALIDATE_HEADER:function(){return o},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return i},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return C},ROOT_DIR_ALIAS:function(){return P},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return j},RSC_ACTION_ENCRYPTION_ALIAS:function(){return I},RSC_ACTION_PROXY_ALIAS:function(){return N},RSC_ACTION_VALIDATE_ALIAS:function(){return A},RSC_MOD_REF_PROXY_ALIAS:function(){return O},RSC_PREFETCH_SUFFIX:function(){return a},RSC_SUFFIX:function(){return s},SERVER_PROPS_EXPORT_ERROR:function(){return z},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return M},SERVER_PROPS_SSG_CONFLICT:function(){return L},SERVER_RUNTIME:function(){return Y},SSG_FALLBACK_EXPORT_ERROR:function(){return H},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return k},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return D},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return G},WEBPACK_LAYERS:function(){return K},WEBPACK_RESOURCE_QUERIES:function(){return $}});let r="nxtP",n="nxtI",o="x-prerender-revalidate",i="x-prerender-revalidate-if-generated",a=".prefetch.rsc",s=".rsc",l=".action",u=".json",c=".meta",d=".body",f="x-next-cache-tags",p="x-next-cache-soft-tags",h="x-next-revalidated-tags",g="x-next-revalidate-tag-token",m=128,b=256,y=1024,v="_N_T_",_=31536e3,x="middleware",E=`(?:src/)?${x}`,w="instrumentation",R="private-next-pages",S="private-dot-next",P="private-next-root-dir",T="private-next-app-dir",O="private-next-rsc-mod-ref-proxy",A="private-next-rsc-action-validate",N="private-next-rsc-server-reference",I="private-next-rsc-action-encryption",j="private-next-rsc-action-client-wrapper",C="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",k="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",M="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",L="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",D="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",z="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",U="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",F="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",G="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",W="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",X='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',H="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",V=["app","pages","components","lib","src"],Y={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},B={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",api:"api",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",appMetadataRoute:"app-metadata-route",appRouteHandler:"app-route-handler"},K={...B,GROUP:{serverOnly:[B.reactServerComponents,B.actionBrowser,B.appMetadataRoute,B.appRouteHandler,B.instrument],clientOnly:[B.serverSideRendering,B.appPagesBrowser],nonClientServerTarget:[B.middleware,B.api],app:[B.reactServerComponents,B.actionBrowser,B.appMetadataRoute,B.appRouteHandler,B.serverSideRendering,B.appPagesBrowser,B.shared,B.instrument]}},$={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},8164:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function o(e){return r.test(e)?e.replace(n,"\\$&"):e}},4125:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(1887)._(r(7653)).default.createContext(null)},121:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return i},formatWithValidation:function(){return s},urlObjectKeys:function(){return a}});let n=r(9766)._(r(2297)),o=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,i=e.protocol||"",a=e.pathname||"",s=e.hash||"",l=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)),l&&"object"==typeof l&&(l=String(n.urlQueryToSearchParams(l)));let c=e.search||l&&"?"+l||"";return i&&!i.endsWith(":")&&(i+=":"),e.slashes||(!i||o.test(i))&&!1!==u?(u="//"+(u||""),a&&"/"!==a[0]&&(a="/"+a)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),""+i+u+(a=a.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+s}let a=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return i(e)}},4948:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let n=r(3602),o=r(3457)},4903:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return i}});let n=r(59),o=r(2986);function i(e,t,r){let i="",a=(0,o.getRouteRegex)(e),s=a.groups,l=(t!==e?(0,n.getRouteMatcher)(a)(t):"")||r;i=e;let u=Object.keys(s);return u.every(e=>{let t=l[e]||"",{repeat:r,optional:n}=s[e],o="["+(r?"...":"")+e+"]";return n&&(o=(t?"":"/")+"["+o+"]"),r&&!Array.isArray(t)&&(t=[t]),(n||e in l)&&(i=i.replace(o,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(i=""),{params:u,result:i}}},3457:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return i}});let n=r(9433),o=/\/\[[^/]+?\](?=\/|$)/;function i(e){return(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},5277:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=r(672),o=r(485);function i(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}}},4199:function(e,t){"use strict";function r(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},2297:function(e,t){"use strict";function r(e){let t={};return e.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function n(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[r,o]=e;Array.isArray(o)?o.forEach(e=>t.append(r,n(e))):t.set(r,n(o))}),t}function i(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return r.forEach(t=>{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,r)=>e.append(r,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return i},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return o}})},59:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let n=r(672);function o(e){let{re:t,groups:r}=e;return e=>{let o=t.exec(e);if(!o)return!1;let i=e=>{try{return decodeURIComponent(e)}catch(e){throw new n.DecodeError("failed to decode param")}},a={};return Object.keys(r).forEach(e=>{let t=r[e],n=o[t.pos];void 0!==n&&(a[e]=~n.indexOf("/")?n.split("/").map(e=>i(e)):t.repeat?[i(n)]:i(n))}),a}}},2986:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return f},getRouteRegex:function(){return u},parseParameter:function(){return s}});let n=r(9687),o=r(9433),i=r(8164),a=r(9244);function s(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function l(e){let t=(0,a.removeTrailingSlash)(e).slice(1).split("/"),r={},n=1;return{parameterizedRoute:t.map(e=>{let t=o.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),a=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&a){let{key:e,optional:o,repeat:l}=s(a[1]);return r[e]={pos:n++,repeat:l,optional:o},"/"+(0,i.escapeStringRegexp)(t)+"([^/]+?)"}if(!a)return"/"+(0,i.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:o}=s(a[1]);return r[e]={pos:n++,repeat:t,optional:o},t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:r}}function u(e){let{parameterizedRoute:t,groups:r}=l(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:r}}function c(e){let{interceptionMarker:t,getSafeRouteKey:r,segment:n,routeKeys:o,keyPrefix:a}=e,{key:l,optional:u,repeat:c}=s(n),d=l.replace(/\W/g,"");a&&(d=""+a+d);let f=!1;(0===d.length||d.length>30)&&(f=!0),isNaN(parseInt(d.slice(0,1)))||(f=!0),f&&(d=r()),a?o[d]=""+a+l:o[d]=l;let p=t?(0,i.escapeStringRegexp)(t):"";return c?u?"(?:/"+p+"(?<"+d+">.+?))?":"/"+p+"(?<"+d+">.+?)":"/"+p+"(?<"+d+">[^/]+?)"}function d(e,t){let r;let s=(0,a.removeTrailingSlash)(e).slice(1).split("/"),l=(r=0,()=>{let e="",t=++r;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),u={};return{namedParameterizedRoute:s.map(e=>{let r=o.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),a=e.match(/\[((?:\[.*\])|.+)\]/);if(r&&a){let[r]=e.split(a[0]);return c({getSafeRouteKey:l,interceptionMarker:r,segment:a[1],routeKeys:u,keyPrefix:t?n.NEXT_INTERCEPTION_MARKER_PREFIX:void 0})}return a?c({getSafeRouteKey:l,segment:a[1],routeKeys:u,keyPrefix:t?n.NEXT_QUERY_PARAM_PREFIX:void 0}):"/"+(0,i.escapeStringRegexp)(e)}).join(""),routeKeys:u}}function f(e,t){let r=d(e,t);return{...u(e),namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys}}function p(e,t){let{parameterizedRoute:r}=l(e),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:o}=d(e,!1);return{namedRegex:"^"+o+(n?"(?:(/.*)?)":"")+"$"}}},3602:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return n}});class r{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let r=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&r.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');r.unshift(t)}return null!==this.restSlugName&&r.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&r.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),r}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let r=o.slice(1,-1),a=!1;if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1),a=!0),r.startsWith("...")&&(r=r.substring(3),n=!0),r.startsWith("[")||r.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+r+"').");if(r.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+r+"').");function i(e,r){if(null!==e&&e!==r)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+r+"').");t.forEach(e=>{if(e===r)throw Error('You cannot have the same slug name "'+r+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+r+'" differ only by non-word symbols within a single dynamic path')}),t.push(r)}if(n){if(a){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');i(this.optionalRestSlugName,r),this.optionalRestSlugName=r,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');i(this.restSlugName,r),this.restSlugName=r,o="[...]"}}else{if(a)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');i(this.slugName,r),this.slugName=r,o="[]"}}this.children.has(o)||this.children.set(o,new r),this.children.get(o)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function n(e){let t=new r;return e.forEach(e=>t.insert(e)),t.smoosh()}},672:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return b},NormalizeError:function(){return g},PageNotFoundError:function(){return m},SP:function(){return f},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return l},getLocationOrigin:function(){return a},getURL:function(){return s},isAbsoluteUrl:function(){return i},isResSent:function(){return u},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return v}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),i=0;i<n;i++)o[i]=arguments[i];return r||(r=!0,t=e(...o)),t}}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,i=e=>o.test(e);function a(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function s(){let{href:e}=window.location,t=a();return e.substring(t.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function u(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function d(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&u(r))return n;if(!n)throw Error('"'+l(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let f="undefined"!=typeof performance,p=f&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class g extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class b extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}},7962:function(e,t,r){"use strict";var n=r(7653),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=n.useState,a=n.useEffect,s=n.useLayoutEffect,l=n.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!o(e,r)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=i({inst:{value:r,getSnapshot:t}}),o=n[0].inst,c=n[1];return s(function(){o.value=r,o.getSnapshot=t,u(o)&&c({inst:o})},[e,r,t]),a(function(){return u(o)&&c({inst:o}),e(function(){u(o)&&c({inst:o})})},[e]),l(r),r};t.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:c},8475:function(e,t,r){"use strict";var n=r(7653),o=r(6250),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=o.useSyncExternalStore,s=n.useRef,l=n.useEffect,u=n.useMemo,c=n.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,r,n,o){var d=s(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var p=a(e,(d=u(function(){function e(e){if(!l){if(l=!0,a=e,e=n(e),void 0!==o&&f.hasValue){var t=f.value;if(o(t,e))return s=t}return s=e}if(t=s,i(a,e))return t;var r=n(e);return void 0!==o&&o(t,r)?(a=e,t):(a=e,s=r)}var a,s,l=!1,u=void 0===r?null:r;return[function(){return e(t())},null===u?void 0:function(){return e(u())}]},[t,r,n,o]))[0],d[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),c(p),p}},6250:function(e,t,r){"use strict";e.exports=r(7962)},8678:function(e,t,r){"use strict";e.exports=r(8475)},607:function(e,t,r){"use strict";function n(){for(var e,t,r=0,n="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=function e(t){var r,n,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t){if(Array.isArray(t)){var i=t.length;for(r=0;r<i;r++)t[r]&&(n=e(t[r]))&&(o&&(o+=" "),o+=n)}else for(n in t)t[n]&&(o&&(o+=" "),o+=n)}return o}(e))&&(n&&(n+=" "),n+=t);return n}r.d(t,{W:function(){return n}})},5579:function(e,t,r){"use strict";r.d(t,{m6:function(){return $}});let n=e=>{let t=s(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{let r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),o(r,t)||a(e)},getConflictingClassGroupIds:(e,t)=>{let o=r[e]||[];return t&&n[e]?[...o,...n[e]]:o}}},o=(e,t)=>{if(0===e.length)return t.classGroupId;let r=e[0],n=t.nextPart.get(r),i=n?o(e.slice(1),n):void 0;if(i)return i;if(0===t.validators.length)return;let a=e.join("-");return t.validators.find(({validator:e})=>e(a))?.classGroupId},i=/^\[(.+)\]$/,a=e=>{if(i.test(e)){let t=i.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},s=e=>{let{theme:t,prefix:r}=e,n={nextPart:new Map,validators:[]};return d(Object.entries(e.classGroups),r).forEach(([e,r])=>{l(r,n,e,t)}),n},l=(e,t,r,n)=>{e.forEach(e=>{if("string"==typeof e){(""===e?t:u(t,e)).classGroupId=r;return}if("function"==typeof e){if(c(e)){l(e(n),t,r,n);return}t.validators.push({validator:e,classGroupId:r});return}Object.entries(e).forEach(([e,o])=>{l(o,u(t,e),r,n)})})},u=(e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},c=e=>e.isThemeGetter,d=(e,t)=>t?e.map(([e,r])=>[e,r.map(e=>"string"==typeof e?t+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,r])=>[t+e,r])):e)]):e,f=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=new Map,n=new Map,o=(o,i)=>{r.set(o,i),++t>e&&(t=0,n=r,r=new Map)};return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=n.get(e))?(o(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):o(e,t)}}},p=e=>{let{separator:t,experimentalParseClassName:r}=e,n=1===t.length,o=t[0],i=t.length,a=e=>{let r;let a=[],s=0,l=0;for(let u=0;u<e.length;u++){let c=e[u];if(0===s){if(c===o&&(n||e.slice(u,u+i)===t)){a.push(e.slice(l,u)),l=u+i;continue}if("/"===c){r=u;continue}}"["===c?s++:"]"===c&&s--}let u=0===a.length?e:e.substring(l),c=u.startsWith("!"),d=c?u.substring(1):u;return{modifiers:a,hasImportantModifier:c,baseClassName:d,maybePostfixModifierPosition:r&&r>l?r-l:void 0}};return r?e=>r({className:e,parseClassName:a}):a},h=e=>{if(e.length<=1)return e;let t=[],r=[];return e.forEach(e=>{"["===e[0]?(t.push(...r.sort(),e),r=[]):r.push(e)}),t.push(...r.sort()),t},g=e=>({cache:f(e.cacheSize),parseClassName:p(e),...n(e)}),m=/\s+/,b=(e,t)=>{let{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:o}=t,i=[],a=e.trim().split(m),s="";for(let e=a.length-1;e>=0;e-=1){let t=a[e],{modifiers:l,hasImportantModifier:u,baseClassName:c,maybePostfixModifierPosition:d}=r(t),f=!!d,p=n(f?c.substring(0,d):c);if(!p){if(!f||!(p=n(c))){s=t+(s.length>0?" "+s:s);continue}f=!1}let g=h(l).join(":"),m=u?g+"!":g,b=m+p;if(i.includes(b))continue;i.push(b);let y=o(p,f);for(let e=0;e<y.length;++e){let t=y[e];i.push(m+t)}s=t+(s.length>0?" "+s:s)}return s};function y(){let e,t,r=0,n="";for(;r<arguments.length;)(e=arguments[r++])&&(t=v(e))&&(n&&(n+=" "),n+=t);return n}let v=e=>{let t;if("string"==typeof e)return e;let r="";for(let n=0;n<e.length;n++)e[n]&&(t=v(e[n]))&&(r&&(r+=" "),r+=t);return r},_=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},x=/^\[(?:([a-z-]+):)?(.+)\]$/i,E=/^\d+\/\d+$/,w=new Set(["px","full","screen"]),R=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,S=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,P=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,T=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,O=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,A=e=>I(e)||w.has(e)||E.test(e),N=e=>H(e,"length",V),I=e=>!!e&&!Number.isNaN(Number(e)),j=e=>H(e,"number",I),C=e=>!!e&&Number.isInteger(Number(e)),k=e=>e.endsWith("%")&&I(e.slice(0,-1)),M=e=>x.test(e),L=e=>R.test(e),D=new Set(["length","size","percentage"]),z=e=>H(e,D,Y),U=e=>H(e,"position",Y),F=new Set(["image","url"]),G=e=>H(e,F,K),W=e=>H(e,"",B),X=()=>!0,H=(e,t,r)=>{let n=x.exec(e);return!!n&&(n[1]?"string"==typeof t?n[1]===t:t.has(n[1]):r(n[2]))},V=e=>S.test(e)&&!P.test(e),Y=()=>!1,B=e=>T.test(e),K=e=>O.test(e),$=function(e,...t){let r,n,o;let i=function(s){return n=(r=g(t.reduce((e,t)=>t(e),e()))).cache.get,o=r.cache.set,i=a,a(s)};function a(e){let t=n(e);if(t)return t;let i=b(e,r);return o(e,i),i}return function(){return i(y.apply(null,arguments))}}(()=>{let e=_("colors"),t=_("spacing"),r=_("blur"),n=_("brightness"),o=_("borderColor"),i=_("borderRadius"),a=_("borderSpacing"),s=_("borderWidth"),l=_("contrast"),u=_("grayscale"),c=_("hueRotate"),d=_("invert"),f=_("gap"),p=_("gradientColorStops"),h=_("gradientColorStopPositions"),g=_("inset"),m=_("margin"),b=_("opacity"),y=_("padding"),v=_("saturate"),x=_("scale"),E=_("sepia"),w=_("skew"),R=_("space"),S=_("translate"),P=()=>["auto","contain","none"],T=()=>["auto","hidden","clip","visible","scroll"],O=()=>["auto",M,t],D=()=>[M,t],F=()=>["",A,N],H=()=>["auto",I,M],V=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],Y=()=>["solid","dashed","dotted","double","none"],B=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],K=()=>["start","end","center","between","around","evenly","stretch"],$=()=>["","0",M],q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Q=()=>[I,M];return{cacheSize:500,separator:":",theme:{colors:[X],spacing:[A,N],blur:["none","",L,M],brightness:Q(),borderColor:[e],borderRadius:["none","","full",L,M],borderSpacing:D(),borderWidth:F(),contrast:Q(),grayscale:$(),hueRotate:Q(),invert:$(),gap:D(),gradientColorStops:[e],gradientColorStopPositions:[k,N],inset:O(),margin:O(),opacity:Q(),padding:D(),saturate:Q(),scale:Q(),sepia:$(),skew:Q(),space:D(),translate:D()},classGroups:{aspect:[{aspect:["auto","square","video",M]}],container:["container"],columns:[{columns:[L]}],"break-after":[{"break-after":q()}],"break-before":[{"break-before":q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...V(),M]}],overflow:[{overflow:T()}],"overflow-x":[{"overflow-x":T()}],"overflow-y":[{"overflow-y":T()}],overscroll:[{overscroll:P()}],"overscroll-x":[{"overscroll-x":P()}],"overscroll-y":[{"overscroll-y":P()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[g]}],"inset-x":[{"inset-x":[g]}],"inset-y":[{"inset-y":[g]}],start:[{start:[g]}],end:[{end:[g]}],top:[{top:[g]}],right:[{right:[g]}],bottom:[{bottom:[g]}],left:[{left:[g]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",C,M]}],basis:[{basis:O()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",M]}],grow:[{grow:$()}],shrink:[{shrink:$()}],order:[{order:["first","last","none",C,M]}],"grid-cols":[{"grid-cols":[X]}],"col-start-end":[{col:["auto",{span:["full",C,M]},M]}],"col-start":[{"col-start":H()}],"col-end":[{"col-end":H()}],"grid-rows":[{"grid-rows":[X]}],"row-start-end":[{row:["auto",{span:[C,M]},M]}],"row-start":[{"row-start":H()}],"row-end":[{"row-end":H()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",M]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",M]}],gap:[{gap:[f]}],"gap-x":[{"gap-x":[f]}],"gap-y":[{"gap-y":[f]}],"justify-content":[{justify:["normal",...K()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...K(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...K(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[y]}],px:[{px:[y]}],py:[{py:[y]}],ps:[{ps:[y]}],pe:[{pe:[y]}],pt:[{pt:[y]}],pr:[{pr:[y]}],pb:[{pb:[y]}],pl:[{pl:[y]}],m:[{m:[m]}],mx:[{mx:[m]}],my:[{my:[m]}],ms:[{ms:[m]}],me:[{me:[m]}],mt:[{mt:[m]}],mr:[{mr:[m]}],mb:[{mb:[m]}],ml:[{ml:[m]}],"space-x":[{"space-x":[R]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[R]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",M,t]}],"min-w":[{"min-w":[M,t,"min","max","fit"]}],"max-w":[{"max-w":[M,t,"none","full","min","max","fit","prose",{screen:[L]},L]}],h:[{h:[M,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[M,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[M,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[M,t,"auto","min","max","fit"]}],"font-size":[{text:["base",L,N]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",j]}],"font-family":[{font:[X]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",M]}],"line-clamp":[{"line-clamp":["none",I,j]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",A,M]}],"list-image":[{"list-image":["none",M]}],"list-style-type":[{list:["none","disc","decimal",M]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[b]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[b]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Y(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",A,N]}],"underline-offset":[{"underline-offset":["auto",A,M]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:D()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",M]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",M]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[b]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...V(),U]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",z]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},G]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[h]}],"gradient-via-pos":[{via:[h]}],"gradient-to-pos":[{to:[h]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[b]}],"border-style":[{border:[...Y(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[b]}],"divide-style":[{divide:Y()}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["",...Y()]}],"outline-offset":[{"outline-offset":[A,M]}],"outline-w":[{outline:[A,N]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:F()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[b]}],"ring-offset-w":[{"ring-offset":[A,N]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",L,W]}],"shadow-color":[{shadow:[X]}],opacity:[{opacity:[b]}],"mix-blend":[{"mix-blend":[...B(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":B()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[n]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",L,M]}],grayscale:[{grayscale:[u]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[d]}],saturate:[{saturate:[v]}],sepia:[{sepia:[E]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[n]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[b]}],"backdrop-saturate":[{"backdrop-saturate":[v]}],"backdrop-sepia":[{"backdrop-sepia":[E]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",M]}],duration:[{duration:Q()}],ease:[{ease:["linear","in","out","in-out",M]}],delay:[{delay:Q()}],animate:[{animate:["none","spin","ping","pulse","bounce",M]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[x]}],"scale-x":[{"scale-x":[x]}],"scale-y":[{"scale-y":[x]}],rotate:[{rotate:[C,M]}],"translate-x":[{"translate-x":[S]}],"translate-y":[{"translate-y":[S]}],"skew-x":[{"skew-x":[w]}],"skew-y":[{"skew-y":[w]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",M]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",M]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":D()}],"scroll-mx":[{"scroll-mx":D()}],"scroll-my":[{"scroll-my":D()}],"scroll-ms":[{"scroll-ms":D()}],"scroll-me":[{"scroll-me":D()}],"scroll-mt":[{"scroll-mt":D()}],"scroll-mr":[{"scroll-mr":D()}],"scroll-mb":[{"scroll-mb":D()}],"scroll-ml":[{"scroll-ml":D()}],"scroll-p":[{"scroll-p":D()}],"scroll-px":[{"scroll-px":D()}],"scroll-py":[{"scroll-py":D()}],"scroll-ps":[{"scroll-ps":D()}],"scroll-pe":[{"scroll-pe":D()}],"scroll-pt":[{"scroll-pt":D()}],"scroll-pr":[{"scroll-pr":D()}],"scroll-pb":[{"scroll-pb":D()}],"scroll-pl":[{"scroll-pl":D()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",M]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[A,N,j]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}})},2052:function(e,t,r){"use strict";r.d(t,{Ue:function(){return d}});var n=r(9730),o=r(7653),i=r(8678);let{useDebugValue:a}=o,{useSyncExternalStoreWithSelector:s}=i,l=!1,u=e=>e,c=e=>{"function"!=typeof e&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let t="function"==typeof e?(0,n.M)(e):e,r=(e,r)=>(function(e,t=u,r){r&&!l&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),l=!0);let n=s(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return a(n),n})(t,e,r);return Object.assign(r,t),r},d=e=>e?c(e):c},9730:function(e,t,r){"use strict";r.d(t,{M:function(){return o}});let n=e=>{let t;let r=new Set,n=(e,n)=>{let o="function"==typeof e?e(t):e;if(!Object.is(o,t)){let e=t;t=(null!=n?n:"object"!=typeof o||null===o)?o:Object.assign({},t,o),r.forEach(r=>r(t,e))}},o=()=>t,i={setState:n,getState:o,getInitialState:()=>a,subscribe:e=>(r.add(e),()=>r.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},a=t=e(n,o,i);return i},o=e=>e?n(e):n}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[409],{2247:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return n(9114)}])},9114:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}}),n(1887);let i=n(7573);n(7653);let o={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},l={display:"inline-block"},r={display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},d={fontSize:14,fontWeight:400,lineHeight:"49px",margin:0};function s(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("title",{children:"404: This page could not be found."}),(0,i.jsx)("div",{style:o,children:(0,i.jsxs)("div",{children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,i.jsx)("h1",{className:"next-error-h1",style:r,children:"404"}),(0,i.jsx)("div",{style:l,children:(0,i.jsx)("h2",{style:d,children:"This page could not be found."})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},function(e){e.O(0,[293,528,744],function(){return e(e.s=2247)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{7239:function(_,a,e){Promise.resolve().then(e.t.bind(e,6570,23)),Promise.resolve().then(e.t.bind(e,5514,23)),Promise.resolve().then(e.t.bind(e,2625,23))},2625:function(){},5514:function(_){_.exports={style:{fontFamily:"'__IBM_Plex_Mono_595324', '__IBM_Plex_Mono_Fallback_595324'",fontStyle:"normal"},className:"__className_595324",variable:"__variable_595324"}},6570:function(_){_.exports={style:{fontFamily:"'__IBM_Plex_Sans_c8daab', '__IBM_Plex_Sans_Fallback_c8daab'",fontStyle:"normal"},className:"__className_c8daab",variable:"__variable_c8daab"}}},function(_){_.O(0,[105,293,528,744],function(){return _(_.s=7239)}),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{5424:function(e,t,n){Promise.resolve().then(n.bind(n,6554))},6554:function(e,t,n){"use strict";n.d(t,{AppShell:function(){return eP}});var s=n(7573),a=n(7653),l=n(6584),i=n(9054),r=n(2703),c=n(466);function d(e){let{onCreateProject:t,onImport:n}=e;return(0,s.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,s.jsxs)("div",{className:"flex flex-col items-center gap-4 rounded-panel border border-border-hairline bg-bg-panel p-8",children:[(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"Chưa c\xf3 dự \xe1n n\xe0o"}),(0,s.jsx)("p",{className:"text-sm text-text-body",children:"Tạo mới hoặc nhập .claude/"}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(c.z,{onClick:t,children:"+ Tạo dự \xe1n"}),(0,s.jsx)(c.z,{variant:"outline",onClick:n,children:"↧ Import .claude/ c\xf3 sẵn"})]})]})})}var o=n(9324),u=n(9134),m=n(9135),h=n(7686),x=n(7022);function p(e){var t,n,l,r;let{open:d,initialPath:u,onPick:p,onClose:g}=e,[f,b]=(0,a.useState)(null),[j,v]=(0,a.useState)(null),[y,N]=(0,a.useState)(!1),[w,k]=(0,a.useState)(null);return((0,a.useEffect)(()=>{d&&(b(null!=u?u:null),v(null),k(null))},[d]),(0,a.useEffect)(()=>{if(!d)return;let e=!1;return N(!0),k(null),(0,i.gG)("listDir",{path:null!=f?f:void 0}).then(t=>{e||(v(t),b(t.path))}).catch(t=>{if(!e){if(t instanceof i.OH&&"invalid-path"===t.code&&null!==f){k("Kh\xf4ng t\xecm thấy đường dẫn trước đ\xf3, về Trang chủ."),b(null);return}k(t instanceof Error?t.message:"Lỗi kh\xf4ng x\xe1c định khi tải danh s\xe1ch thư mục.")}}).finally(()=>{e||N(!1)}),()=>{e=!0}},[d,f]),d)?(0,s.jsxs)(o.Vq,{open:d,onClose:g,className:"w-[480px]",children:[(0,s.jsx)(o.fK,{children:(0,s.jsx)(o.$N,{children:"Chọn thư mục"})}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("p",{className:"truncate font-mono text-xs text-text-faint",title:null!==(n=null!==(t=null==j?void 0:j.path)&&void 0!==t?t:f)&&void 0!==n?n:"",children:null!==(r=null!==(l=null==j?void 0:j.path)&&void 0!==l?l:f)&&void 0!==r?r:"Đang tải…"}),w&&(0,s.jsx)("p",{className:"text-xs text-danger",children:w}),(0,s.jsxs)("div",{className:"max-h-72 space-y-1 overflow-y-auto rounded-panel border border-border-input p-1",children:[y&&(0,s.jsx)("p",{className:"px-2 py-1 text-xs text-text-muted",children:"Đang tải…"}),!y&&(null==j?void 0:j.parentPath)&&(0,s.jsxs)("button",{type:"button",className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm text-text-body hover:bg-white/[.06]",onClick:()=>{b(j.parentPath)},children:[(0,s.jsx)(m.Z,{className:"h-4 w-4"}),"L\xean một cấp"]}),!y&&(null==j?void 0:j.denied)&&(0,s.jsx)("p",{className:"px-2 py-1.5 text-xs text-text-muted",children:"Kh\xf4ng c\xf3 quyền đọc thư mục n\xe0y."}),!y&&!(null==j?void 0:j.denied)&&(null==j?void 0:j.entries.map(e=>(0,s.jsxs)("button",{type:"button",disabled:e.unreadable,className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-sm text-text-body hover:bg-white/[.06] disabled:cursor-not-allowed disabled:opacity-50",onClick:()=>!e.unreadable&&void b(e.path),children:[e.unreadable?(0,s.jsx)(h.Z,{className:"h-4 w-4"}):(0,s.jsx)(x.Z,{className:"h-4 w-4"}),e.name]},e.path))),!y&&!(null==j?void 0:j.denied)&&(null==j?void 0:j.entries.length)===0&&(0,s.jsx)("p",{className:"px-2 py-1.5 text-xs text-text-muted",children:"Kh\xf4ng c\xf3 thư mục con."})]})]}),(0,s.jsxs)(o.cN,{children:[(0,s.jsx)(c.z,{variant:"outline",onClick:g,children:"Hủy"}),(0,s.jsx)(c.z,{disabled:!j||y,onClick:function(){j&&p(j.path)},children:"Chọn thư mục n\xe0y"})]})]}):null}function g(e){let{hasClaudeDir:t,hasAgentsMd:n,importAvailable:a,onConfirm:l,onDecline:i}=e,r=[];return(t&&r.push(".claude/"),n&&r.push("AGENTS.md (Codex)"),a)?(0,s.jsxs)("div",{className:"space-y-2 rounded-panel border border-border-hairline bg-white/[.03] p-3 text-sm",children:[(0,s.jsx)("p",{className:"font-medium text-text-body",children:"⚠ Đ\xe3 ph\xe1t hiện workflow c\xf3 sẵn"}),(0,s.jsxs)("p",{className:"text-xs text-text-muted",children:["T\xecm thấy: ",r.join(", "),n&&t?" (chỉ hiển thị, chưa hỗ trợ nhập)":""]}),(0,s.jsx)("p",{className:"text-xs text-text-muted",children:"Bạn c\xf3 muốn nhập (import) c\xe1c agent/command đ\xe3 c\xf3 v\xe0o dự \xe1n n\xe0y kh\xf4ng? File gốc trong repo sẽ KH\xd4NG bị chỉnh sửa."}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)(c.z,{size:"sm",variant:"outline",onClick:i,children:"Kh\xf4ng, tạo trống"}),(0,s.jsx)(c.z,{size:"sm",onClick:l,children:"C\xf3, nhập v\xe0o"})]})]}):(0,s.jsxs)("div",{className:"space-y-2 rounded-panel border border-border-hairline bg-white/[.03] p-3 text-sm",children:[(0,s.jsx)("p",{className:"font-medium text-text-body",children:"⚠ Đ\xe3 ph\xe1t hiện workflow c\xf3 sẵn"}),(0,s.jsxs)("p",{className:"text-xs text-text-muted",children:["T\xecm thấy: ",r.join(", ")]}),(0,s.jsx)("p",{className:"text-xs text-text-muted",children:"Symbion chưa hỗ trợ nhập (import) từ AGENTS.md ở phi\xean bản n\xe0y. File n\xe0y sẽ kh\xf4ng bị ảnh hưởng."}),(0,s.jsx)("div",{className:"flex justify-end",children:(0,s.jsx)(c.z,{size:"sm",onClick:i,children:"Đ\xe3 hiểu, tạo trống"})})]})}function f(e){return(0,s.jsxs)("div",{className:"flex items-center justify-center gap-2 rounded-panel border border-border-hairline bg-white/[.03] p-6 text-sm text-text-muted",children:[(0,s.jsx)("span",{className:"h-4 w-4 animate-spin rounded-full border-2 border-text-muted border-t-transparent"}),"Đang qu\xe9t .claude/…"]})}function b(e){let{scanned:t,selected:n,onToggle:a}=e;return(0,s.jsxs)("div",{className:"space-y-2 text-sm text-text-body",children:[(0,s.jsxs)("p",{className:"text-success",children:["✓ ",t.agents.length," agents"]}),(0,s.jsxs)("p",{className:"text-success",children:["✓ ",t.commands.length," commands"]}),t.skipped.map(e=>(0,s.jsxs)("p",{className:"text-xs text-warning",children:["⚠ ",e.relPath," kh\xf4ng parse được → bỏ qua (",e.reason,")"]},e.relPath)),(0,s.jsx)("div",{className:"max-h-48 space-y-1 overflow-y-auto",children:[...t.agents,...t.commands].map(e=>(0,s.jsxs)("label",{className:"flex items-center gap-2 text-xs",children:[(0,s.jsx)("input",{type:"checkbox",checked:n.has(e.id),onChange:()=>a(e.id)}),"agent"===e.kind?e.name:"/".concat(e.name)]},e.id))})]})}function j(e){let{open:t,onClose:n}=e,[r,d]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[x,j]=(0,a.useState)(null),[v,y]=(0,a.useState)(!1),[N,w]=(0,a.useState)(null),[k,C]=(0,a.useState)(!1),[S,I]=(0,a.useState)(!1),A=(0,l.n)(e=>e.createProject),z=(0,l.n)(e=>e.importArtifacts),T=(0,l.n)(e=>e.projects),P=(0,l.n)(e=>e.showToast),[E,M]=(0,a.useState)("form"),[F,D]=(0,a.useState)(!1),[G,q]=(0,a.useState)(null),[H,L]=(0,a.useState)(new Set),[O,$]=(0,a.useState)(null),K=T.some(e=>e.path===m.trim());(0,a.useEffect)(()=>{if(!m){j(null);return}let e=setTimeout(async()=>{try{let e=await (0,i.gG)("validatePath",{path:m});j(e)}catch(e){j(null)}},200);return()=>clearTimeout(e)},[m]),(0,a.useEffect)(()=>{if(!x||K||!x.hasClaudeDir&&!x.hasAgentsMd){"detected"===E&&(M("form"),q(null),$(null));return}if("form"!==E&&"detected"!==E)return;if(!x.hasClaudeDir){M("detected");return}let e=!1;return $(null),(0,i.gG)("scanClaudeDir",{path:m.trim()}).then(t=>{if(!e){var n;(n=t.parsed).agents.length+n.commands.length+n.skipped.length>0||x.hasAgentsMd?(q(t.parsed),L(new Set([...t.parsed.agents,...t.parsed.commands].map(e=>e.id))),M("detected")):(q(null),M("form"))}}).catch(t=>{e||($(t instanceof Error?t.message:String(t)),M("detected"))}),()=>{e=!0}},[x,K]);let X=r.trim().length>0&&!!(null==x?void 0:x.exists)&&x.isDir&&!v;async function R(){let e=m.trim();if(e){I(!0),w(null);try{await (0,i.gG)("makeDir",{path:e});let t=await (0,i.gG)("validatePath",{path:e});j(t)}catch(e){i.OH,w(e.message)}finally{I(!1)}}}function U(){d(""),h(""),j(null),M("form"),D(!1),q(null),L(new Set),$(null)}async function V(){y(!0),w(null);try{await A(r.trim(),m.trim()),U(),n(),P("Đ\xe3 tạo dự \xe1n.","success")}catch(e){w(e.message)}finally{y(!1)}}function B(){M("form"),D(!0),q(null),$(null)}async function W(){if(!G)return;y(!0),w(null);let e=null;try{let t=await A(r.trim()||m.trim().split("/").filter(Boolean).pop()||"imported",m.trim());e=t.name;let s=[...G.agents,...G.commands];await z({projectId:t.id,selectedIds:Array.from(H),scanned:s}),U(),n()}catch(n){let t=n.message;w(e?'Dự \xe1n "'.concat(e,'" đ\xe3 được tạo nhưng nhập thất bại: ').concat(t,'. Mở dự \xe1n "').concat(e,'" trong danh s\xe1ch b\xean tr\xe1i để nhập lại bằng "Import .claude/ từ repo".'):t)}finally{y(!1)}}let Z="scanning"===E||"review"===E;return(0,s.jsxs)(o.Vq,{open:t,onClose:n,className:"w-[480px]",children:[(0,s.jsx)(o.fK,{children:(0,s.jsx)(o.$N,{children:"review"===E?"Tạo dự \xe1n mới — Xem lại trước khi nhập":"Tạo dự \xe1n mới"})}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-sm font-medium text-text-body",children:"T\xean dự \xe1n"}),(0,s.jsx)(u.I,{value:r,onChange:e=>d(e.target.value),placeholder:"My API Service"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-sm font-medium text-text-body",children:"Đường dẫn repo"}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(u.I,{value:m,onChange:e=>h(e.target.value),placeholder:"…/code/my-service",disabled:Z}),(0,s.jsx)(c.z,{variant:"outline",onClick:()=>C(!0),disabled:Z,children:"Chọn…"})]}),x&&"form"===E&&(0,s.jsx)("div",{className:"mt-1 flex items-center gap-2 text-xs text-text-muted",children:"unc-unsupported"===x.reason?(0,s.jsx)("span",{className:"text-danger",children:"⚠ UNC paths (\\\\server\\share\\...) chưa được hỗ trợ. H\xe3y d\xf9ng đường dẫn ổ đĩa, v\xed dụ C:\\Users\\me\\code\\my-service"}):x.exists?(0,s.jsxs)("span",{children:["✓ Thư mục tồn tại",x.hasClaudeDir?F?" \xb7 .claude/ đ\xe3 c\xf3 (đ\xe3 chọn tạo dự \xe1n trống)":" \xb7 .claude/ đ\xe3 c\xf3 (xem x\xe9t Import)":" \xb7 .claude/ chưa c\xf3"]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{children:"✗ Thư mục kh\xf4ng tồn tại"}),m.trim().length>0&&(0,s.jsx)(c.z,{size:"sm",variant:"outline",disabled:S,onClick:R,children:S?"Đang tạo…":"Tạo thư mục n\xe0y"})]})})]}),"detected"===E&&!O&&(0,s.jsx)(g,{hasClaudeDir:!!(null==x?void 0:x.hasClaudeDir),hasAgentsMd:!!(null==x?void 0:x.hasAgentsMd),importAvailable:!!(null==x?void 0:x.hasClaudeDir)&&!!G,onConfirm:function(){M("review")},onDecline:B}),"detected"===E&&O&&(0,s.jsxs)("div",{className:"space-y-2 rounded-panel border border-danger/40 bg-danger/10 p-3 text-sm",children:[(0,s.jsxs)("p",{className:"text-danger",children:["⚠ Qu\xe9t .claude/ thất bại: ",O]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,s.jsx)(c.z,{size:"sm",variant:"outline",onClick:B,children:"Tạo dự \xe1n trống"}),(0,s.jsx)(c.z,{size:"sm",onClick:function(){$(null),M("form"),m.trim()&&(0,i.gG)("validatePath",{path:m.trim()}).then(j)},children:"Thử lại"})]})]}),"scanning"===E&&(0,s.jsx)(f,{}),"review"===E&&G&&(0,s.jsx)(b,{scanned:G,selected:H,onToggle:function(e){L(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}}),N&&(0,s.jsx)("p",{className:"text-xs text-danger",children:N})]}),(0,s.jsxs)(o.cN,{children:[(0,s.jsx)(c.z,{variant:"outline",onClick:n,children:"Hủy"}),"form"===E&&(0,s.jsx)(c.z,{disabled:!X,onClick:V,children:"Tạo dự \xe1n"}),"review"===E&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.z,{variant:"outline",onClick:()=>M("detected"),children:"Quay lại"}),(0,s.jsxs)(c.z,{disabled:0===H.size||v,onClick:W,children:["Nhập ",H.size," mục đ\xe3 chọn"]})]})]}),(0,s.jsx)(p,{open:k,initialPath:m.trim().length>0&&(null==x?void 0:x.isDir)?m.trim():void 0,onPick:e=>{h(e),C(!1)},onClose:()=>C(!1)})]})}function v(e){let{onClose:t}=e,[n,r]=(0,a.useState)(""),[d,m]=(0,a.useState)(null),[h,x]=(0,a.useState)(new Set),[p,g]=(0,a.useState)(""),[f,j]=(0,a.useState)(!1),[v,y]=(0,a.useState)(null),N=(0,l.n)(e=>e.createProject),w=(0,l.n)(e=>e.importArtifacts),k=(0,l.n)(e=>e.loadProjects);async function C(){let e=await (0,i.gG)("scanClaudeDir",{path:n});m(e.parsed),x(new Set([...e.parsed.agents,...e.parsed.commands].map(e=>e.id)))}async function S(){if(!d)return;j(!0),y(null);let e=null;try{let s=await N(p||n.split("/").filter(Boolean).pop()||"imported",n);e=s.name;let a=[...d.agents,...d.commands];await w({projectId:s.id,selectedIds:Array.from(h),scanned:a}),await k(),t()}catch(n){let t=n.message;y(e?'Dự \xe1n "'.concat(e,'" đ\xe3 được tạo nhưng nhập thất bại: ').concat(t,'. Mở dự \xe1n "').concat(e,'" trong danh s\xe1ch b\xean tr\xe1i để nhập lại.'):t)}finally{j(!1)}}let I=h.size;return(0,s.jsxs)(o.Vq,{open:!0,onClose:t,className:"w-[560px]",children:[(0,s.jsx)(o.fK,{children:(0,s.jsx)(o.$N,{children:"Import .claude/ từ repo"})}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(u.I,{placeholder:"/home/me/code/geochat",value:n,onChange:e=>r(e.target.value)}),(0,s.jsx)(c.z,{variant:"outline",onClick:C,children:"Qu\xe9t"})]}),(0,s.jsx)(u.I,{placeholder:"T\xean dự \xe1n (t\xf9y chọn)",value:p,onChange:e=>g(e.target.value)}),d&&(0,s.jsx)(b,{scanned:d,selected:h,onToggle:function(e){x(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}}),v&&(0,s.jsx)("p",{className:"text-xs text-danger",children:v})]}),(0,s.jsxs)(o.cN,{children:[(0,s.jsx)(c.z,{variant:"outline",onClick:t,children:"Hủy"}),(0,s.jsxs)(c.z,{disabled:!d||0===I||f,onClick:S,children:["Nhập ",I," mục đ\xe3 chọn"]})]})]})}var y=n(9147);function N(e){let{className:t,variant:n="default",...a}=e;return(0,s.jsx)("span",{className:(0,y.cn)("inline-flex items-center rounded-pill px-1.5 py-0.5 text-[9.5px] font-bold uppercase tracking-[.05em]","draft"===n&&"bg-warning/15 text-warning","default"===n&&"bg-white/[.06] text-text-dim",t),...a})}let w="divider";function k(e){let{items:t,open:n,onOpenChange:l,triggerLabel:i="T\xf9y chọn"}=e,r=(0,a.useRef)(null);return(0,a.useEffect)(()=>{if(n)return window.addEventListener("mousedown",e),()=>window.removeEventListener("mousedown",e);function e(e){r.current&&!r.current.contains(e.target)&&l(!1)}},[n,l]),(0,s.jsxs)("div",{ref:r,className:"relative",children:[(0,s.jsx)("button",{type:"button","aria-label":i,onClick:()=>l(!n),className:"flex h-6 w-6 items-center justify-center rounded-sm text-text-faint hover:bg-white/[.06] hover:text-text-dim",children:"⋯"}),n&&(0,s.jsx)("div",{role:"menu",className:"absolute right-0 top-full z-20 mt-1 w-52 animate-popIn rounded-panel border border-border-menu bg-bg-menu py-1 shadow-dropdown",children:t.map((e,t)=>e===w?(0,s.jsx)("div",{className:"my-1 border-t border-border-hairline"},"divider-".concat(t)):(0,s.jsx)("button",{type:"button",role:"menuitem",disabled:e.disabled,onClick:()=>{l(!1),e.onSelect()},className:(0,y.cn)("block w-full px-3 py-1.5 text-left text-[13px] disabled:cursor-not-allowed disabled:opacity-40",e.danger?"text-danger hover:bg-danger/10":"text-text-body hover:bg-white/[.06]"),children:e.label},e.label))})]})}let C=/@([a-zA-Z0-9_-]+)/g;function S(e){let t=new Set,n=[];for(let s of e.matchAll(C)){let e=s[1];e&&!t.has(e)&&(t.add(e),n.push(e))}return n}let I=/^[A-Za-z0-9_-]+$/,A=new Set(["Read","Write","Edit","Grep","Glob","Bash","WebFetch","WebSearch","Task","NotebookEdit","TodoWrite"]);function z(e,t){let n=[],s=e.id;if(e.name&&0!==e.name.trim().length?I.test(e.name)||n.push({level:"error",code:"name-unsafe",message:'name "'.concat(e.name,'" chứa k\xfd tự kh\xf4ng hợp lệ cho t\xean file.'),artifactId:s,field:"name"}):n.push({level:"error",code:"name-required",message:"name l\xe0 bắt buộc.",artifactId:s,field:"name"}),e.description&&0!==e.description.trim().length||n.push({level:"error",code:"description-required",message:"description l\xe0 bắt buộc.",artifactId:s,field:"description"}),e.name&&t.allArtifacts.some(t=>t.id!==e.id&&t.kind===e.kind&&t.name===e.name)&&n.push({level:"error",code:"name-duplicate",message:"Đ\xe3 c\xf3 ".concat(e.kind,' kh\xe1c t\xean "').concat(e.name,'".'),artifactId:s,field:"name"}),"agent"===e.kind){var a;for(let t of null!==(a=e.tools)&&void 0!==a?a:[])A.has(t)||n.push({level:"warning",code:"tool-unknown",message:'Tool "'.concat(t,'" kh\xf4ng nằm trong danh s\xe1ch biết trước (vẫn cho ph\xe9p).'),artifactId:s,field:"tools"})}if("command"===e.kind){let a=e.body.includes("$ARGUMENTS");e.usesArguments&&!a&&n.push({level:"warning",code:"arguments-missing",message:"usesArguments được đ\xe1nh dấu nhưng body kh\xf4ng chứa $ARGUMENTS.",artifactId:s,field:"body"});let l=S(e.body),i=new Set(t.allArtifacts.filter(e=>"agent"===e.kind).map(e=>e.name));for(let e of l)i.has(e)||n.push({level:"warning",code:"mention-missing-agent",message:"@".concat(e," kh\xf4ng tồn tại trong dự \xe1n (kh\xf4ng tồn tại)."),artifactId:s,field:"body"})}return n}var T=n(8146),P=n(5721),E=n(2482);let M="symbion.llmDisclosureSeen.v1";function F(e){let{providerId:t}=e;return(0,s.jsx)("p",{className:"text-xs text-text-muted",children:null===t?"Chưa chọn nh\xe0 cung cấp AI — v\xe0o C\xe0i đặt để chọn trước khi d\xf9ng t\xednh năng tạo nội dung bằng AI.":"ollama"===t?"Tạo nội dung bằng AI cục bộ (Ollama) — gửi t\xean/m\xf4 tả/nội dung hiện tại tới m\xf4 h\xecnh chạy tr\xean m\xe1y bạn, kh\xf4ng gửi ra ngo\xe0i.":"Tạo nội dung bằng AI từ b\xean thứ ba — t\xean/m\xf4 tả/nội dung hiện tại của bạn sẽ được gửi ra ngo\xe0i m\xe1y đến nh\xe0 cung cấp AI b\xean ngo\xe0i."})}let D={ollama:"Ollama",openai:"OpenAI",anthropic:"Anthropic",gemini:"Gemini"};function G(e){let{providerId:t}=e,n=(0,l.n)(e=>e.daemonConnected),[r,c]=(0,a.useState)("checking");return((0,a.useEffect)(()=>{if(!t||!n)return;let e=!1;return c("checking"),(0,i.gG)("checkProviderStatus",{providerId:t}).then(t=>{e||c(t.reachable?"connected":"disconnected")}).catch(()=>{e||c("disconnected")}),()=>{e=!0}},[t,n]),t&&n)?(0,s.jsxs)(T.default,{href:"/settings",className:"flex items-center gap-1 text-xs text-muted-foreground hover:underline",title:"Xem trạng th\xe1i kết nối nh\xe0 cung cấp AI trong C\xe0i đặt",children:[(0,s.jsx)(q,{status:r}),(0,s.jsxs)("span",{children:["checking"===r&&"Đang kiểm tra…","connected"===r&&"Đ\xe3 kết nối","disconnected"===r&&"Chưa kết nối"]}),(0,s.jsx)("span",{children:D[t]})]}):null}function q(e){let{status:t}=e;return"checking"===t?(0,s.jsx)("span",{"aria-hidden":!0,children:"◐"}):"connected"===t?(0,s.jsx)("span",{"aria-hidden":!0,className:"text-green-600",children:"●"}):(0,s.jsx)("span",{"aria-hidden":!0,className:"text-amber-500",children:"●"})}let H={"llm-provider-not-running":"Kh\xf4ng thể kết nối tới Ollama — đảm bảo Ollama đang chạy tr\xean m\xe1y.","llm-timeout":"Qu\xe1 thời gian chờ (45s) — thử lại.","llm-auth":"Thiếu hoặc sai cấu h\xecnh API key cho nh\xe0 cung cấp AI.","llm-rate-limit":"Bị giới hạn tần suất gọi — thử lại sau.","llm-invalid-response":"Phản hồi kh\xf4ng hợp lệ từ m\xf4 h\xecnh.","llm-not-configured":"Chưa cấu h\xecnh nh\xe0 cung cấp AI n\xe0o — v\xe0o C\xe0i đặt để th\xeam."},L=new Set(["llm-provider-not-running","llm-not-configured","llm-auth"]);function O(e){let{kind:t,name:n,description:r,currentBody:d,modelId:u,providerId:m,onApply:h}=e,x=(0,l.n)(e=>e.daemonConnected),p=(0,a.useRef)(!1),[g,f]=(0,a.useState)(!1),[b,j]=(0,a.useState)(!1),[v,y]=(0,a.useState)(!1),[N,w]=(0,a.useState)(!1),[k,C]=(0,a.useState)(null),[S,I]=(0,a.useState)(null),A=(0,a.useRef)(null);async function z(){if(p.current||!m)return;p.current=!0,f(!0),C(null),I(null);let e={kind:t,name:n,description:r,existingBody:d,modelId:u,providerId:m};A.current=e;try{let t=await (0,i.gG)("generateBody",e);h(t.body),C(null),I(null)}catch(e){e instanceof i.OH?(C(e.code),I(e.message||null)):(C("llm-unknown"),I(null))}finally{p.current=!1,f(!1),j(!0),setTimeout(()=>j(!1),4e3)}}function F(){try{window.localStorage.setItem(M,"1")}catch(e){}w(!1)}function D(){""===d.trim()?z():y(!0)}let q=g||b||!x||!m;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.z,{type:"button",variant:"outline",size:"sm","aria-label":"Tạo nội dung bằng AI",title:x?m?"Tạo nội dung bằng AI":"Chưa chọn nh\xe0 cung cấp AI — v\xe0o C\xe0i đặt để chọn":"Daemon mất kết nối",disabled:q,onClick:function(){if(!p.current&&!b&&m){if(!function(){try{return null!==window.localStorage.getItem(M)}catch(e){return!1}}()){w(!0);return}D()}},children:g?(0,s.jsx)(P.Z,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(E.Z,{className:"h-4 w-4"})}),(0,s.jsx)(G,{providerId:m}),!m&&x&&(0,s.jsxs)("p",{className:"mt-1 text-xs text-text-muted",children:["Chưa chọn nh\xe0 cung cấp AI —"," ",(0,s.jsx)(T.default,{href:"/settings",className:"underline",children:"v\xe0o C\xe0i đặt để chọn"}),"."]}),k&&(0,s.jsxs)("div",{className:"mt-1 flex items-center gap-2 text-xs text-danger",children:[(0,s.jsx)("span",{children:S||H[k]||"Lỗi kh\xf4ng x\xe1c định, thử lại."}),"llm-timeout"===k&&(0,s.jsx)("button",{type:"button",className:"underline",onClick:function(){C(null),I(null),z()},disabled:g||b,children:"Thử lại"}),L.has(k)&&(0,s.jsx)(T.default,{href:"/settings",className:"underline",children:"Mở C\xe0i đặt nh\xe0 cung cấp"})]}),(0,s.jsxs)(o.Vq,{open:v,onClose:()=>y(!1),children:[(0,s.jsx)(o.fK,{children:(0,s.jsx)(o.$N,{children:"Thay thế nội dung?"})}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"Nội dung hiện tại sẽ được thay thế bằng nội dung do AI tạo ra — tiếp tục?"}),(0,s.jsxs)(o.cN,{children:[(0,s.jsx)(c.z,{variant:"outline",onClick:()=>y(!1),children:"Hủy"}),(0,s.jsx)(c.z,{onClick:function(){y(!1),z()},children:"Thay thế"})]})]}),(0,s.jsxs)(o.Vq,{open:N,onClose:F,children:[(0,s.jsx)(o.fK,{children:(0,s.jsx)(o.$N,{children:"Sử dụng AI để tạo nội dung"})}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:null===m?"Chưa chọn nh\xe0 cung cấp AI n\xe0o — v\xe0o C\xe0i đặt để cấu h\xecnh trước khi d\xf9ng t\xednh năng tạo nội dung bằng AI.":"ollama"===m?"Lần đầu sử dụng: t\xednh năng n\xe0y gửi t\xean, m\xf4 tả v\xe0 nội dung hiện tại của artifact tới một m\xf4 h\xecnh AI chạy cục bộ tr\xean m\xe1y bạn (Ollama). Dữ liệu kh\xf4ng được gửi ra ngo\xe0i m\xe1y.":"Lần đầu sử dụng: t\xednh năng n\xe0y gửi t\xean, m\xf4 tả v\xe0 nội dung hiện tại của artifact tới một dịch vụ AI b\xean thứ ba qua mạng. Dữ liệu n\xe0y sẽ rời khỏi m\xe1y của bạn v\xe0 được xử l\xfd bởi nh\xe0 cung cấp b\xean ngo\xe0i."}),(0,s.jsx)(o.cN,{children:(0,s.jsx)(c.z,{onClick:function(){F(),D()},children:"Đ\xe3 hiểu"})})]})]})}function $(e){let{content:t,children:n,className:l}=e,[i,r]=(0,a.useState)(!1);return(0,s.jsxs)("span",{className:"relative inline-flex ".concat(null!=l?l:""),onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),onFocus:()=>r(!0),onBlur:()=>r(!1),children:[n,i?(0,s.jsx)("span",{role:"tooltip",className:"absolute left-0 top-full z-50 mt-1.5 w-max max-w-xs animate-fadeIn rounded-sm border border-border-menu bg-bg-menu px-2.5 py-1.5 text-xs text-text-body shadow-dropdown",children:t}):null]})}let K={fast:"Nhanh",balanced:"C\xe2n bằng",best:"Tốt nhất"},X="ollama pull ".concat("llama3.2:1b");function R(e){let{providerId:t,value:n,onChange:l,disabled:r}=e,[c,d]=(0,a.useState)([]),[o,u]=(0,a.useState)(null),[m,h]=(0,a.useState)(null),[x,p]=(0,a.useState)(null);return((0,a.useEffect)(()=>{if(!t){d([]),u(null),h(null),p(null);return}let e=!1;return(0,i.gG)("listModels",{providerId:t}).then(t=>{var s;e||(d(t.models),u(t.outcome),h(null!==(s=t.errorMessage)&&void 0!==s?s:null),p(null),!n&&t.models.length>0&&l(t.models[0].id))}).catch(t=>{e||p(t instanceof i.OH&&t.message||"Kh\xf4ng thể tải danh s\xe1ch m\xf4 h\xecnh.")}),()=>{e=!0}},[t]),t)?x?(0,s.jsx)("span",{className:"text-xs text-danger",children:x}):"fetch-failed"===o?(0,s.jsx)("span",{className:"text-xs text-danger",children:m||"Kh\xf4ng thể lấy danh s\xe1ch m\xf4 h\xecnh từ Ollama."}):"empty"===o?(0,s.jsx)($,{content:(0,s.jsxs)("span",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{children:"Chưa c\xf3 model n\xe0o được tải tr\xean Ollama. Chạy lệnh sau rồi quay lại đ\xe2y:"}),(0,s.jsx)("code",{className:"select-all rounded-sm border border-border-input bg-bg-code px-2 py-1 text-text-body",children:X})]}),children:(0,s.jsx)("span",{tabIndex:0,className:"inline-flex",children:(0,s.jsx)("select",{"aria-label":"Chọn m\xf4 h\xecnh AI",title:"Chưa c\xf3 model n\xe0o được tải tr\xean Ollama. Chạy lệnh sau rồi quay lại đ\xe2y: ".concat(X),className:"h-8 rounded-sm border border-danger bg-bg-input px-2 text-xs text-text-body focus:outline-none focus:ring-1 focus:ring-danger",disabled:!0,value:"",onChange:()=>{},children:(0,s.jsx)("option",{value:"",children:"Chưa c\xf3 model n\xe0o được tải"})})})}):(0,s.jsx)("select",{"aria-label":"Chọn m\xf4 h\xecnh AI",className:"h-8 rounded-sm border border-border-input bg-bg-input px-2 text-xs text-text-body",value:n,disabled:r||0===c.length,onChange:e=>l(e.target.value),children:c.map(e=>(0,s.jsxs)("option",{value:e.id,children:[e.label,e.tier?" (".concat(K[e.tier],")"):""]},e.id))}):(0,s.jsx)("span",{className:"text-xs text-text-muted",children:"Chưa chọn nh\xe0 cung cấp AI"})}function U(){let[e,t]=(0,a.useState)(null),[n,s]=(0,a.useState)(!0);return(0,a.useEffect)(()=>{let e=!1;return s(!0),(0,i.gG)("listProviders",{}).then(n=>{var s;if(e)return;let a=n.providers.find(e=>e.active);t(null!==(s=null==a?void 0:a.id)&&void 0!==s?s:null)}).catch(()=>{e||t(null)}).finally(()=>{e||s(!1)}),()=>{e=!0}},[]),{activeProviderId:e,loading:n}}let V=["Read","Write","Edit","Grep","Glob","Bash","WebFetch","WebSearch","Task"];function B(e){var t,n,l;let{artifact:i,onChange:r}=e,[d,o]=(0,a.useState)((null!==(n=null===(t=i.customFields)||void 0===t?void 0:t.length)&&void 0!==n?n:0)>0),[m,h]=(0,a.useState)(""),{activeProviderId:x}=U();function p(e,t){r({...i,[e]:t})}function g(e,t){var n;let s=[...null!==(n=i.customFields)&&void 0!==n?n:[]];s[e]={...s[e],...t},p("customFields",s)}return(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-sm font-medium text-text-body",children:"name *"}),(0,s.jsx)(u.I,{value:i.name,onChange:e=>p("name",e.target.value),placeholder:"code-reviewer"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-sm font-medium text-text-body",children:"description *"}),(0,s.jsx)(u.I,{value:i.description,onChange:e=>p("description",e.target.value),placeholder:"Independent reviewer…"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-sm font-medium text-text-body",children:"tools"}),(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:V.map(e=>{var t;return(0,s.jsx)("button",{type:"button",onClick:()=>(function(e){var t;let n=null!==(t=i.tools)&&void 0!==t?t:[];p("tools",n.includes(e)?n.filter(t=>t!==e):[...n,e])})(e),className:"rounded-pill border px-2 py-1 text-xs ".concat((null!==(t=i.tools)&&void 0!==t?t:[]).includes(e)?"border-brand-accent bg-brand-accent-soft text-accent-text-hi":"border-border-input text-text-dim"),children:e},e)})})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-text-body",children:"Nội dung"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(R,{providerId:x,value:m,onChange:h}),(0,s.jsx)(O,{kind:"agent",name:i.name,description:i.description,currentBody:i.body,modelId:m,providerId:x,onApply:e=>p("body",e)})]})]}),(0,s.jsx)("textarea",{className:"h-40 w-full rounded-sm border border-border-input bg-bg-input p-2 text-sm text-text-body",value:i.body,onChange:e=>p("body",e.target.value)}),(0,s.jsx)(F,{providerId:x})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{type:"button",className:"text-sm font-medium text-text-dim",onClick:()=>o(e=>!e),children:[d?"▾":"▸"," N\xe2ng cao"]}),d&&(0,s.jsxs)("div",{className:"mt-2 space-y-2",children:[(null!==(l=i.customFields)&&void 0!==l?l:[]).map((e,t)=>(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(u.I,{className:"w-1/3",placeholder:"model",value:e.key,onChange:e=>g(t,{key:e.target.value})}),(0,s.jsx)(u.I,{className:"flex-1",placeholder:"claude-opus-4",value:e.value,onChange:e=>g(t,{value:e.target.value})}),(0,s.jsx)(c.z,{variant:"ghost",size:"sm",onClick:()=>{var e;p("customFields",(null!==(e=i.customFields)&&void 0!==e?e:[]).filter((e,n)=>n!==t))},children:"✕"})]},t)),(0,s.jsx)(c.z,{variant:"outline",size:"sm",onClick:function(){var e;p("customFields",[...null!==(e=i.customFields)&&void 0!==e?e:[],{key:"",value:""}])},children:"+ Th\xeam field"})]})]})]})}function W(e){let{artifact:t,allArtifacts:n,onChange:l}=e,[i,r]=(0,a.useState)(""),{activeProviderId:c}=U();function d(e,n){l({...t,[e]:n})}let o=S(t.body),m=new Set(n.filter(e=>"agent"===e.kind).map(e=>e.name));return(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-sm font-medium text-text-body",children:"command name (→ /name)"}),(0,s.jsx)(u.I,{value:t.name,onChange:e=>d("name",e.target.value),placeholder:"analyze"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-sm font-medium text-text-body",children:"description *"}),(0,s.jsx)(u.I,{value:t.description,onChange:e=>d("description",e.target.value),placeholder:"3 BA agents research requirements, then synthesize"})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,s.jsx)("label",{className:"text-sm font-medium text-text-body",children:"Nội dung"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(R,{providerId:c,value:i,onChange:r}),(0,s.jsx)(O,{kind:"command",name:t.name,description:t.description,currentBody:t.body,modelId:i,providerId:c,onApply:e=>d("body",e)})]})]}),(0,s.jsx)("textarea",{className:"h-40 w-full rounded-sm border border-border-input bg-bg-input p-2 text-sm text-text-body",value:t.body,onChange:e=>d("body",e.target.value)}),(0,s.jsx)(F,{providerId:c})]}),o.length>0&&(0,s.jsxs)("div",{className:"text-xs",children:[(0,s.jsx)("span",{className:"text-text-muted",children:"Agents tham chiếu: "}),o.map(e=>(0,s.jsxs)("span",{className:m.has(e)?"text-success":"text-warning",children:["• ",e," ",m.has(e)?"✓":"(kh\xf4ng tồn tại)"," "]},e))]})]})}var Z=n(1578),_=n(1332),Q=n(5726);let J=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],Y=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function ee(e,t){return e>>>t|e<<32-t}let et=/<!--\s*managed-by:\s*symbion\s+id=(\S+)\s+kind=(\S+)\s+v=(\S+)\s+hash=(\S+)\s*-->/,en=/<!--\s*managed-by:\s*symbion\s+region-start\s+v=(\S+)\s+hash=(\S+)\s*-->/,es=/<!--\s*managed-by:\s*symbion\s+region-end\s*-->/;function ea(e){return e.slice(0,12)}function el(e){let t=et.exec(e);if(!t)return null;let[,n,s,a,l]=t;return"agent"!==s&&"command"!==s?null:{id:n,kind:s,version:a,hash:l}}function ei(e){return function(e){let t=new TextEncoder().encode(e),n=8*t.length,s=(t.length+8>>6)+1<<6,a=new Uint8Array(s);a.set(t),a[t.length]=128;let l=new DataView(a.buffer);l.setUint32(s-4,n>>>0,!1),l.setUint32(s-8,Math.floor(n/4294967296),!1);let[i,r,c,d,o,u,m,h]=Y,x=new Int32Array(64);for(let e=0;e<a.length;e+=64){for(let t=0;t<16;t++)x[t]=a[e+4*t]<<24|a[e+4*t+1]<<16|a[e+4*t+2]<<8|a[e+4*t+3];for(let e=16;e<64;e++){let t=ee(x[e-15],7)^ee(x[e-15],18)^x[e-15]>>>3,n=ee(x[e-2],17)^ee(x[e-2],19)^x[e-2]>>>10;x[e]=x[e-16]+t+x[e-7]+n|0}let t=i,n=r,s=c,l=d,p=o,g=u,f=m,b=h;for(let e=0;e<64;e++){let a=b+(ee(p,6)^ee(p,11)^ee(p,25))+(p&g^~p&f)+J[e]+x[e]|0,i=(ee(t,2)^ee(t,13)^ee(t,22))+(t&n^t&s^n&s)|0;b=f,f=g,g=p,p=l+a|0,l=s,s=n,n=t,t=a+i|0}i=i+t|0,r=r+n|0,c=c+s|0,d=d+l|0,o=o+p|0,u=u+g|0,m=m+f|0,h=h+b|0}return[i,r,c,d,o,u,m,h].map(e=>(e>>>0).toString(16).padStart(8,"0")).join("")}(e)}let er={claude:{capability:{id:"claude",label:"Claude",supportsCommands:!0,supportsPerAgentFile:!0,fileFormat:"md-per-file",lossy:!1},render:function(e,t){return e.map(e=>(function(e,t){var n,s;let a=function(e){let t=(0,Q.Xu)(e),n=(0,Q.ET)(t);return"---\n".concat(n,"\n---\n").concat(e.body)}(e),l=ei(a),i=(n=e.id,s=e.kind,"<!-- managed-by: symbion id=".concat(n," kind=").concat(s," v=").concat(t," hash=").concat(ea(l)," -->")),r="".concat(a,"\n").concat(i,"\n");return{relPath:"agent"===e.kind?".claude/agents/".concat(e.name,".md"):".claude/commands/".concat(e.name,".md"),content:r,artifactIds:[e.id],contentHash:l}})(e,t.version))},parseMarker:el},codex:{capability:{id:"codex",label:"Codex",supportsCommands:!1,supportsPerAgentFile:!1,fileFormat:"md-merged",lossy:!0},render:function(e,t){var n,s;let a=function(e){let t=e.filter(e=>"agent"===e.kind).slice().sort((e,t)=>e.name.localeCompare(t.name)),n=e.filter(e=>"command"===e.kind).slice().sort((e,t)=>e.name.localeCompare(t.name)),s=["# Symbion-managed workflows\n"];for(let e of t)s.push(function(e){let t=e.tools&&e.tools.length>0?"\n> tools: ".concat(e.tools.join(", ")," (note: Codex ignores per-agent tools)"):"";return"## Agent: ".concat(e.name).concat(t,"\n").concat(e.body,"\n")}(e));for(let e of n)s.push("## Command: /".concat(e.name,"\n> Slash command (flattened — Codex has no command primitive)\n").concat(e.body,"\n"));return s.join("\n")}(e),l=ei(a),i=(s=t.version,"<!-- managed-by: symbion region-start v=".concat(s," hash=").concat(ea(l)," -->")),r="".concat(i,"\n").concat(a,"\n").concat("<!-- managed-by: symbion region-end -->"),c=null===(n=t.existingForeignContent)||void 0===n?void 0:n.trim();return[{relPath:"AGENTS.md",content:c&&c.length>0?"".concat(c,"\n\n").concat(r,"\n"):"".concat(r,"\n"),artifactIds:e.map(e=>e.id),contentHash:l}]},parseMarker:function(e){let t=en.exec(e);if(!t)return null;let[,n,s]=t;return es.test(e)?{region:!0,version:n,hash:s}:null}}};function ec(e,t,n){return(function(e){let t=er[e];if(!t)throw Error("Unknown target adapter: ".concat(e));return t})(t).render(e,n)}let ed=/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/;function eo(e){let{artifact:t,onChange:n}=e,[l,i]=(0,a.useState)(()=>{var e;let[n]=ec([t],"claude",{version:t.meta.version});return null!==(e=null==n?void 0:n.content.replace(/\n*<!-- managed-by:[\s\S]*?-->\s*$/,""))&&void 0!==e?e:""}),[r,c]=(0,a.useState)(null);return(0,a.useEffect)(()=>{var e;let[n]=ec([t],"claude",{version:t.meta.version});i(null!==(e=null==n?void 0:n.content.replace(/\n*<!-- managed-by:[\s\S]*?-->\s*$/,""))&&void 0!==e?e:"")},[t.id]),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.ZP,{value:l,height:"360px",theme:"dark",extensions:[(0,_.JH)()],onChange:function(e){i(e);try{let s=function(e,t){var n,s,a,l;let i=ed.exec(e);if(!i)throw Error("File thiếu frontmatter (--- ... ---).");let[,r,c]=i,d=(0,Q.CW)(r),o=el(e),u=(null!=c?c:"").replace(/\n*<!--\s*managed-by:[\s\S]*?-->\s*$/,"");u=u.replace(/\n+$/,"").replace(/^\n+/,"");let m=null!==(n=t.nowIso)&&void 0!==n?n:new Date().toISOString(),h={id:null!==(a=null!==(s=null==o?void 0:o.id)&&void 0!==s?s:t.id)&&void 0!==a?a:function(){let e=()=>Math.floor(16*Math.random()).toString(16),t=0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>(t++,"y"===n)?((Math.floor(4*Math.random())+8)%16).toString(16):e())}(),kind:t.kind,name:t.name,description:d.description,body:u,meta:{version:null!==(l=null==o?void 0:o.version)&&void 0!==l?l:"draft",status:o?"published":"draft",createdAt:m,updatedAt:m}};return"agent"===t.kind&&d.tools&&(h.tools=d.tools),"command"===t.kind&&(h.usesArguments=u.includes("$ARGUMENTS")),d.customFields.length>0&&(h.customFields=d.customFields),h}(e,{name:t.name||"untitled",kind:t.kind,id:t.id});c(null),n({...t,...s,id:t.id,meta:t.meta})}catch(e){c(e.message)}}}),r?(0,s.jsxs)("p",{className:"text-xs text-danger",children:["✗ ",r," (Save tạm kho\xe1, d\xf9ng bản hợp lệ gần nhất)"]}):(0,s.jsx)("p",{className:"text-xs text-success",children:"✓ markdown hợp lệ, đ\xe3 đồng bộ v\xe0o IR"})]})}function eu(e){let{artifact:t,allArtifacts:n}=e,[l,i]=(0,a.useState)(""),[r,c]=(0,a.useState)([]);(0,a.useEffect)(()=>{let e=setTimeout(()=>{var e;let[s]=ec([t],"claude",{version:"draft"});i(null!==(e=null==s?void 0:s.content)&&void 0!==e?e:""),c(z(t,{allArtifacts:n}))},150);return()=>clearTimeout(e)},[t,n]);let d=r.filter(e=>"error"===e.level),o=r.filter(e=>"warning"===e.level);return(0,s.jsxs)("div",{className:"flex h-full flex-col border-l border-border-hairline",children:[(0,s.jsx)("div",{className:"border-b border-border-hairline px-3 py-2 font-mono text-[12.5px] text-text-faint",children:"agent"===t.kind?".claude/agents/".concat(t.name||"<name>",".md"):".claude/commands/".concat(t.name||"<name>",".md")}),(0,s.jsx)("pre",{className:"flex-1 overflow-auto whitespace-pre-wrap bg-bg-code p-3 font-mono text-[12.5px] text-text-body",children:l}),(0,s.jsxs)("div",{className:"border-t border-border-hairline p-2 text-xs",children:[0===d.length&&0===o.length&&(0,s.jsx)("p",{className:"text-success",children:"✓ frontmatter hợp lệ \xb7 filename khớp name"}),d.map((e,t)=>(0,s.jsxs)("p",{className:"text-danger",children:["✗ ",e.message]},t)),o.map((e,t)=>(0,s.jsxs)("p",{className:"text-warning",children:["⚠ ",e.message]},t))]})]})}function em(e){let{artifact:t,allArtifacts:n,onClose:i}=e,[r,d]=(0,a.useState)(t),[o,u]=(0,a.useState)("form"),[m,h]=(0,a.useState)(!1),[x,p]=(0,a.useState)(null),g=(0,l.n)(e=>e.saveArtifact),f=(0,l.n)(e=>e.daemonConnected),b=(0,l.n)(e=>e.showToast),j=n.filter(e=>e.id!==r.id),v=z(r,{allArtifacts:[...j,r]}).filter(e=>"error"===e.level);async function y(){h(!0),p(null);try{await g(r),b("Đ\xe3 lưu.","success"),i()}catch(e){p(e instanceof Error?e.message:"Lưu thất bại — kh\xf4ng r\xf5 l\xfd do.")}finally{h(!1)}}return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"fixed inset-0 z-40 animate-fadeIn bg-black/50",onClick:i}),(0,s.jsxs)("div",{className:"fixed inset-y-0 right-0 z-40 flex w-[880px] max-w-[96vw] animate-slideIn border-l border-border-hairline bg-bg-panel shadow-drawer",onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("div",{className:"flex w-1/2 flex-col p-4",children:[(0,s.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,s.jsx)("h2",{className:"text-[15px] font-bold text-text-strong",children:"agent"===r.kind?"Agent builder":"Workflow builder"}),(0,s.jsx)(c.z,{variant:"ghost",size:"sm",onClick:i,children:"✕"})]}),(0,s.jsxs)("div",{className:"mb-4 flex gap-1 border-b border-border-hairline",children:[(0,s.jsx)("button",{className:"px-3 py-2 text-sm ".concat("form"===o?"border-b-2 border-brand-accent font-medium text-text-strong":"text-text-dim"),onClick:()=>u("form"),children:"Theo m\xf4 tả"}),(0,s.jsx)("button",{className:"px-3 py-2 text-sm ".concat("markdown"===o?"border-b-2 border-brand-accent font-medium text-text-strong":"text-text-dim"),onClick:()=>u("markdown"),children:"Theo markdown"})]}),(0,s.jsx)("div",{className:"flex-1 overflow-y-auto",children:"form"===o?"agent"===r.kind?(0,s.jsx)(B,{artifact:r,onChange:d}):(0,s.jsx)(W,{artifact:r,allArtifacts:j,onChange:d}):(0,s.jsx)(eo,{artifact:r,onChange:d})}),(0,s.jsxs)("div",{className:"mt-4 flex items-center justify-between border-t border-border-hairline pt-4",children:[(0,s.jsxs)("div",{className:"text-xs text-danger",children:[v.map((e,t)=>(0,s.jsxs)("div",{children:["✗ ",e.message]},t)),!f&&(0,s.jsx)("div",{children:"⚠ Mất kết nối daemon — kh\xf4ng thể lưu."}),x&&(0,s.jsxs)("div",{children:["✗ Lưu thất bại: ",x]})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(c.z,{variant:"outline",onClick:i,children:"Hủy"}),(0,s.jsx)(c.z,{disabled:v.length>0||m||!f,onClick:y,children:m?"Đang lưu…":"Lưu"})]})]})]}),(0,s.jsx)("div",{className:"w-1/2",children:(0,s.jsx)(eu,{artifact:r,allArtifacts:[...j,r]})})]})]})}var eh=n(6310),ex=n(8436);function ep(e){let{claudeLossy:t,codexLossy:n,missingAgentMentions:a}=e;return(0,s.jsxs)("div",{className:"mb-3 space-y-1.5",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-3 text-[12px] font-medium",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1.5 ".concat(t?"text-warning":"text-success"),children:[(0,s.jsx)("span",{"aria-hidden":!0,children:t?"▲":"●"}),"Claude \xb7 ",t?"lossy":"clean"]}),(0,s.jsxs)("span",{className:"flex items-center gap-1.5 ".concat(n?"text-warning":"text-success"),children:[(0,s.jsx)("span",{"aria-hidden":!0,children:n?"▲":"●"}),"Codex \xb7 ",n?"lossy":"clean"]})]}),a.length>0&&(0,s.jsxs)("p",{className:"text-[12px] text-danger",children:["⚠ ",1===a.length?'Agent "'.concat(a[0],'" được nhắc đến nhưng kh\xf4ng tồn tại.'):"".concat(a.length," agent được nhắc đến nhưng kh\xf4ng tồn tại: ").concat(a.join(", "),".")]})]})}n(5581);let eg={command:function(e){let{data:t}=e;return(0,s.jsxs)("div",{className:"rounded-nav-item px-3 py-2 text-[12.5px] font-medium text-white transition-opacity",style:{background:"#818cf8",opacity:t.dimmed?.35:1,boxShadow:t.highlighted?"0 0 0 2px #c7d2fe":void 0},children:[(0,s.jsx)(eh.HH,{type:"source",position:eh.Ly.Right,className:"!bg-command"}),t.label]})},agent:function(e){let{data:t}=e;return(0,s.jsxs)("div",{className:"rounded-nav-item px-3 py-2 text-[12.5px] font-medium text-white transition-opacity",style:{background:"#a78bfa",opacity:t.dimmed?.35:1,boxShadow:t.highlighted?"0 0 0 2px #e9d5ff":void 0},children:[(0,s.jsx)(eh.HH,{type:"target",position:eh.Ly.Left,className:"!bg-agent"}),t.label]})},missingAgent:function(e){let{data:t}=e;return(0,s.jsxs)("div",{title:t.label,className:"rounded-nav-item border border-dashed border-danger bg-danger/10 px-3 py-2 text-[12.5px] font-medium text-danger-hi transition-opacity",style:{opacity:t.dimmed?.35:1},children:[(0,s.jsx)(eh.HH,{type:"target",position:eh.Ly.Left,className:"!bg-danger"}),t.label]})}},ef={animated:function(e){var t;let{id:n,sourceX:l,sourceY:i,targetX:r,targetY:c,sourcePosition:d,targetPosition:o,style:u,markerEnd:m,data:h}=e,[x]=(0,eh.OQ)({sourceX:l,sourceY:i,sourcePosition:d,targetX:r,targetY:c,targetPosition:o}),p=null!==(t=null==h?void 0:h.drawIndex)&&void 0!==t?t:0,g=p<15,[f,b]=(0,a.useState)(!g);(0,a.useEffect)(()=>{if(!g)return;let e=window.setTimeout(()=>b(!0),40*p);return()=>window.clearTimeout(e)},[n]);let j=(null==h?void 0:h.missing)?"#f87171":"#565c68",v=(null==h?void 0:h.highlighted)?"#c7d2fe":j,y=(null==h?void 0:h.highlighted)?2.5:1.5,N=(null==h?void 0:h.dimmed)?.35:f?1:0;return(0,s.jsx)(eh.u5,{id:n,path:x,markerEnd:m,style:{...u,stroke:v,strokeWidth:y,strokeDasharray:(null==h?void 0:h.missing)?"6 4":void 0,opacity:N,transition:"opacity 0.2s cubic-bezier(.2,.8,.2,1), stroke 0.12s ease, stroke-width 0.12s ease"}})}};function eb(e){let{artifacts:t}=e,[n,l]=(0,a.useState)(null),{nodes:i,edges:r,missingAgentMentions:c}=(0,a.useMemo)(()=>{let e=t.filter(e=>"agent"===e.kind),n=t.filter(e=>"command"===e.kind),s=[...n.map((e,t)=>({id:e.id,type:"command",position:{x:0,y:80*t},data:{label:"/".concat(e.name)}})),...e.map((e,t)=>({id:e.id,type:"agent",position:{x:320,y:80*t},data:{label:e.name}}))],a=new Map(e.map(e=>[e.name,e])),l=[],i=new Map,r=new Set,c=0,d=0;for(let t of n)for(let n of S(t.body)){var o;let s=a.get(n),u="missing-".concat(n);s||(r.add(n),i.has(u)||(i.set(u,{id:u,type:"missingAgent",position:{x:320,y:(e.length+c)*80},data:{label:"⚠ ".concat(n," (kh\xf4ng tồn tại)")}}),c+=1)),l.push({id:"".concat(t.id,"->").concat(n),source:t.id,target:null!==(o=null==s?void 0:s.id)&&void 0!==o?o:u,type:"animated",animated:!s,data:{drawIndex:d++,missing:!s}})}return{nodes:[...s,...i.values()],edges:l,missingAgentMentions:[...r]}},[t]),d=(0,a.useMemo)(()=>i.map(e=>{if(!n)return e;let t=e.id===n||r.some(t=>t.source===n&&t.target===e.id||t.target===n&&t.source===e.id);return{...e,data:{...e.data,highlighted:e.id===n,dimmed:!t}}}),[i,r,n]),o=(0,a.useMemo)(()=>r.map(e=>{if(!n)return e;let t=e.source===n||e.target===n;return{...e,data:{...e.data,highlighted:t,dimmed:!t}}}),[r,n]);return(0,s.jsxs)("div",{children:[(0,s.jsx)(ep,{claudeLossy:er.claude.capability.lossy,codexLossy:er.codex.capability.lossy,missingAgentMentions:c}),(0,s.jsx)("div",{style:{height:480},className:"rounded-panel border border-border-hairline bg-bg-panel",children:(0,s.jsx)(eh.x$,{nodes:d,edges:o,nodeTypes:eg,edgeTypes:ef,nodesDraggable:!1,nodesConnectable:!1,fitView:!0,onNodeMouseEnter:(e,t)=>l(t.id),onNodeMouseLeave:()=>l(null),children:(0,s.jsx)(ex.A,{variant:ex.T.Dots})})})]})}let ej=/^v(\d+)\.(\d+)\.(\d+)$/;function ev(e){let t=ej.exec(e);return t?{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3])}:null}function ey(e){let{file:t,resolution:n,onResolve:l}=e,[i,r]=(0,a.useState)(()=>!0);return(0,a.useEffect)(()=>{r(!1)},[]),(0,s.jsxs)("div",{className:"rounded-panel border border-danger/40 bg-danger/5 p-2 text-xs ".concat(i?"animate-popIn":""),children:[(0,s.jsxs)("p",{className:"mb-1 font-medium text-danger",children:["! XUNG ĐỘT — ",t.relPath]}),(0,s.jsx)("p",{className:"mb-2 text-text-muted",children:"File đ\xe3 bị sửa tay sau lần xuất bản gần nhất."}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(c.z,{size:"sm",variant:"overwrite"!==n?"default":"outline",onClick:()=>l("keep"),children:"Giữ bản tr\xean đĩa"}),(0,s.jsx)(c.z,{size:"sm",variant:"overwrite"===n?"default":"outline",className:"overwrite"===n?"bg-overwrite-btn hover:opacity-90":void 0,onClick:()=>l("overwrite"),children:"Ghi đ\xe8"})]})]})}function eN(e){let{result:t,version:n,onDone:a}=e,l=t.results.filter(e=>"created"===e.action).length,i=t.results.filter(e=>"updated"===e.action).length,r=t.results.filter(e=>"error"===e.action);return(0,s.jsxs)(o.Vq,{open:!0,onClose:a,className:"w-[500px]",children:[(0,s.jsx)(o.fK,{children:(0,s.jsxs)(o.$N,{children:["Kết quả xuất bản ",n]})}),(0,s.jsxs)("p",{className:"text-sm text-text-body",children:[(0,s.jsx)("span",{className:"text-success",children:"✓"})," ",l," file tạo mới \xb7 ",i," file cập nhật \xb7 ",r.length," ","lỗi"]}),(0,s.jsxs)("p",{className:"mt-1 font-mono text-xs text-text-faint",children:["Sao lưu: ",t.backupDir]}),r.length>0&&(0,s.jsx)("ul",{className:"mt-3 space-y-1",children:r.map(e=>(0,s.jsxs)("li",{className:"rounded-panel bg-danger/10 px-2 py-1 text-xs text-danger",children:[e.relPath,": ",e.error]},e.relPath))}),(0,s.jsxs)(o.cN,{children:[r.length>0&&(0,s.jsx)(c.z,{variant:"outline",children:"Thử lại c\xe1c file lỗi"}),(0,s.jsx)(c.z,{onClick:a,children:"Xong"})]})]})}function ew(e){let{children:t,staggerMs:n=25,cap:a=12}=e;return(0,s.jsx)(s.Fragment,{children:t.map((e,t)=>(0,s.jsx)("div",{className:"animate-popIn",style:t<a?{animationDelay:"".concat(t*n,"ms")}:void 0,children:e},t))})}let ek={new:"+",update:"~",same:"=",conflict:"!"};function eC(e){let{project:t,targets:n,version:r,onBack:d,onClose:u}=e,[m,h]=(0,a.useState)(null),[x,p]=(0,a.useState)(new Set),[g,f]=(0,a.useState)({}),[b,j]=(0,a.useState)(!1),[v,y]=(0,a.useState)(null),[N,w]=(0,a.useState)(null),[k,C]=(0,a.useState)(!0),S=(0,l.n)(e=>e.daemonConnected);if((0,a.useEffect)(()=>{(async()=>{C(!0);let e=await (0,i.gG)("computeDiff",{projectId:t.id,targets:n,version:r});h(e),p(new Set(e.files.filter(e=>"conflict"!==e.status&&"same"!==e.status).map(e=>e.relPath))),C(!1)})()},[t.id,n,r]),N)return(0,s.jsx)(eN,{result:N,version:r,onDone:u});if(k||!m)return(0,s.jsx)(o.Vq,{open:!0,onClose:u,className:"w-[640px]",children:(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"Đang t\xednh diff…"})});let I=m.files.some(e=>"new"===e.status&&e.relPath.startsWith(".claude/")),A=m.files.filter(e=>"same"!==e.status),z=m.files.every(e=>"same"===e.status),T=m.files.filter(e=>e.firstPublishIntoForeignMergedFile);async function P(){j(!0),y(null);try{let e=await (0,i.gG)("write",{projectId:t.id,version:r,targets:n,files:Array.from(x).map(e=>({relPath:e,resolution:g[e]}))});w(e)}catch(e){y(e instanceof Error?e.message:"Ghi xuống đĩa thất bại — kh\xf4ng r\xf5 l\xfd do.")}finally{j(!1)}}let E=[...A.map(e=>"conflict"===e.status?(0,s.jsx)(ey,{file:e,resolution:g[e.relPath],onResolve:t=>{f(n=>({...n,[e.relPath]:t})),p(n=>{let s=new Set(n);return"overwrite"===t?s.add(e.relPath):s.delete(e.relPath),s})}},e.relPath):(0,s.jsxs)("label",{className:"flex items-center gap-2 rounded-panel border border-border-hairline px-2 py-1 text-sm text-text-body",children:[(0,s.jsx)("input",{type:"checkbox",checked:x.has(e.relPath),onChange:()=>{var t;return t=e.relPath,void p(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}}),(0,s.jsx)("span",{className:"font-mono text-xs",children:ek[e.status]}),(0,s.jsx)("span",{children:e.relPath})]},e.relPath)),...m.files.filter(e=>"same"===e.status).map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1 text-sm text-text-faint",children:[(0,s.jsx)("span",{className:"font-mono text-xs",children:"="}),(0,s.jsx)("span",{children:e.relPath})]},e.relPath))];return(0,s.jsxs)(o.Vq,{open:!0,onClose:u,className:"w-[640px]",children:[(0,s.jsx)(o.fK,{children:(0,s.jsxs)(o.$N,{children:["Xem trước thay đổi \xb7 ",r]})}),I&&(0,s.jsx)("p",{className:"mb-2 text-xs text-text-muted",children:"Sẽ khởi tạo .claude/"}),T.length>0&&(0,s.jsxs)("p",{className:"mb-2 rounded-panel border border-warning/40 bg-warning/10 px-2 py-1 text-xs text-warning",children:["ℹ ",T.map(e=>e.relPath).join(", ")," đ\xe3 tồn tại v\xe0 sẽ được Symbion chỉnh sửa lần đầu ti\xean (nội dung hiện c\xf3 sẽ được giữ lại b\xean ngo\xe0i v\xf9ng quản l\xfd)."]}),(0,s.jsx)("div",{className:"max-h-96 space-y-2 overflow-y-auto",children:(0,s.jsx)(ew,{children:E})}),!S&&(0,s.jsx)("p",{className:"mb-2 text-xs text-danger",children:"⚠ Mất kết nối daemon — kh\xf4ng thể ghi xuống đĩa."}),v&&(0,s.jsxs)("p",{className:"mb-2 text-xs text-danger",children:["✗ Ghi thất bại: ",v]}),(0,s.jsxs)(o.cN,{children:[(0,s.jsx)(c.z,{variant:"outline",onClick:d,children:"Quay lại"}),(0,s.jsx)(c.z,{variant:"outline",onClick:u,children:"Hủy"}),(0,s.jsx)(c.z,{disabled:z||0===x.size||b||!S,onClick:P,children:z?"Kh\xf4ng c\xf3 g\xec để ghi":"Ghi xuống đĩa"})]})]})}function eS(e){let{project:t,onClose:n}=e,l=t.artifacts.reduce((e,t)=>"draft"!==t.meta.version&&function(e,t){let n=ev(e),s=ev(t);return n||s?n?s?n.major!==s.major?n.major-s.major:n.minor!==s.minor?n.minor-s.minor:n.patch-s.patch:1:-1:0}(t.meta.version,e)>0?t.meta.version:e,"v0.0.0"),[i,r]=(0,a.useState)(()=>(function(e,t){let n=ej.exec(e);if(!n)throw Error('Phi\xean bản kh\xf4ng hợp lệ: "'.concat(e,'" (cần dạng vMAJOR.MINOR.PATCH).'));let[s,a,l]=[Number(n[1]),Number(n[2]),Number(n[3])];return"patch"===t?l+=1:("minor"===t?a+=1:(s+=1,a=0),l=0),"v".concat(s,".").concat(a,".").concat(l)})("v0.0.0"===l?"v0.0.0":l,"patch")),[d,u]=(0,a.useState)(["claude"]),[m,h]=(0,a.useState)(!1),[x,p]=(0,a.useState)("config");function g(e){u(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}let f=d.length>0&&(!d.includes("codex")||m);return"diff"===x?(0,s.jsx)(eC,{project:t,targets:d,version:i,onBack:()=>p("config"),onClose:n}):(0,s.jsxs)(o.Vq,{open:!0,onClose:n,className:"w-[500px]",children:[(0,s.jsx)(o.fK,{children:(0,s.jsx)(o.$N,{children:"Xuất bản"})}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"mb-1 block text-sm font-medium text-text-body",children:"Phi\xean bản"}),(0,s.jsx)("input",{className:"h-9 w-full rounded-sm border border-border-input bg-bg-input px-3 text-sm text-text-body",value:i,onChange:e=>r(e.target.value)})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsx)("button",{type:"button",onClick:()=>g("claude"),className:"rounded-panel border px-3 py-2.5 text-left text-sm transition-colors ".concat(d.includes("claude")?"border-brand-accent bg-brand-accent-soft text-text-strong":"border-border-input text-text-dim hover:bg-white/[.04]"),children:(0,s.jsxs)("span",{className:"font-medium",children:[d.includes("claude")?"☑":"☐"," Claude"]})}),(0,s.jsxs)("button",{type:"button",onClick:()=>g("codex"),className:"rounded-panel border px-3 py-2.5 text-left text-sm transition-colors ".concat(d.includes("codex")?"border-brand-accent bg-brand-accent-soft text-text-strong":"border-border-input text-text-dim hover:bg-white/[.04]"),children:[(0,s.jsxs)("span",{className:"font-medium",children:[d.includes("codex")?"☑":"☐"," Codex"]}),(0,s.jsx)("span",{className:"ml-1 text-xs text-warning",children:"(gộp v\xe0o AGENTS.md \xb7 lossy)"})]})]}),d.includes("codex")&&(0,s.jsxs)("label",{className:"ml-1 flex items-center gap-2 text-xs text-text-dim",children:[(0,s.jsx)("input",{type:"checkbox",checked:m,onChange:e=>h(e.target.checked)}),"T\xf4i hiểu — commands sẽ gộp/flatten v\xe0o AGENTS.md (mất per-file separation)"]})]})]}),(0,s.jsxs)(o.cN,{children:[(0,s.jsx)(c.z,{variant:"outline",onClick:n,children:"Hủy"}),(0,s.jsx)(c.z,{disabled:!f,onClick:()=>p("diff"),children:"Xem trước thay đổi"})]})]})}function eI(e){let{command:t,onClose:n}=e,[l,i]=(0,a.useState)(""),[r,d]=(0,a.useState)(""),[m,h]=(0,a.useState)(""),[x,p]=(0,a.useState)(!1),[g,f]=(0,a.useState)(!1),b=function(e){let t=["/".concat(e.command)];return e.requirements&&e.requirements.trim().length>0&&t.push(e.requirements.trim()),e.model&&e.model.trim().length>0&&t.push("[".concat(e.model.trim(),"]")),e.option&&e.option.trim().length>0&&t.push("[".concat(e.option.trim(),"]")),t.join(" ")}({command:t.name,requirements:l,model:r,option:m});async function j(){try{await navigator.clipboard.writeText(b),p(!0),f(!1)}catch(e){f(!0)}}return(0,a.useEffect)(()=>{p(!1)},[b]),(0,s.jsxs)(o.Vq,{open:!0,onClose:n,className:"w-[480px]",children:[(0,s.jsx)(o.fK,{children:(0,s.jsxs)(o.$N,{children:["Copy run command — /",t.name]})}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(u.I,{placeholder:"Requirements",value:l,onChange:e=>i(e.target.value)}),(0,s.jsx)(u.I,{placeholder:"Model (t\xf9y chọn)",value:r,onChange:e=>d(e.target.value)}),(0,s.jsx)(u.I,{placeholder:"Option (t\xf9y chọn, v\xed dụ --gate)",value:m,onChange:e=>h(e.target.value)}),(0,s.jsx)("div",{className:"rounded-panel border border-border-input bg-bg-code p-2",children:(0,s.jsx)("code",{className:"select-all text-sm text-text-body",children:b})}),g&&(0,s.jsx)("p",{className:"text-xs text-warning",children:"Clipboard bị chặn — đ\xe3 chọn sẵn văn bản, nhấn ⌘C / Ctrl+C để copy."}),x&&(0,s.jsx)("p",{className:"text-xs text-success",children:"Đ\xe3 copy v\xe0o clipboard."})]}),(0,s.jsxs)(o.cN,{children:[(0,s.jsx)(c.z,{variant:"outline",onClick:n,children:"Đ\xf3ng"}),(0,s.jsx)(c.z,{onClick:j,children:"Copy"})]})]})}function eA(e){let t=new Date().toISOString();return{id:crypto.randomUUID(),kind:e,name:"",description:"",body:"",meta:{version:"draft",status:"draft",createdAt:t,updatedAt:t}}}function ez(e){let{project:t}=e,[n,i]=(0,a.useState)("list"),[r,d]=(0,a.useState)(null),[o,u]=(0,a.useState)(!1),[m,h]=(0,a.useState)(null),x=(0,l.n)(e=>e.daemonConnected),p=(0,l.n)(e=>e.deleteArtifact),g=(0,l.n)(e=>e.showToast),[f,b]=(0,a.useState)(null),[j,v]=(0,a.useState)(null),[y,C]=(0,a.useState)(null),[S,I]=(0,a.useState)(null),[A,z]=(0,a.useState)(null),T=t.artifacts.filter(e=>"agent"===e.kind),P=t.artifacts.filter(e=>"command"===e.kind),E=0===t.artifacts.length;function M(e){v(e),I(null),z(null)}function F(){v(null)}async function D(e){C(e.id),I(null),z(null);try{await p(e.id),v(null),g("Đ\xe3 xo\xe1.","success")}catch(n){let t=n instanceof Error?n.message:"Xo\xe1 thất bại — kh\xf4ng r\xf5 l\xfd do.";I(e.id),z(t)}finally{C(null)}}return(0,s.jsxs)("div",{className:"flex h-full flex-col",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between border-b border-border-hairline px-8 py-5",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-[23px] font-bold tracking-[-.02em] text-text-strong",children:t.name}),(0,s.jsx)("p",{className:"font-mono text-[12.5px] text-text-faint",children:t.path})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(c.z,{variant:"outline",size:"sm",onClick:()=>i("list"===n?"graph":"list"),children:"list"===n?"Sơ đồ":"Danh s\xe1ch"}),(0,s.jsx)(c.z,{size:"sm",disabled:!x,onClick:()=>u(!0),children:"Xuất bản ▸"})]})]}),(0,s.jsx)("div",{className:"mx-auto w-full max-w-[1000px] flex-1 overflow-y-auto px-8 py-8",children:E?(0,s.jsxs)("div",{className:"flex h-full items-center justify-center gap-2",children:[(0,s.jsx)(c.z,{onClick:()=>d(eA("agent")),children:"+ Th\xeam agent"}),(0,s.jsx)(c.z,{onClick:()=>d(eA("command")),children:"+ Th\xeam workflow"})]}):"graph"===n?(0,s.jsx)(eb,{artifacts:t.artifacts}):(0,s.jsxs)("div",{className:"space-y-8",children:[(0,s.jsxs)("section",{children:[(0,s.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,s.jsxs)("h2",{className:"text-[10.5px] font-bold uppercase tracking-[.09em] text-text-faint",children:["Workflows / Commands (",P.length,")"]}),(0,s.jsx)(c.z,{size:"sm",variant:"outline",onClick:()=>d(eA("command")),children:"+ Th\xeam workflow"})]}),(0,s.jsx)("ul",{className:"space-y-2",children:P.map(e=>(0,s.jsxs)("li",{className:"rounded-panel border border-border-hairline bg-bg-panel px-4 py-3 text-sm",children:[j===e.id?(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-text-body",children:["X\xe1c nhận xo\xe1 /",e.name,"?"]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(c.z,{size:"sm",variant:"outline",onClick:F,children:"Hủy"}),(0,s.jsx)(c.z,{size:"sm",variant:"destructive",disabled:y===e.id,onClick:()=>D(e),children:y===e.id?"Đang xo\xe1…":"Xo\xe1"})]})]}):(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsxs)("button",{className:"min-w-0 flex-1 text-left",onClick:()=>d(e),children:[(0,s.jsxs)("span",{className:"draft"===e.meta.status?"text-command":"text-command-hi",children:["draft"===e.meta.status?"○":"●"," /",e.name]})," ",(0,s.jsx)("span",{className:"text-text-muted",children:e.description}),"draft"===e.meta.status&&(0,s.jsx)(N,{variant:"draft",className:"ml-2",children:"draft"})]}),(0,s.jsx)(k,{open:f===e.id,onOpenChange:t=>b(t?e.id:null),items:[{label:"Edit",onSelect:()=>d(e)},{label:"Copy run command",onSelect:()=>h(e)},w,{label:"Delete",danger:!0,disabled:!x,onSelect:()=>M(e.id)}]})]}),S===e.id&&A&&(0,s.jsxs)("p",{className:"mt-2 text-xs text-danger",children:["✗ Xo\xe1 thất bại: ",A]})]},e.id))})]}),(0,s.jsxs)("section",{children:[(0,s.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,s.jsxs)("h2",{className:"text-[10.5px] font-bold uppercase tracking-[.09em] text-text-faint",children:["Agents (",T.length,")"]}),(0,s.jsx)(c.z,{size:"sm",variant:"outline",onClick:()=>d(eA("agent")),children:"+ Th\xeam agent"})]}),(0,s.jsx)("ul",{className:"space-y-2",children:T.map(e=>{var t;return(0,s.jsxs)("li",{className:"rounded-panel border border-border-hairline bg-bg-panel px-4 py-3 text-sm",children:[j===e.id?(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-text-body",children:["X\xe1c nhận xo\xe1 ",e.name,"?"]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(c.z,{size:"sm",variant:"outline",onClick:F,children:"Hủy"}),(0,s.jsx)(c.z,{size:"sm",variant:"destructive",disabled:y===e.id,onClick:()=>D(e),children:y===e.id?"Đang xo\xe1…":"Xo\xe1"})]})]}):(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsxs)("button",{className:"min-w-0 flex-1 text-left",onClick:()=>d(e),children:[(0,s.jsxs)("span",{className:"draft"===e.meta.status?"text-agent":"text-agent-hi",children:["draft"===e.meta.status?"○":"●"," ",e.name]})," ",(0,s.jsx)("span",{className:"text-text-muted",children:(null!==(t=e.tools)&&void 0!==t?t:[]).join(", ")}),"draft"===e.meta.status&&(0,s.jsx)(N,{variant:"draft",className:"ml-2",children:"draft"})]}),(0,s.jsx)(k,{open:f===e.id,onOpenChange:t=>b(t?e.id:null),items:[{label:"Edit",onSelect:()=>d(e)},w,{label:"Delete",danger:!0,disabled:!x,onSelect:()=>M(e.id)}]})]}),S===e.id&&A&&(0,s.jsxs)("p",{className:"mt-2 text-xs text-danger",children:["✗ Xo\xe1 thất bại: ",A]})]},e.id)})})]})]})}),r&&(0,s.jsx)(em,{artifact:r,allArtifacts:t.artifacts,onClose:()=>d(null)}),o&&(0,s.jsx)(eS,{project:t,onClose:()=>u(!1)}),m&&(0,s.jsx)(eI,{command:m,onClose:()=>h(null)})]})}var eT=n(9912);function eP(){let e=(0,l.n)(e=>e.projects),t=(0,l.n)(e=>e.currentProject),n=(0,l.n)(e=>e.loadProjects),c=(0,l.n)(e=>e.loadProject),o=(0,l.n)(e=>e.startHeartbeat),[u,m]=(0,a.useState)(!1),[h,x]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=new URLSearchParams(window.location.search),t=e.get("t"),s=Number(window.location.port)||12802;t&&(0,i.xU)(t,s),n().catch(()=>{l.n.getState().setDaemonConnected(!1)});let a=e.get("openProject"),r="1"===e.get("createProject");if(a&&c(a).catch(()=>{}),r&&m(!0),t||a||r){let e=new URL(window.location.href);e.searchParams.delete("t"),e.searchParams.delete("openProject"),e.searchParams.delete("createProject"),window.history.replaceState(null,"",e.pathname+("?"!==e.search?e.search:"")+e.hash)}},[n,c]),(0,a.useEffect)(()=>o(),[o]),(0,s.jsxs)("div",{className:"flex h-screen bg-bg-app text-text-body",children:[(0,s.jsx)(r.r,{onCreateProject:()=>m(!0),onSelectProject:e=>c(e)}),(0,s.jsx)("main",{className:"flex-1 overflow-auto",children:t?(0,s.jsx)(ez,{project:t}):0===e.length?(0,s.jsx)(d,{onCreateProject:()=>m(!0),onImport:()=>x(!0)}):(0,s.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-text-muted",children:"Chọn một dự \xe1n ở thanh b\xean."})}),(0,s.jsx)(j,{open:u,onClose:()=>m(!1)}),h&&(0,s.jsx)(v,{onClose:()=>x(!1)}),(0,s.jsx)(eT.x,{})]})}},9324:function(e,t,n){"use strict";n.d(t,{$N:function(){return c},Vq:function(){return i},cN:function(){return d},fK:function(){return r}});var s=n(7573),a=n(7653),l=n(9147);function i(e){let{open:t,onClose:n,children:i,className:r}=e;return(a.useEffect(()=>{if(!t)return;let e=e=>{"Escape"===e.key&&n()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t,n]),t)?(0,s.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center animate-fadeIn bg-black/50",onClick:n,children:(0,s.jsx)("div",{className:(0,l.cn)("animate-popIn rounded-dialog border border-border-hairline bg-bg-panel p-6 text-text-body shadow-dialog",r),onClick:e=>e.stopPropagation(),children:i})}):null}function r(e){let{children:t}=e;return(0,s.jsx)("div",{className:"mb-4 flex items-center justify-between",children:t})}function c(e){let{children:t}=e;return(0,s.jsx)("h2",{className:"text-[15px] font-bold text-text-strong",children:t})}function d(e){let{children:t}=e;return(0,s.jsx)("div",{className:"mt-6 flex justify-end gap-2",children:t})}},5726:function(e,t,n){"use strict";n.d(t,{CW:function(){return i},ET:function(){return a},Xu:function(){return r}});var s=n(3175);function a(e){var t;let n=[];for(let s of(void 0!==e.name&&n.push("name: ".concat(e.name)),n.push("description: ".concat(e.description)),e.tools&&e.tools.length>0&&n.push("tools: ".concat(e.tools.join(", "))),null!==(t=e.customFields)&&void 0!==t?t:[]))n.push("".concat(s.key,": ").concat(s.value));return n.join("\n")}let l=new Set(["name","description","tools"]);function i(e){let t,n;let a=(0,s.Qc)(e);if(null===a||"object"!=typeof a||Array.isArray(a))throw Error("Frontmatter phải l\xe0 một YAML object.");let i=a.description;if("string"!=typeof i)throw Error("Frontmatter thiếu key `description` (string).");if(void 0!==a.name){if("string"!=typeof a.name)throw Error("`name` phải l\xe0 string.");t=a.name}if(void 0!==a.tools){let e=a.tools;if("string"==typeof e)n=e.split(",").map(e=>e.trim()).filter(e=>e.length>0);else if(Array.isArray(e))n=e.map(e=>String(e));else throw Error("`tools` phải l\xe0 CSV string hoặc array.")}let r=[];for(let t of function(e){let t=[];for(let n of e.split("\n")){let e=/^([A-Za-z0-9_-]+):/.exec(n);e&&t.push(e[1])}return t}(e)){if(l.has(t))continue;let e=a[t];void 0!==e&&r.push({key:t,value:String(e)})}return{name:t,description:i,tools:n,customFields:r}}function r(e){return"agent"===e.kind?{name:e.name,description:e.description,tools:e.tools,customFields:e.customFields}:{description:e.description,customFields:e.customFields}}}},function(e){e.O(0,[901,906,153,990,426,656,777,293,528,744],function(){return e(e.s=5424)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[938],{4117:function(e,t,n){Promise.resolve().then(n.bind(n,2137))},2137:function(e,t,n){"use strict";n.d(t,{SettingsShell:function(){return b}});var a=n(7573),i=n(7653),s=n(1695),c=n(9054),r=n(6584),l=n(2703),d=n(9912),o=n(5721),h=n(2389);let u=(0,h.Z)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),m=(0,h.Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);var x=n(466),g=n(9134);let p={"not-configured":"Chưa cấu h\xecnh API key.",auth:"Sai hoặc thiếu API key.","rate-limit":"Bị giới hạn tần suất gọi.",timeout:"Qu\xe1 thời gian chờ.",network:"Lỗi mạng.","invalid-response":"Phản hồi kh\xf4ng hợp lệ từ nh\xe0 cung cấp."};function f(){let e=(0,r.n)(e=>e.daemonConnected),[t,n]=(0,i.useState)(null),[s,l]=(0,i.useState)(null);function d(){(0,c.gG)("listProviders",{}).then(e=>{n(e.providers),l(null)}).catch(()=>{l("Kh\xf4ng thể tải danh s\xe1ch nh\xe0 cung cấp AI.")})}return((0,i.useEffect)(()=>{e&&d()},[e]),e)?s?(0,a.jsx)("p",{className:"text-sm text-destructive",children:s}):t?(0,a.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:t.map(e=>"local"===e.kind?(0,a.jsx)(j,{provider:e,onChanged:d},e.id):(0,a.jsx)(k,{provider:e,onChanged:d},e.id))}):(0,a.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,a.jsx)(o.Z,{className:"h-4 w-4 animate-spin"})," Đang tải…"]}):(0,a.jsxs)("p",{className:"flex items-center gap-2 text-sm text-destructive",children:[(0,a.jsx)("span",{"aria-hidden":!0,children:"⚠"}),"Mất kết nối tới Symbion daemon — kh\xf4ng thể quản l\xfd nh\xe0 cung cấp AI l\xfac n\xe0y."]})}function v(e){let{children:t,active:n}=e;return(0,a.jsx)("div",{className:"space-y-3 rounded-lg border p-4 text-sm ".concat(n?"border-primary":"border-border"),children:t})}function y(e){let{state:t,errorCode:n}=e;if("idle"===t)return null;let i="checking"===t?"Đang kiểm tra…":"connected"===t?"Đ\xe3 kết nối":n&&p[n]||"Chưa kết nối";return(0,a.jsxs)("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:["checking"===t?(0,a.jsx)("span",{"aria-hidden":!0,children:"◐"}):(0,a.jsx)("span",{"aria-hidden":!0,className:"checking"===t?"":"connected"===t?"text-green-600":"text-amber-500",children:"●"}),i]})}function j(e){let{provider:t,onChanged:n}=e,[s,r]=(0,i.useState)("idle"),[l,d]=(0,i.useState)(void 0),[h,g]=(0,i.useState)(null),[p,f]=(0,i.useState)(null),[j,k]=(0,i.useState)(!1);async function b(){r("checking");try{var e;let t=await (0,c.gG)("checkProviderStatus",{providerId:"ollama"});g(null!==(e=t.install)&&void 0!==e?e:null),d(t.errorCode),r(t.reachable?"connected":"disconnected")}catch(e){r("disconnected")}}async function N(){k(!0);try{await (0,c.gG)("setActiveProvider",{providerId:"ollama"}),n()}catch(e){}finally{k(!1)}}async function w(e,t){try{await navigator.clipboard.writeText(e),f(t),setTimeout(()=>f(e=>e===t?null:e),1500)}catch(e){}}return(0,a.jsxs)(v,{active:t.active,children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h3",{className:"font-medium",children:"Ollama (cục bộ)"}),(0,a.jsx)(y,{state:s,errorCode:l})]}),(0,a.jsx)("p",{className:"text-muted-foreground",children:"Ollama l\xe0 phần mềm chạy m\xf4 h\xecnh AI ngay tr\xean m\xe1y của bạn — Symbion d\xf9ng n\xf3 để tạo nội dung gợi \xfd (Tạo nội dung). Kh\xf4ng cần API key."}),h&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("p",{className:"mb-1 text-xs text-muted-foreground",children:["C\xe0i & chạy tr\xean m\xe1y của bạn",h.confident?" (ph\xe1t hiện: ".concat(h.env.label,")"):" — kh\xf4ng chắc về hệ điều h\xe0nh, vui l\xf2ng chọn đ\xfang b\xean dưới:"]}),(0,a.jsx)("div",{className:"space-y-2",children:h.variants.map(e=>(0,a.jsxs)("div",{className:"space-y-1",children:[!h.confident&&(0,a.jsx)("p",{className:"text-xs font-medium",children:e.label}),(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)("pre",{className:"flex-1 overflow-x-auto rounded-md border border-border bg-muted p-2 text-xs",children:(0,a.jsx)("code",{children:e.command})}),(0,a.jsx)(x.z,{type:"button",variant:"ghost",size:"sm","aria-label":"Sao ch\xe9p lệnh",onClick:()=>w(e.command,e.label),children:p===e.label?(0,a.jsx)(u,{className:"h-4 w-4"}):(0,a.jsx)(m,{className:"h-4 w-4"})})]})]},e.label))})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(x.z,{type:"button",variant:"outline",size:"sm",onClick:()=>void b(),disabled:"checking"===s,children:"checking"===s?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(o.Z,{className:"h-4 w-4 animate-spin"})," Đang kiểm tra…"]}):"Kiểm tra kết nối"}),(0,a.jsx)(x.z,{type:"button",size:"sm",onClick:()=>void N(),disabled:j||t.active,children:t.active?"Đang hoạt động":"Đặt l\xe0m mặc định"})]}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:'Symbion chỉ kiểm tra Ollama khi bạn bấm "Kiểm tra kết nối" — kh\xf4ng kiểm tra định kỳ.'})]})}function k(e){let{provider:t,onChanged:n}=e,[s,r]=(0,i.useState)(""),[l,d]=(0,i.useState)("idle"),[h,u]=(0,i.useState)(void 0),[m,p]=(0,i.useState)(!1),[f,j]=(0,i.useState)(!1),[k,b]=(0,i.useState)(!1),[N,w]=(0,i.useState)(null);async function C(){if(""!==s.trim()){p(!0),w(null);try{await (0,c.gG)("saveProviderKey",{providerId:t.id,apiKey:s}),r(""),n()}catch(e){w(e instanceof c.OH?e.message:"Kh\xf4ng thể lưu API key.")}finally{p(!1)}}}async function S(){j(!0),w(null);try{await (0,c.gG)("clearProviderKey",{providerId:t.id}),n()}catch(e){w(e instanceof c.OH?e.message:"Kh\xf4ng thể xo\xe1 API key.")}finally{j(!1)}}async function P(){b(!0),w(null);try{await (0,c.gG)("setActiveProvider",{providerId:t.id}),n()}catch(e){w(e instanceof c.OH?e.message:"Kh\xf4ng thể đặt l\xe0m mặc định.")}finally{b(!1)}}async function I(){d("checking"),u(void 0);try{let e=await (0,c.gG)("checkProviderStatus",{providerId:t.id});u(e.errorCode),d(e.reachable?"connected":"disconnected")}catch(e){d("disconnected")}}return(0,a.jsxs)(v,{active:t.active,children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h3",{className:"font-medium",children:t.label}),(0,a.jsx)(y,{state:l,errorCode:h})]}),t.configured?(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:["API key: ",(0,a.jsx)("code",{children:t.maskedKey}),t.model?" \xb7 m\xf4 h\xecnh: ".concat(t.model):""]}):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Chưa cấu h\xecnh API key."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(g.I,{type:"password",placeholder:t.configured?"Nhập key mới để thay thế…":"Nhập API key…",value:s,onChange:e=>r(e.target.value),disabled:m}),(0,a.jsx)(x.z,{type:"button",size:"sm",onClick:()=>void C(),disabled:m||""===s.trim(),children:m?(0,a.jsx)(o.Z,{className:"h-4 w-4 animate-spin"}):"Lưu"})]}),N&&(0,a.jsx)("p",{className:"text-xs text-destructive",children:N}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)(x.z,{type:"button",variant:"outline",size:"sm",onClick:()=>void I(),disabled:"checking"===l||!t.configured,children:"checking"===l?(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(o.Z,{className:"h-4 w-4 animate-spin"})," Đang kiểm tra…"]}):"Kiểm tra kết nối"}),(0,a.jsx)(x.z,{type:"button",size:"sm",onClick:()=>void P(),disabled:k||!t.configured||t.active,children:t.active?"Đang hoạt động":"Đặt l\xe0m mặc định"}),(0,a.jsx)(x.z,{type:"button",variant:"ghost",size:"sm",onClick:()=>void S(),disabled:f||!t.configured,children:"Xo\xe1 key"})]})]})}function b(){let e=(0,s.useRouter)(),t=(0,r.n)(e=>e.startHeartbeat);return(0,i.useEffect)(()=>{let e=new URLSearchParams(window.location.search).get("t"),t=Number(window.location.port)||12802;if(e){(0,c.xU)(e,t);let n=new URL(window.location.href);n.searchParams.delete("t"),window.history.replaceState(null,"",n.pathname+("?"!==n.search?n.search:"")+n.hash)}},[]),(0,i.useEffect)(()=>t(),[t]),(0,a.jsxs)("div",{className:"flex h-screen bg-bg-app text-text-body",children:[(0,a.jsx)(l.r,{onCreateProject:()=>e.push("/?createProject=1"),onSelectProject:t=>e.push("/?openProject=".concat(encodeURIComponent(t)))}),(0,a.jsxs)("main",{className:"flex-1 overflow-auto p-6",children:[(0,a.jsx)("h1",{className:"mb-4 text-lg font-semibold text-text-strong",children:"Nh\xe0 cung cấp AI"}),(0,a.jsx)(f,{})]}),(0,a.jsx)(d.x,{})]})}},2389:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var a=n(7653);let i=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),s=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((e,t,n)=>!!e&&n.indexOf(e)===t).join(" ")};var c={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 r=(0,a.forwardRef)((e,t)=>{let{color:n="currentColor",size:i=24,strokeWidth:r=2,absoluteStrokeWidth:l,className:d="",children:o,iconNode:h,...u}=e;return(0,a.createElement)("svg",{ref:t,...c,width:i,height:i,stroke:n,strokeWidth:l?24*Number(r)/Number(i):r,className:s("lucide",d),...u},[...h.map(e=>{let[t,n]=e;return(0,a.createElement)(t,n)}),...Array.isArray(o)?o:[o]])}),l=(e,t)=>{let n=(0,a.forwardRef)((n,c)=>{let{className:l,...d}=n;return(0,a.createElement)(r,{ref:c,iconNode:t,className:s("lucide-".concat(i(e)),l),...d})});return n.displayName="".concat(e),n}},5721:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});let a=(0,n(2389).Z)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])}},function(e){e.O(0,[990,777,293,528,744],function(){return e(e.s=4117)}),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[0],{5157:function(e,n,t){Promise.resolve().then(t.bind(t,3097))},3097:function(e,n,t){"use strict";t.d(n,{TemplatesView:function(){return ek}});var r={};t.r(r),t.d(r,{id:function(){return Y},raw:function(){return V}});var i={};t.r(i),t.d(i,{id:function(){return X},raw:function(){return Q}});var a={};t.r(a),t.d(a,{id:function(){return Z},raw:function(){return J}});var s={};t.r(s),t.d(s,{id:function(){return ee},raw:function(){return en}});var o={};t.r(o),t.d(o,{id:function(){return et},raw:function(){return er}});var c={};t.r(c),t.d(c,{id:function(){return ei},raw:function(){return ea}});var l={};t.r(l),t.d(l,{id:function(){return es},raw:function(){return eo}});var d={};t.r(d),t.d(d,{id:function(){return ec},raw:function(){return el}});var u={};t.r(u),t.d(u,{id:function(){return ed},raw:function(){return eu}});var h={};t.r(h),t.d(h,{id:function(){return eh},raw:function(){return em}});var m={};t.r(m),t.d(m,{id:function(){return ep},raw:function(){return eg}});var p={};t.r(p),t.d(p,{id:function(){return ef},raw:function(){return ex}});var g=t(7573),f=t(7653),x=t(1695);let b=[{id:"symbion",displayName:"Symbion",kind:"bundled"},{id:"ecc",displayName:"ECC",kind:"github",owner:"affaan-m",repo:"ecc",ref:"main",repoLabel:"affaan-m/ecc",folders:[{bucket:"agent",path:"agents",filePattern:"*.md"},{bucket:"command",path:"commands",filePattern:"*.md"},{bucket:"skill",path:"skills",filePattern:"*/SKILL.md"}]}];var v=t(9054),y=t(6584),k=t(2703),j=t(9912),w=t(9147);function N(e){let{authors:n,selectedId:t,onSelect:r}=e;return(0,g.jsx)("div",{className:"flex gap-4 border-b border-border",role:"tablist","aria-label":"T\xe1c giả mẫu",children:n.map(e=>{let n=e.id===t;return(0,g.jsx)("button",{role:"tab","aria-selected":n,onClick:()=>r(e.id),className:(0,w.cn)("-mb-px border-b-2 px-1 pb-2 text-sm font-medium transition-colors",n?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:e.label},e.id)})})}function C(e){let{authorLabel:n,repoIdentifier:t}=e;return(0,g.jsxs)("div",{className:"flex flex-col items-center gap-1 py-12 text-center",children:[(0,g.jsxs)("p",{className:"text-sm text-muted-foreground",children:["⟳ Đang tải mẫu từ ",n,"…"]}),t&&(0,g.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Đang lấy nội dung trực tiếp từ ",t]})]})}var S=t(466);let P={network:"⚠ Kh\xf4ng thể tải mẫu","rate-limit":"⚠ Đ\xe3 vượt giới hạn GitHub API","not-found":"⚠ Kh\xf4ng thể tải mẫu"};function R(e){let{kind:n,message:t,resetAt:r,onRetry:i}=e;return(0,g.jsxs)("div",{className:"flex flex-col items-center gap-3 py-10 text-center",children:[(0,g.jsx)("p",{className:"text-sm font-medium",children:P[n]}),(0,g.jsx)("p",{className:"max-w-md text-xs text-muted-foreground",children:t}),"rate-limit"===n&&void 0!==r&&(0,g.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Giới hạn sẽ được l\xe0m mới l\xfac ",function(e){let n=new Date(e),t=String(n.getHours()).padStart(2,"0"),r=String(n.getMinutes()).padStart(2,"0"),i=Math.max(0,Math.round((e-Date.now())/6e4));return"".concat(t,":").concat(r," (c\xf2n khoảng ").concat(i," ph\xfat)")}(r),"."]}),(0,g.jsx)(S.z,{variant:"outline",onClick:i,children:"Thử lại"}),"rate-limit"===n&&(0,g.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"C\xf3 thể vẫn bị giới hạn cho đến giờ l\xe0m mới ở tr\xean."}),(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:'ℹ Tab "Symbion" vẫn hoạt động b\xecnh thường, kh\xf4ng cần mạng.'})]})}function I(e){let{items:n}=e,[t,r]=(0,f.useState)(n.length<=3);return 0===n.length?null:(0,g.jsxs)("div",{className:"text-xs text-amber-600",children:[(0,g.jsxs)("div",{className:"flex items-center gap-2",children:[(0,g.jsxs)("span",{children:["⚠ ",n.length," mẫu kh\xf4ng tải được → đ\xe3 bỏ qua"]}),n.length>3&&(0,g.jsx)("button",{onClick:()=>r(e=>!e),className:"underline hover:text-foreground",children:t?"Ẩn chi tiết":"Xem chi tiết"})]}),t&&(0,g.jsx)("ul",{className:"mt-1 space-y-0.5",children:n.map(e=>(0,g.jsxs)("li",{children:[e.relPath," (",e.reason,")"]},e.relPath))})]})}let A={agent:"Agent",command:"Command",skill:"Skill"};function E(e){let{item:n,onClick:t}=e;return(0,g.jsxs)("button",{onClick:t,className:"flex flex-col items-start gap-1 rounded-md border border-border p-3 text-left hover:bg-muted",children:[(0,g.jsxs)("div",{className:"flex w-full items-center justify-between gap-2",children:[(0,g.jsx)("span",{className:"truncate text-sm font-medium",children:"command"===n.kind?"/".concat(n.name):n.name}),(0,g.jsx)("span",{className:"shrink-0 rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:A[n.kind]})]}),(0,g.jsx)("p",{className:"line-clamp-2 text-xs text-muted-foreground",children:n.description})]})}function T(e){let{title:n,items:t,skipped:r,onSelect:i}=e;return(0,g.jsxs)("section",{className:"space-y-2",children:[(0,g.jsx)("h2",{className:"border-b border-border pb-1 text-sm font-semibold text-muted-foreground",children:n}),0===t.length?(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:"Chưa c\xf3 mẫu n\xe0o trong mục n\xe0y."}):(0,g.jsx)("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:t.map(e=>(0,g.jsx)(E,{item:e,onClick:()=>i(e)},e.id))}),r.map(e=>(0,g.jsxs)("p",{className:"text-xs text-amber-600",children:["⚠ ",e.relPath," kh\xf4ng tải được → bỏ qua (",e.reason,")"]},e.relPath))]})}var F=t(9324),G=t(1578),L=t(1332),D=t(4877),M=t(2130);function K(e){let{content:n,selectAllRef:t}=e,r=(0,f.useRef)(null);return t&&(t.current=()=>{var e;let n=null===(e=r.current)||void 0===e?void 0:e.view;n&&(n.dispatch({selection:{anchor:0,head:n.state.doc.length}}),n.focus())}),(0,g.jsx)(G.ZP,{ref:r,value:n,height:"360px",theme:"dark",extensions:[(0,L.JH)(),D.tk.editable.of(!1),M.yy.readOnly.of(!0)]})}var $=t(9134);function z(e){let{projects:n,selectedId:t,onSelect:r,search:i,onSearchChange:a,daemonConnected:s,onCreateProjectRequested:o}=e,c=(0,f.useMemo)(()=>{let e=i.trim().toLowerCase();return e?n.filter(n=>n.name.toLowerCase().includes(e)||n.path.toLowerCase().includes(e)):n},[n,i]);return 0===n.length?(0,g.jsxs)("div",{className:"flex flex-col items-center gap-3 py-6 text-center",children:[(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Chưa c\xf3 dự \xe1n n\xe0o — tạo dự \xe1n trước"}),(0,g.jsx)(S.z,{onClick:o,children:"+ Tạo dự \xe1n mới"})]}):(0,g.jsxs)("div",{className:"space-y-2",children:[!s&&(0,g.jsx)("p",{className:"text-xs font-medium text-destructive",children:"⚠ daemon mất kết nối — kh\xf4ng thể \xe1p dụng l\xfac n\xe0y. Đang thử kết nối lại…"}),(0,g.jsx)($.I,{placeholder:"\uD83D\uDD0D T\xecm dự \xe1n…",value:i,onChange:e=>a(e.target.value)}),(0,g.jsxs)("div",{className:"max-h-48 space-y-1 overflow-y-auto",children:[0===c.length&&(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:"Kh\xf4ng t\xecm thấy dự \xe1n ph\xf9 hợp."}),c.map(e=>(0,g.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded px-2 py-1.5 text-sm hover:bg-muted ".concat(t===e.id?"bg-muted":""," ").concat(s?"":"opacity-60"),children:[(0,g.jsx)("input",{type:"radio",name:"template-apply-project",checked:t===e.id,disabled:!s,onChange:()=>r(e.id)}),(0,g.jsx)("span",{className:"flex-1 truncate font-medium",children:e.name}),(0,g.jsx)("span",{className:"truncate text-xs text-muted-foreground",title:e.path,children:e.path})]},e.id))]}),(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:"Mẫu sẽ được lưu v\xe0o dự \xe1n đ\xe3 chọn ở dạng nh\xe1p (draft) — chưa ghi g\xec v\xe0o repo. Bạn vẫn cần Xuất bản sau để ghi ra đĩa."})]})}let U=f.forwardRef((e,n)=>{let{className:t,...r}=e;return(0,g.jsx)("input",{ref:n,type:"checkbox",className:(0,w.cn)("h-4 w-4 shrink-0 rounded-sm border border-border-input bg-bg-input accent-brand-accent outline-none focus-visible:ring-1 focus-visible:ring-brand-accent",t),...r})});function q(e){let{authorDisplayName:n,authorRepo:t,acknowledged:r,onAcknowledgedChange:i,onBack:a,onContinue:s}=e;return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("div",{className:"space-y-3",children:[(0,g.jsx)("p",{className:"text-sm font-medium text-amber-700",children:"⚠ Nội dung của t\xe1c giả kh\xe1c"}),(0,g.jsxs)("p",{className:"text-sm",children:["Mẫu n\xe0y thuộc về t\xe1c giả ",n," (",t,") — bạn tự chịu tr\xe1ch nhiệm về việc sử dụng lại nội dung n\xe0y."]}),(0,g.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Symbion chỉ hiển thị nội dung n\xe0y trực tiếp từ GitHub v\xe0 kh\xf4ng lưu trữ hay sở hữu nội dung của t\xe1c giả"," ",n,"."]}),(0,g.jsxs)("label",{className:"flex cursor-pointer items-start gap-2 text-sm",children:[(0,g.jsx)(U,{checked:r,onChange:e=>i(e.target.checked),className:"mt-0.5"}),(0,g.jsx)("span",{children:"T\xf4i đ\xe3 đọc v\xe0 đồng \xfd chịu tr\xe1ch nhiệm khi \xe1p dụng mẫu n\xe0y v\xe0o dự \xe1n của t\xf4i."})]}),(0,g.jsxs)("a",{href:"https://github.com/".concat(t),target:"_blank",rel:"noreferrer",className:"inline-block text-xs text-muted-foreground underline hover:text-foreground",children:["Xem repo gốc: github.com/",t," ↗"]})]}),(0,g.jsxs)("div",{className:"mt-6 flex justify-end gap-2",children:[(0,g.jsx)(S.z,{variant:"outline",onClick:a,children:"Quay lại"}),(0,g.jsx)(S.z,{disabled:!r,onClick:s,children:"Tiếp tục"})]})]})}function O(e){let{projectName:n,finalName:t,wasRenamed:r,onOpenProject:i,onClose:a}=e;return(0,g.jsxs)("div",{className:"space-y-3",children:[(0,g.jsx)("p",{className:"text-sm text-green-600",children:"✓ Đ\xe3 \xe1p dụng"}),r?(0,g.jsxs)("p",{className:"text-sm",children:['Đ\xe3 được th\xeam v\xe0o dự \xe1n "',n,'" với t\xean "',t,'" (đ\xe3 tr\xf9ng t\xean với mục c\xf3 sẵn, tự động đổi t\xean để kh\xf4ng ghi đ\xe8).']}):(0,g.jsxs)("p",{className:"text-sm",children:['"',t,'" đ\xe3 được th\xeam v\xe0o dự \xe1n "',n,'" ở dạng nh\xe1p.']}),(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:"Trạng th\xe1i: nh\xe1p (draft) — chưa ghi g\xec ra repo."}),(0,g.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,g.jsx)(S.z,{variant:"outline",onClick:a,children:"Đ\xf3ng"}),(0,g.jsx)(S.z,{onClick:i,children:"Mở dự \xe1n →"})]})]})}U.displayName="Checkbox";let W={agent:"Agent",command:"Command",skill:"Skill"};function H(e){var n;let{template:t,onClose:r}=e,[i,a]=(0,f.useState)("preview"),[s,o]=(0,f.useState)(!1),[c,l]=(0,f.useState)(!1),[d,u]=(0,f.useState)(null),[h,m]=(0,f.useState)(""),[p,b]=(0,f.useState)(!1),[v,k]=(0,f.useState)(null),[j,w]=(0,f.useState)(null),[N,C]=(0,f.useState)(!1),P=(0,f.useRef)(null),R=(0,x.useRouter)(),I="symbion"!==t.authorId;(0,f.useEffect)(()=>{C(!1)},[t.id]);let A=(0,y.n)(e=>e.projects),E=(0,y.n)(e=>e.daemonConnected),T=(0,y.n)(e=>e.loadProjects),G=(0,y.n)(e=>e.applyTemplate);async function L(){try{await navigator.clipboard.writeText(t.raw),o(!0),l(!1)}catch(n){var e;l(!0),o(!1),null===(e=P.current)||void 0===e||e.call(P)}}async function D(){if(d&&"skill"!==t.kind&&(!I||N)){b(!0),k(null);try{var e;let n=A.find(e=>e.id===d),r=await G({projectId:d,template:{sourceTemplateId:t.id,kind:t.kind,name:t.name,description:t.description,tools:t.tools,body:function(e){var n;let t=/^---\n[\s\S]*?\n---\n?([\s\S]*)$/.exec(e);return(t?null!==(n=t[1])&&void 0!==n?n:"":e).replace(/\n+$/,"").replace(/^\n+/,"")}(t.raw),authorId:t.authorId,acknowledgedThirdParty:I?N:void 0}});w({projectName:null!==(e=null==n?void 0:n.name)&&void 0!==e?e:"?",finalName:r.finalName,wasRenamed:r.wasRenamed}),a("result")}catch(e){k(e.message)}finally{b(!1)}}}return(0,f.useEffect)(()=>{0===A.length&&T().catch(()=>{y.n.getState().setDaemonConnected(!1)})},[]),(0,g.jsxs)(F.Vq,{open:!0,onClose:r,className:"w-[560px]",children:["preview"===i&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(F.fK,{children:(0,g.jsxs)("div",{children:[(0,g.jsxs)("div",{className:"flex items-center gap-2",children:[(0,g.jsx)(F.$N,{children:"command"===t.kind?"/".concat(t.name):t.name}),(0,g.jsx)("span",{className:"rounded bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground",children:W[t.kind]})]}),(0,g.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:t.description}),I&&(0,g.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["Nguồn: ",t.authorDisplayName,t.authorRepoLabel?" (".concat(t.authorRepoLabel,")"):""," ",t.authorRepoLabel&&(0,g.jsx)("a",{href:"https://github.com/".concat(t.authorRepoLabel),target:"_blank",rel:"noreferrer",className:"underline hover:text-foreground",children:"↗"})]})]})}),(0,g.jsxs)("div",{className:"space-y-2",children:[(0,g.jsx)(K,{content:t.raw,selectAllRef:P}),"skill"===t.kind&&(0,g.jsx)("p",{className:"text-xs text-muted-foreground",children:"ℹ Skills chưa hỗ trợ \xc1p dụng — coming soon. Bạn vẫn c\xf3 thể copy markdown v\xe0 d\xe1n thủ c\xf4ng v\xe0o .claude/skills/."}),c&&(0,g.jsx)("p",{className:"text-xs text-amber-600",children:"⚠ Kh\xf4ng thể truy cập clipboard — đ\xe3 chọn sẵn văn bản ph\xeda tr\xean, d\xf9ng Ctrl+C / ⌘C để copy thủ c\xf4ng."}),s&&(0,g.jsx)("p",{className:"text-xs text-green-600",children:"Đ\xe3 copy v\xe0o clipboard."})]}),(0,g.jsxs)(F.cN,{children:[(0,g.jsx)(S.z,{variant:"outline",onClick:r,children:"Đ\xf3ng"}),(0,g.jsx)(S.z,{variant:"outline",onClick:L,children:"Copy markdown"}),(0,g.jsx)(S.z,{onClick:function(){k(null),a(I?"license":"apply")},disabled:"skill"===t.kind,children:"\xc1p dụng"})]})]}),"license"===i&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(F.fK,{children:(0,g.jsxs)(F.$N,{children:['\xc1p dụng "',t.name,'"']})}),(0,g.jsx)(q,{authorDisplayName:t.authorDisplayName,authorRepo:null!==(n=t.authorRepoLabel)&&void 0!==n?n:t.authorDisplayName,acknowledged:N,onAcknowledgedChange:C,onBack:()=>a("preview"),onContinue:function(){a("apply")}})]}),"apply"===i&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(F.fK,{children:(0,g.jsxs)(F.$N,{children:['\xc1p dụng "',t.name,'" v\xe0o dự \xe1n n\xe0o?']})}),(0,g.jsx)(z,{projects:A,selectedId:d,onSelect:u,search:h,onSearchChange:m,daemonConnected:E,onCreateProjectRequested:function(){R.push("/?createProject=1")}}),v&&(0,g.jsx)("p",{className:"mt-2 text-xs text-destructive",children:v}),(0,g.jsxs)(F.cN,{children:[(0,g.jsx)(S.z,{variant:"outline",onClick:()=>a(I?"license":"preview"),children:"Quay lại"}),A.length>0&&(0,g.jsx)(S.z,{disabled:!d||!E||p||I&&!N,onClick:D,children:p?"Đang \xe1p dụng…":"X\xe1c nhận \xe1p dụng"})]})]}),"result"===i&&j&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(F.fK,{children:(0,g.jsx)(F.$N,{children:"Kết quả"})}),(0,g.jsx)(O,{projectName:j.projectName,finalName:j.finalName,wasRenamed:j.wasRenamed,onOpenProject:function(){d&&R.push("/?openProject=".concat(encodeURIComponent(d)))},onClose:r})]})]})}var _=t(5726);let B=/^---\n([\s\S]*?)\n---\n?([\s\S]*)$/,Y="agent:code-reviewer",V="---\nname: code-reviewer\ndescription: R\xe0 so\xe1t code, gắn nh\xe3n rủi ro bảo mật & style trước khi merge.\ntools: Read, Grep, Glob\n---\n\nYou are a meticulous, independent code reviewer. You review a diff or a set\nof changed files — never the whole repo from scratch unless explicitly asked.\n\nFor every review pass:\n1. Read the changed files and the surrounding context needed to understand intent.\n2. Flag concrete security risks first (injection, secrets in code, unsafe\n deserialization, path traversal, missing auth checks) — never invent risk\n that isn't actually present in the diff.\n3. Flag correctness issues second (off-by-one, unhandled error paths, race\n conditions, silent failure).\n4. Flag style/consistency issues last, and only if they're not purely\n subjective — match the existing codebase's conventions rather than your\n own preference.\n\nOutput format: a short list of findings, each tagged `[security]`,\n`[bug]`, or `[style]`, with the file + line reference and a one-sentence\nfix suggestion. If you find nothing blocking, say so explicitly — do not\nmanufacture nitpicks to seem useful.\n",X="agent:test-coverage-auditor",Q='---\nname: test-coverage-auditor\ndescription: Đối chiếu code thay đổi với test hiện c\xf3, chỉ ra phần thiếu coverage.\ntools: Read, Grep, Glob, Bash\n---\n\nYou audit test coverage for a recently changed module or feature — you do\nnot write production code, and you do not rewrite tests wholesale unless asked.\n\nProcess:\n1. Identify every public function/branch touched by the diff.\n2. Search the existing test suite for assertions that actually exercise each\n one (not just "a test file with a similar name exists" — read the test\n body).\n3. Produce a short table: function/branch -> covered? (yes/no/partial) ->\n one-line reason.\n4. For anything marked "no" or "partial", suggest the smallest test case\n that would close the gap — name, one assertion, nothing speculative.\n\nNever claim coverage exists without having actually read the assertion that\nproves it. If the test runner/coverage tool is available, prefer running it\nover guessing.\n',Z="agent:dependency-upgrade-scout",J='---\nname: dependency-upgrade-scout\ndescription: Khảo s\xe1t c\xe1c dependency lỗi thời/c\xf3 lỗ hổng, đề xuất kế hoạch n\xe2ng cấp an to\xe0n.\ntools: Read, Grep, Bash\n---\n\nYou scout the project\'s dependency manifest (package.json, requirements.txt,\ngo.mod, etc. — whichever is present) for outdated or known-vulnerable\npackages, and propose a safe, incremental upgrade plan. You do not run the\nupgrades yourself.\n\nFor each flagged dependency:\n- Current version vs. latest stable version.\n- Whether the jump is a patch/minor/major bump (major bumps get an explicit\n "review breaking changes" note).\n- Any known CVE you\'re aware of, stated plainly — never invent a CVE number.\n\nGroup findings into "safe to bump now" vs. "needs review before bumping",\nand order the plan so low-risk bumps come first. Stop and ask before\nsuggesting anything that touches a security-critical package\'s major version.\n',ee="agent:onboarding-doc-writer",en='---\nname: onboarding-doc-writer\ndescription: Đọc codebase v\xe0 viết t\xe0i liệu onboarding ngắn gọn cho dev mới.\ntools: Read, Grep, Glob\n---\n\nYou write a short onboarding document for a developer joining this project\nfor the first time. You read the codebase structure, not just the README.\n\nCover, in this order:\n1. What the project does, in 2-3 plain sentences (no jargon dump).\n2. How to get a local dev environment running — exact commands, in order.\n3. The 3-5 most important directories/files to understand first, with a\n one-line "why this matters" for each.\n4. Where tests live and how to run them.\n5. One concrete "first good task" pattern (e.g. "fix a lint warning", "add a\n test for X") to build confidence before touching core logic.\n\nKeep the whole document short enough to read in under 5 minutes. Prefer\nlinking to existing docs over duplicating their content.\n',et="command:test-writer",er="---\ndescription: Sinh test case cho h\xe0m/module vừa thay đổi trong working tree.\n---\n\nLook at the currently staged/unstaged diff (or $ARGUMENTS if a specific\nfile/function is named). For each new or changed function:\n\n1. Identify the inputs, outputs, and edge cases (empty input, boundary\n values, error paths) actually reachable by that function's signature.\n2. Write test cases using the project's existing test framework and\n conventions (match file naming, assertion style, and fixture patterns\n already present elsewhere in the repo — do not introduce a new framework).\n3. Skip generating a test for trivial pass-through code (e.g. a one-line\n getter) — note that you skipped it and why, instead of padding coverage.\n4. Run the new tests if a test runner is available; report pass/fail, not\n just \"tests written.\"\n\nRequest: $ARGUMENTS\n",ei="command:release-notes",ea='---\ndescription: Tổng hợp release notes từ commit log kể từ tag gần nhất.\n---\n\nGenerate release notes for everything committed since the most recent git\ntag (or since $ARGUMENTS if a specific ref/range is given).\n\n1. List commits in that range, grouped by type if conventional-commit\n prefixes are used (feat/fix/docs/chore/etc.); otherwise group by the\n directory most affected.\n2. Write one short, user-facing bullet per meaningful change — skip\n "chore:"/formatting-only commits unless they fix a user-visible bug.\n3. Call out any breaking change explicitly under its own "Breaking changes"\n heading, even if there\'s only one.\n4. End with the commit range and tag name used, so the output is\n reproducible/auditable.\n\nRange/ref: $ARGUMENTS\n',es="command:changelog-entry",eo='---\ndescription: Soạn một mục CHANGELOG.md cho thay đổi hiện tại theo Keep a Changelog.\n---\n\nDraft a single CHANGELOG.md entry for the current change ($ARGUMENTS may\ndescribe the change if the diff alone is ambiguous), following the "Keep a\nChangelog" categories: Added / Changed / Deprecated / Removed / Fixed /\nSecurity.\n\nRules:\n- Pick exactly the categories that actually apply — do not pad with empty\n ones.\n- One line per change, written for the end user, not the implementer (avoid\n internal function/variable names unless the change IS that API).\n- If the change is purely internal (refactor, test-only, CI config) and has\n no user-visible effect, say so explicitly instead of forcing an entry.\n\nContext: $ARGUMENTS\n',ec="command:bug-repro",el="---\ndescription: Viết một test t\xe1i hiện lỗi (failing test) trước khi sửa.\n---\n\nGiven a bug description ($ARGUMENTS), write the smallest possible failing\ntest that reproduces it — before touching any production code.\n\n1. State your understanding of the expected vs. actual behavior in one\n sentence each, so a human can confirm you understood the bug correctly.\n2. Write one test, using the project's existing test framework/conventions,\n that currently FAILS for the stated reason (run it to confirm the\n failure, don't just assert it would fail).\n3. Do not fix the bug in this step — output only the failing test and the\n confirmation that it fails for the right reason (not a different,\n unrelated error).\n\nBug description: $ARGUMENTS\n",ed="skill:commit-message",eu="---\nname: commit-message\ndescription: Soạn commit message theo Conventional Commits từ staged diff.\n---\n\nWrite a concise Conventional Commits message for the currently staged diff.\n\nFormat: `<type>(<scope>): <short summary>`, followed by a blank line and an\noptional body explaining *why* (not *what* — the diff already shows what).\n\n- Pick `type` from: feat, fix, docs, style, refactor, test, chore.\n- Scope is the most specific affected area (a package name, a module, a\n feature folder) — omit it if the change is genuinely repo-wide.\n- Summary is imperative mood, lowercase, no trailing period, under ~72 chars.\n- If the diff mixes unrelated concerns, say so and suggest splitting into\n separate commits instead of writing one overloaded message.\n",eh="skill:pr-description",em='---\nname: pr-description\ndescription: Tạo m\xf4 tả PR từ diff theo chuẩn dự \xe1n (Summary + Test plan).\n---\n\nGenerate a pull request description from the current branch\'s diff against\nits base branch.\n\nStructure:\n## Summary\n1-3 bullet points describing *why* this change exists, not a restatement of\nthe diff line-by-line.\n\n## Test plan\nA short checklist of how this was verified (commands run, scenarios\nexercised manually, or "covered by new/existing automated tests" with which\nones). Never write "tested" with no detail behind it.\n\nKeep the whole description scannable in under 30 seconds — link out to a\ndesign doc/issue instead of pasting its content inline.\n',ep="skill:api-error-message",eg='---\nname: api-error-message\ndescription: Soạn message lỗi API r\xf5 r\xe0ng, nhất qu\xe1n, kh\xf4ng lộ th\xf4ng tin nội bộ.\n---\n\nWrite a user-facing API error message for a given failure case.\n\nRules:\n- State what went wrong in plain language (no stack traces, no internal\n class/variable names, no raw exception text).\n- If the cause is user-fixable (bad input, missing field, expired token),\n say exactly what to fix.\n- If the cause is server-side (DB down, dependency timeout), apologize\n briefly and say what to do next (retry later / contact support) — never\n expose infrastructure details.\n- Keep the message under ~140 characters where the API\'s error schema\n allows; put any longer detail in a separate "details" field, not the\n headline message.\n',ef="skill:migration-checklist",ex="---\nname: migration-checklist\ndescription: Tạo checklist an to\xe0n trước khi chạy một database migration.\n---\n\nProduce a pre-flight checklist for a given database migration before it\nruns against a real environment.\n\nCover, in order:\n1. Is the migration reversible? If not, say so explicitly and require a\n manual backup step before proceeding.\n2. Does it lock a table that's hot in production? If yes, suggest running\n during a low-traffic window or rewriting as an online/non-blocking\n migration if the database supports it.\n3. Has it been tested against a representative copy of production data\n volume, not just an empty/seed dataset?\n4. Is there a rollback plan, and is it actually exercised (not just\n theoretical)?\n\nOutput as a literal checklist (- [ ] item) so it can be pasted directly into\na PR description or runbook.\n",eb=[{relPath:"agents/code-reviewer.ts",kind:"agent",mod:r},{relPath:"agents/test-coverage-auditor.ts",kind:"agent",mod:i},{relPath:"agents/dependency-upgrade-scout.ts",kind:"agent",mod:a},{relPath:"agents/onboarding-doc-writer.ts",kind:"agent",mod:s},{relPath:"commands/test-writer.ts",kind:"command",mod:o},{relPath:"commands/release-notes.ts",kind:"command",mod:c},{relPath:"commands/changelog-entry.ts",kind:"command",mod:l},{relPath:"commands/bug-repro.ts",kind:"command",mod:d},{relPath:"skills/commit-message.ts",kind:"skill",mod:u},{relPath:"skills/pr-description.ts",kind:"skill",mod:h},{relPath:"skills/api-error-message.ts",kind:"skill",mod:m},{relPath:"skills/migration-checklist.ts",kind:"skill",mod:p}],ev=b.filter(e=>"github"===e.kind),ey=b.map(e=>({id:e.id,label:e.displayName}));function ek(){var e,n;let t=(0,x.useRouter)(),r=(0,y.n)(e=>e.startHeartbeat),i=(0,y.n)(e=>e.loadProjects),a=(0,y.n)(e=>e.fetchAuthorTemplates),[s,o]=(0,f.useState)(null),[c,l]=(0,f.useState)("symbion"),[d,u]=(0,f.useState)({}),h=(0,f.useMemo)(()=>(function(){let e=[],n=[];for(let r of eb){var t;let i=function(e,n){let t;let r=B.exec(e);if(!r)return{ok:!1,reason:"File thiếu frontmatter (--- ... ---)."};let[,i,a]=r;try{t=(0,_.CW)(null!=i?i:"")}catch(e){return{ok:!1,reason:e.message}}if("agent"===n&&(!t.name||0===t.name.trim().length))return{ok:!1,reason:"Frontmatter thiếu 'name'."};if(!t.description||0===t.description.trim().length)return{ok:!1,reason:"Frontmatter thiếu 'description'."};let s=(null!=a?a:"").replace(/\n+$/,"").replace(/^\n+/,"");if(0===s.length)return{ok:!1,reason:"Body (nội dung sau frontmatter) trống."};let o={kind:n,description:t.description.trim(),body:s};return t.name&&t.name.trim().length>0&&(o.name=t.name.trim()),"agent"===n&&t.tools&&t.tools.length>0&&(o.tools=t.tools),{ok:!0,parsed:o}}(r.mod.raw,r.kind);if(!i.ok){n.push({relPath:r.relPath,reason:i.reason});continue}let a=null!==(t=i.parsed.name)&&void 0!==t?t:r.mod.id.split(":").slice(1).join(":");e.push({id:r.mod.id,kind:i.parsed.kind,name:a,description:i.parsed.description,tools:i.parsed.tools,raw:r.mod.raw,authorId:"symbion",authorDisplayName:"Symbion"})}return{items:e,skipped:n}})(),[]);async function m(e){u(n=>({...n,[e]:{status:"loading"}}));try{let n=await a({authorId:e});u(t=>({...t,[e]:n.outcome}))}catch(t){let n=t instanceof v.OH?t.message:"Lỗi kh\xf4ng x\xe1c định khi tải mẫu.";u(t=>({...t,[e]:{status:"error",kind:"network",message:n}}))}}(0,f.useEffect)(()=>{let e=new URLSearchParams(window.location.search).get("t"),n=Number(window.location.port)||12802;if(e){(0,v.xU)(e,n);let t=new URL(window.location.href);t.searchParams.delete("t"),window.history.replaceState(null,"",t.pathname+("?"!==t.search?t.search:"")+t.hash)}i().catch(()=>{y.n.getState().setDaemonConnected(!1)})},[i]),(0,f.useEffect)(()=>r(),[r]);let p=ev.some(e=>e.id===c),w=p?null!==(e=d[c])&&void 0!==e?e:{status:"idle"}:{status:"success",items:h.items,skipped:h.skipped},S=b.find(e=>e.id===c),P=null!==(n=null==S?void 0:S.displayName)&&void 0!==n?n:c,A=(null==S?void 0:S.kind)==="github"?"github.com/".concat(S.repoLabel):void 0,E="success"===w.status?w.items:[],F="success"===w.status?w.skipped:[],G=e=>E.filter(n=>n.kind===e),L=e=>p?[]:F.filter(n=>n.relPath.startsWith(e));return(0,g.jsxs)("div",{className:"flex h-screen bg-bg-app text-text-body",children:[(0,g.jsx)(k.r,{onCreateProject:()=>t.push("/?createProject=1"),onSelectProject:e=>t.push("/?openProject=".concat(encodeURIComponent(e)))}),(0,g.jsx)("main",{className:"flex-1 overflow-auto p-6",children:(0,g.jsxs)("div",{className:"mx-auto max-w-4xl space-y-6",children:[(0,g.jsxs)("div",{children:[(0,g.jsx)("h1",{className:"text-lg font-semibold",children:"Templates"}),(0,g.jsx)("p",{className:"text-sm text-muted-foreground",children:"Thư viện mẫu agent / command / skill c\xf3 sẵn — xem trước rồi \xe1p dụng v\xe0o dự \xe1n của bạn."})]}),(0,g.jsx)(N,{authors:ey,selectedId:c,onSelect:function(e){if(l(e),"symbion"===e)return;let n=d[e];n&&"idle"!==n.status||m(e)}}),"loading"===w.status&&(0,g.jsx)(C,{authorLabel:P,repoIdentifier:A}),"error"===w.status&&(0,g.jsx)(R,{kind:w.kind,message:w.message,resetAt:w.resetAt,onRetry:()=>{m(c)}}),"success"===w.status&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(T,{title:"Skills",items:G("skill"),skipped:L("skills/"),onSelect:o}),(0,g.jsx)(T,{title:"Agents",items:G("agent"),skipped:L("agents/"),onSelect:o}),(0,g.jsx)(T,{title:"Commands",items:G("command"),skipped:L("commands/"),onSelect:o}),p&&F.length>0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(I,{items:F}),0===E.length&&(0,g.jsxs)("p",{className:"text-xs text-amber-600",children:["⚠ Đ\xe3 tải xong nhưng kh\xf4ng c\xf3 mẫu n\xe0o hợp lệ trong repo ",(null==S?void 0:S.kind)==="github"?S.repoLabel:P,"."]})]})]}),(0,g.jsxs)("div",{className:"border-t border-border pt-3 text-xs text-muted-foreground",children:["Lấy cảm hứng từ c\xe1c bộ template cộng đồng (vd. ECC)"," ",(0,g.jsx)("a",{href:"https://github.com/affaan-m/ecc",target:"_blank",rel:"noreferrer",className:"underline hover:text-foreground",children:"↗"})]})]})}),s&&(0,g.jsx)(H,{template:s,onClose:()=>o(null)}),(0,g.jsx)(j.x,{})]})}},9324:function(e,n,t){"use strict";t.d(n,{$N:function(){return c},Vq:function(){return s},cN:function(){return l},fK:function(){return o}});var r=t(7573),i=t(7653),a=t(9147);function s(e){let{open:n,onClose:t,children:s,className:o}=e;return(i.useEffect(()=>{if(!n)return;let e=e=>{"Escape"===e.key&&t()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[n,t]),n)?(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center animate-fadeIn bg-black/50",onClick:t,children:(0,r.jsx)("div",{className:(0,a.cn)("animate-popIn rounded-dialog border border-border-hairline bg-bg-panel p-6 text-text-body shadow-dialog",o),onClick:e=>e.stopPropagation(),children:s})}):null}function o(e){let{children:n}=e;return(0,r.jsx)("div",{className:"mb-4 flex items-center justify-between",children:n})}function c(e){let{children:n}=e;return(0,r.jsx)("h2",{className:"text-[15px] font-bold text-text-strong",children:n})}function l(e){let{children:n}=e;return(0,r.jsx)("div",{className:"mt-6 flex justify-end gap-2",children:n})}},5726:function(e,n,t){"use strict";t.d(n,{CW:function(){return s},ET:function(){return i},Xu:function(){return o}});var r=t(3175);function i(e){var n;let t=[];for(let r of(void 0!==e.name&&t.push("name: ".concat(e.name)),t.push("description: ".concat(e.description)),e.tools&&e.tools.length>0&&t.push("tools: ".concat(e.tools.join(", "))),null!==(n=e.customFields)&&void 0!==n?n:[]))t.push("".concat(r.key,": ").concat(r.value));return t.join("\n")}let a=new Set(["name","description","tools"]);function s(e){let n,t;let i=(0,r.Qc)(e);if(null===i||"object"!=typeof i||Array.isArray(i))throw Error("Frontmatter phải l\xe0 một YAML object.");let s=i.description;if("string"!=typeof s)throw Error("Frontmatter thiếu key `description` (string).");if(void 0!==i.name){if("string"!=typeof i.name)throw Error("`name` phải l\xe0 string.");n=i.name}if(void 0!==i.tools){let e=i.tools;if("string"==typeof e)t=e.split(",").map(e=>e.trim()).filter(e=>e.length>0);else if(Array.isArray(e))t=e.map(e=>String(e));else throw Error("`tools` phải l\xe0 CSV string hoặc array.")}let o=[];for(let n of function(e){let n=[];for(let t of e.split("\n")){let e=/^([A-Za-z0-9_-]+):/.exec(t);e&&n.push(e[1])}return n}(e)){if(a.has(n))continue;let e=i[n];void 0!==e&&o.push({key:n,value:String(e)})}return{name:n,description:s,tools:t,customFields:o}}function o(e){return"agent"===e.kind?{name:e.name,description:e.description,tools:e.tools,customFields:e.customFields}:{description:e.description,customFields:e.customFields}}}},function(e){e.O(0,[906,990,426,777,293,528,744],function(){return e(e.s=5157)}),_N_E=e.O()}]);