@codeyam/codeyam-cli 0.1.0-staging.1 → 0.1.0-staging.28f73cf

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 (440) hide show
  1. package/analyzer-template/.build-info.json +7 -7
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +8 -7
  4. package/analyzer-template/packages/ai/index.ts +2 -1
  5. package/analyzer-template/packages/ai/package.json +2 -2
  6. package/analyzer-template/packages/ai/scripts/ai-test-matrix.mjs +424 -0
  7. package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +24 -0
  8. package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +6 -16
  9. package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +197 -0
  10. package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +28 -2
  11. package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +127 -4
  12. package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +1 -3
  13. package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1821 -542
  14. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.ts +138 -0
  15. package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +1 -1
  16. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +139 -0
  17. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/DebugTracer.ts +224 -0
  18. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/PathManager.ts +203 -0
  19. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/README.md +294 -0
  20. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +161 -0
  21. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.ts +235 -0
  22. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +14 -6
  23. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/selectBestValue.ts +70 -0
  24. package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.ts +113 -0
  25. package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +36 -0
  26. package/analyzer-template/packages/ai/src/lib/generateChangesEntityDocumentation.ts +20 -2
  27. package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +51 -107
  28. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +56 -160
  29. package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +79 -265
  30. package/analyzer-template/packages/ai/src/lib/generateEntityDocumentation.ts +16 -2
  31. package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +53 -176
  32. package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +53 -154
  33. package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +84 -254
  34. package/analyzer-template/packages/ai/src/lib/generateStatementAnalysis.ts +48 -71
  35. package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +27 -6
  36. package/analyzer-template/packages/ai/src/lib/getLLMCallStats.ts +0 -14
  37. package/analyzer-template/packages/ai/src/lib/modelInfo.ts +15 -0
  38. package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +42 -4
  39. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.ts +8 -33
  40. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +54 -62
  41. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +93 -109
  42. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.ts +8 -27
  43. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +33 -38
  44. package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +30 -30
  45. package/analyzer-template/packages/ai/src/lib/types/index.ts +2 -0
  46. package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +39 -0
  47. package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +52 -6
  48. package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +2 -1
  49. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +238 -0
  50. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.ts +25 -0
  51. package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/index.ts +2 -0
  52. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +8 -10
  53. package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +6 -1
  54. package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +8 -6
  55. package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +5 -13
  56. package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +34 -15
  57. package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +17 -3
  58. package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +35 -16
  59. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +7 -1
  60. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +9 -1
  61. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +6 -1
  62. package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +9 -1
  63. package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +15 -7
  64. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts +23 -0
  65. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts.map +1 -0
  66. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js +30 -0
  67. package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js.map +1 -0
  68. package/analyzer-template/packages/aws/package.json +5 -4
  69. package/analyzer-template/packages/aws/s3/index.ts +4 -0
  70. package/analyzer-template/packages/aws/src/lib/s3/getPresignedUrl.ts +62 -0
  71. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +28 -21
  72. package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.ts +18 -11
  73. package/analyzer-template/packages/generate/src/lib/scenarioComponent.ts +6 -3
  74. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
  75. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
  76. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  77. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.d.ts.map +1 -1
  78. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  79. package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  80. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.d.ts.map +1 -1
  81. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js +5 -3
  82. package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js.map +1 -1
  83. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts +2 -0
  84. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts.map +1 -1
  85. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js +3 -0
  86. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js.map +1 -1
  87. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts +2 -0
  88. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts.map +1 -1
  89. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts +37 -0
  90. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -0
  91. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
  92. package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  93. package/analyzer-template/packages/github/dist/utils/index.d.ts +2 -0
  94. package/analyzer-template/packages/github/dist/utils/index.d.ts.map +1 -1
  95. package/analyzer-template/packages/github/dist/utils/index.js +2 -0
  96. package/analyzer-template/packages/github/dist/utils/index.js.map +1 -1
  97. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts +25 -0
  98. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  99. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js +40 -0
  100. package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js.map +1 -0
  101. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  102. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
  103. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  104. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  105. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  106. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  107. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  108. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  109. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  110. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  111. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  112. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  113. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
  114. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  115. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  116. package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  117. package/analyzer-template/packages/supabase/src/lib/kysely/db.ts +6 -0
  118. package/analyzer-template/packages/supabase/src/lib/kysely/tableRelations.ts +3 -0
  119. package/analyzer-template/packages/supabase/src/lib/kysely/tables/debugReportsTable.ts +61 -0
  120. package/analyzer-template/packages/ui-components/src/scenario-editor/components/DataItemEditor.tsx +1 -1
  121. package/analyzer-template/packages/utils/dist/utils/index.d.ts +2 -0
  122. package/analyzer-template/packages/utils/dist/utils/index.d.ts.map +1 -1
  123. package/analyzer-template/packages/utils/dist/utils/index.js +2 -0
  124. package/analyzer-template/packages/utils/dist/utils/index.js.map +1 -1
  125. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts +25 -0
  126. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
  127. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js +40 -0
  128. package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js.map +1 -0
  129. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
  130. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
  131. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  132. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
  133. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  134. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  135. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
  136. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  137. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  138. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
  139. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  140. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  141. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
  142. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
  143. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  144. package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  145. package/analyzer-template/packages/utils/index.ts +2 -0
  146. package/analyzer-template/packages/utils/src/lib/Semaphore.ts +42 -0
  147. package/analyzer-template/packages/utils/src/lib/frameworks/getNextRoutePath.ts +8 -3
  148. package/analyzer-template/packages/utils/src/lib/frameworks/getRemixRoutePath.ts +2 -1
  149. package/analyzer-template/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts +2 -1
  150. package/analyzer-template/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts +1 -0
  151. package/analyzer-template/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts +33 -0
  152. package/analyzer-template/project/constructMockCode.ts +170 -6
  153. package/analyzer-template/project/reconcileMockDataKeys.ts +13 -0
  154. package/analyzer-template/project/start.ts +1 -11
  155. package/analyzer-template/project/startScenarioCapture.ts +24 -0
  156. package/analyzer-template/project/trackGeneratedFiles.ts +41 -0
  157. package/analyzer-template/project/writeMockDataTsx.ts +125 -4
  158. package/analyzer-template/project/writeScenarioComponents.ts +199 -45
  159. package/analyzer-template/project/writeUniversalMocks.ts +72 -10
  160. package/background/src/lib/virtualized/project/constructMockCode.js +158 -7
  161. package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
  162. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +12 -0
  163. package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
  164. package/background/src/lib/virtualized/project/start.js +1 -8
  165. package/background/src/lib/virtualized/project/start.js.map +1 -1
  166. package/background/src/lib/virtualized/project/startScenarioCapture.js +18 -0
  167. package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
  168. package/background/src/lib/virtualized/project/trackGeneratedFiles.js +30 -0
  169. package/background/src/lib/virtualized/project/trackGeneratedFiles.js.map +1 -0
  170. package/background/src/lib/virtualized/project/writeMockDataTsx.js +95 -3
  171. package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
  172. package/background/src/lib/virtualized/project/writeScenarioComponents.js +144 -28
  173. package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
  174. package/background/src/lib/virtualized/project/writeUniversalMocks.js +59 -9
  175. package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
  176. package/codeyam-cli/scripts/apply-setup.js +288 -0
  177. package/codeyam-cli/scripts/apply-setup.js.map +1 -0
  178. package/codeyam-cli/scripts/extract-setup.js +130 -0
  179. package/codeyam-cli/scripts/extract-setup.js.map +1 -0
  180. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +238 -0
  181. package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +1 -0
  182. package/codeyam-cli/src/cli.js +6 -0
  183. package/codeyam-cli/src/cli.js.map +1 -1
  184. package/codeyam-cli/src/codeyam-cli.js +0 -0
  185. package/codeyam-cli/src/commands/debug.js +221 -0
  186. package/codeyam-cli/src/commands/debug.js.map +1 -0
  187. package/codeyam-cli/src/commands/init.js +4 -23
  188. package/codeyam-cli/src/commands/init.js.map +1 -1
  189. package/codeyam-cli/src/commands/report.js +102 -0
  190. package/codeyam-cli/src/commands/report.js.map +1 -0
  191. package/codeyam-cli/src/commands/setup-sandbox.js +164 -0
  192. package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -0
  193. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js +6 -6
  194. package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js.map +1 -1
  195. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +8 -0
  196. package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
  197. package/codeyam-cli/src/utils/analysisRunner.js +4 -3
  198. package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
  199. package/codeyam-cli/src/utils/analyzer.js +30 -0
  200. package/codeyam-cli/src/utils/analyzer.js.map +1 -1
  201. package/codeyam-cli/src/utils/backgroundServer.js +25 -5
  202. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  203. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js +2 -2
  204. package/codeyam-cli/src/utils/cleanupAnalysisFiles.js.map +1 -1
  205. package/codeyam-cli/src/utils/fileWatcher.js +75 -5
  206. package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
  207. package/codeyam-cli/src/utils/generateReport.js +219 -0
  208. package/codeyam-cli/src/utils/generateReport.js.map +1 -0
  209. package/codeyam-cli/src/utils/install-skills.js +7 -0
  210. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  211. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js +1 -0
  212. package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js.map +1 -1
  213. package/codeyam-cli/src/utils/queue/job.js +8 -3
  214. package/codeyam-cli/src/utils/queue/job.js.map +1 -1
  215. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +4 -0
  216. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  217. package/codeyam-cli/src/utils/webappDetection.js +2 -1
  218. package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
  219. package/codeyam-cli/src/webserver/app/lib/database.js +63 -2
  220. package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
  221. package/codeyam-cli/src/webserver/backgroundServer.js +15 -35
  222. package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
  223. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-D5ZHFomX.js +1 -0
  224. package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-Dh-FldQK.js → InteractivePreview-XDSzQLOY.js} +3 -3
  225. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-BYVx9KFp.js +3 -0
  226. package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-Dp6DC845.js → LogViewer-CRcT5fOZ.js} +1 -1
  227. package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-BORLgi0X.js +1 -0
  228. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-Bual6h18.js +1 -0
  229. package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bi-YUMa-.js +6 -0
  230. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-4D2vLLJz.js +5 -0
  231. package/codeyam-cli/src/webserver/build/client/assets/_index-BC200mfN.js +1 -0
  232. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CxvZPkCv.js +10 -0
  233. package/codeyam-cli/src/webserver/build/client/assets/api.generate-report-l0sNRNKZ.js +1 -0
  234. package/codeyam-cli/src/webserver/build/client/assets/{chart-column-B2I7jQx2.js → chart-column-B8fb6wnw.js} +1 -1
  235. package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-De6i8FUT.js +26 -0
  236. package/codeyam-cli/src/webserver/build/client/assets/{circle-alert-GwwOAbhw.js → circle-alert-IdsgAK39.js} +1 -1
  237. package/codeyam-cli/src/webserver/build/client/assets/circle-check-BACUUf75.js +1 -0
  238. package/codeyam-cli/src/webserver/build/client/assets/clock-vWeoCemX.js +1 -0
  239. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CS7XDrKv.js +1 -0
  240. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DIOEw_3i.js +1 -0
  241. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-1Z6D0fLM.js → entity._sha._-8Els_3Wb.js} +10 -10
  242. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-C3FZJx1w.js +1 -0
  243. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-YJz_igar.js +5 -0
  244. package/codeyam-cli/src/webserver/build/client/assets/entityStatus-BEqj2qBy.js +1 -0
  245. package/codeyam-cli/src/webserver/build/client/assets/{entityVersioning-DO2gCvXv.js → entityVersioning-Bk_YB1jM.js} +1 -1
  246. package/codeyam-cli/src/webserver/build/client/assets/entry.client-DiP0q291.js +5 -0
  247. package/codeyam-cli/src/webserver/build/client/assets/file-text-LM0mgxXE.js +1 -0
  248. package/codeyam-cli/src/webserver/build/client/assets/files-Dxh9CcaV.js +1 -0
  249. package/codeyam-cli/src/webserver/build/client/assets/git-BXmqrWCH.js +12 -0
  250. package/codeyam-cli/src/webserver/build/client/assets/globals-BGS74ED-.css +1 -0
  251. package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +5 -0
  252. package/codeyam-cli/src/webserver/build/client/assets/index-D-zYbzFZ.js +8 -0
  253. package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-DN7Vr40D.js → loader-circle-BXPKbHEb.js} +1 -1
  254. package/codeyam-cli/src/webserver/build/client/assets/manifest-1af162d4.js +1 -0
  255. package/codeyam-cli/src/webserver/build/client/assets/root-DB7VgjCY.js +16 -0
  256. package/codeyam-cli/src/webserver/build/client/assets/{settings-MZc4XdmE.js → settings-5zF_GOcS.js} +1 -1
  257. package/codeyam-cli/src/webserver/build/client/assets/settings-Dc4MlMpK.js +1 -0
  258. package/codeyam-cli/src/webserver/build/client/assets/simulations-BQ-02-jB.js +1 -0
  259. package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-D7k-ArFa.js +1 -0
  260. package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-BBlyqxij.js → useLastLogLine-AlhS7g5F.js} +1 -1
  261. package/codeyam-cli/src/webserver/build/client/assets/useToast-Ddo4UQv7.js +1 -0
  262. package/codeyam-cli/src/webserver/build/client/assets/{zap-B4gsLUZQ.js → zap-_jw-9DCp.js} +1 -1
  263. package/codeyam-cli/src/webserver/build/server/assets/index-D4JpXSIO.js +1 -0
  264. package/codeyam-cli/src/webserver/build/server/assets/server-build-vwbN7n65.js +169 -0
  265. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  266. package/codeyam-cli/src/webserver/build-info.json +5 -5
  267. package/codeyam-cli/src/webserver/server.js +1 -1
  268. package/codeyam-cli/src/webserver/server.js.map +1 -1
  269. package/codeyam-cli/templates/codeyam-setup-skill.md +85 -94
  270. package/codeyam-cli/templates/debug-command.md +125 -0
  271. package/package.json +9 -11
  272. package/packages/ai/index.js +1 -2
  273. package/packages/ai/index.js.map +1 -1
  274. package/packages/ai/src/lib/analyzeScope.js +13 -0
  275. package/packages/ai/src/lib/analyzeScope.js.map +1 -1
  276. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +6 -15
  277. package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
  278. package/packages/ai/src/lib/astScopes/methodSemantics.js +134 -0
  279. package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
  280. package/packages/ai/src/lib/astScopes/paths.js +28 -3
  281. package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
  282. package/packages/ai/src/lib/astScopes/processExpression.js +111 -3
  283. package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
  284. package/packages/ai/src/lib/checkAllAttributes.js +1 -3
  285. package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
  286. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1320 -396
  287. package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
  288. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js +137 -1
  289. package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js.map +1 -1
  290. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +1 -1
  291. package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
  292. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +112 -0
  293. package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -0
  294. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js +176 -0
  295. package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js.map +1 -0
  296. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js +178 -0
  297. package/packages/ai/src/lib/dataStructure/helpers/PathManager.js.map +1 -0
  298. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +138 -0
  299. package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -0
  300. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js +199 -0
  301. package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js.map +1 -0
  302. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +14 -6
  303. package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
  304. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js +62 -0
  305. package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js.map +1 -0
  306. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js +90 -0
  307. package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js.map +1 -0
  308. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +22 -0
  309. package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
  310. package/packages/ai/src/lib/generateChangesEntityDocumentation.js +19 -1
  311. package/packages/ai/src/lib/generateChangesEntityDocumentation.js.map +1 -1
  312. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +51 -107
  313. package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +1 -1
  314. package/packages/ai/src/lib/generateChangesEntityScenarioData.js +55 -156
  315. package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
  316. package/packages/ai/src/lib/generateChangesEntityScenarios.js +79 -262
  317. package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
  318. package/packages/ai/src/lib/generateEntityDocumentation.js +15 -1
  319. package/packages/ai/src/lib/generateEntityDocumentation.js.map +1 -1
  320. package/packages/ai/src/lib/generateEntityKeyAttributes.js +53 -176
  321. package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +1 -1
  322. package/packages/ai/src/lib/generateEntityScenarioData.js +52 -152
  323. package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
  324. package/packages/ai/src/lib/generateEntityScenarios.js +88 -258
  325. package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
  326. package/packages/ai/src/lib/generateStatementAnalysis.js +46 -71
  327. package/packages/ai/src/lib/generateStatementAnalysis.js.map +1 -1
  328. package/packages/ai/src/lib/getConditionalUsagesFromCode.js +13 -8
  329. package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
  330. package/packages/ai/src/lib/getLLMCallStats.js +0 -14
  331. package/packages/ai/src/lib/getLLMCallStats.js.map +1 -1
  332. package/packages/ai/src/lib/modelInfo.js +15 -0
  333. package/packages/ai/src/lib/modelInfo.js.map +1 -1
  334. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +36 -3
  335. package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
  336. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js +8 -33
  337. package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js.map +1 -1
  338. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +35 -41
  339. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
  340. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +59 -72
  341. package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
  342. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js +8 -27
  343. package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js.map +1 -1
  344. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +24 -27
  345. package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
  346. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +21 -22
  347. package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
  348. package/packages/ai/src/lib/types/index.js +2 -0
  349. package/packages/ai/src/lib/types/index.js.map +1 -1
  350. package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
  351. package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
  352. package/packages/analyze/src/lib/FileAnalyzer.js +45 -5
  353. package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
  354. package/packages/analyze/src/lib/asts/nodes/index.js +2 -1
  355. package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
  356. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +191 -0
  357. package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -0
  358. package/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.js +16 -0
  359. package/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.js.map +1 -0
  360. package/packages/analyze/src/lib/asts/sourceFiles/index.js +2 -0
  361. package/packages/analyze/src/lib/asts/sourceFiles/index.js.map +1 -1
  362. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +6 -8
  363. package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
  364. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +5 -1
  365. package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
  366. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +8 -2
  367. package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
  368. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +5 -8
  369. package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
  370. package/packages/analyze/src/lib/files/analyzeChange.js +21 -9
  371. package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
  372. package/packages/analyze/src/lib/files/analyzeEntity.js +10 -4
  373. package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
  374. package/packages/analyze/src/lib/files/analyzeInitial.js +21 -9
  375. package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
  376. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +6 -1
  377. package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
  378. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +9 -1
  379. package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +1 -1
  380. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +5 -1
  381. package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
  382. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +9 -1
  383. package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
  384. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +16 -7
  385. package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
  386. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
  387. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
  388. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
  389. package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
  390. package/packages/generate/src/lib/scenarioComponent.js +5 -3
  391. package/packages/generate/src/lib/scenarioComponent.js.map +1 -1
  392. package/packages/supabase/src/lib/kysely/db.js +3 -0
  393. package/packages/supabase/src/lib/kysely/db.js.map +1 -1
  394. package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
  395. package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
  396. package/packages/utils/index.js +2 -0
  397. package/packages/utils/index.js.map +1 -1
  398. package/packages/utils/src/lib/Semaphore.js +40 -0
  399. package/packages/utils/src/lib/Semaphore.js.map +1 -0
  400. package/packages/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
  401. package/packages/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
  402. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
  403. package/packages/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
  404. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
  405. package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
  406. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
  407. package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
  408. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
  409. package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
  410. package/analyzer-template/packages/ai/src/lib/generateEntityDataMap.ts +0 -375
  411. package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-GqWwt5wG.js +0 -1
  412. package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-p0fuyqGQ.js +0 -3
  413. package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-xwuhwsZH.js +0 -1
  414. package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bl2IRh55.js +0 -1
  415. package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-M2QuSHKC.js +0 -5
  416. package/codeyam-cli/src/webserver/build/client/assets/_index-CAVtep9Q.js +0 -1
  417. package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CLmzsLsT.js +0 -10
  418. package/codeyam-cli/src/webserver/build/client/assets/components-CAx5ONX_.js +0 -40
  419. package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CgyOwWip.js +0 -1
  420. package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DGy3zrli.js +0 -1
  421. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-ChAdTrrU.js +0 -1
  422. package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-D9L7267w.js +0 -5
  423. package/codeyam-cli/src/webserver/build/client/assets/entry.client-C6FRgjPr.js +0 -1
  424. package/codeyam-cli/src/webserver/build/client/assets/files-C3-cQjgv.js +0 -1
  425. package/codeyam-cli/src/webserver/build/client/assets/git-Dp4EB9nv.js +0 -12
  426. package/codeyam-cli/src/webserver/build/client/assets/globals-Da3jt49-.css +0 -1
  427. package/codeyam-cli/src/webserver/build/client/assets/manifest-172a4629.js +0 -1
  428. package/codeyam-cli/src/webserver/build/client/assets/root-COyVTsPq.js +0 -16
  429. package/codeyam-cli/src/webserver/build/client/assets/search-CvyP_1Lo.js +0 -1
  430. package/codeyam-cli/src/webserver/build/client/assets/settings-Hbf8b7J_.js +0 -1
  431. package/codeyam-cli/src/webserver/build/client/assets/simulations-BMBi0VzO.js +0 -1
  432. package/codeyam-cli/src/webserver/build/client/assets/useToast-C_VxoXTh.js +0 -1
  433. package/codeyam-cli/src/webserver/build/client/cy-logo-cli.svg +0 -13
  434. package/codeyam-cli/src/webserver/build/server/assets/index-eAULANMV.js +0 -1
  435. package/codeyam-cli/src/webserver/build/server/assets/server-build-lutv16q5.js +0 -161
  436. package/codeyam-cli/src/webserver/public/cy-logo-cli.svg +0 -13
  437. package/packages/ai/src/lib/generateEntityDataMap.js +0 -335
  438. package/packages/ai/src/lib/generateEntityDataMap.js.map +0 -1
  439. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js +0 -17
  440. package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js.map +0 -1
@@ -0,0 +1 @@
1
+ import{w as W,j as e,u as A,a as F,r as o,L as G}from"./chunk-WWGJGFF6-De6i8FUT.js";import{W as J,u as M,a as U,I as _}from"./InteractivePreview-XDSzQLOY.js";import"./useLastLogLine-AlhS7g5F.js";import"./index-D-zYbzFZ.js";const Q=({data:a})=>[{title:a?.entity?`Create Scenario - ${a.entity.name} - CodeYam`:"Create Scenario - CodeYam"},{name:"description",content:"Create a new scenario"}];function H(){const{analysis:a,defaultScenario:s,entity:C,entitySha:c,projectSlug:f}=A(),h=F(),{iframeRef:Y}=M(),[n,N]=o.useState(""),[I,S]=o.useState(!1),[P,w]=o.useState(!1),[y,p]=o.useState(null),[b,r]=o.useState(null),{interactiveServerUrl:d,isStarting:k,isLoading:E,showIframe:D,iframeKey:R,onIframeLoad:T}=U({analysisId:a?.id,scenarioId:s?.id,scenarioName:s?.name,projectSlug:f,enabled:!0}),L=o.useCallback(async()=>{if(!n.trim()){p("Please describe how you want to change the scenario");return}S(!0),p(null),r("Generating scenario with AI...");try{const t=await fetch("/api/generate-scenario-data",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({description:n,existingScenarios:a.scenarios,scenariosDataStructure:a.metadata?.scenariosDataStructure})}),l=await t.json();if(!t.ok||!l.success)throw new Error(l.error||"Failed to generate scenario data");console.log("[CreateScenario] AI generated scenario:",l.data);const i=l.data;if(!i.name||!i.data)throw new Error("AI response missing required fields (name or data)");r("Saving new scenario..."),w(!0);const O={name:i.name,description:i.description||n,metadata:{data:i.data,interactiveExamplePath:s.metadata?.interactiveExamplePath}},$=[...a.scenarios||[],O],v=await fetch("/api/save-scenarios",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({analysis:a,scenarios:$})}),m=await v.json();if(!v.ok||!m.success)throw new Error(m.error||"Failed to save scenario");console.log("[CreateScenario] Scenario saved:",m);const x=m.analysis?.scenarios?.find(u=>u.name===i.name);if(!x?.id){console.warn("[CreateScenario] Could not find saved scenario ID, navigating to entity page"),r("Scenario created! Redirecting..."),setTimeout(()=>h(`/entity/${c}`),1e3);return}if(d){r("Capturing screenshot...");const u=await fetch("/api/capture-screenshot",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({serverUrl:d,scenarioId:x.id,projectId:a.projectId,viewportWidth:1440})}),j=await u.json();!u.ok||!j.success?(console.error("[CreateScenario] Capture failed:",j),r("Scenario created! (Screenshot capture failed)")):r("Scenario created and captured!")}else r("Scenario created!");setTimeout(()=>{h(`/entity/${c}/scenarios/${x.id}`)},1e3)}catch(t){console.error("[CreateScenario] Error:",t),p(t instanceof Error?t.message:String(t)),r(null)}finally{S(!1),w(!1)}},[n,a,s,c,d,h]),g=I||P;return e.jsxs("div",{className:"h-screen bg-gray-50 flex flex-col",children:[e.jsxs("header",{className:"bg-white border-b border-gray-200 px-8 py-6 shrink-0",children:[e.jsx("div",{className:"mb-4",children:e.jsxs(G,{to:`/entity/${c}`,className:"text-blue-600 no-underline text-sm font-medium transition-colors hover:text-blue-700 hover:underline",children:["← Back to ",C?.name]})}),e.jsx("h1",{className:"text-[32px] font-bold text-gray-900 m-0 mb-3",children:"Create New Scenario"}),e.jsx("p",{className:"text-gray-600 text-[15px] leading-relaxed m-0",children:"Create a new scenario based on the Default Scenario"})]}),e.jsxs("div",{className:"flex flex-1 gap-0 min-h-0",children:[e.jsxs("aside",{className:"w-[400px] bg-white border-r border-gray-200 overflow-y-auto shrink-0 p-6 flex flex-col",children:[e.jsxs("div",{className:"mb-6",children:[e.jsx("h2",{className:"text-lg font-semibold text-gray-900 mb-2",children:"Default Scenario Preview"}),e.jsx("p",{className:"text-sm text-gray-600 leading-relaxed",children:"The preview on the right shows the Default Scenario. Describe how you'd like to change it to create your new scenario."})]}),e.jsxs("div",{className:"flex-1",children:[e.jsx("label",{htmlFor:"prompt",className:"block text-sm font-medium text-gray-700 mb-2",children:"How would you like to change it for your new scenario?"}),e.jsx("textarea",{id:"prompt",value:n,onChange:t=>N(t.target.value),placeholder:"e.g., Show an empty state with no items in the list, or Display an error message when the API fails, or Show a user with admin privileges...",className:"w-full h-40 px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500 text-sm resize-none",disabled:g})]}),e.jsxs("div",{className:"mt-6 space-y-3",children:[e.jsx("button",{onClick:()=>{L()},disabled:g||!n.trim(),className:"w-full px-4 py-2 bg-[#005c75] text-white rounded-md text-sm font-medium hover:bg-[#004a5e] disabled:bg-gray-400 disabled:cursor-not-allowed transition-colors",children:g?"Creating...":"Create Scenario"}),b&&e.jsx("div",{className:"text-sm text-blue-600 bg-blue-50 px-3 py-2 rounded-md",children:b}),y&&e.jsx("div",{className:"text-sm text-red-600 bg-red-50 px-3 py-2 rounded-md",children:y})]})]}),e.jsx("main",{className:"flex-1 bg-gray-100 overflow-auto flex flex-col min-w-0",children:e.jsx(_,{scenarioId:s.id||s.name,scenarioName:s.name,iframeUrl:d,isStarting:k,isLoading:E,showIframe:D,iframeKey:R,onIframeLoad:T,projectSlug:f,defaultWidth:1440,defaultHeight:900})})]})]})}const V=W(function(){return e.jsx(J,{children:e.jsx(H,{})})});export{V as default,Q as meta};
@@ -0,0 +1,5 @@
1
+ import{j as e,r as l,w as z,u as H,a as V,L as U}from"./chunk-WWGJGFF6-De6i8FUT.js";import{W as Y,u as K,a as Q,I as X}from"./InteractivePreview-XDSzQLOY.js";import"./useLastLogLine-AlhS7g5F.js";import"./index-D-zYbzFZ.js";function W(t,a,r){if(Array.isArray(t)){if(!isNaN(parseInt(a)))return t[parseInt(a)];for(const s of t)if(s.name===a||s.title===a||s.id===a)return s}return t[a]}function J(t){return t&&(typeof t=="object"||Array.isArray(t))}function Z(t){return Array.isArray(t)?t.length:void 0}function ee(t){const{data:a,structure:r}=t;if(!(!a&&!r)){if(Array.isArray(r))return Array.isArray(a)?a.map((s,d)=>d.toString()):[];if(typeof r=="object")return[...new Set([...Object.keys(a),...Object.keys(r)])].sort((d,i)=>{const f=J(a[d]),h=J(a[i]);return f&&!h?1:!f&&h?-1:d.localeCompare(i)});if(typeof a=="object")return Object.keys(a).sort((d,i)=>d.localeCompare(i))}}function te({scenarioFormData:t,handleInputChange:a}){return e.jsxs("div",{className:"p-3 flex flex-col gap-3",children:[e.jsxs("div",{className:"grid w-full max-w-sm items-center gap-1.5",children:[e.jsx("label",{htmlFor:"name",className:"text-sm font-medium text-gray-700",children:"Name"}),e.jsx("input",{type:"text",id:"name",placeholder:"Name",name:"name",value:t.name,onChange:a,required:!0,className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"})]}),e.jsxs("div",{className:"grid w-full gap-1.5 pt-2",children:[e.jsx("label",{htmlFor:"description",className:"text-sm font-medium text-gray-700",children:"Description"}),e.jsx("textarea",{placeholder:"Type your message here.",id:"description",name:"description",value:t.description,onChange:a,required:!0,className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 min-h-[100px]"})]}),e.jsx("button",{type:"submit",className:"mt-3 w-full px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 font-medium",children:"Save Name & Description"})]})}function re({path:t,namedPath:a,isArray:r,count:s,onClick:d}){const i=l.useCallback(()=>{d&&d(t)},[d,t]);return e.jsxs("div",{className:"bg-blue-50 p-3 rounded-lg flex items-center justify-between cursor-pointer group hover:bg-blue-100 transition-colors border border-blue-200",onClick:i,children:[e.jsxs("div",{className:"flex items-center gap-3",children:[r&&e.jsx("svg",{className:"w-4 h-4 text-gray-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})}),e.jsxs("div",{className:"capitalize font-medium text-gray-900",children:[a[a.length-1],s!==void 0&&` (${s})`]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[r&&e.jsx("svg",{className:"w-5 h-5 text-red-500 opacity-0 group-hover:opacity-100 transition-opacity",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})}),e.jsx("svg",{className:"w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})]})}var G=(t=>(t.STRING="string",t.NUMBER="number",t.BOOLEAN="boolean",t.UNION="union",t.OBJECT="object",t.ARRAY="array",t))(G||{});const ae=({name:t,value:a,options:r,onChange:s})=>{const d=l.useCallback(i=>{s({target:{name:t,value:i.target.value}})},[t,s]);return e.jsx("select",{name:t,value:a,onChange:d,className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",children:r.map((i,f)=>e.jsx("option",{value:i.trim(),children:i.trim()},f))})},se=({name:t,value:a,onChange:r})=>{const s=l.useCallback(d=>{const i=d.target.checked;r({target:{name:t,value:i}})},[t,r]);return e.jsx("label",{className:"flex items-center gap-2 cursor-pointer",children:e.jsx("input",{type:"checkbox",name:t,checked:a,onChange:s,className:`w-10 h-6 rounded-full appearance-none cursor-pointer transition-colors relative
2
+ bg-gray-300 checked:bg-blue-600
3
+ after:content-[''] after:absolute after:top-1 after:left-1 after:w-4 after:h-4
4
+ after:bg-white after:rounded-full after:transition-transform
5
+ checked:after:translate-x-4`})})};function ne({dataType:t,path:a,value:r,onChange:s}){const d=l.useMemo(()=>a[a.length-1],[a]),i=l.useMemo(()=>a.join("-"),[a]),f=l.useCallback(b=>{s(a,b.target.value)},[s,a]),h=l.useCallback(b=>{s(a,b.target.value)},[s,a]);return e.jsxs("div",{className:"grid w-full max-w-sm items-center gap-1.5",children:[e.jsx("label",{htmlFor:i,className:"capitalize text-sm font-medium text-gray-700",children:d==="~~codeyam-code~~"?"Dynamic Field":d}),t.includes("|")?e.jsx(ae,{name:i,value:r,options:t.split("|"),onChange:f}):t===G.BOOLEAN?e.jsx(se,{name:i,value:r??!1,onChange:h}):e.jsx("input",{id:i,name:i,type:"text",value:JSON.stringify(r??"").replace(/"/g,""),onChange:f,className:"w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"},`Input-${i}`)]})}const oe="Default Scenario";function ie({analysis:t,scenarioName:a,dataItem:r,onResult:s,onGenerateData:d}){const[i,f]=l.useState(!1),[h,b]=l.useState(""),E=l.useCallback(async()=>{if(!d){console.error("onGenerateData prop is required for AI data generation");return}f(!0);try{const u=t.scenarios.find(y=>y.name===a);if(!u)throw new Error("Scenario not found");const D=t.scenarios.find(y=>y.name===oe),S=await d(h,r);if(!S){console.error("Error getting AI guess for scenario data"),f(!1);return}const j=(y,w)=>{const I=Object.assign({},y);return x(y)&&x(w)&&Object.keys(w).forEach(v=>{x(w[v])?v in y?I[v]=j(y[v],w[v]):Object.assign(I,{[v]:w[v]}):Object.assign(I,{[v]:w[v]})}),I},x=y=>y&&typeof y=="object"&&!Array.isArray(y);u.metadata.data=j(j(D?.metadata.data||{},u.metadata.data),S.data||{}),s(u),f(!1),b("")}catch(u){console.error("Error generating AI data:",u),f(!1)}},[t,h,r,a,s,d]),m=l.useCallback(u=>{b(u.target.value)},[]);return e.jsxs("div",{className:"w-full p-3 flex flex-col gap-2 rounded-lg border-2 border-blue-200 text-sm bg-blue-50",children:[e.jsx("div",{className:"font-medium text-gray-700",children:"Describe the data changes to the AI"}),e.jsx("textarea",{className:"peer w-full h-16 p-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500",placeholder:"Type your message here.",onChange:m,value:h}),e.jsx("button",{type:"button",disabled:i,className:`w-full px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 disabled:bg-gray-400 disabled:cursor-not-allowed font-medium ${h.length>0?"flex":"hidden peer-focus-within:flex"} items-center justify-center gap-2`,onClick:()=>{E()},children:i?e.jsxs(e.Fragment,{children:[e.jsxs("svg",{className:"animate-spin h-4 w-4 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[e.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),e.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Please wait"]}):"Generate Data"})]})}function ce({namedPath:t,path:a,last:r,onClick:s}){const d=l.useCallback(()=>s(r?a.slice(0,-1):a),[r,a,s]);return e.jsx("div",{className:"capitalize cursor-pointer hover:text-blue-600 transition-colors",onClick:d,children:t[t.length-1]})}function le({dataItem:t,onClick:a}){const r=l.useCallback(()=>a([]),[a]),s=l.useMemo(()=>t.namedPath.length>=2?t.namedPath.length-2:0,[t]);return e.jsxs("div",{className:"text-sm flex items-center gap-2 py-3 px-2 border-b border-t border-gray-300 bg-gray-50",children:[e.jsx("svg",{className:"w-4 h-4 cursor-pointer hover:text-blue-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",onClick:r,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})}),t.namedPath.length>2&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{children:"..."}),e.jsx("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]}),t.namedPath.slice(s).map((d,i)=>e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(ce,{namedPath:t.namedPath.slice(0,i+s+1),path:t.path.slice(0,i+s+1),last:i+s===t.namedPath.length-1,onClick:a}),i+s<t.namedPath.length-1&&e.jsx("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]},`path-${d}-${i+s}`))]})}function q({analysis:t,scenarioName:a,dataItem:r,onClick:s,onChange:d,onAIResult:i,onGenerateData:f,saveFeedback:h}){const b=l.useMemo(()=>r.data,[r]),E=l.useMemo(()=>ee(r),[r]);return e.jsxs("div",{className:"w-full flex flex-col gap-6 px-3 mt-3",children:[r.path.length>0&&e.jsx(le,{dataItem:r,onClick:s}),e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(ie,{analysis:t,scenarioName:a,dataItem:r,onResult:i,onGenerateData:f}),E?.map((m,u)=>{if(J(b[m])){let S=m;isNaN(Number(m))||(S=b[m].name??b[m].title??b[m].id??`${r.path[r.path.length-1].replace(/s$/,"")} ${parseInt(m)+1}`);const j=[...r.path,m],x=[...r.namedPath,S];return e.jsx(re,{path:j,namedPath:x,isArray:Array.isArray(b),count:Z(b[m]),onClick:s},`data-${m}-${u}`)}if(m==="id")return null;const D=[...r.path,m];return e.jsx(ne,{dataType:r.structure?.[m]??"string",path:D,value:b[m],onChange:d},`InputField-${D.join("-")}`)})]}),e.jsx("input",{type:"hidden",name:"recapture",id:"recapture-input",value:"false"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{type:"submit",onClick:()=>{const m=document.getElementById("recapture-input");m&&(m.value="false")},disabled:h?.isSaving,className:"flex-1 px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 font-medium disabled:opacity-50 disabled:cursor-not-allowed",children:h?.isSaving?"Saving...":"Save Changes"}),e.jsx("button",{type:"submit",onClick:()=>{const m=document.getElementById("recapture-input");m&&(m.value="true")},disabled:h?.isSaving,className:"flex-1 px-4 py-2 bg-gray-100 text-gray-700 border border-gray-300 rounded-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-blue-500 font-medium disabled:opacity-50 disabled:cursor-not-allowed",children:"Save & Recapture"})]}),h?.message&&!h?.isSaving&&e.jsx("div",{className:`mt-3 p-3 rounded-md text-sm font-medium ${h.isError?"bg-red-50 text-red-700 border border-red-200":"bg-green-50 text-green-700 border border-green-200"}`,children:h.message})]})}function _({title:t,children:a,defaultOpen:r=!1,borderT:s=!1,borderB:d=!1}){const[i,f]=l.useState(r),h=[];return s&&h.push("border-t"),d&&h.push("border-b"),e.jsxs("div",{className:`${h.join(" ")} border-gray-300`,children:[e.jsxs("button",{type:"button",onClick:()=>f(!i),className:"w-full px-4 py-3 flex items-center justify-between bg-gray-50 hover:bg-gray-100 transition-colors text-left font-semibold text-gray-900",children:[e.jsx("span",{children:t}),e.jsx("svg",{className:`transition-transform ${i?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",style:{width:"20px",height:"20px",minWidth:"20px",minHeight:"20px",maxWidth:"20px",maxHeight:"20px",flexShrink:0},children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),i&&e.jsx("div",{className:"px-4 py-3",children:a})]})}const de=({currentScenario:t,defaultScenario:a,dataStructure:r,analysis:s,shouldCreateNewScenario:d,onSave:i,onNavigate:f,iframeRef:h,onGenerateData:b,saveFeedback:E})=>{const m=l.useCallback((n,o)=>{const p=Object.assign({},n),g=c=>c&&typeof c=="object"&&!Array.isArray(c);return g(n)&&g(o)&&Object.keys(o).forEach(c=>{g(o[c])?c in n?p[c]=m(n[c],o[c]):Object.assign(p,{[c]:o[c]}):Object.assign(p,{[c]:o[c]})}),p},[]),[u,D]=l.useState({name:t.name,description:t.description,data:m(a.metadata.data,t.metadata.data)}),[S,j]=l.useState(null),x=l.useMemo(()=>({...u.data}),[u]),y=l.useMemo(()=>({...x.mockData?{"Retrieved Data":x.mockData}:{},...x.argumentsData?{"Function Arguments":x.argumentsData}:{}}),[x]),w=l.useMemo(()=>{const n={...r.arguments?{"Function Arguments":r.arguments}:{},...r.dataForMocks?{"Retrieved Data":r.dataForMocks}:{}};return Object.keys(n).reduce((o,p)=>{if(p.includes(".")){const[g,c]=p.split(".");o[g]||(o[g]={}),o[g][c]=n[p]}else o[p]=n[p];return o},{})},[r]),I=l.useCallback(async n=>{n.preventDefault();const p=n.target.querySelector('input[name="recapture"]')?.value==="true",g={mockData:u.data.mockData??{},argumentsData:u.data.argumentsData??[]};console.log("[ScenarioEditor] Saving scenario data:",{scenarioName:u.name,shouldRecapture:p,dataToSave:g,rawFormData:u.data,iframePayload:{arguments:x.argumentsData??[],...x.mockData??{}}}),console.log("[ScenarioEditor] Full dataToSave JSON:",JSON.stringify(g,null,2).substring(0,1e3));const c=s?.scenarios.map(C=>!d&&C.name===t.name?{...C,name:u.name,description:u.description,metadata:{...C.metadata,data:g}}:C);d&&c.push({name:u.name,description:u.description,metadata:{data:g,interactiveExamplePath:s?.scenarios[0].metadata.interactiveExamplePath}}),console.log("[ScenarioEditor] Updated scenarios to save:",c),i&&await i(c,{recapture:p}),f&&f(u.name)},[s,t.name,u,x,d,i,f]),v=l.useCallback(n=>{D(o=>({...o,[n.target.name]:n.target.value}))},[]),A=l.useCallback(n=>{j(o=>{if(!o)return null;for(const p of[{arguments:n.metadata.data.argumentsData},n.metadata.data.mockData]){let g=p;for(const c of o.path)if(g=W(g,c),!g)break;g&&(o.data=g)}return{...o}}),D({name:n.name,description:n.description,data:n.metadata.data})},[]),T=l.useCallback((n,o)=>{D(p=>{for(const g of[{"Function Arguments":p.data.argumentsData},{"Retrieved Data":p.data.mockData}]){let c=g;for(const C of n.slice(0,-1))if(c=W(c,C),!c)break;if(c){const C=c[n[n.length-1]];j(P=>P?(P.namedPath[P.namedPath.length-1]===C&&(P.namedPath[P.namedPath.length-1]=o.toString()),P.data[n[n.length-1]]=o,{...P}):null),c[n[n.length-1]]=o}}return{...p}})},[]),B=l.useCallback(n=>{if(n.length===0){j(null);return}let o=y;const p=[];let g=w;for(const c of n){if(p.push(isNaN(parseInt(c))?c:o[c]?.name??o[c]?.title??o[c]?.id??c),o=W(o,c),!o){console.log("Data not found",o,c),j(null);return}Array.isArray(g)?g=g[0]:g=g[c]}j({path:n,namedPath:p,data:o,structure:g})},[y,w]);return l.useEffect(()=>{const n=o=>{o.data.type==="codeyam-log"&&o.data.data?.includes("Error")&&console.error("[ScenarioEditor] Error from iframe:",o.data.data)};return window.addEventListener("message",n),()=>window.removeEventListener("message",n)},[]),l.useEffect(()=>{if(h?.current?.contentWindow){const n={arguments:x.argumentsData??[],...x.mockData??{}},o={type:"codeyam-override-data",name:t.name,data:JSON.stringify(n)};console.log("[ScenarioEditor] → SENDING codeyam-override-data:",{type:o.type,name:o.name,dataPreview:JSON.stringify(n).substring(0,200)+"...",fullData:n}),h.current.contentWindow.postMessage(o,"*")}},[x,t,h]),e.jsx("form",{method:"post",onSubmit:n=>{I(n)},children:S?e.jsx(q,{analysis:s,scenarioName:u.name,dataItem:S,onClick:B,onChange:T,onAIResult:A,onGenerateData:b,saveFeedback:E}):e.jsxs(e.Fragment,{children:[e.jsx(_,{title:"Edit Name and Description",borderT:!0,children:e.jsx(te,{scenarioFormData:u,handleInputChange:v})}),t.metadata.data&&e.jsx(_,{title:"Edit Scenario Data",defaultOpen:!0,borderT:!0,borderB:!0,children:e.jsx(q,{analysis:s,scenarioName:u.name,dataItem:{path:[],namedPath:[],data:y,structure:w},onClick:B,onChange:T,onAIResult:A,onGenerateData:b,saveFeedback:E})})]})})},pe=({data:t})=>[{title:t?.scenario?`Edit ${t.scenario.name} - CodeYam`:"Edit Scenario - CodeYam"},{name:"description",content:"Edit scenario data"}];function ue(){const t=H(),a=t.analysis,r=t.scenario,s=t.defaultScenario,d=t.entitySha,i=t.projectSlug,f=V(),{iframeRef:h}=K(),[b,E]=l.useState(!1),[m,u]=l.useState(null),[D,S]=l.useState(null),[j,x]=l.useState(!1),[y,w]=l.useState(!1),[I,v]=l.useState(null),{interactiveServerUrl:A,isStarting:T,isLoading:B,showIframe:n,iframeKey:o,onIframeLoad:p}=Q({analysisId:a?.id,scenarioId:r?.id,scenarioName:r?.name,projectSlug:i,enabled:!0}),g=l.useCallback(async(N,L)=>{E(!0),u(null),S(null),console.log("[EditScenario] Starting save with options:",L),console.log("[EditScenario] Scenarios to save:",N);try{const O={analysis:a,scenarios:N};console.log("[EditScenario] Sending to /api/save-scenarios:",{analysisId:a.id,scenarioCount:N.length,scenarioNames:N.map(M=>M.name)});const R=await fetch("/api/save-scenarios",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(O)}),$=await R.json();if(console.log("[EditScenario] API response:",$),!R.ok||!$.success)throw new Error($.error||"Failed to save scenarios");if(console.log("[EditScenario] Scenarios saved successfully"),L?.recapture&&r.id&&A){console.log("[EditScenario] ========== DIRECT CAPTURE START =========="),console.log("[EditScenario] Taking screenshot from running server",{scenarioId:r.id,projectId:a.projectId,serverUrl:A}),u("Changes saved. Capturing screenshot...");const M={serverUrl:A,scenarioId:r.id,projectId:a.projectId,viewportWidth:1440};console.log("[EditScenario] Capture request body:",M);const F=await fetch("/api/capture-screenshot",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(M)});console.log("[EditScenario] Capture response status:",F.status);const k=await F.json();if(console.log("[EditScenario] Capture response body:",k),!F.ok||!k.success)throw console.error("[EditScenario] Capture failed:",k),new Error(k.error||"Failed to capture screenshot");console.log("[EditScenario] Screenshot captured successfully:",k),console.log("[EditScenario] ========== DIRECT CAPTURE COMPLETE =========="),u("Recapture successful")}else if(L?.recapture&&!A){console.log("[EditScenario] No running server, using queued recapture");const M=new FormData;M.append("analysisId",a.id||""),M.append("scenarioId",r.id||"");const F=await fetch("/api/recapture-scenario",{method:"POST",body:M}),k=await F.json();if(!F.ok||!k.success)throw new Error(k.error||"Failed to trigger recapture");console.log("Recapture queued:",k),S(k.jobId),u("Changes saved. Screenshot recapture queued.")}else u("Changes saved successfully.")}catch(O){console.error("Error saving scenarios:",O),u(`Error: ${O instanceof Error?O.message:String(O)}`)}finally{E(!1)}},[a,r.id,A]),c=l.useCallback(N=>{},[]),C=l.useCallback(async(N,L)=>{const O=await fetch("/api/generate-scenario-data",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({description:N,existingScenarios:a.scenarios,scenariosDataStructure:a.metadata?.scenariosDataStructure,editingMockName:r.name,editingMockData:L?.data})}),R=await O.json();if(!O.ok||!R.success)throw new Error(R.error||"Failed to generate scenario data");return R.data},[a,r.name]),P=l.useCallback(async()=>{if(!r.id){v("Cannot delete scenario without ID");return}x(!0),v(null);try{const N=await fetch("/api/delete-scenario",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({scenarioId:r.id,screenshotPaths:r.metadata?.screenshotPaths||[]})}),L=await N.json();if(!N.ok||!L.success)throw new Error(L.error||"Failed to delete scenario");f(`/entity/${d}`)}catch(N){console.error("[EditScenario] Error deleting scenario:",N),v(N instanceof Error?N.message:"Failed to delete scenario"),w(!1)}finally{x(!1)}},[r.id,r.metadata?.screenshotPaths,d,f]);return e.jsxs("div",{className:"h-screen bg-gray-50 flex flex-col",children:[e.jsxs("header",{className:"bg-white border-b border-gray-200 px-8 py-6 shrink-0",children:[e.jsx("div",{className:"mb-4",children:e.jsxs(U,{to:`/entity/${d}`,className:"text-blue-600 no-underline text-sm font-medium transition-colors hover:text-blue-700 hover:underline",children:["← Back to ",a.entity?.name]})}),e.jsxs("h1",{className:"text-[32px] font-bold text-gray-900 m-0 mb-3",children:["Edit Scenario: ",r.name]}),r.description&&e.jsx("p",{className:"text-gray-600 text-[15px] leading-relaxed m-0",children:r.description})]}),e.jsxs("div",{className:"flex flex-1 gap-0 min-h-0",children:[e.jsxs("aside",{className:"w-[400px] bg-white border-r border-gray-200 overflow-y-auto shrink-0",children:[e.jsx(de,{currentScenario:r,defaultScenario:s,dataStructure:a.metadata?.scenariosDataStructure||{},analysis:a,shouldCreateNewScenario:!1,onSave:g,onNavigate:c,iframeRef:h,onGenerateData:C,saveFeedback:{isSaving:b,message:m,isError:m?.startsWith("Error")??!1}}),m==="Recapture successful"&&e.jsx("div",{className:"px-4 pb-4",children:e.jsx(U,{to:`/entity/${d}`,className:"text-blue-600 hover:text-blue-700 hover:underline text-sm",children:"View updated screenshot on entity page →"})}),e.jsxs("div",{className:"border-t border-gray-200 p-4 mt-4",children:[e.jsx("div",{className:"text-sm text-gray-600 mb-3",children:"Permanently remove this scenario and its screenshots."}),y?e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"text-sm text-red-600 font-medium",children:['Are you sure you want to delete "',r.name,'"?']}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{onClick:()=>{P()},disabled:j,className:"flex-1 px-4 py-2 bg-red-600 text-white rounded-md text-sm font-medium hover:bg-red-700 disabled:bg-red-400 disabled:cursor-not-allowed transition-colors",children:j?"Deleting...":"Yes, Delete"}),e.jsx("button",{onClick:()=>w(!1),disabled:j,className:"flex-1 px-4 py-2 bg-gray-100 text-gray-700 border border-gray-300 rounded-md text-sm font-medium hover:bg-gray-200 disabled:opacity-50 transition-colors",children:"Cancel"})]})]}):e.jsx("button",{onClick:()=>w(!0),className:"w-full px-4 py-2 bg-red-50 text-red-600 border border-red-200 rounded-md text-sm font-medium hover:bg-red-100 transition-colors",children:"Delete Scenario"}),I&&e.jsx("div",{className:"mt-3 text-sm text-red-600 bg-red-50 px-3 py-2 rounded-md",children:I})]})]}),e.jsx("main",{className:"flex-1 bg-gray-100 overflow-auto flex flex-col min-w-0",children:e.jsx(X,{scenarioId:r.id||r.name,scenarioName:r.name,iframeUrl:A,isStarting:T,isLoading:B,showIframe:n,iframeKey:o,onIframeLoad:p,projectSlug:i,defaultWidth:1440,defaultHeight:900})})]})]})}const xe=z(function(){return e.jsx(Y,{children:e.jsx(ue,{})})});export{xe as default,pe as meta};
@@ -0,0 +1 @@
1
+ import{c as x}from"./createLucideIcon-CS7XDrKv.js";import{j as a}from"./chunk-WWGJGFF6-De6i8FUT.js";import{C}from"./clock-vWeoCemX.js";const z=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],w=x("chevron-down",z),S=()=>a.jsxs("svg",{width:"8",height:"8",viewBox:"0 0 9 9",fill:"none",className:"animate-spin",children:[a.jsx("circle",{cx:"4.5",cy:"4.5",r:"3.5",stroke:"#FFF4FC",strokeWidth:"1",fill:"none"}),a.jsx("path",{d:"M4.5 1C2.57 1 1 2.57 1 4.5C1 5.6 1.5 6.58 2.28 7.23",stroke:"#FF2AB5",strokeWidth:"1",strokeLinecap:"round",fill:"none"})]});function N(o,u,f){const h=o.entityType==="visual"||o.entityType==="library",g=(f?.jobs.some(s=>s.entityShas?.includes(o.sha)||s.type==="analysis"&&s.entityShas&&s.entityShas.length===0)??!1)||(f?.currentlyExecuting?.entityShas?.includes(o.sha)??!1),d=u?.currentEntityShas?.includes(o.sha)??!1,i=o.analyses?.[0],r=!!i,e=(i?.scenarios||[]).length,b=i?.entitySha===o.sha,y=r&&!b,p=i?.status?.scenarios||[],l=p.filter(s=>s.screenshotFinishedAt).length,m=e>0&&l===e,A=p.some(s=>s.screenshotStartedAt&&!s.screenshotFinishedAt),c=e>0&&!m&&b&&(d||A||!!u?.capturePid);let t,n;return g?(t="queued",n={label:"In Queue",color:"text-[#3098b4]",bgColor:"bg-[#cbf3fa]",icon:a.jsx(C,{size:14}),shouldAnimate:!1}):d||c?(t=c?"capturing":"analyzing",n={label:"Analyzing...",subtitle:c&&l>0?`(${l}/${e})`:void 0,color:"text-[#ff2ab5]",bgColor:"bg-[#ffdbf6]",icon:a.jsx(S,{}),shouldAnimate:!0}):y?(t="outdated",n={label:"Out of date",color:"text-[#c69538]",bgColor:"bg-[#fdf9c9]",icon:"⚠",shouldAnimate:!1}):r&&m?(t="up-to-date",n={label:"Up to date",color:"text-[#00925d]",bgColor:"bg-[#e8ffe6]",icon:a.jsx("div",{className:"w-2 h-2 rounded-full bg-[#00925d]"}),shouldAnimate:!1}):r&&e===0?(t="analyzed",n={label:"Analyzed",subtitle:"(no scenarios)",color:"text-[#00925d]",bgColor:"bg-[#e8ffe6]",icon:"✓",shouldAnimate:!1}):h?(t="not-analyzed",n={label:"Not analyzed",color:"text-[#646464]",bgColor:"bg-[#f9f9f9]",icon:a.jsx("div",{className:"w-2 h-2 rounded-full border border-[#646464]"}),shouldAnimate:!1}):(t="not-analyzable",n=null),{isQueued:g,isAnalyzing:d,isCapturing:c,hasAnalysis:r,hasScenarios:e>0,isOutdated:y,canBeAnalyzed:h,scenariosCaptured:l,totalScenarios:e,captureProgress:e>0?Math.round(l/e*100):0,status:t,badge:n}}export{w as C,N as g};
@@ -1 +1 @@
1
- function l(e,s){const r=e.metadata?.isUncommitted===!0,a=e.analyses&&e.analyses.length>0&&e.analyses.some(t=>t.scenarios&&t.scenarios.length>0);if(!r){const t=!!e.metadata?.previousVersionWithAnalyses,o=a&&e.analyses&&e.analyses.length>0&&e.analyses[0].entitySha!==e.sha;return t||o?a?{state:"committed_no_simulations",hasSimulations:!0,hasOutdatedSimulations:!0,canGenerateSimulations:!0,badge:{label:"Committed - Simulations Outdated",color:"text-orange-700",bgColor:"bg-orange-50",borderColor:"border-orange-300",icon:"⚠"}}:{state:"committed_no_simulations",hasSimulations:!1,hasOutdatedSimulations:!1,canGenerateSimulations:!0,badge:{label:"Not Yet Analyzed",color:"text-gray-600",bgColor:"bg-gray-50",borderColor:"border-gray-200",icon:"○"}}:a?{state:"committed_with_simulations",hasSimulations:!0,hasOutdatedSimulations:!1,canGenerateSimulations:!1,badge:{label:"Up to date",color:"text-green-700",bgColor:"bg-green-50",borderColor:"border-green-200",icon:"✓"}}:{state:"committed_no_simulations",hasSimulations:!1,hasOutdatedSimulations:!1,canGenerateSimulations:!0,badge:{label:"Not analyzed",color:"text-gray-600",bgColor:"bg-gray-50",borderColor:"border-gray-200",icon:"○"}}}const i=!!e.metadata?.previousCommittedSha;if(!!e.metadata?.previousVersionWithAnalyses||i){const t=a&&e.analyses&&e.analyses.length>0&&e.analyses[0].entitySha===e.metadata?.previousVersionWithAnalyses;return a&&!t?{state:"uncommitted_with_new_simulations",hasSimulations:!0,hasOutdatedSimulations:!1,canGenerateSimulations:!1,badge:{label:"Up-to-date Simulations",color:"text-blue-700",bgColor:"bg-blue-50",borderColor:"border-blue-200",icon:"●"}}:a?{state:"uncommitted_outdated_simulations",hasSimulations:!0,hasOutdatedSimulations:!0,canGenerateSimulations:!0,badge:{label:"Edited - Simulations Outdated",color:"text-amber-700",bgColor:"bg-amber-50",borderColor:"border-amber-300",icon:"⚠"}}:{state:"uncommitted_outdated_simulations",hasSimulations:!1,hasOutdatedSimulations:!1,canGenerateSimulations:!0,badge:{label:"Edited - Not Yet Analyzed",color:"text-gray-600",bgColor:"bg-gray-50",borderColor:"border-gray-200",icon:"○"}}}else return a?{state:"uncommitted_with_new_simulations",hasSimulations:!0,hasOutdatedSimulations:!1,canGenerateSimulations:!1,badge:{label:"Up-to-date Simulations",color:"text-blue-700",bgColor:"bg-blue-50",borderColor:"border-blue-200",icon:"●"}}:{state:"uncommitted_no_previous_simulations",hasSimulations:!1,hasOutdatedSimulations:!1,canGenerateSimulations:!0,badge:{label:"New",color:"text-purple-700",bgColor:"bg-purple-50",borderColor:"border-purple-200",icon:"+"}}}function u(e){return l(e).hasOutdatedSimulations}export{l as g,u as s};
1
+ function i(e,s){const r=e.metadata?.isUncommitted===!0,a=e.analyses&&e.analyses.length>0&&e.analyses.some(t=>t.scenarios&&t.scenarios.length>0);if(!r){const t=!!e.metadata?.previousVersionWithAnalyses,o=a&&e.analyses&&e.analyses.length>0&&e.analyses[0].entitySha!==e.sha;return t||o?a?{state:"committed_no_simulations",hasSimulations:!0,hasOutdatedSimulations:!0,canGenerateSimulations:!0,badge:{label:"Committed - Simulations Outdated",color:"text-orange-700",bgColor:"bg-orange-50",borderColor:"border-orange-300",icon:"⚠"}}:{state:"committed_no_simulations",hasSimulations:!1,hasOutdatedSimulations:!1,canGenerateSimulations:!0,badge:{label:"Not Yet Analyzed",color:"text-gray-600",bgColor:"bg-gray-50",borderColor:"border-gray-200",icon:"○"}}:a?{state:"committed_with_simulations",hasSimulations:!0,hasOutdatedSimulations:!1,canGenerateSimulations:!1,badge:{label:"Up to date",color:"text-green-700",bgColor:"bg-green-50",borderColor:"border-green-200",icon:"✓"}}:{state:"committed_no_simulations",hasSimulations:!1,hasOutdatedSimulations:!1,canGenerateSimulations:!0,badge:{label:"Not analyzed",color:"text-gray-600",bgColor:"bg-gray-50",borderColor:"border-gray-200",icon:"○"}}}const n=!!e.metadata?.previousCommittedSha;if(!!e.metadata?.previousVersionWithAnalyses||n){const t=a&&e.analyses&&e.analyses.length>0&&e.analyses[0].entitySha===e.metadata?.previousVersionWithAnalyses;return a&&!t?{state:"uncommitted_with_new_simulations",hasSimulations:!0,hasOutdatedSimulations:!1,canGenerateSimulations:!1,badge:{label:"Up-to-date Simulations",color:"text-green-700",bgColor:"bg-green-50",borderColor:"border-green-200",icon:"●"}}:a?{state:"uncommitted_outdated_simulations",hasSimulations:!0,hasOutdatedSimulations:!0,canGenerateSimulations:!0,badge:{label:"Edited - Simulations Outdated",color:"text-amber-700",bgColor:"bg-amber-50",borderColor:"border-amber-300",icon:"⚠"}}:{state:"uncommitted_outdated_simulations",hasSimulations:!1,hasOutdatedSimulations:!1,canGenerateSimulations:!0,badge:{label:"Not Analyzed",color:"text-gray-600",bgColor:"bg-gray-50",borderColor:"border-gray-200",icon:"○"}}}else return a?{state:"uncommitted_with_new_simulations",hasSimulations:!0,hasOutdatedSimulations:!1,canGenerateSimulations:!1,badge:{label:"Up-to-date Simulations",color:"text-green-700",bgColor:"bg-green-50",borderColor:"border-green-200",icon:"●"}}:{state:"uncommitted_no_previous_simulations",hasSimulations:!1,hasOutdatedSimulations:!1,canGenerateSimulations:!0,badge:{label:"New",color:"text-purple-700",bgColor:"bg-purple-50",borderColor:"border-purple-200",icon:"+"}}}function u(e){return i(e).hasOutdatedSimulations}export{i as g,u as s};
@@ -0,0 +1,5 @@
1
+ import{m as g,s as v,E as _,N as S,R as l,i as D,r as u,g as w,h as b,F as M,k as C,l as P,n as F,o as k,p as L,q as T,t as H,v as I,x as z,y as O,z as N,j as p}from"./chunk-WWGJGFF6-De6i8FUT.js";import{r as E}from"./index-D-zYbzFZ.js";var h={},y;function j(){if(y)return h;y=1;var t=E();return h.createRoot=t.createRoot,h.hydrateRoot=t.hydrateRoot,h}var q=j();[...S];new TextEncoder;(class extends l.Component{constructor(t){super(t),this.state={error:null,location:t.location}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,o){return o.location!==t.location?{error:null,location:t.location}:{error:o.error,location:o.location}}render(){return this.state.error?l.createElement(B,{error:this.state.error,renderAppShell:!0}):this.props.children}});function R({renderAppShell:t,title:o,children:a}){return t?l.createElement("html",{lang:"en"},l.createElement("head",null,l.createElement("meta",{charSet:"utf-8"}),l.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),l.createElement("title",null,o)),l.createElement("body",null,l.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},a))):a}function B({error:t,renderAppShell:o}){console.error(t);let a=l.createElement("script",{dangerouslySetInnerHTML:{__html:`
2
+ console.log(
3
+ "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."
4
+ );
5
+ `}});if(D(t))return l.createElement(R,{renderAppShell:o,title:"Unhandled Thrown Response!"},l.createElement("h1",{style:{fontSize:"24px"}},t.status," ",t.statusText),a);let n;if(t instanceof Error)n=t;else{let r=t==null?"Unknown Error":typeof t=="object"&&"toString"in t?t.toString():JSON.stringify(t);n=new Error(r)}return l.createElement(R,{renderAppShell:o,title:"Application Error!"},l.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),l.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),a)}function U(t){if(!t)return null;let o=Object.entries(t),a={};for(let[n,r]of o)if(r&&r.__type==="RouteErrorResponse")a[n]=new _(r.status,r.statusText,r.data,r.internal===!0);else if(r&&r.__type==="Error"){if(r.__subType){let i=window[r.__subType];if(typeof i=="function")try{let s=new i(r.message);s.stack=r.stack,a[n]=s}catch{}}if(a[n]==null){let i=new Error(r.message);i.stack=r.stack,a[n]=i}}else a[n]=r;return a}function A({state:t,routes:o,getRouteInfo:a,location:n,basename:r,isSpaMode:i}){let s={...t,loaderData:{...t.loaderData}},c=g(o,n,r);if(c)for(let x of c){let m=x.route.id,d=a(m);v(m,d.clientLoader,d.hasLoader,i)&&(d.hasHydrateFallback||!d.hasLoader)?delete s.loaderData[m]:d.hasLoader||(s.loaderData[m]=null)}return s}var W=E();function Y(t){return u.createElement(P,{flushSync:W.flushSync,...t})}var e=null,f=null;function J(){if(!e&&window.__reactRouterContext&&window.__reactRouterManifest&&window.__reactRouterRouteModules){if(window.__reactRouterManifest.sri===!0){const t=document.querySelector("script[rr-importmap]");if(t?.textContent)try{window.__reactRouterManifest.sri=JSON.parse(t.textContent).integrity}catch(o){console.error("Failed to parse import map",o)}}e={context:window.__reactRouterContext,manifest:window.__reactRouterManifest,routeModules:window.__reactRouterRouteModules,stateDecodingPromise:void 0,router:void 0,routerInitialized:!1}}}function V({getContext:t,unstable_instrumentations:o}){if(J(),!e)throw new Error("You must be using the SSR features of React Router in order to skip passing a `router` prop to `<RouterProvider>`");let a=e;if(!e.stateDecodingPromise){let s=e.context.stream;w(s,"No stream found for single fetch decoding"),e.context.stream=void 0,e.stateDecodingPromise=F(s,window).then(c=>{e.context.state=c.value,a.stateDecodingPromise.value=!0}).catch(c=>{a.stateDecodingPromise.error=c})}if(e.stateDecodingPromise.error)throw e.stateDecodingPromise.error;if(!e.stateDecodingPromise.value)throw e.stateDecodingPromise;let n=k(e.manifest.routes,e.routeModules,e.context.state,e.context.ssr,e.context.isSpaMode),r;if(e.context.isSpaMode){let{loaderData:s}=e.context.state;e.manifest.routes.root?.hasLoader&&s&&"root"in s&&(r={loaderData:{root:s.root}})}else r=A({state:e.context.state,routes:n,getRouteInfo:s=>({clientLoader:e.routeModules[s]?.clientLoader,hasLoader:e.manifest.routes[s]?.hasLoader===!0,hasHydrateFallback:e.routeModules[s]?.HydrateFallback!=null}),location:window.location,basename:window.__reactRouterContext?.basename,isSpaMode:e.context.isSpaMode}),r&&r.errors&&(r.errors=U(r.errors));let i=L({routes:n,history:I(),basename:e.context.basename,getContext:t,hydrationData:r,hydrationRouteProperties:N,unstable_instrumentations:o,mapRouteProperties:O,future:{middleware:e.context.future.v8_middleware},dataStrategy:H(()=>i,e.manifest,e.routeModules,e.context.ssr,e.context.basename),patchRoutesOnNavigation:T(e.manifest,e.routeModules,e.context.ssr,e.context.routeDiscovery,e.context.isSpaMode,e.context.basename)});return e.router=i,i.state.initialized&&(e.routerInitialized=!0,i.initialize()),i.createRoutesForHMR=z,window.__reactRouterDataRouter=i,i}function X(t){f||(f=V({getContext:t.getContext,unstable_instrumentations:t.unstable_instrumentations}));let[o,a]=u.useState(void 0);u.useEffect(()=>{},[]),u.useEffect(()=>{},[o]);let[n,r]=u.useState(f.state.location);return u.useLayoutEffect(()=>{e&&e.router&&!e.routerInitialized&&(e.routerInitialized=!0,e.router.initialize())},[]),u.useLayoutEffect(()=>{if(e&&e.router)return e.router.subscribe(i=>{i.location!==n&&r(i.location)})},[n]),w(e,"ssrInfo unavailable for HydratedRouter"),b(f,e.manifest,e.routeModules,e.context.ssr,e.context.routeDiscovery,e.context.isSpaMode),u.createElement(u.Fragment,null,u.createElement(M.Provider,{value:{manifest:e.manifest,routeModules:e.routeModules,future:e.context.future,criticalCss:o,ssr:e.context.ssr,isSpaMode:e.context.isSpaMode,routeDiscovery:e.context.routeDiscovery}},u.createElement(C,{location:n},u.createElement(Y,{router:f,unstable_useTransitions:t.unstable_useTransitions,unstable_onError:t.unstable_onError}))),u.createElement(u.Fragment,null))}u.startTransition(()=>{q.hydrateRoot(document,p.jsx(u.StrictMode,{children:p.jsx(X,{})}))});
@@ -0,0 +1 @@
1
+ import{c as e}from"./createLucideIcon-CS7XDrKv.js";const a=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],o=e("file-text",a);export{o as F};
@@ -0,0 +1 @@
1
+ import{b as q,r as j,j as e,L as U,e as J,w as K,u as X,d as Z}from"./chunk-WWGJGFF6-De6i8FUT.js";import{E as _}from"./EntityTypeIcon-D5ZHFomX.js";import{s as ee}from"./entityVersioning-Bk_YB1jM.js";import{L as B,g as te}from"./LibraryFunctionPreview-BYVx9KFp.js";import{S as V}from"./SafeScreenshot-Bual6h18.js";import{g as se,C as W}from"./entityStatus-BEqj2qBy.js";import{T as ae}from"./triangle-alert-D7k-ArFa.js";import"./file-text-LM0mgxXE.js";import"./createLucideIcon-CS7XDrKv.js";import"./chart-column-B8fb6wnw.js";import"./clock-vWeoCemX.js";function ne({entity:n,currentRun:c,queueState:v}){const E=q(),w=n.entityType==="visual"||n.entityType==="library",m=se(n,c,v),S=n.analyses?.[0],A=S?.status,P=S?.scenarios||[],F=j.useCallback(()=>{E.submit({entitySha:n.sha,filePath:n.filePath||""},{method:"post",action:"/api/analyze"})},[n,E]),N=ee(n),x=n.metadata?.isSuperseded===!0,h=m.isAnalyzing||m.isCapturing,T=h||m.isQueued;return e.jsxs("div",{className:"flex flex-col gap-1.5 p-3 rounded-lg transition-all bg-white hover:bg-gray-100",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("div",{className:"flex items-center gap-3 flex-1 overflow-hidden",children:[e.jsx(_,{type:n.entityType}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx(U,{to:`/entity/${n.sha}`,className:"font-semibold text-sm text-gray-900 whitespace-nowrap",children:n.name}),e.jsx("div",{className:"px-1 py-0 h-[15px] flex items-center justify-center rounded text-[10px] leading-[15px] uppercase font-semibold",style:{backgroundColor:n.entityType==="visual"?"#f3e8ff":n.entityType==="library"||n.entityType==="type"?"#f9f9f9":n.entityType==="data"?"#dbeafe":n.entityType==="index"?"#f9f9f9":"#f3f4f6",color:n.entityType==="visual"?"#7c3aed":n.entityType==="library"?"#06b6d5":n.entityType==="type"?"#db2627":n.entityType==="data"?"#2563eb":n.entityType==="index"?"#ea580c":"#6b7280"},children:n.entityType||"other"})]}),e.jsx("div",{className:"text-xs text-gray-500 mt-0.5 truncate",children:n.filePath}),n.description&&e.jsx("div",{className:"text-sm text-gray-600 mt-1 italic",children:n.description})]})]}),e.jsx("div",{className:"flex-1 shrink flex justify-end items-center gap-3",children:e.jsxs("div",{className:"flex items-center gap-3",children:[m.badge&&e.jsxs("div",{className:`flex items-center gap-1.5 px-2 py-0 h-[26px] rounded ${m.badge.bgColor}`,children:[typeof m.badge.icon=="string"?e.jsx("span",{className:"text-xs",children:m.badge.icon}):m.badge.icon,e.jsxs("span",{className:`text-[10px] leading-[15px] font-medium ${m.badge.color}`,children:[m.badge.label,m.badge.subtitle&&e.jsx("span",{className:"opacity-75 ml-1",children:m.badge.subtitle})]})]}),w&&!m.isQueued&&!h&&e.jsx("button",{onClick:F,disabled:T,className:`px-[15px] py-0 h-[23px] border-none rounded text-[12px] font-medium transition-all whitespace-nowrap flex items-center justify-center ${T?"cursor-not-allowed opacity-50":"cursor-pointer hover:-translate-y-px"}`,style:{backgroundColor:"#005C75",color:"#ffffff"},onMouseEnter:u=>{T||(u.currentTarget.style.backgroundColor="#004560")},onMouseLeave:u=>{T||(u.currentTarget.style.backgroundColor="#005C75")},title:h?"Analysis in progress":m.isQueued?"Already queued for analysis":"Analyze this entity",children:"Analyze"})]})})]}),P.length>0&&!m.isQueued&&!h&&e.jsx("div",{className:"flex gap-2 flex-wrap px-0 mt-3",children:P.slice(0,5).map((u,C)=>{if(!u.id)return null;if(n.entityType==="library")return e.jsx(B,{scenario:u,entitySha:n.sha,size:"medium",isOutdated:x||N},C);const D=u.metadata?.screenshotPaths?.[0],g=te(u,A,h,n.sha,v);if(g.isCaptured){const k=x||N;return e.jsx(U,{to:`/entity/${n.sha}/scenarios/${u.id}`,className:`relative w-20 h-15 border-2 rounded overflow-hidden cursor-pointer transition-all flex items-center justify-center hover:scale-105 hover:shadow-md ${k?"border-[#c69538] bg-[#fdf9c9] hover:border-[#a07a2d]":"border-gray-200 bg-gray-50 hover:border-blue-600"}`,children:e.jsx(V,{screenshotPath:D,alt:u.name,title:u.name,className:"max-w-full max-h-full object-contain object-center"})},C)}else{const k=g.hasError?"text-red-500":"text-gray-400";return e.jsx(U,{to:`/entity/${n.sha}/scenarios/${u.id}`,className:`w-20 h-15 border-2 border-dashed ${g.borderColor} rounded ${g.bgColor} flex items-center justify-center text-2xl`,title:g.title,children:e.jsx("span",{className:g.shouldSpin?"animate-pulse":k,children:g.icon})},C)}})})]})}function re({entities:n,page:c,itemsPerPage:v=50,currentRun:E,filter:w,entityType:m,queueState:S}){const[A,P]=J(),[F,N]=j.useState(new Set),[x,h]=j.useState(""),[T,u]=j.useState(!1),[C,D]=j.useState("all"),g=m||"all",k=(t,r=[])=>{if(r.some(a=>a.entityShas?.includes(t.sha)))return"analyzing";if(!t.analyses||t.analyses.length===0)return"not-analyzed";const o=t.analyses[0],y=o.createdAt?new Date(o.createdAt).getTime():0,s=t.metadata?.editedAt?new Date(t.metadata.editedAt).getTime():0;return y>=s?"up-to-date":"out-of-date"},z=j.useMemo(()=>{let t=n;return g!=="all"&&(t=t.filter(r=>r.entityType===g)),w==="analyzed"&&(t=t.filter(r=>r.analyses&&r.analyses.length>0)),t},[n,g,w]),M=j.useMemo(()=>{const t=new Map,r=new Map,l=new Map;z.forEach(s=>{const a=`${s.filePath}::${s.name}`,i=r.get(a);if(!i)r.set(a,s),l.set(a,[]);else{const f=i.metadata?.editedAt||i.createdAt||"",d=s.metadata?.editedAt||s.createdAt||"";let p=!1;if(d>f)p=!0;else if(d===f){const b=i.createdAt||"";p=(s.createdAt||"")>b}p?(l.get(a).push(i),r.set(a,s)):l.get(a).push(s)}}),r.forEach((s,a)=>{if(!(s.analyses&&s.analyses.length>0)&&s.metadata?.previousVersionWithAnalyses){const d=(l.get(a)||[]).find(p=>p.sha===s.metadata?.previousVersionWithAnalyses);d&&d.analyses&&d.analyses.length>0&&(s.analyses=d.analyses)}}),Array.from(r.values()).sort((s,a)=>{const i=!s.metadata?.notExported&&!s.metadata?.namedExport,f=!a.metadata?.notExported&&!a.metadata?.namedExport;return i&&!f?-1:!i&&f?1:0}).forEach(s=>{const a=s.filePath??"No File Path";t.has(a)||t.set(a,{filePath:a,entities:[],totalCount:0,uncommittedCount:0,lastUpdated:null,previewScreenshots:[],previewScreenshotErrors:[],previewLibraryScenarios:[],state:"up-to-date",simulationCount:0});const i=t.get(a);i.entities.push(s),i.totalCount++,s.metadata?.isUncommitted&&i.uncommittedCount++;const f=s.analyses?.[0]?.scenarios?.length||0;i.simulationCount+=f;const d=s.metadata?.editedAt||s.updatedAt;d&&(!i.lastUpdated||new Date(d)>new Date(i.lastUpdated))&&(i.lastUpdated=d)});const o=S?.jobs||[];t.forEach(s=>{const a=s.entities.map(i=>k(i,o));a.includes("analyzing")?s.state="analyzing":a.includes("out-of-date")?s.state="out-of-date":a.includes("not-analyzed")?s.state="not-analyzed":s.state="up-to-date"}),t.forEach(s=>{for(const a of s.entities){if(s.previewScreenshots.length+s.previewLibraryScenarios.length>=3)break;const f=a.analyses?.[0]?.scenarios||[];if(a.entityType==="library"){const d=f.find(p=>p.metadata?.executionResult||p.metadata?.error);d&&s.previewLibraryScenarios.push({scenario:d,entitySha:a.sha})}else{const d=f.find(p=>p.metadata?.screenshotPaths?.[0]);if(d){const p=d.metadata?.screenshotPaths?.[0],b=!!d.metadata?.error;p&&!s.previewScreenshots.includes(p)&&(s.previewScreenshots.push(p),s.previewScreenshotErrors.push(b))}}}});const y=Array.from(t.values());return y.sort((s,a)=>{if(w==="analyzed"){const d=Math.max(...s.entities.filter(b=>b.analyses?.[0]?.createdAt).map(b=>new Date(b.analyses[0].createdAt).getTime()),0);return Math.max(...a.entities.filter(b=>b.analyses?.[0]?.createdAt).map(b=>new Date(b.analyses[0].createdAt).getTime()),0)-d}if(s.uncommittedCount>0&&a.uncommittedCount===0)return-1;if(s.uncommittedCount===0&&a.uncommittedCount>0)return 1;const i=s.lastUpdated?new Date(s.lastUpdated).getTime():0;return(a.lastUpdated?new Date(a.lastUpdated).getTime():0)-i}),y},[z,w]),$=j.useMemo(()=>{let t=M;if(C!=="all"&&(t=t.filter(r=>r.state===C)),x.trim()){const r=x.toLowerCase();t=t.filter(l=>l.filePath.toLowerCase().includes(r))}return t},[M,x,C]),I=(c-1)*v,Q=I+v,R=$.slice(I,Q),L=Math.ceil($.length/v),O=t=>{N(r=>{const l=new Set(r);return l.has(t)?l.delete(t):l.add(t),l})},G=()=>{if(T)N(new Set),u(!1);else{const t=new Set(R.map(r=>r.filePath));N(t),u(!0)}},Y=t=>{switch(t){case"analyzing":return{text:"Analyzing...",bgColor:"#ffdbf6",textColor:"#ff2ab5",icon:e.jsxs("svg",{width:"8",height:"8",viewBox:"0 0 9 9",fill:"none",className:"animate-spin",children:[e.jsx("circle",{cx:"4.5",cy:"4.5",r:"3.5",stroke:"#FFF4FC",strokeWidth:"1",fill:"none"}),e.jsx("path",{d:"M4.5 1C2.57 1 1 2.57 1 4.5C1 5.6 1.5 6.58 2.28 7.23",stroke:"#FF2AB5",strokeWidth:"1",strokeLinecap:"round",fill:"none"})]})};case"up-to-date":return{text:"Up to date",bgColor:"#e8ffe6",textColor:"#00925d",icon:null};case"out-of-date":return{text:"Out of date",bgColor:"#fdf9c9",textColor:"#c69538",icon:null};case"not-analyzed":return{text:"Not analyzed",bgColor:"#f9f9f9",textColor:"#646464",icon:null}}},H=t=>{if(!t)return"Never";const r=new Date(t),l=new Date;if(r.getDate()===l.getDate()&&r.getMonth()===l.getMonth()&&r.getFullYear()===l.getFullYear()){const y=r.getHours(),s=r.getMinutes(),a=y>=12?"pm":"am",i=y%12||12,f=s.toString().padStart(2,"0");return`Today, ${i}:${f} ${a}`}return r.toLocaleString("en-US",{month:"numeric",day:"numeric",year:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!0})};return e.jsxs("div",{children:[e.jsxs("div",{className:"bg-white border-b border-gray-200 rounded-t-lg px-5 py-4 mb-6",children:[e.jsx("div",{className:"text-[10px] text-gray-500 mb-2 uppercase",children:"Filters"}),e.jsxs("div",{className:"flex gap-3",children:[e.jsxs("div",{className:"relative w-[130px]",children:[e.jsxs("select",{value:g,onChange:t=>{const r=t.target.value,l=new URLSearchParams(A);r==="all"?l.delete("entityType"):l.set("entityType",r),l.set("page","1"),P(l)},className:"appearance-none bg-gray-50 border border-gray-200 rounded px-[10px] pr-6 text-[12px] h-[39px] w-full cursor-pointer focus:outline-none focus:ring-0 focus:border-2 focus:border-[#005c75] hover:border-gray-300 transition-colors",children:[e.jsx("option",{value:"all",children:"All Types"}),e.jsx("option",{value:"visual",children:"Visual"}),e.jsx("option",{value:"library",children:"Library"})]}),e.jsx(W,{className:"absolute right-2 top-1/2 -translate-y-1/2 w-2 h-2 text-gray-500 pointer-events-none"})]}),e.jsxs("div",{className:"relative w-[130px]",children:[e.jsxs("select",{value:C,onChange:t=>D(t.target.value),className:"appearance-none bg-gray-50 border border-gray-200 rounded px-[10px] pr-6 text-[12px] h-[39px] w-full cursor-pointer focus:outline-none focus:ring-0 focus:border-2 focus:border-[#005c75] hover:border-gray-300 transition-colors",children:[e.jsx("option",{value:"all",children:"All States"}),e.jsx("option",{value:"analyzing",children:"Analyzing..."}),e.jsx("option",{value:"up-to-date",children:"Up to date"}),e.jsx("option",{value:"out-of-date",children:"Out of date"}),e.jsx("option",{value:"not-analyzed",children:"Not analyzed"})]}),e.jsx(W,{className:"absolute right-2 top-1/2 -translate-y-1/2 w-2 h-2 text-gray-500 pointer-events-none"})]}),e.jsxs("div",{className:"flex-1 relative",children:[e.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-400",children:"🔎"}),e.jsx("input",{type:"text",placeholder:"Search component",value:x,onChange:t=>h(t.target.value),className:"w-full bg-gray-50 border border-gray-200 rounded pl-9 pr-[10px] text-[12px] h-[39px] placeholder:text-gray-400 focus:outline-none focus:ring-0 focus:border-2 focus:border-[#005c75] transition-colors"})]}),e.jsx("button",{onClick:G,className:"px-[10px] h-[39px] border-none rounded text-[12px] font-medium cursor-pointer transition-colors whitespace-nowrap bg-[#005c75] text-white hover:bg-[#004a5e] disabled:bg-gray-400 disabled:cursor-not-allowed w-[130px]",children:T?"Collapse All":"Expand All"})]})]}),e.jsx("div",{className:"bg-[#f5f5f5] rounded-lg mb-2 text-[10px] font-normal leading-[15px] text-[#3e3e3e] uppercase",children:e.jsxs("div",{className:"flex justify-between items-center px-3 py-2",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx("span",{className:"w-4"}),e.jsx("span",{children:"FILE"})]}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsx("div",{className:"flex items-center h-[38px]",style:{width:"160px"},children:e.jsx("span",{className:"text-center w-full",children:"SIMULATIONS"})}),e.jsxs("div",{className:"flex gap-4 items-center",children:[e.jsx("span",{className:"text-center",style:{width:"70px"},children:"ENTITIES"}),e.jsx("span",{className:"text-center",style:{width:"127px"},children:"STATE"}),e.jsxs("div",{className:"flex items-center gap-1",style:{width:"116px"},children:[e.jsx("span",{className:"text-left",children:"MODIFIED"}),e.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e.jsx("path",{d:"M3 5L6 8L9 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})]})]})}),e.jsx("div",{className:"flex flex-col gap-3",children:R.map(t=>{const r=F.has(t.filePath),l=t.uncommittedCount>0;return e.jsxs("div",{className:"bg-white overflow-hidden",style:r?{border:"1px solid #e5e7eb",borderLeft:"4px solid #306AFF",borderRadius:"8px"}:{borderRadius:"8px"},children:[e.jsxs("div",{className:"flex justify-between items-center p-3 cursor-pointer select-none transition-colors hover:bg-gray-200",style:{outlineColor:"#005C75"},onClick:()=>O(t.filePath),role:"button",tabIndex:0,onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),O(t.filePath))},children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx("span",{className:"text-xs w-4 inline-flex items-center justify-center shrink-0",style:{color:r?"#3e3e3e":"#c7c7c7",transform:r?"rotate(90deg)":"none"},children:"▶"}),e.jsx("img",{src:"/icons/file-icon.svg",alt:"file",className:"w-4 h-5 shrink-0"}),e.jsx("span",{className:"font-normal text-gray-900 text-[12px] overflow-hidden text-ellipsis whitespace-nowrap",children:t.filePath}),l&&e.jsxs("span",{className:"text-[10px] text-amber-500 font-medium shrink-0 whitespace-nowrap",children:[t.uncommittedCount," uncommitted"]})]}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsxs("div",{className:"flex gap-1.5 items-center justify-center h-[38px]",style:{width:"160px"},children:[t.previewScreenshots.map((o,y)=>{const s=t.previewScreenshotErrors[y],a=s?"border-red-400":"border-gray-200";return e.jsxs("div",{className:`relative w-[50px] h-[38px] border ${a} rounded overflow-hidden bg-gray-50 shrink-0 flex items-center justify-center`,children:[e.jsx(V,{screenshotPath:o,alt:`Preview ${y+1}`,className:"max-w-full max-h-full object-contain object-center"}),s&&e.jsx("div",{className:"absolute top-0 right-0 w-4 h-4 bg-red-500 text-white flex items-center justify-center text-[10px] rounded-bl",title:"Error during capture",children:e.jsx(ae,{size:12,color:"white"})})]},`screenshot-${y}`)}),t.previewLibraryScenarios.map((o,y)=>e.jsx(B,{scenario:o.scenario,entitySha:o.entitySha,size:"small",showBorder:!0},`library-${y}`))]}),e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx("div",{className:"flex items-center justify-center",style:{minWidth:"70px"},children:e.jsx("div",{className:"bg-[#f9f9f9] flex items-center justify-center px-2 rounded whitespace-nowrap",style:{height:"23px"},children:e.jsxs("span",{className:"text-[12px] text-[#3e3e3e]",children:[t.totalCount," ",t.totalCount===1?"entity":"entities"]})})}),e.jsx("div",{className:"flex items-center justify-center",style:{width:"127px"},children:(()=>{const o=Y(t.state);return e.jsxs("span",{className:"text-[12px] px-2 rounded inline-flex items-center gap-1.5",style:{backgroundColor:o.bgColor,color:o.textColor,height:"23px"},children:[o.icon,o.text]})})()}),e.jsx("span",{className:"text-[11px] text-gray-400",style:{width:"116px",textAlign:"center"},children:H(t.lastUpdated)})]})]})]}),r&&e.jsx("div",{className:"p-2 bg-gray-50 flex flex-col gap-2",children:t.entities.map(o=>e.jsx(ne,{entity:o,currentRun:E,queueState:S},o.sha))})]},t.filePath)})}),L>1&&e.jsxs("div",{className:"flex justify-center items-center gap-4 mt-6 p-4",children:[c>1&&e.jsx("a",{href:`?${new URLSearchParams({...Object.fromEntries(A),page:String(c-1)}).toString()}`,className:"no-underline font-medium hover:underline",style:{color:"#005C75"},children:"← Previous"}),e.jsxs("span",{children:["Page ",c," of ",L]}),c<L&&e.jsx("a",{href:`?${new URLSearchParams({...Object.fromEntries(A),page:String(c+1)}).toString()}`,className:"no-underline font-medium hover:underline",style:{color:"#005C75"},children:"Next →"})]})]})}const ge=()=>[{title:"CodeYam - Files & Entities"},{name:"description",content:"Browse your codebase files and entities"}],be=K(function(){const{entities:c,currentCommit:v,page:E,filter:w,entityType:m,queueState:S}=X(),A=Z(),P=j.useMemo(()=>{if(!c)return[];const x=new Set([]);for(const h of c)x.add(h.filePath??"No File Path");return Array.from(x)},[c]),F=j.useMemo(()=>c?c.sort((x,h)=>x.metadata?.isUncommitted&&!h.metadata?.isUncommitted?-1:!x.metadata?.isUncommitted&&h.metadata?.isUncommitted?1:new Date(h.metadata?.editedAt||0).getTime()-new Date(x.metadata?.editedAt||0).getTime()):[],[c]),N=j.useMemo(()=>{if(!c)return[];const x=new Set([]);for(const h of c)h.metadata?.isUncommitted&&x.add(h.filePath??"No File Path");return Array.from(x)},[c]);return c?e.jsx("div",{className:"bg-[#f9f9f9] min-h-screen",children:e.jsxs("div",{className:"px-36 py-12 font-sans",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("h1",{className:"text-3xl font-bold text-gray-900",children:"Files & Entities"}),e.jsxs("div",{className:"flex gap-4 text-sm text-gray-500 mt-2",children:[A.state==="loading"&&e.jsx("span",{className:"text-blue-600 font-medium animate-pulse",children:"🔄"}),e.jsxs("span",{children:[P.length," files"]}),e.jsxs("span",{children:[c.length," entities"]}),e.jsxs("span",{className:"text-amber-500 font-medium",children:[N.length," uncommitted files"]})]})]}),e.jsx(re,{entities:F,page:E,itemsPerPage:50,currentRun:v?.metadata?.currentRun,filter:w,entityType:m,queueState:S})]})}):e.jsx("div",{className:"bg-[#f9f9f9] min-h-screen",children:e.jsxs("div",{className:"px-36 py-12 font-sans",children:[e.jsx("h1",{className:"text-3xl font-bold text-gray-900",children:"Error"}),e.jsx("p",{className:"text-base text-gray-500",children:"Unable to retrieve entities"})]})})});export{be as default,ge as meta};
@@ -0,0 +1,12 @@
1
+ import{r as q,b as rt,G as Xt,H as yr,A as vr,I as br,j as d,L as Ce,w as wr,u as jr,e as Cr}from"./chunk-WWGJGFF6-De6i8FUT.js";import{u as Nr}from"./useLastLogLine-AlhS7g5F.js";import{u as Sr}from"./useToast-Ddo4UQv7.js";import{L as Lr}from"./LogViewer-CRcT5fOZ.js";import{E as Yt}from"./EntityTypeIcon-D5ZHFomX.js";import{g as _r,s as kr}from"./entityVersioning-Bk_YB1jM.js";import{c as Kt}from"./createLucideIcon-CS7XDrKv.js";import{Z as Dr}from"./zap-_jw-9DCp.js";import{C as Er}from"./circle-alert-IdsgAK39.js";import{C as Ar}from"./circle-check-BACUUf75.js";import{S as er}from"./SafeScreenshot-Bual6h18.js";import"./file-text-LM0mgxXE.js";import"./chart-column-B8fb6wnw.js";const Pr=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Mr=Kt("circle",Pr);const Or=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Br=Kt("plus",Or);function tr(e,r,i=10){const n=new Map,s=o=>o.entityType==="visual"||o.entityType==="library";for(const o of e)s(o)&&n.set(o.sha,{entity:o,depth:0});const t=new Map;for(const o of r){const c=o.metadata?.importedBy;if(c)for(const l of Object.keys(c))for(const h of Object.keys(c[l])){const{shas:g}=c[l][h];for(const p of g)t.has(o.sha)||t.set(o.sha,new Set),t.get(o.sha).add(p)}}const a=[],f=new Set;for(const o of e)a.push({sha:o.sha,depth:0}),f.add(o.sha);for(;a.length>0;){const{sha:o,depth:c}=a.shift();if(c>=i)continue;const l=t.get(o);if(l)for(const h of l){if(f.has(h))continue;f.add(h);const g=r.find(p=>p.sha===h);if(g){if(s(g)){const p=c+1,x=n.get(h);(!x||p<x.depth)&&n.set(h,{entity:g,depth:p})}a.push({sha:h,depth:c+1})}}}return Array.from(n.values()).sort((o,c)=>o.depth!==c.depth?o.depth-c.depth:o.entity.name.localeCompare(c.entity.name))}function Fe(e){const r=new Map;for(const n of e)r.has(n.name)||r.set(n.name,[]),r.get(n.name).push(n);const i=[];for(const n of r.values())if(n.length===1)i.push(n[0]);else{const s=n.sort((t,a)=>{const f=t.metadata?.editedAt||t.createdAt||"";return(a.metadata?.editedAt||a.createdAt||"").localeCompare(f)});i.push(s[0])}return i}function Tr(e,r){const i=new Map,n=new Set(e.map(s=>s.path));for(const s of e)s.status==="renamed"&&s.oldPath&&n.add(s.oldPath);for(const s of e){const t=r.filter(o=>o.filePath===s.path||s.status==="renamed"&&s.oldPath&&o.filePath===s.oldPath),a=t.filter(o=>n.has(o.filePath)&&o.metadata?.isUncommitted&&!o.metadata?.isSuperseded),f=Fe(a);i.set(s.path,{status:s,entities:t,editedEntities:f})}return i}function Fr(e,r,i){const n=new Map;if(!i){for(const t of e)if(t.status==="deleted")n.set(t.path,{status:t,entities:[]});else{const a=r.filter(o=>o.filePath===t.path||t.status==="renamed"&&t.oldPath&&o.filePath===t.oldPath),f=Fe(a);n.set(t.path,{status:t,entities:f})}return n}const s=new Map;for(const t of i.fileComparisons){const a=new Set;for(const f of t.newEntities)a.add(f.name);for(const f of t.modifiedEntities)a.add(f.name);for(const f of t.deletedEntities)a.add(f.name);a.size>0&&s.set(t.filePath,a)}for(const t of e){const a=s.get(t.path);if(t.status==="deleted")n.set(t.path,{status:t,entities:[]});else{const f=a?r.filter(c=>(c.filePath===t.path||t.status==="renamed"&&t.oldPath&&c.filePath===t.oldPath)&&a.has(c.name)):[],o=Fe(f);n.set(t.path,{status:t,entities:o})}}return n}function Rr(e,r){const i=new Map,n=$r(e,r);for(const s of n){const a=tr([s],r).filter(({depth:f})=>f>0);i.set(s.sha,a)}return i}function Ir(e,r){const i=new Map;for(const n of e){const t=tr([n],r).filter(({depth:a})=>a>0);i.set(n.sha,t)}return i}function $r(e,r){const i=new Set(e.map(s=>s.path));for(const s of e)s.status==="renamed"&&s.oldPath&&i.add(s.oldPath);const n=r.filter(s=>i.has(s.filePath)&&s.metadata?.isUncommitted&&!s.metadata?.isSuperseded);return Fe(n)}function Vr(e,r,i){const[n,s]=q.useState(()=>new Set(r)),[t,a]=q.useState(()=>new Set(i)),f=q.useRef([]),o=q.useRef([]);return q.useEffect(()=>{(r.length!==f.current.length||r.some((w,y)=>w!==f.current[y]))&&(f.current=r,s(w=>{const y=new Set(w);return r.forEach(m=>{w.has(m)||y.add(m)}),y}))},[r]),q.useEffect(()=>{(i.length!==o.current.length||i.some((w,y)=>w!==o.current[y]))&&(o.current=i,a(w=>{const y=new Set(w);return i.forEach(m=>{w.has(m)||y.add(m)}),y}))},[i]),{expandedUncommitted:n,expandedBranch:t,setExpandedUncommitted:s,setExpandedBranch:a,toggleFile:(x,w,y)=>{y(m=>{const b=new Set(m);return b.has(x)?b.delete(x):b.add(x),b})},expandAllUncommitted:()=>{s(new Set(r))},collapseAllUncommitted:()=>{s(new Set)},expandAllBranch:()=>{a(new Set(i))},collapseAllBranch:()=>{a(new Set)}}}function qr(e,r,i){const[n,s]=q.useState(null),[t,a]=q.useState(null),f=rt();q.useEffect(()=>{f.data?.oldContent!==void 0&&f.data?.newContent!==void 0&&a({oldContent:f.data.oldContent,newContent:f.data.newContent,fileName:f.data.fileName})},[f.data]);const o=h=>{s({type:"file",path:h}),a(null);const g=new FormData;g.append("actionType","getDiff"),g.append("filePath",h),g.append("diffType",i==="branch"?"branch":"uncommitted"),g.append("baseBranch",e),g.append("currentBranch",r||""),f.submit(g,{method:"post"})},c=(h,g)=>{s({type:"entity",path:h,entitySha:g}),a(null);const p=new FormData;p.append("actionType","getDiff"),p.append("filePath",h),p.append("diffType",i==="branch"?"branch":"uncommitted"),p.append("baseBranch",e),p.append("currentBranch",r||""),p.append("entitySha",g),f.submit(p,{method:"post"})},l=()=>{s(null),a(null)};return{diffView:n,diffContent:t,isLoading:f.state==="loading"||f.state==="submitting",handleShowFileDiff:o,handleShowEntityDiff:c,handleCloseDiff:l}}function Gr(e){const r=rt(),{showToast:i}=Sr();q.useEffect(()=>{if(r.state==="idle"&&r.data){const a=r.data;a?.error&&i(`Error: ${a.error}`,"error",6e3)}},[r.state,r.data,i]);const n=a=>{console.log("Generate analysis clicked for entity:",a.sha,a.name);const f=new FormData;f.append("entitySha",a.sha),f.append("filePath",a.filePath||""),r.submit(f,{method:"post",action:"/api/analyze"})},s=a=>{const f=a.filter(l=>l.entityType==="visual"||l.entityType==="library");console.log("Generate analysis for all entities:",f.length);const o=f.map(l=>l.sha).join(","),c=new FormData;c.append("entityShas",o),r.submit(c,{method:"post",action:"/api/analyze"})},t=a=>e?.includes(a)??!1;return{isAnalyzing:r.state!=="idle",handleGenerateSimulation:n,handleGenerateAllSimulations:s,isEntityBeingAnalyzed:t}}var K={},Je={exports:{}};var yt;function Hr(){return yt||(yt=1,(function(e){(function(){var r={}.hasOwnProperty;function i(){for(var t="",a=0;a<arguments.length;a++){var f=arguments[a];f&&(t=s(t,n(f)))}return t}function n(t){if(typeof t=="string"||typeof t=="number")return t;if(typeof t!="object")return"";if(Array.isArray(t))return i.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var a="";for(var f in t)r.call(t,f)&&t[f]&&(a=s(a,f));return a}function s(t,a){return a?t?t+" "+a:t+a:t}e.exports?(i.default=i,e.exports=i):window.classNames=i})()})(Je)),Je.exports}var U={},Ze={},Qe={},vt;function ae(){return vt||(vt=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;function r(){}r.prototype={diff:function(s,t){var a,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=f.callback;typeof f=="function"&&(o=f,f={}),this.options=f;var c=this;function l(S){return o?(setTimeout(function(){o(void 0,S)},0),!0):S}s=this.castInput(s),t=this.castInput(t),s=this.removeEmpty(this.tokenize(s)),t=this.removeEmpty(this.tokenize(t));var h=t.length,g=s.length,p=1,x=h+g;f.maxEditLength&&(x=Math.min(x,f.maxEditLength));var w=(a=f.timeout)!==null&&a!==void 0?a:1/0,y=Date.now()+w,m=[{oldPos:-1,lastComponent:void 0}],b=this.extractCommon(m[0],t,s,0);if(m[0].oldPos+1>=g&&b+1>=h)return l([{value:this.join(t),count:t.length}]);var L=-1/0,N=1/0;function k(){for(var S=Math.max(L,-p);S<=Math.min(N,p);S+=2){var O=void 0,P=m[S-1],F=m[S+1];P&&(m[S-1]=void 0);var u=!1;if(F){var v=F.oldPos-S;u=F&&0<=v&&v<h}var C=P&&P.oldPos+1<g;if(!u&&!C){m[S]=void 0;continue}if(!C||u&&P.oldPos+1<F.oldPos?O=c.addToPath(F,!0,void 0,0):O=c.addToPath(P,void 0,!0,1),b=c.extractCommon(O,t,s,S),O.oldPos+1>=g&&b+1>=h)return l(i(c,O.lastComponent,t,s,c.useLongestToken));m[S]=O,O.oldPos+1>=g&&(N=Math.min(N,S-1)),b+1>=h&&(L=Math.max(L,S+1))}p++}if(o)(function S(){setTimeout(function(){if(p>x||Date.now()>y)return o();k()||S()},0)})();else for(;p<=x&&Date.now()<=y;){var E=k();if(E)return E}},addToPath:function(s,t,a,f){var o=s.lastComponent;return o&&o.added===t&&o.removed===a?{oldPos:s.oldPos+f,lastComponent:{count:o.count+1,added:t,removed:a,previousComponent:o.previousComponent}}:{oldPos:s.oldPos+f,lastComponent:{count:1,added:t,removed:a,previousComponent:o}}},extractCommon:function(s,t,a,f){for(var o=t.length,c=a.length,l=s.oldPos,h=l-f,g=0;h+1<o&&l+1<c&&this.equals(t[h+1],a[l+1]);)h++,l++,g++;return g&&(s.lastComponent={count:g,previousComponent:s.lastComponent}),s.oldPos=l,h},equals:function(s,t){return this.options.comparator?this.options.comparator(s,t):s===t||this.options.ignoreCase&&s.toLowerCase()===t.toLowerCase()},removeEmpty:function(s){for(var t=[],a=0;a<s.length;a++)s[a]&&t.push(s[a]);return t},castInput:function(s){return s},tokenize:function(s){return s.split("")},join:function(s){return s.join("")}};function i(n,s,t,a,f){for(var o=[],c;s;)o.push(s),c=s.previousComponent,delete s.previousComponent,s=c;o.reverse();for(var l=0,h=o.length,g=0,p=0;l<h;l++){var x=o[l];if(x.removed){if(x.value=n.join(a.slice(p,p+x.count)),p+=x.count,l&&o[l-1].added){var y=o[l-1];o[l-1]=o[l],o[l]=y}}else{if(!x.added&&f){var w=t.slice(g,g+x.count);w=w.map(function(b,L){var N=a[p+L];return N.length>b.length?N:b}),x.value=n.join(w)}else x.value=n.join(t.slice(g,g+x.count));g+=x.count,x.added||(p+=x.count)}}var m=o[h-1];return h>1&&typeof m.value=="string"&&(m.added||m.removed)&&n.equals("",m.value)&&(o[h-2].value+=m.value,o.pop()),o}})(Qe)),Qe}var fe={},bt;function Wr(){if(bt)return fe;bt=1,Object.defineProperty(fe,"__esModule",{value:!0}),fe.diffChars=n,fe.characterDiff=void 0;var e=r(ae());function r(s){return s&&s.__esModule?s:{default:s}}var i=new e.default;fe.characterDiff=i;function n(s,t,a){return i.diff(s,t,a)}return fe}var oe={},ke={},wt;function rr(){if(wt)return ke;wt=1,Object.defineProperty(ke,"__esModule",{value:!0}),ke.generateOptions=e;function e(r,i){if(typeof r=="function")i.callback=r;else if(r)for(var n in r)r.hasOwnProperty(n)&&(i[n]=r[n]);return i}return ke}var jt;function zr(){if(jt)return oe;jt=1,Object.defineProperty(oe,"__esModule",{value:!0}),oe.diffWords=a,oe.diffWordsWithSpace=f,oe.wordDiff=void 0;var e=i(ae()),r=rr();function i(o){return o&&o.__esModule?o:{default:o}}var n=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,s=/\S/,t=new e.default;oe.wordDiff=t,t.equals=function(o,c){return this.options.ignoreCase&&(o=o.toLowerCase(),c=c.toLowerCase()),o===c||this.options.ignoreWhitespace&&!s.test(o)&&!s.test(c)},t.tokenize=function(o){for(var c=o.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),l=0;l<c.length-1;l++)!c[l+1]&&c[l+2]&&n.test(c[l])&&n.test(c[l+2])&&(c[l]+=c[l+2],c.splice(l+1,2),l--);return c};function a(o,c,l){return l=(0,r.generateOptions)(l,{ignoreWhitespace:!0}),t.diff(o,c,l)}function f(o,c,l){return t.diff(o,c,l)}return oe}var le={},Ct;function nt(){if(Ct)return le;Ct=1,Object.defineProperty(le,"__esModule",{value:!0}),le.diffLines=s,le.diffTrimmedLines=t,le.lineDiff=void 0;var e=i(ae()),r=rr();function i(a){return a&&a.__esModule?a:{default:a}}var n=new e.default;le.lineDiff=n,n.tokenize=function(a){this.options.stripTrailingCr&&(a=a.replace(/\r\n/g,`
2
+ `));var f=[],o=a.split(/(\n|\r\n)/);o[o.length-1]||o.pop();for(var c=0;c<o.length;c++){var l=o[c];c%2&&!this.options.newlineIsToken?f[f.length-1]+=l:(this.options.ignoreWhitespace&&(l=l.trim()),f.push(l))}return f};function s(a,f,o){return n.diff(a,f,o)}function t(a,f,o){var c=(0,r.generateOptions)(o,{ignoreWhitespace:!0});return n.diff(a,f,c)}return le}var ue={},Nt;function Ur(){if(Nt)return ue;Nt=1,Object.defineProperty(ue,"__esModule",{value:!0}),ue.diffSentences=n,ue.sentenceDiff=void 0;var e=r(ae());function r(s){return s&&s.__esModule?s:{default:s}}var i=new e.default;ue.sentenceDiff=i,i.tokenize=function(s){return s.split(/(\S.+?[.!?])(?=\s+|$)/)};function n(s,t,a){return i.diff(s,t,a)}return ue}var he={},St;function Jr(){if(St)return he;St=1,Object.defineProperty(he,"__esModule",{value:!0}),he.diffCss=n,he.cssDiff=void 0;var e=r(ae());function r(s){return s&&s.__esModule?s:{default:s}}var i=new e.default;he.cssDiff=i,i.tokenize=function(s){return s.split(/([{}:;,]|\s+)/)};function n(s,t,a){return i.diff(s,t,a)}return he}var ce={},Lt;function Zr(){if(Lt)return ce;Lt=1,Object.defineProperty(ce,"__esModule",{value:!0}),ce.diffJson=a,ce.canonicalize=f,ce.jsonDiff=void 0;var e=i(ae()),r=nt();function i(o){return o&&o.__esModule?o:{default:o}}function n(o){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?n=function(l){return typeof l}:n=function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},n(o)}var s=Object.prototype.toString,t=new e.default;ce.jsonDiff=t,t.useLongestToken=!0,t.tokenize=r.lineDiff.tokenize,t.castInput=function(o){var c=this.options,l=c.undefinedReplacement,h=c.stringifyReplacer,g=h===void 0?function(p,x){return typeof x>"u"?l:x}:h;return typeof o=="string"?o:JSON.stringify(f(o,null,null,g),g," ")},t.equals=function(o,c){return e.default.prototype.equals.call(t,o.replace(/,([\r\n])/g,"$1"),c.replace(/,([\r\n])/g,"$1"))};function a(o,c,l){return t.diff(o,c,l)}function f(o,c,l,h,g){c=c||[],l=l||[],h&&(o=h(g,o));var p;for(p=0;p<c.length;p+=1)if(c[p]===o)return l[p];var x;if(s.call(o)==="[object Array]"){for(c.push(o),x=new Array(o.length),l.push(x),p=0;p<o.length;p+=1)x[p]=f(o[p],c,l,h,g);return c.pop(),l.pop(),x}if(o&&o.toJSON&&(o=o.toJSON()),n(o)==="object"&&o!==null){c.push(o),x={},l.push(x);var w=[],y;for(y in o)o.hasOwnProperty(y)&&w.push(y);for(w.sort(),p=0;p<w.length;p+=1)y=w[p],x[y]=f(o[y],c,l,h,y);c.pop(),l.pop()}else x=o;return x}return ce}var pe={},_t;function Qr(){if(_t)return pe;_t=1,Object.defineProperty(pe,"__esModule",{value:!0}),pe.diffArrays=n,pe.arrayDiff=void 0;var e=r(ae());function r(s){return s&&s.__esModule?s:{default:s}}var i=new e.default;pe.arrayDiff=i,i.tokenize=function(s){return s.slice()},i.join=i.removeEmpty=function(s){return s};function n(s,t,a){return i.diff(s,t,a)}return pe}var ye={},De={},kt;function st(){if(kt)return De;kt=1,Object.defineProperty(De,"__esModule",{value:!0}),De.parsePatch=e;function e(r){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=r.split(/\r\n|[\n\v\f\r\x85]/),s=r.match(/\r\n|[\n\v\f\r\x85]/g)||[],t=[],a=0;function f(){var l={};for(t.push(l);a<n.length;){var h=n[a];if(/^(\-\-\-|\+\+\+|@@)\s/.test(h))break;var g=/^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(h);g&&(l.index=g[1]),a++}for(o(l),o(l),l.hunks=[];a<n.length;){var p=n[a];if(/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(p))break;if(/^@@/.test(p))l.hunks.push(c());else{if(p&&i.strict)throw new Error("Unknown line "+(a+1)+" "+JSON.stringify(p));a++}}}function o(l){var h=/^(---|\+\+\+)\s+(.*)$/.exec(n[a]);if(h){var g=h[1]==="---"?"old":"new",p=h[2].split(" ",2),x=p[0].replace(/\\\\/g,"\\");/^".*"$/.test(x)&&(x=x.substr(1,x.length-2)),l[g+"FileName"]=x,l[g+"Header"]=(p[1]||"").trim(),a++}}function c(){var l=a,h=n[a++],g=h.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/),p={oldStart:+g[1],oldLines:typeof g[2]>"u"?1:+g[2],newStart:+g[3],newLines:typeof g[4]>"u"?1:+g[4],lines:[],linedelimiters:[]};p.oldLines===0&&(p.oldStart+=1),p.newLines===0&&(p.newStart+=1);for(var x=0,w=0;a<n.length&&!(n[a].indexOf("--- ")===0&&a+2<n.length&&n[a+1].indexOf("+++ ")===0&&n[a+2].indexOf("@@")===0);a++){var y=n[a].length==0&&a!=n.length-1?" ":n[a][0];if(y==="+"||y==="-"||y===" "||y==="\\")p.lines.push(n[a]),p.linedelimiters.push(s[a]||`
3
+ `),y==="+"?x++:y==="-"?w++:y===" "&&(x++,w++);else break}if(!x&&p.newLines===1&&(p.newLines=0),!w&&p.oldLines===1&&(p.oldLines=0),i.strict){if(x!==p.newLines)throw new Error("Added line count did not match for hunk at line "+(l+1));if(w!==p.oldLines)throw new Error("Removed line count did not match for hunk at line "+(l+1))}return p}for(;a<n.length;)f();return t}return De}var Xe={},Dt;function Xr(){return Dt||(Dt=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;function r(i,n,s){var t=!0,a=!1,f=!1,o=1;return function c(){if(t&&!f){if(a?o++:t=!1,i+o<=s)return o;f=!0}if(!a)return f||(t=!0),n<=i-o?-o++:(a=!0,c())}}})(Xe)),Xe}var Et;function Yr(){if(Et)return ye;Et=1,Object.defineProperty(ye,"__esModule",{value:!0}),ye.applyPatch=n,ye.applyPatches=s;var e=st(),r=i(Xr());function i(t){return t&&t.__esModule?t:{default:t}}function n(t,a){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof a=="string"&&(a=(0,e.parsePatch)(a)),Array.isArray(a)){if(a.length>1)throw new Error("applyPatch only works with a single input.");a=a[0]}var o=t.split(/\r\n|[\n\v\f\r\x85]/),c=t.match(/\r\n|[\n\v\f\r\x85]/g)||[],l=a.hunks,h=f.compareLine||function($,V,J,W){return V===W},g=0,p=f.fuzzFactor||0,x=0,w=0,y,m;function b($,V){for(var J=0;J<$.lines.length;J++){var W=$.lines[J],X=W.length>0?W[0]:" ",ne=W.length>0?W.substr(1):W;if(X===" "||X==="-"){if(!h(V+1,o[V],X,ne)&&(g++,g>p))return!1;V++}}return!0}for(var L=0;L<l.length;L++){for(var N=l[L],k=o.length-N.oldLines,E=0,S=w+N.oldStart-1,O=(0,r.default)(S,x,k);E!==void 0;E=O())if(b(N,S+E)){N.offset=w+=E;break}if(E===void 0)return!1;x=N.offset+N.oldStart+N.oldLines}for(var P=0,F=0;F<l.length;F++){var u=l[F],v=u.oldStart+u.offset+P-1;P+=u.newLines-u.oldLines;for(var C=0;C<u.lines.length;C++){var j=u.lines[C],_=j.length>0?j[0]:" ",D=j.length>0?j.substr(1):j,A=u.linedelimiters&&u.linedelimiters[C]||`
4
+ `;if(_===" ")v++;else if(_==="-")o.splice(v,1),c.splice(v,1);else if(_==="+")o.splice(v,0,D),c.splice(v,0,A),v++;else if(_==="\\"){var M=u.lines[C-1]?u.lines[C-1][0]:null;M==="+"?y=!0:M==="-"&&(m=!0)}}}if(y)for(;!o[o.length-1];)o.pop(),c.pop();else m&&(o.push(""),c.push(`
5
+ `));for(var B=0;B<o.length-1;B++)o[B]=o[B]+c[B];return o.join("")}function s(t,a){typeof t=="string"&&(t=(0,e.parsePatch)(t));var f=0;function o(){var c=t[f++];if(!c)return a.complete();a.loadFile(c,function(l,h){if(l)return a.complete(l);var g=n(h,c,a);a.patched(c,g,function(p){if(p)return a.complete(p);o()})})}o()}return ye}var ve={},de={},At;function nr(){if(At)return de;At=1,Object.defineProperty(de,"__esModule",{value:!0}),de.structuredPatch=f,de.formatPatch=o,de.createTwoFilesPatch=c,de.createPatch=l;var e=nt();function r(h){return t(h)||s(h)||n(h)||i()}function i(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
6
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function n(h,g){if(h){if(typeof h=="string")return a(h,g);var p=Object.prototype.toString.call(h).slice(8,-1);if(p==="Object"&&h.constructor&&(p=h.constructor.name),p==="Map"||p==="Set")return Array.from(h);if(p==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(p))return a(h,g)}}function s(h){if(typeof Symbol<"u"&&Symbol.iterator in Object(h))return Array.from(h)}function t(h){if(Array.isArray(h))return a(h)}function a(h,g){(g==null||g>h.length)&&(g=h.length);for(var p=0,x=new Array(g);p<g;p++)x[p]=h[p];return x}function f(h,g,p,x,w,y,m){m||(m={}),typeof m.context>"u"&&(m.context=4);var b=(0,e.diffLines)(p,x,m);if(!b)return;b.push({value:"",lines:[]});function L(v){return v.map(function(C){return" "+C})}for(var N=[],k=0,E=0,S=[],O=1,P=1,F=function(C){var j=b[C],_=j.lines||j.value.replace(/\n$/,"").split(`
7
+ `);if(j.lines=_,j.added||j.removed){var D;if(!k){var A=b[C-1];k=O,E=P,A&&(S=m.context>0?L(A.lines.slice(-m.context)):[],k-=S.length,E-=S.length)}(D=S).push.apply(D,r(_.map(function(ne){return(j.added?"+":"-")+ne}))),j.added?P+=_.length:O+=_.length}else{if(k)if(_.length<=m.context*2&&C<b.length-2){var M;(M=S).push.apply(M,r(L(_)))}else{var B,$=Math.min(_.length,m.context);(B=S).push.apply(B,r(L(_.slice(0,$))));var V={oldStart:k,oldLines:O-k+$,newStart:E,newLines:P-E+$,lines:S};if(C>=b.length-2&&_.length<=m.context){var J=/\n$/.test(p),W=/\n$/.test(x),X=_.length==0&&S.length>V.oldLines;!J&&X&&p.length>0&&S.splice(V.oldLines,0,"\"),(!J&&!X||!W)&&S.push("\")}N.push(V),k=0,E=0,S=[]}O+=_.length,P+=_.length}},u=0;u<b.length;u++)F(u);return{oldFileName:h,newFileName:g,oldHeader:w,newHeader:y,hunks:N}}function o(h){if(Array.isArray(h))return h.map(o).join(`
8
+ `);var g=[];h.oldFileName==h.newFileName&&g.push("Index: "+h.oldFileName),g.push("==================================================================="),g.push("--- "+h.oldFileName+(typeof h.oldHeader>"u"?"":" "+h.oldHeader)),g.push("+++ "+h.newFileName+(typeof h.newHeader>"u"?"":" "+h.newHeader));for(var p=0;p<h.hunks.length;p++){var x=h.hunks[p];x.oldLines===0&&(x.oldStart-=1),x.newLines===0&&(x.newStart-=1),g.push("@@ -"+x.oldStart+","+x.oldLines+" +"+x.newStart+","+x.newLines+" @@"),g.push.apply(g,x.lines)}return g.join(`
9
+ `)+`
10
+ `}function c(h,g,p,x,w,y,m){return o(f(h,g,p,x,w,y,m))}function l(h,g,p,x,w,y){return c(h,h,g,p,x,w,y)}return de}var be={},Pt;function Kr(){if(Pt)return be;Pt=1,Object.defineProperty(be,"__esModule",{value:!0}),be.arrayEqual=e,be.arrayStartsWith=r;function e(i,n){return i.length!==n.length?!1:r(i,n)}function r(i,n){if(n.length>i.length)return!1;for(var s=0;s<n.length;s++)if(n[s]!==i[s])return!1;return!0}return be}var Mt;function en(){if(Mt)return ve;Mt=1,Object.defineProperty(ve,"__esModule",{value:!0}),ve.calcLineCount=c,ve.merge=l;var e=nr(),r=st(),i=Kr();function n(u){return f(u)||a(u)||t(u)||s()}function s(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
11
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function t(u,v){if(u){if(typeof u=="string")return o(u,v);var C=Object.prototype.toString.call(u).slice(8,-1);if(C==="Object"&&u.constructor&&(C=u.constructor.name),C==="Map"||C==="Set")return Array.from(u);if(C==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C))return o(u,v)}}function a(u){if(typeof Symbol<"u"&&Symbol.iterator in Object(u))return Array.from(u)}function f(u){if(Array.isArray(u))return o(u)}function o(u,v){(v==null||v>u.length)&&(v=u.length);for(var C=0,j=new Array(v);C<v;C++)j[C]=u[C];return j}function c(u){var v=F(u.lines),C=v.oldLines,j=v.newLines;C!==void 0?u.oldLines=C:delete u.oldLines,j!==void 0?u.newLines=j:delete u.newLines}function l(u,v,C){u=h(u,C),v=h(v,C);var j={};(u.index||v.index)&&(j.index=u.index||v.index),(u.newFileName||v.newFileName)&&(g(u)?g(v)?(j.oldFileName=p(j,u.oldFileName,v.oldFileName),j.newFileName=p(j,u.newFileName,v.newFileName),j.oldHeader=p(j,u.oldHeader,v.oldHeader),j.newHeader=p(j,u.newHeader,v.newHeader)):(j.oldFileName=u.oldFileName,j.newFileName=u.newFileName,j.oldHeader=u.oldHeader,j.newHeader=u.newHeader):(j.oldFileName=v.oldFileName||u.oldFileName,j.newFileName=v.newFileName||u.newFileName,j.oldHeader=v.oldHeader||u.oldHeader,j.newHeader=v.newHeader||u.newHeader)),j.hunks=[];for(var _=0,D=0,A=0,M=0;_<u.hunks.length||D<v.hunks.length;){var B=u.hunks[_]||{oldStart:1/0},$=v.hunks[D]||{oldStart:1/0};if(x(B,$))j.hunks.push(w(B,A)),_++,M+=B.newLines-B.oldLines;else if(x($,B))j.hunks.push(w($,M)),D++,A+=$.newLines-$.oldLines;else{var V={oldStart:Math.min(B.oldStart,$.oldStart),oldLines:0,newStart:Math.min(B.newStart+A,$.oldStart+M),newLines:0,lines:[]};y(V,B.oldStart,B.lines,$.oldStart,$.lines),D++,_++,j.hunks.push(V)}}return j}function h(u,v){if(typeof u=="string"){if(/^@@/m.test(u)||/^Index:/m.test(u))return(0,r.parsePatch)(u)[0];if(!v)throw new Error("Must provide a base reference or pass in a patch");return(0,e.structuredPatch)(void 0,void 0,v,u)}return u}function g(u){return u.newFileName&&u.newFileName!==u.oldFileName}function p(u,v,C){return v===C?v:(u.conflict=!0,{mine:v,theirs:C})}function x(u,v){return u.oldStart<v.oldStart&&u.oldStart+u.oldLines<v.oldStart}function w(u,v){return{oldStart:u.oldStart,oldLines:u.oldLines,newStart:u.newStart+v,newLines:u.newLines,lines:u.lines}}function y(u,v,C,j,_){var D={offset:v,lines:C,index:0},A={offset:j,lines:_,index:0};for(N(u,D,A),N(u,A,D);D.index<D.lines.length&&A.index<A.lines.length;){var M=D.lines[D.index],B=A.lines[A.index];if((M[0]==="-"||M[0]==="+")&&(B[0]==="-"||B[0]==="+"))m(u,D,A);else if(M[0]==="+"&&B[0]===" "){var $;($=u.lines).push.apply($,n(E(D)))}else if(B[0]==="+"&&M[0]===" "){var V;(V=u.lines).push.apply(V,n(E(A)))}else M[0]==="-"&&B[0]===" "?b(u,D,A):B[0]==="-"&&M[0]===" "?b(u,A,D,!0):M===B?(u.lines.push(M),D.index++,A.index++):L(u,E(D),E(A))}k(u,D),k(u,A),c(u)}function m(u,v,C){var j=E(v),_=E(C);if(O(j)&&O(_)){if((0,i.arrayStartsWith)(j,_)&&P(C,j,j.length-_.length)){var D;(D=u.lines).push.apply(D,n(j));return}else if((0,i.arrayStartsWith)(_,j)&&P(v,_,_.length-j.length)){var A;(A=u.lines).push.apply(A,n(_));return}}else if((0,i.arrayEqual)(j,_)){var M;(M=u.lines).push.apply(M,n(j));return}L(u,j,_)}function b(u,v,C,j){var _=E(v),D=S(C,_);if(D.merged){var A;(A=u.lines).push.apply(A,n(D.merged))}else L(u,j?D:_,j?_:D)}function L(u,v,C){u.conflict=!0,u.lines.push({conflict:!0,mine:v,theirs:C})}function N(u,v,C){for(;v.offset<C.offset&&v.index<v.lines.length;){var j=v.lines[v.index++];u.lines.push(j),v.offset++}}function k(u,v){for(;v.index<v.lines.length;){var C=v.lines[v.index++];u.lines.push(C)}}function E(u){for(var v=[],C=u.lines[u.index][0];u.index<u.lines.length;){var j=u.lines[u.index];if(C==="-"&&j[0]==="+"&&(C="+"),C===j[0])v.push(j),u.index++;else break}return v}function S(u,v){for(var C=[],j=[],_=0,D=!1,A=!1;_<v.length&&u.index<u.lines.length;){var M=u.lines[u.index],B=v[_];if(B[0]==="+")break;if(D=D||M[0]!==" ",j.push(B),_++,M[0]==="+")for(A=!0;M[0]==="+";)C.push(M),M=u.lines[++u.index];B.substr(1)===M.substr(1)?(C.push(M),u.index++):A=!0}if((v[_]||"")[0]==="+"&&D&&(A=!0),A)return C;for(;_<v.length;)j.push(v[_++]);return{merged:j,changes:C}}function O(u){return u.reduce(function(v,C){return v&&C[0]==="-"},!0)}function P(u,v,C){for(var j=0;j<C;j++){var _=v[v.length-C+j].substr(1);if(u.lines[u.index+j]!==" "+_)return!1}return u.index+=C,!0}function F(u){var v=0,C=0;return u.forEach(function(j){if(typeof j!="string"){var _=F(j.mine),D=F(j.theirs);v!==void 0&&(_.oldLines===D.oldLines?v+=_.oldLines:v=void 0),C!==void 0&&(_.newLines===D.newLines?C+=_.newLines:C=void 0)}else C!==void 0&&(j[0]==="+"||j[0]===" ")&&C++,v!==void 0&&(j[0]==="-"||j[0]===" ")&&v++}),{oldLines:v,newLines:C}}return ve}var Ee={},Ot;function tn(){if(Ot)return Ee;Ot=1,Object.defineProperty(Ee,"__esModule",{value:!0}),Ee.reversePatch=n;function e(s,t){var a=Object.keys(s);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(s);t&&(f=f.filter(function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable})),a.push.apply(a,f)}return a}function r(s){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?e(Object(a),!0).forEach(function(f){i(s,f,a[f])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(a)):e(Object(a)).forEach(function(f){Object.defineProperty(s,f,Object.getOwnPropertyDescriptor(a,f))})}return s}function i(s,t,a){return t in s?Object.defineProperty(s,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):s[t]=a,s}function n(s){return Array.isArray(s)?s.map(n).reverse():r(r({},s),{},{oldFileName:s.newFileName,oldHeader:s.newHeader,newFileName:s.oldFileName,newHeader:s.oldHeader,hunks:s.hunks.map(function(t){return{oldLines:t.newLines,oldStart:t.newStart,newLines:t.oldLines,newStart:t.oldStart,linedelimiters:t.linedelimiters,lines:t.lines.map(function(a){return a.startsWith("-")?"+".concat(a.slice(1)):a.startsWith("+")?"-".concat(a.slice(1)):a})}})})}return Ee}var Ae={},Bt;function rn(){if(Bt)return Ae;Bt=1,Object.defineProperty(Ae,"__esModule",{value:!0}),Ae.convertChangesToDMP=e;function e(r){for(var i=[],n,s,t=0;t<r.length;t++)n=r[t],n.added?s=1:n.removed?s=-1:s=0,i.push([s,n.value]);return i}return Ae}var Pe={},Tt;function nn(){if(Tt)return Pe;Tt=1,Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.convertChangesToXML=e;function e(i){for(var n=[],s=0;s<i.length;s++){var t=i[s];t.added?n.push("<ins>"):t.removed&&n.push("<del>"),n.push(r(t.value)),t.added?n.push("</ins>"):t.removed&&n.push("</del>")}return n.join("")}function r(i){var n=i;return n=n.replace(/&/g,"&amp;"),n=n.replace(/</g,"&lt;"),n=n.replace(/>/g,"&gt;"),n=n.replace(/"/g,"&quot;"),n}return Pe}var Ft;function sn(){return Ft||(Ft=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"Diff",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"diffChars",{enumerable:!0,get:function(){return i.diffChars}}),Object.defineProperty(e,"diffWords",{enumerable:!0,get:function(){return n.diffWords}}),Object.defineProperty(e,"diffWordsWithSpace",{enumerable:!0,get:function(){return n.diffWordsWithSpace}}),Object.defineProperty(e,"diffLines",{enumerable:!0,get:function(){return s.diffLines}}),Object.defineProperty(e,"diffTrimmedLines",{enumerable:!0,get:function(){return s.diffTrimmedLines}}),Object.defineProperty(e,"diffSentences",{enumerable:!0,get:function(){return t.diffSentences}}),Object.defineProperty(e,"diffCss",{enumerable:!0,get:function(){return a.diffCss}}),Object.defineProperty(e,"diffJson",{enumerable:!0,get:function(){return f.diffJson}}),Object.defineProperty(e,"canonicalize",{enumerable:!0,get:function(){return f.canonicalize}}),Object.defineProperty(e,"diffArrays",{enumerable:!0,get:function(){return o.diffArrays}}),Object.defineProperty(e,"applyPatch",{enumerable:!0,get:function(){return c.applyPatch}}),Object.defineProperty(e,"applyPatches",{enumerable:!0,get:function(){return c.applyPatches}}),Object.defineProperty(e,"parsePatch",{enumerable:!0,get:function(){return l.parsePatch}}),Object.defineProperty(e,"merge",{enumerable:!0,get:function(){return h.merge}}),Object.defineProperty(e,"reversePatch",{enumerable:!0,get:function(){return g.reversePatch}}),Object.defineProperty(e,"structuredPatch",{enumerable:!0,get:function(){return p.structuredPatch}}),Object.defineProperty(e,"createTwoFilesPatch",{enumerable:!0,get:function(){return p.createTwoFilesPatch}}),Object.defineProperty(e,"createPatch",{enumerable:!0,get:function(){return p.createPatch}}),Object.defineProperty(e,"formatPatch",{enumerable:!0,get:function(){return p.formatPatch}}),Object.defineProperty(e,"convertChangesToDMP",{enumerable:!0,get:function(){return x.convertChangesToDMP}}),Object.defineProperty(e,"convertChangesToXML",{enumerable:!0,get:function(){return w.convertChangesToXML}});var r=y(ae()),i=Wr(),n=zr(),s=nt(),t=Ur(),a=Jr(),f=Zr(),o=Qr(),c=Yr(),l=st(),h=en(),g=tn(),p=nr(),x=rn(),w=nn();function y(m){return m&&m.__esModule?m:{default:m}}})(Ze)),Ze}var Rt;function an(){if(Rt)return U;Rt=1;var e=U&&U.__createBinding||(Object.create?(function(l,h,g,p){p===void 0&&(p=g);var x=Object.getOwnPropertyDescriptor(h,g);(!x||("get"in x?!h.__esModule:x.writable||x.configurable))&&(x={enumerable:!0,get:function(){return h[g]}}),Object.defineProperty(l,p,x)}):(function(l,h,g,p){p===void 0&&(p=g),l[p]=h[g]})),r=U&&U.__setModuleDefault||(Object.create?(function(l,h){Object.defineProperty(l,"default",{enumerable:!0,value:h})}):function(l,h){l.default=h}),i=U&&U.__importStar||function(l){if(l&&l.__esModule)return l;var h={};if(l!=null)for(var g in l)g!=="default"&&Object.prototype.hasOwnProperty.call(l,g)&&e(h,l,g);return r(h,l),h};Object.defineProperty(U,"__esModule",{value:!0}),U.computeLineInformation=U.DiffMethod=U.DiffType=void 0;const n=i(sn()),s=n;var t;(function(l){l[l.DEFAULT=0]="DEFAULT",l[l.ADDED=1]="ADDED",l[l.REMOVED=2]="REMOVED",l[l.CHANGED=3]="CHANGED"})(t||(U.DiffType=t={}));var a;(function(l){l.CHARS="diffChars",l.WORDS="diffWords",l.WORDS_WITH_SPACE="diffWordsWithSpace",l.LINES="diffLines",l.TRIMMED_LINES="diffTrimmedLines",l.SENTENCES="diffSentences",l.CSS="diffCss",l.JSON="diffJson"})(a||(U.DiffMethod=a={}));const f=l=>l===""?[]:l.replace(/\n$/,"").split(`
12
+ `),o=(l,h,g=a.CHARS)=>{const p=s[g](l,h),x={left:[],right:[]};return p.forEach(({added:w,removed:y,value:m})=>{const b={};return w&&(b.type=t.ADDED,b.value=m,x.right.push(b)),y&&(b.type=t.REMOVED,b.value=m,x.left.push(b)),!y&&!w&&(b.type=t.DEFAULT,b.value=m,x.right.push(b),x.left.push(b)),b}),x},c=(l,h,g=!1,p=a.CHARS,x=0,w=[])=>{let y=[];typeof l=="string"&&typeof h=="string"?y=n.diffLines(l.trimRight(),h.trimRight(),{newlineIsToken:!1,ignoreWhitespace:!1,ignoreCase:!1}):y=n.diffJson(l,h);let m=x,b=x,L=[],N=0;const k=[],E=[],S=(O,P,F,u,v)=>f(O).map((j,_)=>{const D={},A={};if(!(E.includes(`${P}-${_}`)||v&&_!==0)){if(F||u){let M=!0;if(u){b+=1,D.lineNumber=b,D.type=t.REMOVED,D.value=j||" ";const B=y[P+1];if(B&&B.added){const $=f(B.value)[_];if($){const V=S($,P,!0,!1,!0),{value:J,lineNumber:W,type:X}=V[0].right;if(E.push(`${P+1}-${_}`),A.lineNumber=W,D.value===J)M=!1,A.type=0,D.type=0,A.value=J;else if(A.type=X,g)A.value=J;else{const ne=o(j,J,p);A.value=ne.right,D.value=ne.left}}}}else m+=1,A.lineNumber=m,A.type=t.ADDED,A.value=j;M&&!v&&(k.includes(N)||k.push(N))}else b+=1,m+=1,D.lineNumber=b,D.type=t.DEFAULT,D.value=j,A.lineNumber=m,A.type=t.DEFAULT,A.value=j;return(w?.includes(`L-${D.lineNumber}`)||w?.includes(`R-${A.lineNumber}`)&&!k.includes(N))&&k.push(N),v||(N+=1),{right:A,left:D}}}).filter(Boolean);return y.forEach(({added:O,removed:P,value:F},u)=>{L=[...L,...S(F,u,O,P)]}),{lineInformation:L,diffLines:k}};return U.computeLineInformation=c,U}var se={};function on(e){if(e.sheet)return e.sheet;for(var r=0;r<document.styleSheets.length;r++)if(document.styleSheets[r].ownerNode===e)return document.styleSheets[r]}function ln(e){var r=document.createElement("style");return r.setAttribute("data-emotion",e.key),e.nonce!==void 0&&r.setAttribute("nonce",e.nonce),r.appendChild(document.createTextNode("")),r.setAttribute("data-s",""),r}var cn=(function(){function e(i){var n=this;this._insertTag=function(s){var t;n.tags.length===0?n.insertionPoint?t=n.insertionPoint.nextSibling:n.prepend?t=n.container.firstChild:t=n.before:t=n.tags[n.tags.length-1].nextSibling,n.container.insertBefore(s,t),n.tags.push(s)},this.isSpeedy=i.speedy===void 0?!0:i.speedy,this.tags=[],this.ctr=0,this.nonce=i.nonce,this.key=i.key,this.container=i.container,this.prepend=i.prepend,this.insertionPoint=i.insertionPoint,this.before=null}var r=e.prototype;return r.hydrate=function(n){n.forEach(this._insertTag)},r.insert=function(n){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(ln(this));var s=this.tags[this.tags.length-1];if(this.isSpeedy){var t=on(s);try{t.insertRule(n,t.cssRules.length)}catch{}}else s.appendChild(document.createTextNode(n));this.ctr++},r.flush=function(){this.tags.forEach(function(n){var s;return(s=n.parentNode)==null?void 0:s.removeChild(n)}),this.tags=[],this.ctr=0},e})(),z="-ms-",Re="-moz-",R="-webkit-",sr="comm",it="rule",at="decl",dn="@import",ir="@keyframes",fn="@layer",un=Math.abs,$e=String.fromCharCode,hn=Object.assign;function pn(e,r){return H(e,0)^45?(((r<<2^H(e,0))<<2^H(e,1))<<2^H(e,2))<<2^H(e,3):0}function ar(e){return e.trim()}function mn(e,r){return(e=r.exec(e))?e[0]:e}function I(e,r,i){return e.replace(r,i)}function et(e,r){return e.indexOf(r)}function H(e,r){return e.charCodeAt(r)|0}function Ne(e,r,i){return e.slice(r,i)}function te(e){return e.length}function ot(e){return e.length}function Me(e,r){return r.push(e),e}function gn(e,r){return e.map(r).join("")}var Ve=1,ge=1,or=0,Z=0,G=0,xe="";function qe(e,r,i,n,s,t,a){return{value:e,root:r,parent:i,type:n,props:s,children:t,line:Ve,column:ge,length:a,return:""}}function we(e,r){return hn(qe("",null,null,"",null,null,0),e,{length:-e.length},r)}function xn(){return G}function yn(){return G=Z>0?H(xe,--Z):0,ge--,G===10&&(ge=1,Ve--),G}function Q(){return G=Z<or?H(xe,Z++):0,ge++,G===10&&(ge=1,Ve++),G}function re(){return H(xe,Z)}function Oe(){return Z}function Le(e,r){return Ne(xe,e,r)}function Se(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function lr(e){return Ve=ge=1,or=te(xe=e),Z=0,[]}function cr(e){return xe="",e}function Be(e){return ar(Le(Z-1,tt(e===91?e+2:e===40?e+1:e)))}function vn(e){for(;(G=re())&&G<33;)Q();return Se(e)>2||Se(G)>3?"":" "}function bn(e,r){for(;--r&&Q()&&!(G<48||G>102||G>57&&G<65||G>70&&G<97););return Le(e,Oe()+(r<6&&re()==32&&Q()==32))}function tt(e){for(;Q();)switch(G){case e:return Z;case 34:case 39:e!==34&&e!==39&&tt(G);break;case 40:e===41&&tt(e);break;case 92:Q();break}return Z}function wn(e,r){for(;Q()&&e+G!==57;)if(e+G===84&&re()===47)break;return"/*"+Le(r,Z-1)+"*"+$e(e===47?e:Q())}function jn(e){for(;!Se(re());)Q();return Le(e,Z)}function Cn(e){return cr(Te("",null,null,null,[""],e=lr(e),0,[0],e))}function Te(e,r,i,n,s,t,a,f,o){for(var c=0,l=0,h=a,g=0,p=0,x=0,w=1,y=1,m=1,b=0,L="",N=s,k=t,E=n,S=L;y;)switch(x=b,b=Q()){case 40:if(x!=108&&H(S,h-1)==58){et(S+=I(Be(b),"&","&\f"),"&\f")!=-1&&(m=-1);break}case 34:case 39:case 91:S+=Be(b);break;case 9:case 10:case 13:case 32:S+=vn(x);break;case 92:S+=bn(Oe()-1,7);continue;case 47:switch(re()){case 42:case 47:Me(Nn(wn(Q(),Oe()),r,i),o);break;default:S+="/"}break;case 123*w:f[c++]=te(S)*m;case 125*w:case 59:case 0:switch(b){case 0:case 125:y=0;case 59+l:m==-1&&(S=I(S,/\f/g,"")),p>0&&te(S)-h&&Me(p>32?$t(S+";",n,i,h-1):$t(I(S," ","")+";",n,i,h-2),o);break;case 59:S+=";";default:if(Me(E=It(S,r,i,c,l,s,f,L,N=[],k=[],h),t),b===123)if(l===0)Te(S,r,E,E,N,t,h,f,k);else switch(g===99&&H(S,3)===110?100:g){case 100:case 108:case 109:case 115:Te(e,E,E,n&&Me(It(e,E,E,0,0,s,f,L,s,N=[],h),k),s,k,h,f,n?N:k);break;default:Te(S,E,E,E,[""],k,0,f,k)}}c=l=p=0,w=m=1,L=S="",h=a;break;case 58:h=1+te(S),p=x;default:if(w<1){if(b==123)--w;else if(b==125&&w++==0&&yn()==125)continue}switch(S+=$e(b),b*w){case 38:m=l>0?1:(S+="\f",-1);break;case 44:f[c++]=(te(S)-1)*m,m=1;break;case 64:re()===45&&(S+=Be(Q())),g=re(),l=h=te(L=S+=jn(Oe())),b++;break;case 45:x===45&&te(S)==2&&(w=0)}}return t}function It(e,r,i,n,s,t,a,f,o,c,l){for(var h=s-1,g=s===0?t:[""],p=ot(g),x=0,w=0,y=0;x<n;++x)for(var m=0,b=Ne(e,h+1,h=un(w=a[x])),L=e;m<p;++m)(L=ar(w>0?g[m]+" "+b:I(b,/&\f/g,g[m])))&&(o[y++]=L);return qe(e,r,i,s===0?it:f,o,c,l)}function Nn(e,r,i){return qe(e,r,i,sr,$e(xn()),Ne(e,2,-2),0)}function $t(e,r,i,n){return qe(e,r,i,at,Ne(e,0,n),Ne(e,n+1,-1),n)}function me(e,r){for(var i="",n=ot(e),s=0;s<n;s++)i+=r(e[s],s,e,r)||"";return i}function Sn(e,r,i,n){switch(e.type){case fn:if(e.children.length)break;case dn:case at:return e.return=e.return||e.value;case sr:return"";case ir:return e.return=e.value+"{"+me(e.children,n)+"}";case it:e.value=e.props.join(",")}return te(i=me(e.children,n))?e.return=e.value+"{"+i+"}":""}function Ln(e){var r=ot(e);return function(i,n,s,t){for(var a="",f=0;f<r;f++)a+=e[f](i,n,s,t)||"";return a}}function _n(e){return function(r){r.root||(r=r.return)&&e(r)}}function kn(e){var r=Object.create(null);return function(i){return r[i]===void 0&&(r[i]=e(i)),r[i]}}var Dn=function(r,i,n){for(var s=0,t=0;s=t,t=re(),s===38&&t===12&&(i[n]=1),!Se(t);)Q();return Le(r,Z)},En=function(r,i){var n=-1,s=44;do switch(Se(s)){case 0:s===38&&re()===12&&(i[n]=1),r[n]+=Dn(Z-1,i,n);break;case 2:r[n]+=Be(s);break;case 4:if(s===44){r[++n]=re()===58?"&\f":"",i[n]=r[n].length;break}default:r[n]+=$e(s)}while(s=Q());return r},An=function(r,i){return cr(En(lr(r),i))},Vt=new WeakMap,Pn=function(r){if(!(r.type!=="rule"||!r.parent||r.length<1)){for(var i=r.value,n=r.parent,s=r.column===n.column&&r.line===n.line;n.type!=="rule";)if(n=n.parent,!n)return;if(!(r.props.length===1&&i.charCodeAt(0)!==58&&!Vt.get(n))&&!s){Vt.set(r,!0);for(var t=[],a=An(i,t),f=n.props,o=0,c=0;o<a.length;o++)for(var l=0;l<f.length;l++,c++)r.props[c]=t[o]?a[o].replace(/&\f/g,f[l]):f[l]+" "+a[o]}}},Mn=function(r){if(r.type==="decl"){var i=r.value;i.charCodeAt(0)===108&&i.charCodeAt(2)===98&&(r.return="",r.value="")}};function dr(e,r){switch(pn(e,r)){case 5103:return R+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return R+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return R+e+Re+e+z+e+e;case 6828:case 4268:return R+e+z+e+e;case 6165:return R+e+z+"flex-"+e+e;case 5187:return R+e+I(e,/(\w+).+(:[^]+)/,R+"box-$1$2"+z+"flex-$1$2")+e;case 5443:return R+e+z+"flex-item-"+I(e,/flex-|-self/,"")+e;case 4675:return R+e+z+"flex-line-pack"+I(e,/align-content|flex-|-self/,"")+e;case 5548:return R+e+z+I(e,"shrink","negative")+e;case 5292:return R+e+z+I(e,"basis","preferred-size")+e;case 6060:return R+"box-"+I(e,"-grow","")+R+e+z+I(e,"grow","positive")+e;case 4554:return R+I(e,/([^-])(transform)/g,"$1"+R+"$2")+e;case 6187:return I(I(I(e,/(zoom-|grab)/,R+"$1"),/(image-set)/,R+"$1"),e,"")+e;case 5495:case 3959:return I(e,/(image-set\([^]*)/,R+"$1$`$1");case 4968:return I(I(e,/(.+:)(flex-)?(.*)/,R+"box-pack:$3"+z+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+R+e+e;case 4095:case 3583:case 4068:case 2532:return I(e,/(.+)-inline(.+)/,R+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(te(e)-1-r>6)switch(H(e,r+1)){case 109:if(H(e,r+4)!==45)break;case 102:return I(e,/(.+:)(.+)-([^]+)/,"$1"+R+"$2-$3$1"+Re+(H(e,r+3)==108?"$3":"$2-$3"))+e;case 115:return~et(e,"stretch")?dr(I(e,"stretch","fill-available"),r)+e:e}break;case 4949:if(H(e,r+1)!==115)break;case 6444:switch(H(e,te(e)-3-(~et(e,"!important")&&10))){case 107:return I(e,":",":"+R)+e;case 101:return I(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+R+(H(e,14)===45?"inline-":"")+"box$3$1"+R+"$2$3$1"+z+"$2box$3")+e}break;case 5936:switch(H(e,r+11)){case 114:return R+e+z+I(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return R+e+z+I(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return R+e+z+I(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return R+e+z+e+e}return e}var On=function(r,i,n,s){if(r.length>-1&&!r.return)switch(r.type){case at:r.return=dr(r.value,r.length);break;case ir:return me([we(r,{value:I(r.value,"@","@"+R)})],s);case it:if(r.length)return gn(r.props,function(t){switch(mn(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return me([we(r,{props:[I(t,/:(read-\w+)/,":"+Re+"$1")]})],s);case"::placeholder":return me([we(r,{props:[I(t,/:(plac\w+)/,":"+R+"input-$1")]}),we(r,{props:[I(t,/:(plac\w+)/,":"+Re+"$1")]}),we(r,{props:[I(t,/:(plac\w+)/,z+"input-$1")]})],s)}return""})}},Bn=[On],Tn=function(r){var i=r.key;if(i==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(w){var y=w.getAttribute("data-emotion");y.indexOf(" ")!==-1&&(document.head.appendChild(w),w.setAttribute("data-s",""))})}var s=r.stylisPlugins||Bn,t={},a,f=[];a=r.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+i+' "]'),function(w){for(var y=w.getAttribute("data-emotion").split(" "),m=1;m<y.length;m++)t[y[m]]=!0;f.push(w)});var o,c=[Pn,Mn];{var l,h=[Sn,_n(function(w){l.insert(w)})],g=Ln(c.concat(s,h)),p=function(y){return me(Cn(y),g)};o=function(y,m,b,L){l=b,p(y?y+"{"+m.styles+"}":m.styles),L&&(x.inserted[m.name]=!0)}}var x={key:i,sheet:new cn({key:i,container:a,nonce:r.nonce,speedy:r.speedy,prepend:r.prepend,insertionPoint:r.insertionPoint}),nonce:r.nonce,inserted:t,registered:{},insert:o};return x.sheet.hydrate(f),x};function Fn(e){for(var r=0,i,n=0,s=e.length;s>=4;++n,s-=4)i=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&255)<<24,i=(i&65535)*1540483477+((i>>>16)*59797<<16),i^=i>>>24,r=(i&65535)*1540483477+((i>>>16)*59797<<16)^(r&65535)*1540483477+((r>>>16)*59797<<16);switch(s){case 3:r^=(e.charCodeAt(n+2)&255)<<16;case 2:r^=(e.charCodeAt(n+1)&255)<<8;case 1:r^=e.charCodeAt(n)&255,r=(r&65535)*1540483477+((r>>>16)*59797<<16)}return r^=r>>>13,r=(r&65535)*1540483477+((r>>>16)*59797<<16),((r^r>>>15)>>>0).toString(36)}var Rn={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},In=/[A-Z]|^ms/g,$n=/_EMO_([^_]+?)_([^]*?)_EMO_/g,fr=function(r){return r.charCodeAt(1)===45},qt=function(r){return r!=null&&typeof r!="boolean"},Ye=kn(function(e){return fr(e)?e:e.replace(In,"-$&").toLowerCase()}),Gt=function(r,i){switch(r){case"animation":case"animationName":if(typeof i=="string")return i.replace($n,function(n,s,t){return ie={name:s,styles:t,next:ie},s})}return Rn[r]!==1&&!fr(r)&&typeof i=="number"&&i!==0?i+"px":i};function Ie(e,r,i){if(i==null)return"";var n=i;if(n.__emotion_styles!==void 0)return n;switch(typeof i){case"boolean":return"";case"object":{var s=i;if(s.anim===1)return ie={name:s.name,styles:s.styles,next:ie},s.name;var t=i;if(t.styles!==void 0){var a=t.next;if(a!==void 0)for(;a!==void 0;)ie={name:a.name,styles:a.styles,next:ie},a=a.next;var f=t.styles+";";return f}return Vn(e,r,i)}}var o=i;if(r==null)return o;var c=r[o];return c!==void 0?c:o}function Vn(e,r,i){var n="";if(Array.isArray(i))for(var s=0;s<i.length;s++)n+=Ie(e,r,i[s])+";";else for(var t in i){var a=i[t];if(typeof a!="object"){var f=a;r!=null&&r[f]!==void 0?n+=t+"{"+r[f]+"}":qt(f)&&(n+=Ye(t)+":"+Gt(t,f)+";")}else if(Array.isArray(a)&&typeof a[0]=="string"&&(r==null||r[a[0]]===void 0))for(var o=0;o<a.length;o++)qt(a[o])&&(n+=Ye(t)+":"+Gt(t,a[o])+";");else{var c=Ie(e,r,a);switch(t){case"animation":case"animationName":{n+=Ye(t)+":"+c+";";break}default:n+=t+"{"+c+"}"}}}return n}var Ht=/label:\s*([^\s;{]+)\s*(;|$)/g,ie;function Ke(e,r,i){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var n=!0,s="";ie=void 0;var t=e[0];if(t==null||t.raw===void 0)n=!1,s+=Ie(i,r,t);else{var a=t;s+=a[0]}for(var f=1;f<e.length;f++)if(s+=Ie(i,r,e[f]),n){var o=t;s+=o[f]}Ht.lastIndex=0;for(var c="",l;(l=Ht.exec(s))!==null;)c+="-"+l[1];var h=Fn(s)+c;return{name:h,styles:s,next:ie}}function ur(e,r,i){var n="";return i.split(" ").forEach(function(s){e[s]!==void 0?r.push(e[s]+";"):s&&(n+=s+" ")}),n}var qn=function(r,i,n){var s=r.key+"-"+i.name;r.registered[s]===void 0&&(r.registered[s]=i.styles)},Gn=function(r,i,n){qn(r,i);var s=r.key+"-"+i.name;if(r.inserted[i.name]===void 0){var t=i;do r.insert(i===t?"."+s:"",t,r.sheet,!0),t=t.next;while(t!==void 0)}};function Wt(e,r){if(e.inserted[r.name]===void 0)return e.insert("",r,e.sheet,!0)}function zt(e,r,i){var n=[],s=ur(e,n,i);return n.length<2?i:s+r(n)}var Hn=function(r){var i=Tn(r);i.sheet.speedy=function(f){this.isSpeedy=f},i.compat=!0;var n=function(){for(var o=arguments.length,c=new Array(o),l=0;l<o;l++)c[l]=arguments[l];var h=Ke(c,i.registered,void 0);return Gn(i,h),i.key+"-"+h.name},s=function(){for(var o=arguments.length,c=new Array(o),l=0;l<o;l++)c[l]=arguments[l];var h=Ke(c,i.registered),g="animation-"+h.name;return Wt(i,{name:h.name,styles:"@keyframes "+g+"{"+h.styles+"}"}),g},t=function(){for(var o=arguments.length,c=new Array(o),l=0;l<o;l++)c[l]=arguments[l];var h=Ke(c,i.registered);Wt(i,h)},a=function(){for(var o=arguments.length,c=new Array(o),l=0;l<o;l++)c[l]=arguments[l];return zt(i.registered,n,Wn(c))};return{css:n,cx:a,injectGlobal:t,keyframes:s,hydrate:function(o){o.forEach(function(c){i.inserted[c]=!0})},flush:function(){i.registered={},i.inserted={},i.sheet.flush()},sheet:i.sheet,cache:i,getRegisteredStyles:ur.bind(null,i.registered),merge:zt.bind(null,i.registered,n)}},Wn=function e(r){for(var i="",n=0;n<r.length;n++){var s=r[n];if(s!=null){var t=void 0;switch(typeof s){case"boolean":break;case"object":{if(Array.isArray(s))t=e(s);else{t="";for(var a in s)s[a]&&a&&(t&&(t+=" "),t+=a)}break}default:t=s}t&&(i&&(i+=" "),i+=t)}}return i};const zn=Object.freeze(Object.defineProperty({__proto__:null,default:Hn},Symbol.toStringTag,{value:"Module"})),Un=Xt(zn);var Ut;function Jn(){if(Ut)return se;Ut=1;var e=se&&se.__rest||function(n,s){var t={};for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&s.indexOf(a)<0&&(t[a]=n[a]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var f=0,a=Object.getOwnPropertySymbols(n);f<a.length;f++)s.indexOf(a[f])<0&&Object.prototype.propertyIsEnumerable.call(n,a[f])&&(t[a[f]]=n[a[f]]);return t},r=se&&se.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(se,"__esModule",{value:!0});const i=r(Un);return se.default=(n,s=!1,t="")=>{const{variables:a={}}=n,f=e(n,["variables"]),o={light:Object.assign({diffViewerBackground:"#fff",diffViewerColor:"#212529",addedBackground:"#e6ffed",addedColor:"#24292e",removedBackground:"#ffeef0",removedColor:"#24292e",changedBackground:"#fffbdd",wordAddedBackground:"#acf2bd",wordRemovedBackground:"#fdb8c0",addedGutterBackground:"#cdffd8",removedGutterBackground:"#ffdce0",gutterBackground:"#f7f7f7",gutterBackgroundDark:"#f3f1f1",highlightBackground:"#fffbdd",highlightGutterBackground:"#fff5b1",codeFoldGutterBackground:"#dbedff",codeFoldBackground:"#f1f8ff",emptyLineBackground:"#fafbfc",gutterColor:"#212529",addedGutterColor:"#212529",removedGutterColor:"#212529",codeFoldContentColor:"#212529",diffViewerTitleBackground:"#fafbfc",diffViewerTitleColor:"#212529",diffViewerTitleBorderColor:"#eee"},a.light||{}),dark:Object.assign({diffViewerBackground:"#2e303c",diffViewerColor:"#FFF",addedBackground:"#044B53",addedColor:"white",removedBackground:"#632F34",removedColor:"white",changedBackground:"#3e302c",wordAddedBackground:"#055d67",wordRemovedBackground:"#7d383f",addedGutterBackground:"#034148",removedGutterBackground:"#632b30",gutterBackground:"#2c2f3a",gutterBackgroundDark:"#262933",highlightBackground:"#2a3967",highlightGutterBackground:"#2d4077",codeFoldGutterBackground:"#21232b",codeFoldBackground:"#262831",emptyLineBackground:"#363946",gutterColor:"#666c87",addedGutterColor:"#8c8c8c",removedGutterColor:"#8c8c8c",codeFoldContentColor:"#656a8b",diffViewerTitleBackground:"#2f323e",diffViewerTitleColor:"#555a7b",diffViewerTitleBorderColor:"#353846"},a.dark||{})},c=s?o.dark:o.light,{css:l,cx:h}=(0,i.default)({key:"react-diff",nonce:t}),g=l({width:"100%",label:"content"}),p=l({[`.${g}`]:{width:"50%"},label:"split-view"}),x=l({width:"100%",background:c.diffViewerBackground,pre:{margin:0,whiteSpace:"pre-wrap",lineHeight:"25px"},label:"diff-container",borderCollapse:"collapse"}),w=l({color:c.codeFoldContentColor,label:"code-fold-content"}),y=l({color:c.diffViewerColor,label:"content-text"}),m=l({background:c.diffViewerTitleBackground,padding:10,borderBottom:`1px solid ${c.diffViewerTitleBorderColor}`,label:"title-block",":last-child":{borderLeft:`1px solid ${c.diffViewerTitleBorderColor}`},[`.${y}`]:{color:c.diffViewerTitleColor}}),b=l({color:c.gutterColor,label:"line-number"}),L=l({background:c.removedBackground,color:c.removedColor,pre:{color:c.removedColor},[`.${b}`]:{color:c.removedGutterColor},label:"diff-removed"}),N=l({background:c.addedBackground,color:c.addedColor,pre:{color:c.addedColor},[`.${b}`]:{color:c.addedGutterColor},label:"diff-added"}),k=l({background:c.changedBackground,[`.${b}`]:{color:c.gutterColor},label:"diff-changed"}),E=l({padding:2,display:"inline-flex",borderRadius:4,wordBreak:"break-all",label:"word-diff"}),S=l({background:c.wordAddedBackground,label:"word-added"}),O=l({background:c.wordRemovedBackground,label:"word-removed"}),P=l({backgroundColor:c.codeFoldGutterBackground,label:"code-fold-gutter"}),F=l({backgroundColor:c.codeFoldBackground,height:40,fontSize:14,fontWeight:700,label:"code-fold",a:{textDecoration:"underline !important",cursor:"pointer",pre:{display:"inline"}}}),u=l({backgroundColor:c.emptyLineBackground,label:"empty-line"}),v=l({width:25,paddingLeft:10,paddingRight:10,userSelect:"none",label:"marker",[`&.${N}`]:{pre:{color:c.addedColor}},[`&.${L}`]:{pre:{color:c.removedColor}}}),C=l({background:c.highlightBackground,label:"highlighted-line",[`.${S}, .${O}`]:{backgroundColor:"initial"}}),j=l({label:"highlighted-gutter"}),_=l({userSelect:"none",minWidth:50,padding:"0 10px",whiteSpace:"nowrap",label:"gutter",textAlign:"right",background:c.gutterBackground,"&:hover":{cursor:"pointer",background:c.gutterBackgroundDark,pre:{opacity:1}},pre:{opacity:.5},[`&.${N}`]:{background:c.addedGutterBackground},[`&.${L}`]:{background:c.removedGutterBackground},[`&.${j}`]:{background:c.highlightGutterBackground,"&:hover":{background:c.highlightGutterBackground}}}),D=l({"&:hover":{background:c.gutterBackground,cursor:"initial"},label:"empty-gutter"}),A=l({verticalAlign:"baseline",label:"line"}),M={diffContainer:x,diffRemoved:L,diffAdded:N,diffChanged:k,splitView:p,marker:v,highlightedGutter:j,highlightedLine:C,gutter:_,line:A,wordDiff:E,wordAdded:S,wordRemoved:O,codeFoldGutter:P,codeFold:F,emptyGutter:D,emptyLine:u,lineNumber:b,contentText:y,content:g,codeFoldContent:w,titleBlock:m},B=Object.keys(f).reduce(($,V)=>Object.assign(Object.assign({},$),{[V]:l(f[V])}),{});return Object.keys(M).reduce(($,V)=>Object.assign(Object.assign({},$),{[V]:B[V]?h(M[V],B[V]):M[V]}),{})},se}var je={},Jt;function Zn(){if(Jt)return je;Jt=1,Object.defineProperty(je,"__esModule",{value:!0}),je.computeHiddenBlocks=void 0;function e(r,i,n){let s=0,t,a={},f=[];return r.forEach((o,c)=>{const l=i.some(h=>h>=c-n&&h<=c+n);!l&&t==null?(t={index:s,startLine:c,endLine:c,lines:1},f.push(t),a[c]=t.index,s++):l?t=void 0:(t.endLine=c,t.lines++,a[c]=t.index)}),{lineBlocks:a,blocks:f}}return je.computeHiddenBlocks=e,je}var Zt=Number.isNaN||function(r){return typeof r=="number"&&r!==r};function Qn(e,r){return!!(e===r||Zt(e)&&Zt(r))}function Xn(e,r){if(e.length!==r.length)return!1;for(var i=0;i<e.length;i++)if(!Qn(e[i],r[i]))return!1;return!0}function Yn(e,r){r===void 0&&(r=Xn);var i=null;function n(){for(var s=[],t=0;t<arguments.length;t++)s[t]=arguments[t];if(i&&i.lastThis===this&&r(s,i.lastArgs))return i.lastResult;var a=e.apply(this,s);return i={lastResult:a,lastArgs:s,lastThis:this},a}return n.clear=function(){i=null},n}const Kn=Object.freeze(Object.defineProperty({__proto__:null,default:Yn},Symbol.toStringTag,{value:"Module"})),es=Xt(Kn);var Qt;function ts(){return Qt||(Qt=1,(function(e){var r=K&&K.__createBinding||(Object.create?(function(w,y,m,b){b===void 0&&(b=m);var L=Object.getOwnPropertyDescriptor(y,m);(!L||("get"in L?!y.__esModule:L.writable||L.configurable))&&(L={enumerable:!0,get:function(){return y[m]}}),Object.defineProperty(w,b,L)}):(function(w,y,m,b){b===void 0&&(b=m),w[b]=y[m]})),i=K&&K.__setModuleDefault||(Object.create?(function(w,y){Object.defineProperty(w,"default",{enumerable:!0,value:y})}):function(w,y){w.default=y}),n=K&&K.__importStar||function(w){if(w&&w.__esModule)return w;var y={};if(w!=null)for(var m in w)m!=="default"&&Object.prototype.hasOwnProperty.call(w,m)&&r(y,w,m);return i(y,w),y},s=K&&K.__importDefault||function(w){return w&&w.__esModule?w:{default:w}};Object.defineProperty(e,"__esModule",{value:!0}),e.DiffMethod=e.LineNumberPrefix=void 0;const t=yr(),a=n(vr()),f=s(Hr()),o=an();Object.defineProperty(e,"DiffMethod",{enumerable:!0,get:function(){return o.DiffMethod}});const c=s(Jn()),l=Zn(),h=es,g=h.default||h;var p;(function(w){w.LEFT="L",w.RIGHT="R"})(p||(e.LineNumberPrefix=p={}));class x extends a.Component{constructor(y){super(y),this.resetCodeBlocks=()=>this.state.expandedBlocks.length>0?(this.setState({expandedBlocks:[]}),!0):!1,this.onBlockExpand=m=>{const b=this.state.expandedBlocks.slice();b.push(m),this.setState({expandedBlocks:b})},this.computeStyles=g(c.default),this.onLineNumberClickProxy=m=>this.props.onLineNumberClick?b=>this.props.onLineNumberClick(m,b):()=>{},this.renderWordDiff=(m,b)=>m.map((L,N)=>(0,t.jsx)("span",{className:(0,f.default)(this.styles.wordDiff,{[this.styles.wordAdded]:L.type===o.DiffType.ADDED,[this.styles.wordRemoved]:L.type===o.DiffType.REMOVED}),children:b?b(L.value):L.value},N)),this.renderLine=(m,b,L,N,k,E)=>{const S=`${L}-${m}`,O=`${E}-${k}`,P=this.props.highlightLines.includes(S)||this.props.highlightLines.includes(O),F=b===o.DiffType.ADDED,u=b===o.DiffType.REMOVED,v=b===o.DiffType.CHANGED;let C;return Array.isArray(N)?C=this.renderWordDiff(N,this.props.renderContent):this.props.renderContent?C=this.props.renderContent(N):C=N,(0,t.jsxs)(a.Fragment,{children:[!this.props.hideLineNumbers&&(0,t.jsx)("td",{onClick:m&&this.onLineNumberClickProxy(S),className:(0,f.default)(this.styles.gutter,{[this.styles.emptyGutter]:!m,[this.styles.diffAdded]:F,[this.styles.diffRemoved]:u,[this.styles.diffChanged]:v,[this.styles.highlightedGutter]:P}),children:(0,t.jsx)("pre",{className:this.styles.lineNumber,children:m})}),!this.props.splitView&&!this.props.hideLineNumbers&&(0,t.jsx)("td",{onClick:k&&this.onLineNumberClickProxy(O),className:(0,f.default)(this.styles.gutter,{[this.styles.emptyGutter]:!k,[this.styles.diffAdded]:F,[this.styles.diffRemoved]:u,[this.styles.diffChanged]:v,[this.styles.highlightedGutter]:P}),children:(0,t.jsx)("pre",{className:this.styles.lineNumber,children:k})}),this.props.renderGutter?this.props.renderGutter({lineNumber:m,type:b,prefix:L,value:N,additionalLineNumber:k,additionalPrefix:E,styles:this.styles}):null,!this.props.hideMarkers&&(0,t.jsx)("td",{className:(0,f.default)(this.styles.marker,{[this.styles.emptyLine]:!C,[this.styles.diffAdded]:F,[this.styles.diffRemoved]:u,[this.styles.diffChanged]:v,[this.styles.highlightedLine]:P}),children:(0,t.jsxs)("pre",{children:[F&&"+",u&&"-"]})}),(0,t.jsx)("td",{className:(0,f.default)(this.styles.content,{[this.styles.emptyLine]:!C,[this.styles.diffAdded]:F,[this.styles.diffRemoved]:u,[this.styles.diffChanged]:v,[this.styles.highlightedLine]:P}),children:(0,t.jsx)("pre",{className:this.styles.contentText,children:C})})]})},this.renderSplitView=({left:m,right:b},L)=>(0,t.jsxs)("tr",{className:this.styles.line,children:[this.renderLine(m.lineNumber,m.type,p.LEFT,m.value),this.renderLine(b.lineNumber,b.type,p.RIGHT,b.value)]},L),this.renderInlineView=({left:m,right:b},L)=>{let N;return m.type===o.DiffType.REMOVED&&b.type===o.DiffType.ADDED?(0,t.jsxs)(a.Fragment,{children:[(0,t.jsx)("tr",{className:this.styles.line,children:this.renderLine(m.lineNumber,m.type,p.LEFT,m.value,null)}),(0,t.jsx)("tr",{className:this.styles.line,children:this.renderLine(null,b.type,p.RIGHT,b.value,b.lineNumber)})]},L):(m.type===o.DiffType.REMOVED&&(N=this.renderLine(m.lineNumber,m.type,p.LEFT,m.value,null)),m.type===o.DiffType.DEFAULT&&(N=this.renderLine(m.lineNumber,m.type,p.LEFT,m.value,b.lineNumber,p.RIGHT)),b.type===o.DiffType.ADDED&&(N=this.renderLine(null,b.type,p.RIGHT,b.value,b.lineNumber)),(0,t.jsx)("tr",{className:this.styles.line,children:N},L))},this.onBlockClickProxy=m=>()=>this.onBlockExpand(m),this.renderSkippedLineIndicator=(m,b,L,N)=>{const{hideLineNumbers:k,splitView:E}=this.props,S=this.props.codeFoldMessageRenderer?this.props.codeFoldMessageRenderer(m,L,N):(0,t.jsxs)("pre",{className:this.styles.codeFoldContent,children:["Expand ",m," lines ..."]}),O=(0,t.jsx)("td",{children:(0,t.jsx)("a",{onClick:this.onBlockClickProxy(b),tabIndex:0,children:S})}),P=!E&&!k;return(0,t.jsxs)("tr",{className:this.styles.codeFold,children:[!k&&(0,t.jsx)("td",{className:this.styles.codeFoldGutter}),this.props.renderGutter?(0,t.jsx)("td",{className:this.styles.codeFoldGutter}):null,(0,t.jsx)("td",{className:(0,f.default)({[this.styles.codeFoldGutter]:P})}),P?(0,t.jsxs)(a.Fragment,{children:[(0,t.jsx)("td",{}),O]}):(0,t.jsxs)(a.Fragment,{children:[O,this.props.renderGutter?(0,t.jsx)("td",{}):null,(0,t.jsx)("td",{})]}),(0,t.jsx)("td",{}),(0,t.jsx)("td",{})]},`${L}-${N}`)},this.renderDiff=()=>{const{oldValue:m,newValue:b,splitView:L,disableWordDiff:N,compareMethod:k,linesOffset:E}=this.props,{lineInformation:S,diffLines:O}=(0,o.computeLineInformation)(m,b,N,k,E,this.props.alwaysShowLines),P=this.props.extraLinesSurroundingDiff<0?0:Math.round(this.props.extraLinesSurroundingDiff),{lineBlocks:F,blocks:u}=(0,l.computeHiddenBlocks)(S,O,P);return S.map((v,C)=>{if(this.props.showDiffOnly){const _=F[C];if(_!==void 0){const D=u[_].endLine===C;if(!this.state.expandedBlocks.includes(_)&&D)return(0,t.jsx)(a.Fragment,{children:this.renderSkippedLineIndicator(u[_].lines,_,v.left.lineNumber,v.right.lineNumber)},C);if(!this.state.expandedBlocks.includes(_))return null}}return L?this.renderSplitView(v,C):this.renderInlineView(v,C)})},this.render=()=>{const{oldValue:m,newValue:b,useDarkTheme:L,leftTitle:N,rightTitle:k,splitView:E,hideLineNumbers:S,hideMarkers:O,nonce:P}=this.props;if(this.props.compareMethod!==o.DiffMethod.JSON&&(typeof m!="string"||typeof b!="string"))throw Error('"oldValue" and "newValue" should be strings');this.styles=this.computeStyles(this.props.styles,L,P);const F=this.renderDiff();let u=S?2:3,v=S?2:4;O&&(u-=1,v-=1);const C=this.props.renderGutter?1:0,j=(N||k)&&(0,t.jsxs)("tr",{children:[(0,t.jsx)("td",{colSpan:(E?u:v)+C,className:this.styles.titleBlock,children:(0,t.jsx)("pre",{className:this.styles.contentText,children:N})}),E&&(0,t.jsx)("td",{colSpan:u+C,className:this.styles.titleBlock,children:(0,t.jsx)("pre",{className:this.styles.contentText,children:k})})]});return(0,t.jsx)("table",{className:(0,f.default)(this.styles.diffContainer,{[this.styles.splitView]:E}),children:(0,t.jsxs)("tbody",{children:[j,F]})})},this.state={expandedBlocks:[]}}}x.defaultProps={oldValue:"",newValue:"",splitView:!0,highlightLines:[],disableWordDiff:!1,compareMethod:o.DiffMethod.CHARS,styles:{},hideLineNumbers:!1,hideMarkers:!1,extraLinesSurroundingDiff:3,showDiffOnly:!0,useDarkTheme:!1,linesOffset:0,nonce:""},e.default=x})(K)),K}var rs=ts();const ns=br(rs);function ss({diffView:e,diffContent:r,isLoading:i,entities:n,onClose:s}){const[t,a]=q.useState(!1),[f,o]=q.useState(!1);return q.useEffect(()=>{o(!0)},[]),d.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center p-8 z-50",children:d.jsxs("div",{className:"bg-white rounded-xl shadow-2xl max-w-6xl w-full max-h-[90vh] flex flex-col",children:[d.jsxs("div",{className:"p-6 border-b border-[#e1e1e1] flex items-center justify-between",children:[d.jsxs("div",{children:[d.jsx("h2",{className:"font-['IBM_Plex_Sans'] text-2xl font-semibold text-[#232323]",children:e.type==="file"?"File Diff":"Entity Diff"}),d.jsx("p",{className:"font-['IBM_Plex_Mono'] text-sm text-[#8e8e8e] mt-1",children:e.path}),e.type==="entity"&&e.entitySha&&d.jsxs("p",{className:"font-['IBM_Plex_Mono'] text-sm text-[#8e8e8e]",children:["Entity:"," ",n.find(c=>c.sha===e.entitySha)?.name||e.entitySha]})]}),d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("button",{onClick:()=>a(!t),className:"px-3 py-1.5 bg-[#efefef] text-[#3e3e3e] rounded-lg font-['IBM_Plex_Sans'] text-sm font-semibold hover:bg-[#e1e1e1] transition-colors",title:t?"Show changes only":"Show full file",children:t?"Show Changes Only":"Show Full File"}),d.jsx("button",{onClick:s,className:"text-[#8e8e8e] hover:text-[#626262] transition-colors",children:d.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})]}),d.jsx("div",{className:"flex-1 overflow-auto",children:i?d.jsx("div",{className:"p-6 text-center",children:d.jsx("div",{className:"text-[#8e8e8e]",children:"Loading diff..."})}):r?d.jsx("div",{className:"diff-viewer-wrapper",children:f&&d.jsx(ns,{oldValue:r.oldContent,newValue:r.newContent,splitView:!0,useDarkTheme:!1,showDiffOnly:!t,extraLinesSurroundingDiff:4,styles:{variables:{light:{diffViewerBackground:"#fff",diffViewerColor:"#212529",addedBackground:"#e6ffed",addedColor:"#24292e",removedBackground:"#ffeef0",removedColor:"#24292e",wordAddedBackground:"#acf2bd",wordRemovedBackground:"#fdb8c0",addedGutterBackground:"#cdffd8",removedGutterBackground:"#ffdce0",gutterBackground:"#f6f8fa",gutterBackgroundDark:"#f3f4f6",highlightBackground:"#fffbdd",highlightGutterBackground:"#fff5b1"}},contentText:{fontSize:"12px",lineHeight:"1.5"},line:{padding:"2px 10px",fontSize:"12px","&:hover":{background:"#f8f9fa"}},splitView:{display:"flex",width:"100%"},diffContainer:{width:"50%",overflowX:"auto"}}})}):d.jsx("div",{className:"p-6 text-center",children:d.jsx("div",{className:"text-[#8e8e8e]",children:"No diff available"})})}),d.jsx("div",{className:"p-6 border-t border-[#e1e1e1] flex justify-end gap-3",children:d.jsx("button",{onClick:s,className:"px-4 py-2 bg-[#efefef] text-[#3e3e3e] rounded-lg font-['IBM_Plex_Sans'] font-semibold hover:bg-[#e1e1e1] transition-colors",children:"Close"})})]})})}function is({activeTab:e,onTabChange:r,uncommittedCount:i,branchCount:n}){return d.jsx("div",{className:"border-b border-gray-200 mb-6",children:d.jsxs("nav",{className:"flex gap-8 items-center",children:[d.jsx("button",{onClick:()=>r("uncommitted"),className:`relative pb-4 px-2 text-sm font-medium transition-colors ${e==="uncommitted"?"text-[#005C75] border-b-2 border-[#005C75]":"text-gray-500 hover:text-gray-700"}`,children:d.jsxs("span",{className:"flex items-center gap-2",children:["Uncommitted Changes",i>0&&d.jsx("span",{className:`inline-flex items-center justify-center px-2 py-0.5 text-xs font-semibold rounded-full ${e==="uncommitted"?"bg-[#e8f1f5] text-[#005C75]":"bg-gray-200 text-gray-700"}`,children:i})]})}),d.jsx("button",{onClick:()=>r("branch"),className:`relative pb-4 px-2 text-sm font-medium transition-colors ${e==="branch"?"text-[#005C75] border-b-2 border-[#005C75]":"text-gray-500 hover:text-gray-700"}`,children:d.jsxs("span",{className:"flex items-center gap-2",children:["Branch Changes",n>0&&d.jsx("span",{className:`inline-flex items-center justify-center px-2 py-0.5 text-xs font-semibold rounded-full ${e==="branch"?"bg-[#e8f1f5] text-[#005C75]":"bg-gray-200 text-gray-700"}`,children:n})]})})]})})}function as(e,r){const n=r.match(/text-(\w+)-\d+/)?.[1]||"gray",t={green:"#15803d",gray:"#374151",orange:"#b45309",blue:"#1e40af",amber:"#b45309",purple:"#6b21a8"}[n]||"#374151";switch(e){case"✓":return d.jsx(Ar,{size:16,color:t});case"○":return d.jsx(Mr,{size:16,color:t});case"⚠":return d.jsx(Er,{size:16,color:t});case"●":return d.jsx(Dr,{size:16,color:t});case"+":return d.jsx(Br,{size:16,color:t});default:return e}}function os({entity:e,variant:r="full"}){const i=_r(e),{badge:n}=i,s=as(n.icon,n.color);return r==="icon-only"?d.jsx("span",{className:`${n.color} text-sm font-bold`,title:n.label,children:s}):r==="compact"?d.jsx("span",{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-[11px] font-normal border ${n.color} ${n.bgColor} ${n.borderColor}`,title:n.label,children:d.jsx("span",{children:n.label})}):d.jsx("span",{className:`inline-flex items-center gap-1.5 px-2.5 py-1 rounded-md text-xs font-normal border ${n.color} ${n.bgColor} ${n.borderColor}`,children:d.jsx("span",{children:n.label})})}function ls({entity:e,filePath:r,impactedEntities:i,isBeingAnalyzed:n,isQueued:s,projectSlug:t,diffType:a,baseBranch:f,currentBranch:o,onGenerateSimulation:c,onShowLogs:l}){const h=e.analyses?.[0],g=h?.scenarios||[],p=h?.status?.scenarios||[];return d.jsxs("div",{className:"flex flex-col gap-2 p-3 bg-white border border-[#e1e1e1] rounded-md transition-all hover:border-[#005c75] hover:shadow-sm",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsxs(Ce,{to:`/entity/${e.sha}`,className:"flex items-center gap-3 flex-1 min-w-0 no-underline",children:[d.jsx(Yt,{type:e.entityType}),d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsxs("div",{className:"font-['IBM_Plex_Sans'] font-medium text-sm text-[#343434] flex items-center gap-2",children:[d.jsx("span",{children:e.name}),e.entityType==="visual"&&d.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#8B5CF60D",color:"#8B5CF6"},children:"Visual"}),e.entityType==="library"&&d.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#0DBFE90D",color:"#0DBFE9"},children:"Library"}),e.entityType==="other"&&d.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#EC48990D",color:"#EC4899"},children:"Other"}),d.jsx(os,{entity:e,variant:"full"})]}),e.description&&d.jsx("div",{className:"font-['IBM_Plex_Sans'] text-xs text-[#8e8e8e] mt-0.5 overflow-hidden text-ellipsis whitespace-nowrap",children:e.description})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[n&&d.jsxs("div",{className:"px-2 py-1 bg-pink-100 rounded text-xs text-pink-700 font-semibold flex items-center gap-1.5",children:[d.jsxs("svg",{className:"animate-spin h-3.5 w-3.5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[d.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),d.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Analyzing..."]}),!n&&s&&d.jsx("div",{className:"px-2 py-1 bg-purple-50 border border-purple-300 rounded text-xs text-purple-700 font-semibold",children:"⏳ Queued"})]})]}),(e.entityType==="visual"||e.entityType==="library")&&!n&&!s&&d.jsx("button",{onClick:x=>{x.stopPropagation(),c(e)},className:"px-3 py-1.5 bg-[#005c75] text-white rounded-md text-xs font-['IBM_Plex_Sans'] font-medium hover:bg-[#004a5e] transition-colors whitespace-nowrap",title:"Analyze this entity",children:"Analyze"}),n&&t&&d.jsx("button",{onClick:x=>{x.stopPropagation(),l(e.sha)},className:"px-3 py-1.5 bg-[#626262] text-white rounded-md text-xs font-['IBM_Plex_Sans'] font-semibold hover:bg-[#4a4a4a] transition-colors whitespace-nowrap",title:"View analysis logs",children:"📋 Logs"})]}),(e.entityType==="visual"||e.entityType==="library")&&g.length>0&&d.jsx("div",{className:"flex gap-2.5 mt-3 overflow-x-auto pb-1",children:g.map((x,w)=>{const y=x.metadata?.screenshotPaths?.[0],m=p.find(N=>N.name===x.name),b=m?.screenshotStartedAt&&!m?.screenshotFinishedAt,L=!!y;return d.jsx(Ce,{to:x.id?`/entity/${e.sha}/scenarios/${x.id}`:`/entity/${e.sha}`,className:"shrink-0 block no-underline",children:d.jsx("div",{className:"w-36 h-24 rounded-md border border-gray-200 overflow-hidden bg-gray-100 flex items-center justify-center transition-all",onMouseEnter:N=>{N.currentTarget.style.borderColor="#005C75",N.currentTarget.style.boxShadow="0 4px 12px rgba(0, 92, 117, 0.15)"},onMouseLeave:N=>{N.currentTarget.style.borderColor="#d1d5db",N.currentTarget.style.boxShadow="none"},children:L?d.jsx(er,{screenshotPath:y,alt:x.name,className:"max-w-full max-h-full object-contain"}):d.jsx("span",{className:`text-2xl ${b?"animate-pulse":"text-gray-400"}`,children:b?"⋯":"⏹️"})})},w)})})]})}function cs({files:e,entityImpactMap:r,expandedFiles:i,isEntityBeingAnalyzed:n,isEntityQueued:s,projectSlug:t,baseBranch:a,currentBranch:f,onToggleFile:o,onShowFileDiff:c,onGenerateSimulation:l,onShowLogs:h}){return d.jsx("div",{children:e.length>0?d.jsx("div",{className:"flex flex-col gap-3",children:e.map(([g,{status:p,editedEntities:x}])=>{const w=i.has(g);return d.jsxs("div",{className:"bg-white border border-gray-200 border-l-4 rounded-lg overflow-hidden",style:{borderLeftColor:"#306AFF"},children:[d.jsx("div",{className:"p-4 cursor-pointer select-none transition-colors hover:bg-gray-50",onClick:()=>o(g),role:"button",tabIndex:0,onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),o(g))},children:d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("span",{className:"w-4 inline-flex items-center justify-center shrink-0",style:{transform:w?"rotate(90deg)":"none"},children:d.jsx("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:d.jsx("path",{d:"M1.5 1.268L8.5 6L1.5 10.732V1.268Z",fill:w?"#3e3e3e":"#c7c7c7"})})}),d.jsxs("svg",{width:"16",height:"20",viewBox:"0 0 12 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"shrink-0",children:[d.jsxs("g",{clipPath:"url(#clip0_784_10666)",children:[d.jsx("path",{d:"M0 2.55857C0 1.14551 1.14551 0 2.55857 0H8.73194L12 3.3616V13.4414C12 14.8545 10.8545 16 9.44143 16H2.55857C1.14551 16 0 14.8545 0 13.4414V2.55857Z",fill:"#DDDDFE"}),d.jsx("path",{d:"M8.72656 3.3307H11.9906L8.72656 0V3.3307Z",fill:"#306AFF"}),d.jsx("line",{x1:"1.8125",y1:"5.94825",x2:"10.0235",y2:"5.94825",stroke:"#306AFF",strokeWidth:"1.27929"}),d.jsx("line",{x1:"1.8125",y1:"8.82715",x2:"6.01207",y2:"8.82715",stroke:"#306AFF",strokeWidth:"1.27929"}),d.jsx("line",{x1:"1.8125",y1:"11.7061",x2:"10.0235",y2:"11.7061",stroke:"#306AFF",strokeWidth:"1.27929"})]}),d.jsx("defs",{children:d.jsx("clipPath",{id:"clip0_784_10666",children:d.jsx("rect",{width:"12",height:"16",fill:"white"})})})]}),d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsx("span",{className:"font-normal text-gray-900 text-sm block truncate",children:g}),d.jsxs("span",{className:"text-xs text-gray-500",children:[x.length," entit",x.length!==1?"ies":"y"]})]})]})}),w&&x.length>0&&d.jsx("div",{className:"border-t border-gray-200 bg-gray-50 p-3 flex flex-col gap-2",children:x.map(y=>d.jsx(ls,{entity:y,filePath:g,impactedEntities:r.get(y.sha)||[],isBeingAnalyzed:n(y.sha),isQueued:s(y.sha),projectSlug:t,diffType:"uncommitted",baseBranch:a,currentBranch:f,onGenerateSimulation:l,onShowLogs:h},y.sha))})]},g)})}):d.jsxs("div",{className:"py-12 px-6 text-center",children:[d.jsx("div",{className:"text-6xl mb-4 opacity-50",children:"✓"}),d.jsx("p",{className:"font-['IBM_Plex_Sans'] text-lg font-semibold text-[#3e3e3e] mb-2",children:"No edited entities"}),d.jsxs("p",{className:"font-['IBM_Plex_Sans'] text-sm text-[#8e8e8e]",children:["There are no uncommitted changes.",d.jsx("br",{}),d.jsx("br",{}),"If you edit a file in the project, it will show up here."]})]})})}function ds({status:e}){const i={modified:{label:"M",bgColor:"bg-[#f59e0c]"},added:{label:"A",bgColor:"bg-emerald-500"},deleted:{label:"D",bgColor:"bg-red-500",showWarning:!0},renamed:{label:"R",bgColor:"bg-indigo-500"},untracked:{label:"U",bgColor:"bg-purple-500"}}[e]||{label:"?",bgColor:"bg-gray-500"};return d.jsxs("div",{className:"inline-flex items-center gap-1",children:[d.jsx("span",{className:`inline-flex items-center justify-center w-5 h-5 text-[11px] font-bold text-white rounded ${i.bgColor}`,title:e,children:i.label}),i.showWarning&&d.jsx("span",{className:"inline-flex items-center justify-center w-3 h-3 text-[10px] text-amber-600",title:"Warning: File will be deleted",children:"⚠"})]})}function fs({files:e,currentBranch:r,defaultBranch:i,baseBranch:n,allBranches:s,expandedFiles:t,isEntityBeingAnalyzed:a,isEntityQueued:f,isAnyAnalysisInProgress:o,isAnalyzing:c,lastLogLine:l,projectSlug:h,onToggleFile:g,onBranchChange:p,onGenerateSimulation:x,onShowLogs:w}){return e.length>0&&e.some(([y,{entities:m}])=>m.length>0),d.jsxs("div",{children:[d.jsx("div",{className:"mb-5",children:r===i?d.jsxs("p",{className:"text-sm text-gray-500",children:["Currently on the primary branch"," ",d.jsx("strong",{className:"text-gray-900 font-semibold",children:r})]}):d.jsxs("p",{className:"text-sm text-gray-500",children:["Changes in"," ",d.jsx("strong",{className:"text-gray-900 font-semibold",children:r})," ","compared to"," ",d.jsx("select",{value:n,onChange:y=>p(y.target.value),className:"py-0.5 px-2 bg-white border border-gray-300 rounded-md text-sm font-semibold text-gray-900 cursor-pointer hover:border-indigo-500",children:s.filter(y=>y!==r).map(y=>d.jsx("option",{value:y,children:y},y))})]})}),r===i?d.jsxs("div",{className:"py-12 px-6 text-center bg-blue-50 rounded-lg border border-blue-100",children:[d.jsx("div",{className:"text-6xl mb-4",children:"ℹ️"}),d.jsx("p",{className:"text-lg font-semibold text-gray-900 mb-3",children:"You're on the primary branch"}),d.jsxs("p",{className:"text-sm text-gray-600 mb-2 max-w-md mx-auto",children:["When you switch to a feature branch, this section will show all the changes between your branch and"," ",d.jsx("strong",{className:"font-semibold",children:i}),"."]}),d.jsx("p",{className:"text-sm text-gray-600 max-w-md mx-auto",children:"This helps you understand what will be included in your pull request before you create it."})]}):e.length>0?d.jsx("div",{className:"flex flex-col gap-3",children:e.map(([y,{status:m,entities:b}])=>{const L=t.has(y);return d.jsxs("div",{className:"bg-white border border-gray-200 border-l-4 rounded-lg overflow-hidden",style:{borderLeftColor:"#306AFF"},children:[d.jsx("div",{className:"p-4 cursor-pointer select-none transition-colors hover:bg-gray-50",onClick:()=>g(y),role:"button",tabIndex:0,onKeyDown:N=>{(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),g(y))},children:d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsx("span",{className:"w-4 inline-flex items-center justify-center shrink-0",style:{transform:L?"rotate(90deg)":"none"},children:d.jsx("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:d.jsx("path",{d:"M1.5 1.268L8.5 6L1.5 10.732V1.268Z",fill:L?"#3e3e3e":"#c7c7c7"})})}),d.jsxs("svg",{width:"16",height:"20",viewBox:"0 0 12 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"shrink-0",children:[d.jsxs("g",{clipPath:"url(#clip0_784_10666)",children:[d.jsx("path",{d:"M0 2.55857C0 1.14551 1.14551 0 2.55857 0H8.73194L12 3.3616V13.4414C12 14.8545 10.8545 16 9.44143 16H2.55857C1.14551 16 0 14.8545 0 13.4414V2.55857Z",fill:"#DDDDFE"}),d.jsx("path",{d:"M8.72656 3.3307H11.9906L8.72656 0V3.3307Z",fill:"#306AFF"}),d.jsx("line",{x1:"1.8125",y1:"5.94825",x2:"10.0235",y2:"5.94825",stroke:"#306AFF",strokeWidth:"1.27929"}),d.jsx("line",{x1:"1.8125",y1:"8.82715",x2:"6.01207",y2:"8.82715",stroke:"#306AFF",strokeWidth:"1.27929"}),d.jsx("line",{x1:"1.8125",y1:"11.7061",x2:"10.0235",y2:"11.7061",stroke:"#306AFF",strokeWidth:"1.27929"})]}),d.jsx("defs",{children:d.jsx("clipPath",{id:"clip0_784_10666",children:d.jsx("rect",{width:"12",height:"16",fill:"white"})})})]}),d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("span",{className:"font-normal text-gray-900 text-sm block truncate",children:y}),d.jsx(ds,{status:m.status})]}),d.jsxs("span",{className:"text-xs text-gray-500",children:[b.length," entit",b.length!==1?"ies":"y"]})]})]})}),L&&b.length>0&&d.jsx("div",{className:"border-t border-gray-200 bg-gray-50 p-2 flex flex-col gap-1.5",children:b.map(N=>{const k=a(N.sha),E=f(N.sha),S=k&&l,O=N.analyses?.[0],P=O?.scenarios||[],F=O?.status?.scenarios||[];return d.jsxs("div",{className:"flex flex-col gap-2 p-3 bg-white border border-gray-200 rounded-md transition-all hover:border-blue-600 hover:shadow-sm",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsxs(Ce,{to:`/entity/${N.sha}`,className:"flex items-center gap-3 flex-1 min-w-0 no-underline",children:[d.jsx(Yt,{type:N.entityType}),d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsxs("div",{className:"font-['IBM_Plex_Sans'] font-medium text-sm text-[#343434] flex items-center gap-2",children:[d.jsx("span",{children:N.name}),N.entityType==="visual"&&d.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#8B5CF60D",color:"#8B5CF6"},children:"Visual"}),N.entityType==="library"&&d.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#0DBFE90D",color:"#0DBFE9"},children:"Library"}),N.entityType==="other"&&d.jsx("div",{className:"px-2 py-0.5 rounded-sm text-[10px] uppercase font-bold",style:{backgroundColor:"#EC48990D",color:"#EC4899"},children:"Other"})]}),N.description&&d.jsx("div",{className:"font-['IBM_Plex_Sans'] text-xs text-[#8e8e8e] mt-0.5 overflow-hidden text-ellipsis whitespace-nowrap",children:N.description})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[k&&d.jsxs("div",{className:"px-2 py-1 bg-pink-100 rounded text-xs text-pink-700 font-semibold flex items-center gap-1.5",children:[d.jsxs("svg",{className:"animate-spin h-3.5 w-3.5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[d.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),d.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Analyzing..."]}),!k&&E&&d.jsx("div",{className:"px-2 py-1 bg-purple-50 border border-purple-300 rounded text-xs text-purple-700 font-semibold",children:"⏳ Queued"})]})]}),(N.entityType==="visual"||N.entityType==="library")&&d.jsx("button",{onClick:u=>{u.stopPropagation(),x(N)},disabled:c||o||E||k,className:"px-3 py-1.5 bg-[#005c75] text-white rounded-md text-xs font-['IBM_Plex_Sans'] font-medium hover:bg-[#004a5e] transition-colors whitespace-nowrap disabled:bg-gray-400 disabled:cursor-not-allowed",title:E?"Entity is queued for analysis":k?"Entity is being analyzed":o?"Please wait for current analysis to complete":"Analyze this entity",children:k?"Analyzing...":E?"Queued":o?"Waiting...":"Analyze"}),k&&h&&d.jsx("button",{onClick:u=>{u.stopPropagation(),w(N.sha)},className:"px-3 py-1.5 bg-[#626262] text-white rounded-md text-xs font-['IBM_Plex_Sans'] font-medium hover:bg-[#4a4a4a] transition-colors whitespace-nowrap",title:"View analysis logs",children:"📋 Logs"})]}),S&&d.jsxs("div",{className:"flex items-center gap-1.5 text-[13px] font-medium text-blue-600 px-2 py-1 bg-blue-50 rounded",children:[d.jsx("span",{className:"animate-spin",children:"⚙️"}),d.jsx("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap text-xs max-w-full",title:l,children:l})]}),P.length>0&&d.jsx("div",{className:"flex gap-2 flex-wrap",children:P.slice(0,5).map((u,v)=>{const C=u.metadata?.screenshotPaths?.[0],j=F.find(M=>M.name===u.name),_=j?.screenshotStartedAt&&!j?.screenshotFinishedAt,D=!!C,A=kr(N)||N.metadata?.isSuperseded;return D?d.jsx(Ce,{to:`/entity/${N.sha}/scenarios/${u.id}`,className:`relative w-20 h-15 border-2 rounded overflow-hidden bg-gray-50 cursor-pointer transition-all flex items-center justify-center hover:scale-105 hover:shadow-md ${A?"border-amber-500 hover:border-amber-600":"border-gray-200 hover:border-blue-600"}`,children:d.jsx(er,{screenshotPath:C,alt:u.name,title:u.name,className:"max-w-full max-h-full object-contain object-center"})},v):d.jsx(Ce,{to:`/entity/${N.sha}/scenarios/${u.id}`,className:"w-20 h-15 border-2 border-dashed border-gray-300 rounded bg-gray-50 flex items-center justify-center text-2xl",title:`Capturing ${u.name}...`,children:d.jsx("span",{className:_?"animate-spin":"text-gray-400",children:_?"⏳":"⏹️"})},v)})})]},N.sha)})})]},y)})}):d.jsxs("div",{className:"py-12 px-6 text-center",children:[d.jsx("div",{className:"text-6xl mb-4 opacity-50",children:"✓"}),d.jsx("p",{className:"text-lg font-semibold text-gray-700 mb-2",children:"No differences found"}),d.jsxs("p",{className:"text-sm text-gray-500",children:["This branch is up to date with ",n]})]})]})}const Ls=()=>[{title:"Git - CodeYam"},{name:"description",content:"Git status and impact analysis"}],_s=wr(function(){const{entities:r,gitStatus:i,currentBranch:n,defaultBranch:s,allBranches:t,baseBranch:a,branchDiff:f,currentCommit:o,projectSlug:c,queueState:l}=jr(),[h,g]=Cr(),[p,x]=q.useState("uncommitted"),[w,y]=q.useState(null),m=h.get("expanded")==="true",b=rt(),L=b.data;q.useEffect(()=>{p==="branch"&&n&&a&&n!==a&&b.state==="idle"&&!L&&b.load(`/api/branch-entity-diff?base=${encodeURIComponent(a)}&compare=${encodeURIComponent(n)}`)},[p,n,a,b,L]);const N=q.useMemo(()=>{const T=Tr(i,r);return Array.from(T.entries()).sort((ee,Y)=>ee[0].localeCompare(Y[0]))},[i,r]),k=q.useMemo(()=>{const T=Fr(f,r,L);return Array.from(T.entries()).sort((ee,Y)=>ee[0].localeCompare(Y[0]))},[f,r,L]),E=q.useMemo(()=>Rr(i,r),[i,r]);q.useMemo(()=>{const T=k.flatMap(([ee,Y])=>Y.entities);return Ir(T,r)},[k,r]);const S=q.useMemo(()=>N.map(([T])=>T),[N]),O=q.useMemo(()=>k.map(([T])=>T),[k]),{expandedUncommitted:P,expandedBranch:F,setExpandedUncommitted:u,setExpandedBranch:v,toggleFile:C,expandAllUncommitted:j,collapseAllUncommitted:_,expandAllBranch:D,collapseAllBranch:A}=Vr(m,S,O),{diffView:M,diffContent:B,isLoading:$,handleShowFileDiff:V,handleCloseDiff:J}=qr(a,n,p),W=o?.metadata?.currentRun,X=!!W?.createdAt&&!W?.analysisCompletedAt,{lastLine:ne,isCompleted:hr}=Nr(c,X),pr=X&&!hr,lt=new Set(W?.currentEntityShas||[]),Ge=new Set(l.jobs.flatMap(T=>T.entityShas||[])),He=new Set(l.currentlyExecuting?.entityShas||[]),{isAnalyzing:We,handleGenerateSimulation:ct,handleGenerateAllSimulations:mr,isEntityBeingAnalyzed:dt}=Gr(W?.currentEntityShas),ft=T=>Ge.has(T)||He.has(T),ut=T=>{T===s?h.delete("compare"):h.set("compare",T),g(h)},gr=()=>{const ee=(p==="uncommitted"?N.flatMap(([Y,Ue])=>Ue.editedEntities):k.flatMap(([Y,Ue])=>Ue.entities)).filter(Y=>!lt.has(Y.sha)&&!Ge.has(Y.sha)&&!He.has(Y.sha));mr(ee)},ht=N.length,pt=k.length,xr=p==="uncommitted"?ht:pt,_e=(p==="uncommitted"?N.flatMap(([T,ee])=>ee.editedEntities):k.flatMap(([T,ee])=>ee.entities)).filter(T=>T.entityType==="visual"||T.entityType==="library"),ze=_e.length>0&&_e.every(T=>lt.has(T.sha)),mt=_e.length>0&&!ze&&_e.every(T=>Ge.has(T.sha)||He.has(T.sha)),gt=We||ze||mt,xt=ze?"Analyzing...":mt?"Queued...":We?"Analyzing...":"Analyze All";return d.jsx("div",{className:"bg-[#f9f9f9] min-h-screen",children:d.jsxs("div",{className:"px-36 py-12",children:[d.jsxs("div",{className:"mb-8",children:[d.jsx("h1",{className:"text-3xl font-bold text-gray-900",children:"Git Changes"}),d.jsx("div",{className:"flex items-center gap-4 text-sm text-gray-600 mt-2",children:n&&d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"text-xs",children:"Branch:"}),t.length>0?d.jsx("select",{value:n,onChange:T=>ut(T.target.value),className:"text-gray-900 font-medium px-2 py-1 border border-gray-300 rounded text-sm hover:border-gray-400 focus:outline-none focus:border-blue-500",style:{paddingRight:"26px",backgroundPosition:"right 6px center",backgroundRepeat:"no-repeat",backgroundSize:"16px",appearance:"none",backgroundImage:`url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")`},children:t.map(T=>d.jsxs("option",{value:T,children:[T," ",T===s?"(default)":""]},T))}):d.jsx("span",{className:"text-gray-900 font-medium",children:n})]})})]}),d.jsxs("div",{className:"flex items-center justify-between mb-1",children:[d.jsx(is,{activeTab:p,onTabChange:x,uncommittedCount:ht,branchCount:pt}),xr>0&&d.jsxs("div",{className:"flex gap-2",children:[d.jsx("button",{onClick:p==="uncommitted"?j:D,className:"px-3 py-1.5 text-xs font-['IBM_Plex_Sans'] font-medium text-[#626262] hover:text-cyblack-100 hover:bg-gray-100 rounded transition-colors cursor-pointer",children:"Expand All"}),d.jsx("button",{onClick:p==="uncommitted"?_:A,className:"px-3 py-1.5 text-xs font-['IBM_Plex_Sans'] font-medium text-[#626262] hover:text-cyblack-100 hover:bg-gray-100 rounded transition-colors cursor-pointer",children:"Collapse All"}),d.jsx("button",{onClick:gr,disabled:gt,className:"px-4 py-1.5 bg-[#005c75] text-white rounded text-xs font-['IBM_Plex_Sans'] font-medium hover:bg-[#004a5e] transition-colors cursor-pointer disabled:bg-gray-400 disabled:cursor-not-allowed",title:gt?xt:`Analyze all ${p} entities`,children:xt})]})]}),d.jsxs("div",{className:"overflow-hidden",children:[p==="uncommitted"&&d.jsx(cs,{files:N,entityImpactMap:E,expandedFiles:P,isEntityBeingAnalyzed:dt,isEntityQueued:ft,projectSlug:c,baseBranch:a,currentBranch:n,onToggleFile:T=>C(T,P,u),onShowFileDiff:V,onGenerateSimulation:ct,onShowLogs:y}),p==="branch"&&n&&d.jsx(fs,{files:k,currentBranch:n,defaultBranch:s,baseBranch:a,allBranches:t,expandedFiles:F,isEntityBeingAnalyzed:dt,isEntityQueued:ft,isAnyAnalysisInProgress:pr,isAnalyzing:We,lastLogLine:ne,projectSlug:c,onToggleFile:T=>C(T,F,v),onBranchChange:ut,onGenerateSimulation:ct,onShowLogs:y})]}),M&&d.jsx(ss,{diffView:M,diffContent:B,isLoading:$,entities:r,onClose:J}),w&&c&&d.jsx(Lr,{projectSlug:c,onClose:()=>y(null)})]})})});export{_s as default,Ls as meta};
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";@layer components;@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"IBM Plex Sans",sans-serif;--font-mono:"IBM Plex Mono",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-900:oklch(37.8% .077 168.94);--color-cyan-100:oklch(95.6% .045 203.388);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-700:oklch(52.5% .223 3.958);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-cyblack-100:#232323;--color-cygray-30:#e1e1e1;--color-cygray-10:#f9f9f9;--color-primary-100:#3b677b}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box}body{margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.-top-2{top:calc(var(--spacing)*-2)}.top-0{top:calc(var(--spacing)*0)}.top-0\.5{top:calc(var(--spacing)*.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-10{top:calc(var(--spacing)*10)}.top-\[19px\]{top:19px}.top-\[42px\]{top:42px}.right-0{right:calc(var(--spacing)*0)}.right-0\.5{right:calc(var(--spacing)*.5)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-0\.5{bottom:calc(var(--spacing)*.5)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-10{bottom:calc(var(--spacing)*10)}.left-0{left:calc(var(--spacing)*0)}.left-0\.5{left:calc(var(--spacing)*.5)}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.left-\[-35px\]{left:-35px}.left-\[17\.5px\]{left:17.5px}.z-10{z-index:10}.z-50{z-index:50}.z-1000{z-index:1000}.z-9998{z-index:9998}.z-9999{z-index:9999}.z-10000{z-index:10000}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-5{margin-inline:calc(var(--spacing)*5)}.mx-6{margin-inline:calc(var(--spacing)*6)}.mx-auto{margin-inline:auto}.my-8{margin-block:calc(var(--spacing)*8)}.my-auto{margin-block:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-\[4px\]{margin-top:4px}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-\[6px\]{margin-bottom:6px}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-7{margin-left:calc(var(--spacing)*7)}.ml-\[-1px\]{margin-left:-1px}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-4\/3{aspect-ratio:4/3}.aspect-square{aspect-ratio:1}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-15{height:calc(var(--spacing)*15)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-40{height:calc(var(--spacing)*40)}.h-\[11\.5px\]{height:11.5px}.h-\[13\.26px\]{height:13.26px}.h-\[15px\]{height:15px}.h-\[20\.464px\]{height:20.464px}.h-\[20px\]{height:20px}.h-\[22px\]{height:22px}.h-\[23px\]{height:23px}.h-\[25px\]{height:25px}.h-\[26px\]{height:26px}.h-\[29px\]{height:29px}.h-\[38px\]{height:38px}.h-\[39px\]{height:39px}.h-\[42px\]{height:42px}.h-\[54px\]{height:54px}.h-\[67px\]{height:67px}.h-\[90vh\]{height:90vh}.h-\[100px\]{height:100px}.h-\[110px\]{height:110px}.h-\[339\.923px\]{height:339.923px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[100px\]{max-height:100px}.max-h-\[120px\]{max-height:120px}.max-h-\[150px\]{max-height:150px}.max-h-\[200px\]{max-height:200px}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-10{min-height:calc(var(--spacing)*10)}.min-h-\[200px\]{min-height:200px}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-36{width:calc(var(--spacing)*36)}.w-40{width:calc(var(--spacing)*40)}.w-\[11\.5px\]{width:11.5px}.w-\[13\.26px\]{width:13.26px}.w-\[25px\]{width:25px}.w-\[50px\]{width:50px}.w-\[90vw\]{width:90vw}.w-\[125px\]{width:125px}.w-\[130px\]{width:130px}.w-\[148px\]{width:148px}.w-\[165px\]{width:165px}.w-\[175px\]{width:175px}.w-\[183px\]{width:183px}.w-\[187px\]{width:187px}.w-\[220px\]{width:220px}.w-\[400px\]{width:400px}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[500px\]{max-width:500px}.max-w-\[600px\]{max-width:600px}.max-w-\[700px\]{max-width:700px}.max-w-\[800px\]{max-width:800px}.max-w-\[1000px\]{max-width:1000px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[1800px\]{max-width:1800px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[22px\]{min-width:22px}.min-w-\[25px\]{min-width:25px}.min-w-\[60px\]{min-width:60px}.min-w-\[320px\]{min-width:320px}.min-w-\[380px\]{min-width:380px}.min-w-\[400px\]{min-width:400px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[slideIn_0\.3s_ease-out\]{animation:.3s ease-out slideIn}.animate-\[slideUp_0\.3s_ease-out\]{animation:.3s ease-out slideUp}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[150px_1fr\]{grid-template-columns:150px 1fr}.grid-cols-\[180px_1fr\]{grid-template-columns:180px 1fr}.grid-cols-\[340px_1fr\]{grid-template-columns:340px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-\[11\.6px\]{gap:11.6px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[5\.155px\]{border-radius:5.155px}.rounded-\[9\.095px\]{border-radius:9.095px}.rounded-\[9px\]{border-radius:9px}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\[4px\]{border-top-left-radius:4px;border-bottom-left-radius:4px}.rounded-tl-\[8px\]{border-top-left-radius:8px}.rounded-tl-lg{border-top-left-radius:var(--radius-lg)}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\[4px\]{border-top-right-radius:4px;border-bottom-right-radius:4px}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.rounded-tr-lg{border-top-right-radius:var(--radius-lg)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-br-lg{border-bottom-right-radius:var(--radius-lg)}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-bl-\[8px\]{border-bottom-left-radius:8px}.rounded-bl-lg{border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\[\#005C75\],.border-\[\#005c75\]{border-color:#005c75}.border-\[\#90caf9\]{border-color:#90caf9}.border-\[\#333\]{border-color:#333}.border-\[\#555\]{border-color:#555}.border-\[\#646464\]{border-color:#646464}.border-\[\#c7c7c7\]{border-color:#c7c7c7}.border-\[\#c8f2e3\]{border-color:#c8f2e3}.border-\[\#c69538\]{border-color:#c69538}.border-\[\#ce93d8\]{border-color:#ce93d8}.border-\[\#e0e9ec\]{border-color:#e0e9ec}.border-\[\#e1e1e1\]{border-color:#e1e1e1}.border-\[\#efefef\]{border-color:#efefef}.border-\[\#fecaca\]{border-color:#fecaca}.border-\[rgba\(0\,92\,117\,0\.05\)\]{border-color:#005c750d}.border-\[rgba\(0\,92\,117\,0\.25\)\]{border-color:#005c7540}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-500{border-color:var(--color-amber-500)}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-blue-800{border-color:var(--color-blue-800)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-200{border-color:var(--color-green-200)}.border-orange-300{border-color:var(--color-orange-300)}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-300{border-color:var(--color-purple-300)}.border-purple-600{border-color:var(--color-purple-600)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-400{border-color:var(--color-red-400)}.border-red-500{border-color:var(--color-red-500)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[\#1e1e1e\]{background-color:#1e1e1e}.bg-\[\#3e3e3e\]{background-color:#3e3e3e}.bg-\[\#4caf50\]{background-color:#4caf50}.bg-\[\#005c75\]{background-color:#005c75}.bg-\[\#9c27b0\]{background-color:#9c27b0}.bg-\[\#333\]{background-color:#333}.bg-\[\#00925d\]{background-color:#00925d}.bg-\[\#2196f3\]{background-color:#2196f3}.bg-\[\#252525\]{background-color:#252525}.bg-\[\#343434\]{background-color:#343434}.bg-\[\#626262\]{background-color:#626262}.bg-\[\#c7c7c7\]{background-color:#c7c7c7}.bg-\[\#cbf3fa\]{background-color:#cbf3fa}.bg-\[\#deeafc\]{background-color:#deeafc}.bg-\[\#e0e9ec\]{background-color:#e0e9ec}.bg-\[\#e1e1e1\]{background-color:#e1e1e1}.bg-\[\#e3f2fd\]{background-color:#e3f2fd}.bg-\[\#e5eff1\]{background-color:#e5eff1}.bg-\[\#e6fbff\]{background-color:#e6fbff}.bg-\[\#e8f1f5\]{background-color:#e8f1f5}.bg-\[\#e8f5e9\]{background-color:#e8f5e9}.bg-\[\#e8ffe6\]{background-color:#e8ffe6}.bg-\[\#ebf0f2\]{background-color:#ebf0f2}.bg-\[\#efefef\]{background-color:#efefef}.bg-\[\#f2fcf9\]{background-color:#f2fcf9}.bg-\[\#f3e5f5\]{background-color:#f3e5f5}.bg-\[\#f3eefe\]{background-color:#f3eefe}.bg-\[\#f5f5f5\]{background-color:#f5f5f5}.bg-\[\#f6f9fc\]{background-color:#f6f9fc}.bg-\[\#f9f9f9\]{background-color:#f9f9f9}.bg-\[\#f59e0c\]{background-color:#f59e0c}.bg-\[\#fafafa\]{background-color:#fafafa}.bg-\[\#fce8c5\]{background-color:#fce8c5}.bg-\[\#fdf9c9\]{background-color:#fdf9c9}.bg-\[\#fef2f2\]{background-color:#fef2f2}.bg-\[\#ffdbf6\]{background-color:#ffdbf6}.bg-\[\#ffe1e1\]{background-color:#ffe1e1}.bg-\[rgba\(0\,92\,117\,0\.15\)\]{background-color:#005c7526}.bg-\[rgba\(0\,92\,117\,0\.25\)\]{background-color:#005c7540}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-cygray-10{background-color:var(--color-cygray-10)}.bg-cygray-30{background-color:var(--color-cygray-30)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-pink-100{background-color:var(--color-pink-100)}.bg-primary-100{background-color:var(--color-primary-100)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-600\/90{background-color:#9810fae6}@supports (color:color-mix(in lab,red,red)){.bg-purple-600\/90{background-color:color-mix(in oklab,var(--color-purple-600)90%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-900{background-color:var(--color-red-900)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-linear-to-br{--tw-gradient-position:to bottom right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-br{--tw-gradient-position:to bottom right in oklab}}.bg-linear-to-br{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-500{--tw-gradient-from:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-500{--tw-gradient-from:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-400{--tw-gradient-to:var(--color-blue-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-400{--tw-gradient-to:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-50{--tw-gradient-to:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-600{--tw-gradient-to:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500{--tw-gradient-to:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{-o-object-fit:contain;object-fit:contain}.object-center{-o-object-position:center;object-position:center}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.p-\[5\.6px\]{padding:5.6px}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-12{padding-inline:calc(var(--spacing)*12)}.px-36{padding-inline:calc(var(--spacing)*36)}.px-\[5px\]{padding-inline:5px}.px-\[7px\]{padding-inline:7px}.px-\[10px\]{padding-inline:10px}.px-\[15px\]{padding-inline:15px}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-\[5px\]{padding-block:5px}.py-\[6\.444px\]{padding-block:6.444px}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-3\.5{padding-top:calc(var(--spacing)*3.5)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-6{padding-right:calc(var(--spacing)*6)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-24{padding-right:calc(var(--spacing)*24)}.pr-\[10px\]{padding-right:10px}.pr-\[90px\]{padding-right:90px}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-2\.5{padding-bottom:calc(var(--spacing)*2.5)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-0{padding-left:calc(var(--spacing)*0)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-9{padding-left:calc(var(--spacing)*9)}.pl-12{padding-left:calc(var(--spacing)*12)}.pl-\[10px\]{padding-left:10px}.text-center{text-align:center}.text-left{text-align:left}.font-\[\'IBM_Plex_Mono\'\]{font-family:IBM Plex Mono}.font-\[\'IBM_Plex_Sans\'\]{font-family:IBM Plex Sans}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10\.2px\]{font-size:10.2px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[22px\]{font-size:22px}.text-\[28px\]{font-size:28px}.text-\[32px\]{font-size:32px}.text-\[40px\]{font-size:40px}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-10{--tw-leading:calc(var(--spacing)*10);line-height:calc(var(--spacing)*10)}.leading-\[13px\]{--tw-leading:13px;line-height:13px}.leading-\[15px\]{--tw-leading:15px;line-height:15px}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-\[26px\]{--tw-leading:26px;line-height:26px}.leading-\[30px\]{--tw-leading:30px;line-height:30px}.leading-\[40px\]{--tw-leading:40px;line-height:40px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words,.wrap-break-word{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#2e7d32\]{color:#2e7d32}.text-\[\#2f80ed\]{color:#2f80ed}.text-\[\#3e3e3e\]{color:#3e3e3e}.text-\[\#005C75\],.text-\[\#005c75\]{color:#005c75}.text-\[\#6a1b9a\]{color:#6a1b9a}.text-\[\#8a8a8a\]{color:#8a8a8a}.text-\[\#8e8e8e\]{color:#8e8e8e}.text-\[\#9b51e0\]{color:#9b51e0}.text-\[\#666\]{color:#666}.text-\[\#00925d\]{color:#00925d}.text-\[\#999\]{color:#999}.text-\[\#1976d2\]{color:#1976d2}.text-\[\#3098b4\]{color:#3098b4}.text-\[\#232323\]{color:#232323}.text-\[\#343434\]{color:#343434}.text-\[\#626262\]{color:#626262}.text-\[\#646464\]{color:#646464}.text-\[\#808080\]{color:gray}.text-\[\#c69538\]{color:#c69538}.text-\[\#ccc\]{color:#ccc}.text-\[\#d4d4d4\]{color:#d4d4d4}.text-\[\#dc2626\]{color:#dc2626}.text-\[\#ef4444\]{color:#ef4444}.text-\[\#efefef\]{color:#efefef}.text-\[\#ff2ab5\]{color:#ff2ab5}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-black{color:var(--color-black)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-cygray-10{color:var(--color-cygray-10)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-900{color:var(--color-emerald-900)}.text-gray-50{color:var(--color-gray-50)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-600{color:var(--color-indigo-600)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-pink-700{color:var(--color-pink-700)}.text-primary-100{color:var(--color-primary-100)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_10px_25px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 10px 25px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow:0 20px 60px var(--tw-shadow-color,#0000004d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(hover:hover){.group-hover\:text-\[\#005c75\]:is(:where(.group):hover *){color:#005c75}.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}}.placeholder\:text-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}.first\:border-t:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\:rounded-b-lg:last-child{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:translate-x-1:hover{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-\[\#005c75\]:hover{border-color:#005c75}.hover\:border-\[\#777\]:hover{border-color:#777}.hover\:border-\[\#a07a2d\]:hover{border-color:#a07a2d}.hover\:border-amber-600:hover{border-color:var(--color-amber-600)}.hover\:border-blue-600:hover{border-color:var(--color-blue-600)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:border-indigo-400:hover{border-color:var(--color-indigo-400)}.hover\:border-indigo-500:hover{border-color:var(--color-indigo-500)}.hover\:bg-\[\#3a3a3a\]:hover{background-color:#3a3a3a}.hover\:bg-\[\#004a5c\]:hover{background-color:#004a5c}.hover\:bg-\[\#004a5e\]:hover{background-color:#004a5e}.hover\:bg-\[\#4a4a4a\]:hover{background-color:#4a4a4a}.hover\:bg-\[\#333\]:hover{background-color:#333}.hover\:bg-\[\#232323\]:hover{background-color:#232323}.hover\:bg-\[\#cbf3fa\]:hover{background-color:#cbf3fa}.hover\:bg-\[\#d0dde1\]:hover{background-color:#d0dde1}.hover\:bg-\[\#d0dfe4\]:hover{background-color:#d0dfe4}.hover\:bg-\[\#d4d4d4\]:hover{background-color:#d4d4d4}.hover\:bg-\[\#d8d8d8\]:hover{background-color:#d8d8d8}.hover\:bg-\[\#e1e1e1\]:hover{background-color:#e1e1e1}.hover\:bg-\[\#edf2f7\]:hover{background-color:#edf2f7}.hover\:bg-black\/10:hover{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/10:hover{background-color:color-mix(in oklab,var(--color-black)10%,transparent)}}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-purple-700\/95:hover{background-color:#8200daf2}@supports (color:color-mix(in lab,red,red)){.hover\:bg-purple-700\/95:hover{background-color:color-mix(in oklab,var(--color-purple-700)95%,transparent)}}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-\[\#004a5e\]:hover{color:#004a5e}.hover\:text-\[\#232323\]:hover{color:#232323}.hover\:text-\[\#626262\]:hover{color:#626262}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-cyblack-100:hover{color:var(--color-cyblack-100)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-indigo-700:hover{color:var(--color-indigo-700)}.hover\:text-purple-800:hover{color:var(--color-purple-800)}.hover\:text-red-800:hover{color:var(--color-red-800)}.hover\:text-red-900:hover{color:var(--color-red-900)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-2:focus{border-style:var(--tw-border-style);border-width:2px}.focus\:border-\[\#005c75\]:focus{border-color:#005c75}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-blue-600:focus{border-color:var(--color-blue-600)}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#005c75\]:focus{--tw-ring-color:#005c75}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-blue-600:focus{--tw-ring-color:var(--color-blue-600)}.focus\:ring-blue-600\/10:focus{--tw-ring-color:#155dfc1a}@supports (color:color-mix(in lab,red,red)){.focus\:ring-blue-600\/10:focus{--tw-ring-color:color-mix(in oklab,var(--color-blue-600)10%,transparent)}}.focus\:ring-gray-300:focus{--tw-ring-color:var(--color-gray-300)}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\:translate-y-0:disabled{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.disabled\:scale-100:disabled{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:bg-gray-300:disabled{background-color:var(--color-gray-300)}.disabled\:bg-gray-400:disabled{background-color:var(--color-gray-400)}.disabled\:bg-red-400:disabled{background-color:var(--color-red-400)}.disabled\:text-gray-600:disabled{color:var(--color-gray-600)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-75:disabled{opacity:.75}@media(min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}}@media(min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}