circuschief 0.8.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/package.json +1 -1
  2. package/packages/server/src/agents/AgentGateway.js +2 -0
  3. package/packages/server/src/agents/adapters/GeminiAdapter.js +105 -0
  4. package/packages/server/src/agents/adapters/cliUtils.js +15 -0
  5. package/packages/server/src/agents/adapters/codexCliRunner.js +1 -8
  6. package/packages/server/src/agents/adapters/geminiCliRunner.js +183 -0
  7. package/packages/server/src/agents/adapters/geminiEventMapper.js +195 -0
  8. package/packages/server/src/api/commandButtons.js +16 -15
  9. package/packages/server/src/api/projects-commandButtons.js +6 -6
  10. package/packages/server/src/api/projects-session-create.js +109 -0
  11. package/packages/server/src/api/projects-session-defaults.js +51 -0
  12. package/packages/server/src/api/projects-session-helpers.js +47 -1
  13. package/packages/server/src/api/projects-templates.js +38 -0
  14. package/packages/server/src/api/projects.js +28 -180
  15. package/packages/server/src/api/sessions-commands.js +21 -18
  16. package/packages/server/src/api/sessions-patch.js +41 -1
  17. package/packages/server/src/db/ProviderRepository.js +4 -2
  18. package/packages/server/src/db/SessionRepository.js +1 -1
  19. package/packages/server/src/db/SessionTemplateRepository.js +23 -2
  20. package/packages/server/src/db/migrations/canvasItemsMigrations.js +109 -0
  21. package/packages/server/src/db/migrations/conversationsMigrations.js +187 -0
  22. package/packages/server/src/db/migrations/index.js +234 -6
  23. package/packages/server/src/db/migrations/kanbanMigrations.js +99 -0
  24. package/packages/server/src/db/migrations/miscMigrations.js +244 -0
  25. package/packages/server/src/db/migrations/projectsMigrations.js +130 -0
  26. package/packages/server/src/db/migrations/providerCommitAttributionMigrations.js +30 -0
  27. package/packages/server/src/db/migrations/providerMigrations.js +250 -0
  28. package/packages/server/src/db/migrations/sessionTableRecreate.js +136 -0
  29. package/packages/server/src/db/migrations/sessionsMigrations.js +300 -0
  30. package/packages/server/src/db/seedBaselineData.js +23 -1
  31. package/packages/server/src/db/session-helpers.js +26 -1
  32. package/packages/server/src/schema.sql +5 -1
  33. package/packages/server/src/services/commandButtonPrompts.js +9 -7
  34. package/packages/server/src/services/e2eSpawnCapture.js +47 -6
  35. package/packages/server/src/services/geminiSpawnHelper.js +47 -0
  36. package/packages/server/src/services/gitCommitAttribution.js +38 -8
  37. package/packages/server/src/services/gitDiff.js +107 -0
  38. package/packages/server/src/services/gitRepoUrl.js +174 -0
  39. package/packages/server/src/services/gitService.js +43 -311
  40. package/packages/server/src/services/gitWorktree.js +127 -0
  41. package/packages/server/src/services/providerTestService.js +59 -1
  42. package/packages/server/src/services/queryParamBuilder.js +33 -1
  43. package/packages/server/src/services/sessionExecution.js +4 -0
  44. package/packages/server/src/services/sessionPrompts.js +23 -1
  45. package/packages/server/src/services/sessionProvider.js +41 -1
  46. package/packages/shared/src/constants.js +1 -1
  47. package/packages/shared/src/contracts/providers.js +1 -1
  48. package/packages/shared/src/contracts/sessions.js +27 -1
  49. package/packages/shared/src/contracts/templates.js +10 -0
  50. package/packages/shared/src/types.js +7 -0
  51. package/packages/web/dist/assets/{ActiveSessionsView-B0XHqLmv.js → ActiveSessionsView-EdNxmPmZ.js} +1 -1
  52. package/packages/web/dist/assets/{AgentLogsView-DmsjUMlB.js → AgentLogsView-C2wX0JPP.js} +2 -2
  53. package/packages/web/dist/assets/ApiClient-DfbJwzpz.js +1 -0
  54. package/packages/web/dist/assets/ArchiveConfirmModal-DJERn5XO.js +1 -0
  55. package/packages/web/dist/assets/CommandButtonDetailView-CBPI8-US.js +1 -0
  56. package/packages/web/dist/assets/CommandButtonDetailView-D9zjx9ME.css +1 -0
  57. package/packages/web/dist/assets/EffortLevelSelector-PaBpUveC.js +1 -0
  58. package/packages/web/dist/assets/{GeneralSettingsView-D1nI8_zk.js → GeneralSettingsView-Dw-x83R0.js} +1 -1
  59. package/packages/web/dist/assets/{InputWithButton-CAkttyqx.js → InputWithButton-CHHcpF4I.js} +1 -1
  60. package/packages/web/dist/assets/{InterpolationHelp-BO1j9Z3_.js → InterpolationHelp-CLNPz8s8.js} +1 -1
  61. package/packages/web/dist/assets/MarkdownEditor-DYi1igfT.js +2 -0
  62. package/packages/web/dist/assets/ModelSelector-Cko_yTO5.js +1 -0
  63. package/packages/web/dist/assets/{ModelSelector-BSxKUSus.css → ModelSelector-Dtwe5xLH.css} +1 -1
  64. package/packages/web/dist/assets/{NewSessionView-BDPb-1qr.css → NewSessionView-DBl7T2Xp.css} +1 -1
  65. package/packages/web/dist/assets/NewSessionView-DwUfBg70.js +3 -0
  66. package/packages/web/dist/assets/ProjectEditView-CSbsea3U.js +1 -0
  67. package/packages/web/dist/assets/ProjectEditView-DbqTbA0q.css +1 -0
  68. package/packages/web/dist/assets/{ProjectListView-DcNyuINs.js → ProjectListView-CEc_LWZL.js} +1 -1
  69. package/packages/web/dist/assets/{ProjectNewView-B5YV62hv.js → ProjectNewView-D4U0uRlp.js} +1 -1
  70. package/packages/web/dist/assets/ProvidersView-2KCOiY6Q.css +1 -0
  71. package/packages/web/dist/assets/ProvidersView-CD1j8BOv.js +1 -0
  72. package/packages/web/dist/assets/QuickResponsesPanel-Dp39f12o.js +1 -0
  73. package/packages/web/dist/assets/QuickResponsesPanel-dk-Rj8xx.css +1 -0
  74. package/packages/web/dist/assets/ResizableTextarea-BWywIqOv.js +1 -0
  75. package/packages/web/dist/assets/ResizableTextarea-DERSH3Wz.css +1 -0
  76. package/packages/web/dist/assets/SessionCard-B6d5ijDW.js +1 -0
  77. package/packages/web/dist/assets/SessionDetailView-DWbXdx7A.js +36 -0
  78. package/packages/web/dist/assets/SessionDetailView-ULeIkWS0.css +1 -0
  79. package/packages/web/dist/assets/{SessionFormOptions-B6AxyREh.js → SessionFormOptions-Dz9ik4Fo.js} +1 -1
  80. package/packages/web/dist/assets/{SessionListView-B5_6gW49.css → SessionListView-3-xx6EVs.css} +1 -1
  81. package/packages/web/dist/assets/SessionListView-C129buBe.js +1 -0
  82. package/packages/web/dist/assets/{SessionLogStream-LlZ3z_Xj.js → SessionLogStream-BvXUNNBZ.js} +6 -6
  83. package/packages/web/dist/assets/{SettingsView-CTGiGvR2.js → SettingsView-DW1NvpX_.js} +1 -1
  84. package/packages/web/dist/assets/SlashCommandWizard-DleYBxrE.js +1 -0
  85. package/packages/web/dist/assets/{SummarySettingsView-BR2ZjEa3.js → SummarySettingsView-CLUfcWvf.js} +1 -1
  86. package/packages/web/dist/assets/TemplateDetailView-B5NI2oTR.css +1 -0
  87. package/packages/web/dist/assets/TemplateDetailView-Cukb205e.js +1 -0
  88. package/packages/web/dist/assets/{commandButtons-BfqR-fqq.js → commandButtons-DejH0rVN.js} +1 -1
  89. package/packages/web/dist/assets/index-BD7Y3rBE.js +3 -0
  90. package/packages/web/dist/assets/{index-BY174HVJ.css → index-Bd20AzX1.css} +1 -1
  91. package/packages/web/dist/assets/index-BgJiarKe.js +1 -0
  92. package/packages/web/dist/assets/index-Bk32fSSG.js +1 -0
  93. package/packages/web/dist/assets/index-BkA6pF2Z.js +1 -0
  94. package/packages/web/dist/assets/index-Cltr-Ldt.js +7 -0
  95. package/packages/web/dist/assets/index-Co-46Tp3.js +1 -0
  96. package/packages/web/dist/assets/index-Cpykk857.js +1 -0
  97. package/packages/web/dist/assets/index-CtABl0D1.js +1 -0
  98. package/packages/web/dist/assets/index-Cuqk5m9S.js +1 -0
  99. package/packages/web/dist/assets/{index-fK8FIZgP.js → index-CvXApbVC.js} +15 -15
  100. package/packages/web/dist/assets/index-D2gN-xEH.js +1 -0
  101. package/packages/web/dist/assets/index-Dd3WpmyQ.js +1 -0
  102. package/packages/web/dist/assets/index-Dk6--9rj.js +1 -0
  103. package/packages/web/dist/assets/{index-DgkC10TW.js → index-MZf7MlPX.js} +3 -3
  104. package/packages/web/dist/assets/{index-DtfUt785.js → index-NShCcwfj.js} +1 -1
  105. package/packages/web/dist/assets/index-hA3VEuSq.js +1 -0
  106. package/packages/web/dist/assets/index-p0mp3nca.js +1 -0
  107. package/packages/web/dist/assets/index-qntNa5r_.js +1 -0
  108. package/packages/web/dist/assets/index-qq9ceNSK.js +1 -0
  109. package/packages/web/dist/assets/projectDefaults-D9xkp2XR.js +1 -0
  110. package/packages/web/dist/assets/{projects-DXYQNJIi.js → projects-BvLADGKx.js} +1 -1
  111. package/packages/web/dist/assets/{providers-1bnH-exJ.js → providers-DZ-fOa4G.js} +1 -1
  112. package/packages/web/dist/assets/{sessions-6zGUlFrt.js → sessions-DETEyjPI.js} +1 -1
  113. package/packages/web/dist/assets/{settings-MbfRir0d.js → settings-TWfbahn5.js} +1 -1
  114. package/packages/web/dist/index.html +2 -2
  115. package/packages/web/dist/assets/ApiClient-C3ztI9s9.js +0 -1
  116. package/packages/web/dist/assets/ArchiveConfirmModal-BlCyn5Vt.js +0 -1
  117. package/packages/web/dist/assets/CommandButtonDetailView-CdSCPp78.js +0 -1
  118. package/packages/web/dist/assets/CommandButtonDetailView-DBm3rzhw.css +0 -1
  119. package/packages/web/dist/assets/EffortLevelSelector-hc2MNKg6.js +0 -1
  120. package/packages/web/dist/assets/MarkdownEditor-ucRAP_UM.js +0 -2
  121. package/packages/web/dist/assets/ModelSelector-CwTz8ZWO.js +0 -1
  122. package/packages/web/dist/assets/NewSessionView-BsDrp8mj.js +0 -3
  123. package/packages/web/dist/assets/ProjectEditView-CwTOeSun.js +0 -1
  124. package/packages/web/dist/assets/ProjectEditView-J15mcsWz.css +0 -1
  125. package/packages/web/dist/assets/ProvidersView-bZemq_Rv.css +0 -1
  126. package/packages/web/dist/assets/ProvidersView-nY9GnDdO.js +0 -1
  127. package/packages/web/dist/assets/QuickResponseSettings-B352c75l.css +0 -1
  128. package/packages/web/dist/assets/QuickResponseSettings-BQwQXuL7.js +0 -1
  129. package/packages/web/dist/assets/QuickResponsesPanel-BlFDvnZ2.css +0 -1
  130. package/packages/web/dist/assets/QuickResponsesPanel-BzSYcCSP.js +0 -1
  131. package/packages/web/dist/assets/ResizableTextarea-B3YIdIXv.js +0 -1
  132. package/packages/web/dist/assets/ResizableTextarea-DsU3TVwF.css +0 -1
  133. package/packages/web/dist/assets/SessionCard-CjE1tXiT.js +0 -1
  134. package/packages/web/dist/assets/SessionDetailView-3cPZrbS3.js +0 -36
  135. package/packages/web/dist/assets/SessionDetailView-CZRZMrfM.css +0 -1
  136. package/packages/web/dist/assets/SessionListView-CLXBfLcq.js +0 -1
  137. package/packages/web/dist/assets/SlashCommandWizard-Cy04d7-o.js +0 -1
  138. package/packages/web/dist/assets/TemplateDetailView-DH6Oswsp.js +0 -1
  139. package/packages/web/dist/assets/TemplateDetailView-DT2m06W7.css +0 -1
  140. package/packages/web/dist/assets/index-1zziPL6l.js +0 -1
  141. package/packages/web/dist/assets/index-7kzHPxSF.js +0 -1
  142. package/packages/web/dist/assets/index-B0N_obMc.js +0 -1
  143. package/packages/web/dist/assets/index-BNk_gdfI.js +0 -1
  144. package/packages/web/dist/assets/index-CSqaAH-0.js +0 -1
  145. package/packages/web/dist/assets/index-C_q4WlK8.js +0 -1
  146. package/packages/web/dist/assets/index-D1wpU4y0.js +0 -7
  147. package/packages/web/dist/assets/index-D5zCA8sD.js +0 -1
  148. package/packages/web/dist/assets/index-DGR8ELWY.js +0 -1
  149. package/packages/web/dist/assets/index-DHga8pXo.js +0 -1
  150. package/packages/web/dist/assets/index-DSby02Wl.js +0 -1
  151. package/packages/web/dist/assets/index-DqjXJTVI.js +0 -1
  152. package/packages/web/dist/assets/index-_4S2uLDI.js +0 -1
  153. package/packages/web/dist/assets/index-gmiZeFXN.js +0 -1
  154. package/packages/web/dist/assets/index-irD539ZM.js +0 -3
  155. package/packages/web/dist/assets/index-yq-E1Y00.js +0 -1
@@ -1 +1 @@
1
- import{_ as f,a as u,c,b as t,d as n,w as i,f as r,E as d,F as S,r as y,x as h,g,h as k,s as w,t as x}from"./index-fK8FIZgP.js";const V={class:"container"},C={class:"tabs"},T={class:"tabs-desktop"},B={class:"tabs-mobile"},L=["value"],N=["value"],E={class:"tab-content"},F={__name:"SettingsView",setup(M){const v=w(),p=k(),m=[{id:"providers",label:"Model Providers",path:"/settings/providers"},{id:"summary",label:"Summary Settings",path:"/settings/summary"},{id:"general",label:"Settings",path:"/settings/general"},{id:"logs",label:"Logs",path:"/settings/logs"}],e=h(()=>{const a=v.path.split("/");return a[a.length-1]||"providers"});function _(a){p.push(`/settings/${a}`)}return(a,s)=>{const l=g("router-link"),b=g("router-view");return u(),c("div",V,[s[5]||(s[5]=t("h1",null,"Settings",-1)),t("div",C,[t("div",T,[n(l,{to:"/settings/providers",class:d(["tab",{active:e.value==="providers"}])},{default:i(()=>[...s[1]||(s[1]=[r(" Model Providers ",-1)])]),_:1},8,["class"]),n(l,{to:"/settings/summary",class:d(["tab",{active:e.value==="summary"}])},{default:i(()=>[...s[2]||(s[2]=[r(" Summary Settings ",-1)])]),_:1},8,["class"]),n(l,{to:"/settings/general",class:d(["tab",{active:e.value==="general"}])},{default:i(()=>[...s[3]||(s[3]=[r(" Settings ",-1)])]),_:1},8,["class"]),n(l,{to:"/settings/logs",class:d(["tab",{active:e.value==="logs"}])},{default:i(()=>[...s[4]||(s[4]=[r(" Logs ",-1)])]),_:1},8,["class"])]),t("div",B,[t("select",{value:e.value,class:"tab-select",onChange:s[0]||(s[0]=o=>_(o.target.value))},[(u(),c(S,null,y(m,o=>t("option",{key:o.id,value:o.id},x(o.label),9,N)),64))],40,L)])]),t("div",E,[n(b)])])}}},R=f(F,[["__scopeId","data-v-c1d27cca"]]);export{R as default};
1
+ import{_ as f,a as u,c,b as t,d as n,w as i,f as r,J as d,F as S,r as y,z as h,g,h as k,B as w,t as x}from"./index-CvXApbVC.js";const V={class:"container"},B={class:"tabs"},C={class:"tabs-desktop"},T={class:"tabs-mobile"},L=["value"],N=["value"],z={class:"tab-content"},F={__name:"SettingsView",setup(M){const v=w(),p=k(),m=[{id:"providers",label:"Model Providers",path:"/settings/providers"},{id:"summary",label:"Summary Settings",path:"/settings/summary"},{id:"general",label:"Settings",path:"/settings/general"},{id:"logs",label:"Logs",path:"/settings/logs"}],e=h(()=>{const a=v.path.split("/");return a[a.length-1]||"providers"});function _(a){p.push(`/settings/${a}`)}return(a,s)=>{const l=g("router-link"),b=g("router-view");return u(),c("div",V,[s[5]||(s[5]=t("h1",null,"Settings",-1)),t("div",B,[t("div",C,[n(l,{to:"/settings/providers",class:d(["tab",{active:e.value==="providers"}])},{default:i(()=>[...s[1]||(s[1]=[r(" Model Providers ",-1)])]),_:1},8,["class"]),n(l,{to:"/settings/summary",class:d(["tab",{active:e.value==="summary"}])},{default:i(()=>[...s[2]||(s[2]=[r(" Summary Settings ",-1)])]),_:1},8,["class"]),n(l,{to:"/settings/general",class:d(["tab",{active:e.value==="general"}])},{default:i(()=>[...s[3]||(s[3]=[r(" Settings ",-1)])]),_:1},8,["class"]),n(l,{to:"/settings/logs",class:d(["tab",{active:e.value==="logs"}])},{default:i(()=>[...s[4]||(s[4]=[r(" Logs ",-1)])]),_:1},8,["class"])]),t("div",T,[t("select",{value:e.value,class:"tab-select",onChange:s[0]||(s[0]=o=>_(o.target.value))},[(u(),c(S,null,y(m,o=>t("option",{key:o.id,value:o.id},x(o.label),9,N)),64))],40,L)])]),t("div",z,[n(b)])])}}},R=f(F,[["__scopeId","data-v-c1d27cca"]]);export{R as default};
@@ -0,0 +1 @@
1
+ import{b as ae,C as X,D as oe,O as le,G as ie}from"./EffortLevelSelector-PaBpUveC.js";import{_ as A,k as Z,n as D,l as K,a as o,c as i,b as l,F as B,r as N,t as m,z as _,U as re,p as ce,o as ee,A as de,m as O,v as T,L as G,i as k,f as q,j as W,q as ue,x as E,d as me,w as fe,u as R,O as he,T as pe}from"./index-CvXApbVC.js";import{u as te}from"./providers-DZ-fOa4G.js";import{a as F}from"./ApiClient-DfbJwzpz.js";const ge={class:"mode-selector"},ve=["value","disabled"],ye=["value"],_e={__name:"ModeSelector",props:{sessionId:{type:String,default:null},modelValue:{type:String,default:null},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const s=e,c=t,a=ae(),u=Z(),d=D(!1),p=[{value:"plan",label:"Plan",description:"Agent plans before implementing"},{value:"standard",label:"Standard",description:"Balanced approach"},{value:"yolo",label:"YOLO",description:"Auto-approve mode"}],b=_(()=>{var h;return s.sessionId?(h=a.currentSession)==null?void 0:h.mode:s.modelValue}),C=D(b.value),g=re(s,"modelValue");K([b,g],([h])=>{C.value=h},{flush:"sync"});async function r(h){if(!d.value&&C.value!==h)if(C.value=h,s.sessionId){d.value=!0;try{await a.updateSessionMode(s.sessionId,h)}catch(S){C.value=b.value,u.error(S.message)}finally{d.value=!1}}else c("update:modelValue",h)}return(h,S)=>(o(),i("div",ge,[l("select",{id:"mode-select",value:C.value,disabled:e.disabled||d.value,class:"mode-select",onChange:S[0]||(S[0]=w=>r(w.target.value))},[(o(),i(B,null,N(p,w=>l("option",{key:w.value,value:w.value},m(w.label),9,ye)),64))],40,ve)]))}},Rt=A(_e,[["__scopeId","data-v-224ea1e6"]]),ne=Object.freeze({streaming:!1,thinking:!1,reasoningEffort:!1,toolUse:!1,resume:!1}),I={byAgentType:new Map,fetchPromise:null,fetched:!1};async function Q(){return I.fetched?I.byAgentType:(I.fetchPromise||(I.fetchPromise=(async()=>{try{const e=await F.getAgents();for(const t of e||[])t&&t.agentType&&I.byAgentType.set(t.agentType,t.capabilities||ne)}catch{}finally{I.fetched=!0,I.fetchPromise=null}return I.byAgentType})()),I.fetchPromise)}function ke(e){return I.byAgentType.get(e)||{...ne}}function se(e){return(e==null?void 0:e.kind)==="openai"?"codex":(e==null?void 0:e.kind)==="google"?"gemini":"claude-code"}function J(e,t){return(t==null?void 0:t.kind)==="openai"?le.find(s=>s.id===e)||null:(t==null?void 0:t.kind)==="google"?ie.find(s=>s.id===e)||null:(!t||se(t)==="claude-code")&&X.find(s=>s.id===e)||null}function H(e){try{const s=te().allModels.filter(c=>c.modelId===e);return s.length<=1?s[0]||null:s.sort((c,a)=>{const u=z(c.providerId),d=z(a.providerId);return(u==null?void 0:u.isBuiltIn)!==(d==null?void 0:d.isBuiltIn)?u!=null&&u.isBuiltIn?1:-1:((u==null?void 0:u.name)||"").localeCompare((d==null?void 0:d.name)||"")})[0]||null}catch{return null}}function z(e){try{return te().getById(e)||null}catch{return null}}function Y(e){if(!e)return"Unknown";let t=e.replace(/^(.*\/)?models\//,"");return t=t.replace(/^accounts\/[^/]+\/models\//,""),t=t.replace(/-\d{8}$/,""),t=t.replace(/[-_]/g," "),t=t.split(" ").map(s=>s.charAt(0).toUpperCase()+s.slice(1).toLowerCase()).join(" "),t||"Unknown"}function Qt(){function e(c){if(!c)return"Default";const a=H(c),u=a?z(a.providerId):null,d=J(c,u);return d?d.name:a!=null&&a.displayName?a.displayName:Y(c)}function t(c){if(!c){const p=X.find(b=>b.id===oe);return p?p.description:""}const a=H(c),u=a?z(a.providerId):null,d=J(c,u);return d?d.description:a!=null&&a.description?a.description:c}function s(c){Q();const a=H(c),u=a?z(a.providerId):null,d=u?se(u):"claude-code";return{name:e(c),description:t(c),providerId:(a==null?void 0:a.providerId)||null,providerName:(a==null?void 0:a.providerName)||(u==null?void 0:u.name)||null,agentType:d,capabilities:ke(d)}}return{getModelDisplayName:e,getModelDescription:t,getModelInfo:s,formatModelId:Y,fetchAgentCapabilities:Q}}const Ce={__name:"SlashCommandButton",emits:["open"],setup(e,{emit:t}){const s=t;return(c,a)=>(o(),i("button",{type:"button",class:"slash-command-btn",title:"Slash Commands","data-testid":"slash-command-button",onClick:a[0]||(a[0]=u=>s("open"))},[...a[1]||(a[1]=[l("span",{class:"slash-icon"},"/",-1),l("span",{class:"slash-text"},"Commands",-1)])]))}},Jt=A(Ce,[["__scopeId","data-v-63f59216"]]),be=ce("slashCommands",{state:()=>({commands:[],loading:!1,error:null,lastFetchedDirectory:null,executing:!1}),getters:{builtinCommands:e=>e.commands.filter(t=>t.source==="builtin"),projectCommands:e=>e.commands.filter(t=>t.source==="project"),userCommands:e=>e.commands.filter(t=>t.source==="user"),pluginCommands:e=>e.commands.filter(t=>t.source==="plugin"),customCommands:e=>e.commands.filter(t=>t.source!=="builtin"),projectSkills:e=>e.commands.filter(t=>t.source==="project-skill"),userSkills:e=>e.commands.filter(t=>t.source==="user-skill"),pluginSkills:e=>e.commands.filter(t=>t.source==="plugin-skill"),allSkills:e=>e.commands.filter(t=>t.isSkill===!0),hasSkills:e=>e.commands.some(t=>t.isSkill===!0),allProjectItems:e=>e.commands.filter(t=>t.source==="project"||t.source==="project-skill"),allUserItems:e=>e.commands.filter(t=>t.source==="user"||t.source==="user-skill"),hasCommands:e=>e.commands.length>0,hasCustomCommands:e=>e.commands.some(t=>t.source==="project"||t.source==="user")},actions:{async fetchCommandsFromSession(e){this.loading=!0,this.error=null;try{const t=await F.getSession(e),s=t.slashCommands?JSON.parse(t.slashCommands):[];return this.commands=s,s}catch(t){throw this.error=t.message,t}finally{this.loading=!1}},async fetchCommands(e,t=!1){if(!t&&this.lastFetchedDirectory===e&&this.commands.length>0)return this.commands;this.loading=!0,this.error=null;try{const s=await F.getSlashCommands(e);return this.commands=s,this.lastFetchedDirectory=e,s}catch(s){throw this.error=s.message,s}finally{this.loading=!1}},async executeCommand(e,t,s={}){this.executing=!0,this.error=null;try{return await F.executeSlashCommand(e,t,s)}catch(c){throw this.error=c.message,c}finally{this.executing=!1}},getCommandByName(e){return this.commands.find(t=>t.name===e)||null},searchCommands(e){if(!e||!e.trim())return this.commands;const t=e.toLowerCase();return this.commands.filter(s=>s.name.toLowerCase().includes(t)||s.description&&s.description.toLowerCase().includes(t))},clearCommands(){this.commands=[],this.lastFetchedDirectory=null,this.error=null}}}),Se={class:"command-grid"},$e={class:"search-box"},we={key:0,class:"loading-state"},xe={key:1,class:"error-state"},Ie={key:2,class:"empty-state"},Be={key:0},Ne={key:1},De={key:3,class:"command-sections"},je={key:0,class:"command-section"},Me={class:"command-cards"},Pe=["data-testid","onClick"],Ue={class:"command-name"},Le={class:"command-description"},Ve={key:1,class:"command-section"},Oe={class:"command-cards"},ze=["data-testid","onClick"],Ae={class:"command-name"},Te={class:"command-description"},Fe={key:0,class:"command-args-badge"},qe={key:2,class:"command-section"},Ee={class:"command-cards"},He=["data-testid","onClick"],We={class:"command-name"},Ke={class:"command-description"},Ge={key:0,class:"command-args-badge"},Re={key:3,class:"command-section"},Qe={class:"command-cards"},Je=["data-testid","onClick"],Ye={class:"command-name"},Xe={class:"command-description"},Ze={key:0,class:"command-args-badge"},et={key:4,class:"command-section"},tt={class:"command-cards"},nt=["data-testid","onClick"],st={class:"command-name"},at={class:"command-description"},ot={key:0,class:"command-args-badge"},lt={key:5,class:"command-section"},it={class:"command-cards"},rt=["data-testid","onClick"],ct={class:"command-name"},dt={class:"command-description"},ut={key:0,class:"command-args-badge"},mt={key:6,class:"command-section"},ft={class:"command-cards"},ht=["data-testid","onClick"],pt={class:"command-name"},gt={class:"command-description"},vt={key:0,class:"command-args-badge"},yt={__name:"CommandGrid",props:{commands:{type:Array,required:!0},loading:{type:Boolean,default:!1},error:{type:String,default:null},hideBuiltin:{type:Boolean,default:!1}},emits:["select","close"],setup(e,{emit:t}){const s=e,c=t,a=D(""),u=D(null),d=_(()=>s.commands.filter(v=>v.source==="builtin")),p=_(()=>s.commands.filter(v=>v.source==="project")),b=_(()=>s.commands.filter(v=>v.source==="user")),C=_(()=>s.commands.filter(v=>v.source==="plugin")),g=_(()=>s.commands.filter(v=>v.source==="project-skill")),r=_(()=>s.commands.filter(v=>v.source==="user-skill")),h=_(()=>s.commands.filter(v=>v.source==="plugin-skill"));function S(v){if(!a.value.trim())return v;const f=a.value.toLowerCase();return v.filter(n=>n.name.toLowerCase().includes(f)||n.description&&n.description.toLowerCase().includes(f))}const w=_(()=>S(d.value)),V=_(()=>S(p.value)),y=_(()=>S(b.value)),$=_(()=>S(C.value)),x=_(()=>S(g.value)),j=_(()=>S(r.value)),M=_(()=>S(h.value)),P=_(()=>[...w.value,...V.value,...y.value,...$.value,...x.value,...j.value,...M.value]);function U(v){c("select",v)}return ee(()=>{de(()=>{var v;(v=u.value)==null||v.focus()})}),(v,f)=>(o(),i("div",Se,[l("div",$e,[O(l("input",{ref_key:"searchInput",ref:u,"onUpdate:modelValue":f[0]||(f[0]=n=>a.value=n),type:"text",placeholder:"Search commands...",class:"search-input","data-testid":"command-search",onKeydown:f[1]||(f[1]=G(n=>c("close"),["escape"]))},null,544),[[T,a.value]])]),e.loading?(o(),i("div",we,[...f[2]||(f[2]=[l("span",{class:"loading-spinner"},null,-1),l("span",null,"Loading commands...",-1)])])):e.error?(o(),i("div",xe,[f[3]||(f[3]=l("span",{class:"error-icon"},"⚠️",-1)),l("span",null,m(e.error),1)])):P.value.length===0?(o(),i("div",Ie,[a.value?(o(),i("span",Be,'No commands match "'+m(a.value)+'"',1)):(o(),i("span",Ne,"No slash commands available"))])):(o(),i("div",De,[w.value.length>0&&!e.hideBuiltin?(o(),i("div",je,[f[4]||(f[4]=l("h3",{class:"section-title"}," Built-in Commands ",-1)),l("div",Me,[(o(!0),i(B,null,N(w.value,n=>(o(),i("button",{key:n.name,type:"button",class:"command-card","data-testid":`command-${n.name}`,onClick:L=>U(n)},[l("span",Ue,"/"+m(n.name),1),l("span",Le,m(n.description||"No description"),1)],8,Pe))),128))])])):k("",!0),V.value.length>0?(o(),i("div",Ve,[f[5]||(f[5]=l("h3",{class:"section-title"}," Project Commands ",-1)),l("div",Oe,[(o(!0),i(B,null,N(V.value,n=>(o(),i("button",{key:n.name,type:"button",class:"command-card","data-testid":`command-${n.name}`,onClick:L=>U(n)},[l("span",Ae,"/"+m(n.name),1),l("span",Te,m(n.description||"No description"),1),n.arguments.length>0?(o(),i("span",Fe,m(n.arguments.length)+" arg"+m(n.arguments.length>1?"s":""),1)):k("",!0)],8,ze))),128))])])):k("",!0),y.value.length>0?(o(),i("div",qe,[f[6]||(f[6]=l("h3",{class:"section-title"}," User Commands ",-1)),l("div",Ee,[(o(!0),i(B,null,N(y.value,n=>(o(),i("button",{key:n.name,type:"button",class:"command-card","data-testid":`command-${n.name}`,onClick:L=>U(n)},[l("span",We,"/"+m(n.name),1),l("span",Ke,m(n.description||"No description"),1),n.arguments.length>0?(o(),i("span",Ge,m(n.arguments.length)+" arg"+m(n.arguments.length>1?"s":""),1)):k("",!0)],8,He))),128))])])):k("",!0),$.value.length>0?(o(),i("div",Re,[f[7]||(f[7]=l("h3",{class:"section-title"}," Plugin Commands ",-1)),l("div",Qe,[(o(!0),i(B,null,N($.value,n=>(o(),i("button",{key:n.name,type:"button",class:"command-card","data-testid":`command-${n.name}`,onClick:L=>U(n)},[l("span",Ye,"/"+m(n.name),1),l("span",Xe,m(n.description||"No description"),1),n.arguments.length>0?(o(),i("span",Ze,m(n.arguments.length)+" arg"+m(n.arguments.length>1?"s":""),1)):k("",!0)],8,Je))),128))])])):k("",!0),x.value.length>0?(o(),i("div",et,[f[8]||(f[8]=l("h3",{class:"section-title"}," Project Skills ",-1)),l("div",tt,[(o(!0),i(B,null,N(x.value,n=>(o(),i("button",{key:n.name,type:"button",class:"command-card","data-testid":`skill-${n.name}`,onClick:L=>U(n)},[l("span",st,"/"+m(n.name),1),l("span",at,m(n.description||"No description"),1),n.argumentHint?(o(),i("span",ot,m(n.argumentHint),1)):k("",!0)],8,nt))),128))])])):k("",!0),j.value.length>0?(o(),i("div",lt,[f[9]||(f[9]=l("h3",{class:"section-title"}," User Skills ",-1)),l("div",it,[(o(!0),i(B,null,N(j.value,n=>(o(),i("button",{key:n.name,type:"button",class:"command-card","data-testid":`skill-${n.name}`,onClick:L=>U(n)},[l("span",ct,"/"+m(n.name),1),l("span",dt,m(n.description||"No description"),1),n.argumentHint?(o(),i("span",ut,m(n.argumentHint),1)):k("",!0)],8,rt))),128))])])):k("",!0),M.value.length>0?(o(),i("div",mt,[f[10]||(f[10]=l("h3",{class:"section-title"}," Plugin Skills ",-1)),l("div",ft,[(o(!0),i(B,null,N(M.value,n=>(o(),i("button",{key:n.name,type:"button",class:"command-card","data-testid":`skill-${n.name}`,onClick:L=>U(n)},[l("span",pt,"/"+m(n.name),1),l("span",gt,m(n.description||"No description"),1),n.argumentHint?(o(),i("span",vt,m(n.argumentHint),1)):k("",!0)],8,ht))),128))])])):k("",!0)]))]))}},_t=A(yt,[["__scopeId","data-v-8ec2a6ee"]]),kt={class:"arguments-form"},Ct={class:"form-header"},bt={class:"command-title"},St={key:0,class:"command-description"},$t={key:0,class:"form-field"},wt={for:"skill-args",class:"field-label"},xt={key:0,class:"hint"},It=["placeholder","onKeydown"],Bt=["for"],Nt={key:0,class:"required-indicator"},Dt=["id","onUpdate:modelValue","required","data-testid"],jt=["value"],Mt=["id","onUpdate:modelValue","required","placeholder","data-testid"],Pt=["id","onUpdate:modelValue","required","placeholder","data-testid"],Ut={class:"form-actions"},Lt=["disabled"],Vt={key:0,class:"loading-spinner"},Ot={__name:"ArgumentsForm",props:{command:{type:Object,required:!0},executing:{type:Boolean,default:!1},executeLabel:{type:String,default:"Execute Command"}},emits:["back","submit"],setup(e,{emit:t}){const s=e,c=t,a=D({}),u=D("");function d(){const C={};for(const g of s.command.arguments||[])C[g.name]=g.default!==void 0?g.default:"";a.value=C}ee(()=>{d()}),K(()=>s.command,()=>{d()});const p=_(()=>{if(s.command.isSkill)return!0;for(const C of s.command.arguments||[])if(C.required){const g=a.value[C.name];if(g==null||g==="")return!1}return!0});function b(){if(!(!p.value||s.executing)){if(s.command.isSkill){c("submit",{_raw:u.value});return}c("submit",a.value)}}return(C,g)=>(o(),i("div",kt,[l("div",Ct,[l("h3",bt," /"+m(e.command.name),1),e.command.description?(o(),i("p",St,m(e.command.description),1)):k("",!0)]),l("form",{class:"form-fields",onSubmit:W(b,["prevent"])},[e.command.isSkill?(o(),i("div",$t,[l("label",wt,[g[2]||(g[2]=q(" Arguments ",-1)),e.command.argumentHint?(o(),i("span",xt,m(e.command.argumentHint),1)):k("",!0)]),O(l("input",{id:"skill-args","onUpdate:modelValue":g[0]||(g[0]=r=>u.value=r),type:"text",placeholder:e.command.argumentHint||"Enter arguments...",class:"field-input","data-testid":"skill-args-input",onKeydown:G(W(b,["prevent"]),["enter"])},null,40,It),[[T,u.value]])])):(o(!0),i(B,{key:1},N(e.command.arguments,r=>(o(),i("div",{key:r.name,class:"form-field"},[l("label",{for:`arg-${r.name}`,class:"field-label"},[q(m(r.label)+" ",1),r.required?(o(),i("span",Nt,"*")):k("",!0)],8,Bt),r.type==="select"?O((o(),i("select",{key:0,id:`arg-${r.name}`,"onUpdate:modelValue":h=>a.value[r.name]=h,required:r.required,class:"field-select","data-testid":`arg-${r.name}`},[g[3]||(g[3]=l("option",{value:"",disabled:""}," Select an option... ",-1)),(o(!0),i(B,null,N(r.options||[],h=>(o(),i("option",{key:h.value,value:h.value},m(h.label),9,jt))),128))],8,Dt)),[[ue,a.value[r.name]]]):r.type==="multiline"?O((o(),i("textarea",{key:1,id:`arg-${r.name}`,"onUpdate:modelValue":h=>a.value[r.name]=h,required:r.required,placeholder:r.placeholder||"",class:"field-textarea",rows:"4","data-testid":`arg-${r.name}`},null,8,Mt)),[[T,a.value[r.name]]]):O((o(),i("input",{key:2,id:`arg-${r.name}`,"onUpdate:modelValue":h=>a.value[r.name]=h,type:"text",required:r.required,placeholder:r.placeholder||"",class:"field-input","data-testid":`arg-${r.name}`},null,8,Pt)),[[T,a.value[r.name]]])]))),128)),l("div",Ut,[l("button",{type:"button",class:"btn btn-secondary",onClick:g[1]||(g[1]=r=>c("back"))}," Back "),l("button",{type:"submit",class:"btn btn-primary",disabled:!p.value||e.executing,"data-testid":"execute-command-btn"},[e.executing?(o(),i("span",Vt)):k("",!0),q(" "+m(e.executeLabel),1)],8,Lt)])],32)]))}},zt=A(Ot,[["__scopeId","data-v-aaa3cc39"]]),At={class:"wizard-modal",role:"dialog","aria-labelledby":"wizard-title"},Tt={class:"wizard-header"},Ft={id:"wizard-title",class:"wizard-title"},qt={class:"wizard-content"},Et={__name:"SlashCommandWizard",props:{isOpen:{type:Boolean,required:!0},sessionId:{type:String,default:null},workingDirectory:{type:String,default:null},hideBuiltin:{type:Boolean,default:!1},mode:{type:String,default:"execute",validator:e=>["execute","insert"].includes(e)}},emits:["update:isOpen","executed","insert"],setup(e,{emit:t}){const s=e,c=t,a=be(),u=Z(),d=D(1),p=D(null),b=D(!1),C=_(()=>s.hideBuiltin?a.customCommands:a.commands),g=_(()=>s.mode==="insert"?"Insert Command":"Execute Command");K(()=>s.isOpen,async y=>{if(y){d.value=1,p.value=null,console.log("[SlashCommandWizard] Opening wizard, workingDirectory:",s.workingDirectory);try{s.workingDirectory?(await a.fetchCommands(s.workingDirectory),console.log("[SlashCommandWizard] Fetched commands:",a.commands.length,"commands")):console.warn("[SlashCommandWizard] No workingDirectory provided, skipping command fetch")}catch($){console.error("[SlashCommandWizard] Failed to fetch commands:",$)}}});function r(){c("update:isOpen",!1),d.value=1,p.value=null}function h(y){if(p.value=y,y.isSkill){d.value=2;return}!y.arguments||y.arguments.length===0?w({}):d.value=2}function S(){d.value=1,p.value=null}async function w(y){if(p.value){if(s.mode==="insert"){const $=V(p.value,y);c("insert",{command:p.value,args:y,text:$}),r();return}if(!s.sessionId){u.error("No session available to execute command");return}b.value=!0;try{await a.executeCommand(s.sessionId,p.value.name,y),c("executed",{command:p.value,args:y}),u.success(`Command /${p.value.name} executed`),r()}catch($){u.error(`Failed to execute command: ${$.message}`)}finally{b.value=!1}}}function V(y,$){let x=`/${y.name}`;if(y.isSkill){const M=$._raw||"";return M&&(x+=` ${M}`),x}const j=[];for(const M of y.arguments||[]){const P=$[M.name];P!==void 0&&P!==""&&(typeof P=="string"&&P.includes(" ")?j.push(`"${P}"`):j.push(String(P)))}return j.length>0&&(x+=` ${j.join(" ")}`),x}return(y,$)=>(o(),E(pe,{to:"body"},[me(he,{name:"modal"},{default:fe(()=>{var x;return[e.isOpen?(o(),i("div",{key:0,class:"wizard-overlay","data-testid":"slash-command-wizard",onClick:W(r,["self"]),onKeydown:G(r,["escape"])},[l("div",At,[l("header",Tt,[l("h2",Ft,m(d.value===1?"Slash Commands":`Configure /${(x=p.value)==null?void 0:x.name}`),1),l("button",{type:"button",class:"close-btn","aria-label":"Close wizard",onClick:r}," × ")]),l("div",qt,[d.value===1?(o(),E(_t,{key:0,commands:C.value,loading:R(a).loading,error:R(a).error,"hide-builtin":e.hideBuiltin,onSelect:h,onClose:r},null,8,["commands","loading","error","hide-builtin"])):d.value===2&&p.value?(o(),E(zt,{key:1,command:p.value,executing:b.value,"execute-label":g.value,onBack:S,onSubmit:w},null,8,["command","executing","execute-label"])):k("",!0)])])],32)):k("",!0)]}),_:1})]))}},Yt=A(Et,[["__scopeId","data-v-0f2f2245"]]);export{Rt as M,Jt as S,Yt as a,Qt as u};
@@ -1 +1 @@
1
- import{_ as V,k,o as M,l as _,u as x,a as v,c as p,b as a,f,m as P,q as T,d as S,t as y,i as b,j as I,n as i}from"./index-fK8FIZgP.js";import{u as C}from"./settings-MbfRir0d.js";import{R as U}from"./ResizableTextarea-B3YIdIXv.js";import{M as R}from"./ModelSelector-CwTz8ZWO.js";import"./ApiClient-C3ztI9s9.js";import"./providers-1bnH-exJ.js";const D={key:0,class:"loading-state"},N={class:"form-group"},B={class:"checkbox-label"},z={class:"form-group"},j={class:"form-group"},q={key:0,class:"error-message"},E={class:"form-actions"},L=["disabled"],W={key:0,class:"loading-spinner"},A=["disabled"],F={__name:"SummarySettingsView",setup(G){const u=C(),c=k(),m=i(!1),d=i(""),o=i(""),n=i(null),l=i(!1),r=i(null);M(()=>{u.fetchSummarySettings()}),_(()=>u.summarySettings,s=>{s&&(m.value=s.disableSessionSummaries,o.value=s.summaryModel||"",n.value=s.summaryProviderId||null,d.value=s.sessionTitlePrompt||s.defaultSessionTitlePrompt||"")},{immediate:!0});function g(s){o.value=s.modelId||"",n.value=s.providerId||null}async function h(){l.value=!0,r.value=null;try{await u.updateSummarySettings({disableSessionSummaries:m.value,sessionTitlePrompt:d.value,summaryModel:o.value||"",summaryProviderId:o.value?n.value:null}),c.success("Summary settings saved successfully")}catch(s){r.value=s.message}finally{l.value=!1}}async function w(){if(confirm("Reset all summary settings to defaults?")){l.value=!0,r.value=null;try{await u.resetSummarySettings(),c.success("Summary settings reset to defaults")}catch(s){r.value=s.message}finally{l.value=!1}}}return(s,e)=>x(u).loading?(v(),p("div",D,[...e[4]||(e[4]=[a("span",{class:"loading-spinner"},null,-1),f(" Loading... ",-1)])])):(v(),p("form",{key:1,class:"form card",onSubmit:I(h,["prevent"])},[a("div",N,[a("label",B,[P(a("input",{"onUpdate:modelValue":e[0]||(e[0]=t=>m.value=t),type:"checkbox"},null,512),[[T,m.value]]),e[5]||(e[5]=f(" Disable session summaries ",-1))]),e[6]||(e[6]=a("p",{class:"form-help"}," When enabled, automatic session summaries will not be generated. Session summaries provide an overview of what was accomplished. ",-1))]),a("div",z,[e[7]||(e[7]=a("label",{class:"form-label",for:"model-select"},"Summary Model",-1)),S(R,{modelValue:o.value,"onUpdate:modelValue":e[1]||(e[1]=t=>o.value=t),"provider-id":n.value,"onUpdate:providerId":e[2]||(e[2]=t=>n.value=t),"allow-empty":"","empty-label":"Use default summary model","hide-built-in-duplicates":!1,"select-class":"form-input",onModelSelected:g},null,8,["modelValue","provider-id"]),e[8]||(e[8]=a("p",{class:"form-help"}," Choose the model used when summaries are generated. ",-1))]),a("div",j,[e[9]||(e[9]=a("label",{class:"form-label",for:"sessionTitlePrompt"},"Custom Session Title Prompt",-1)),S(U,{id:"sessionTitlePrompt",modelValue:d.value,"onUpdate:modelValue":e[3]||(e[3]=t=>d.value=t),class:"form-input form-textarea-small","min-height":120,"max-height":400},null,8,["modelValue"]),e[10]||(e[10]=a("p",{class:"form-help"}," Customize how session titles are generated. ",-1))]),r.value?(v(),p("div",q,y(r.value),1)):b("",!0),a("div",E,[a("button",{type:"submit",class:"btn btn-primary",disabled:l.value},[l.value?(v(),p("span",W)):b("",!0),f(" "+y(l.value?"Saving...":"Save Settings"),1)],8,L),a("button",{type:"button",class:"btn btn-secondary",disabled:l.value,onClick:w}," Reset to Defaults ",8,A)])],32))}},Y=V(F,[["__scopeId","data-v-eba265f3"]]);export{Y as default};
1
+ import{_ as V,k,o as M,l as _,u as x,a as v,c as p,b as a,f,m as P,s as T,d as S,t as y,i as b,j as I,n as i}from"./index-CvXApbVC.js";import{u as C}from"./settings-TWfbahn5.js";import{R as U}from"./ResizableTextarea-BWywIqOv.js";import{M as R}from"./ModelSelector-Cko_yTO5.js";import"./ApiClient-DfbJwzpz.js";import"./providers-DZ-fOa4G.js";const D={key:0,class:"loading-state"},N={class:"form-group"},B={class:"checkbox-label"},z={class:"form-group"},j={class:"form-group"},E={key:0,class:"error-message"},L={class:"form-actions"},W=["disabled"],q={key:0,class:"loading-spinner"},A=["disabled"],F={__name:"SummarySettingsView",setup(G){const u=C(),c=k(),m=i(!1),d=i(""),o=i(""),n=i(null),l=i(!1),r=i(null);M(()=>{u.fetchSummarySettings()}),_(()=>u.summarySettings,s=>{s&&(m.value=s.disableSessionSummaries,o.value=s.summaryModel||"",n.value=s.summaryProviderId||null,d.value=s.sessionTitlePrompt||s.defaultSessionTitlePrompt||"")},{immediate:!0});function g(s){o.value=s.modelId||"",n.value=s.providerId||null}async function h(){l.value=!0,r.value=null;try{await u.updateSummarySettings({disableSessionSummaries:m.value,sessionTitlePrompt:d.value,summaryModel:o.value||"",summaryProviderId:o.value?n.value:null}),c.success("Summary settings saved successfully")}catch(s){r.value=s.message}finally{l.value=!1}}async function w(){if(confirm("Reset all summary settings to defaults?")){l.value=!0,r.value=null;try{await u.resetSummarySettings(),c.success("Summary settings reset to defaults")}catch(s){r.value=s.message}finally{l.value=!1}}}return(s,e)=>x(u).loading?(v(),p("div",D,[...e[4]||(e[4]=[a("span",{class:"loading-spinner"},null,-1),f(" Loading... ",-1)])])):(v(),p("form",{key:1,class:"form card",onSubmit:I(h,["prevent"])},[a("div",N,[a("label",B,[P(a("input",{"onUpdate:modelValue":e[0]||(e[0]=t=>m.value=t),type:"checkbox"},null,512),[[T,m.value]]),e[5]||(e[5]=f(" Disable session summaries ",-1))]),e[6]||(e[6]=a("p",{class:"form-help"}," When enabled, automatic session summaries will not be generated. Session summaries provide an overview of what was accomplished. ",-1))]),a("div",z,[e[7]||(e[7]=a("label",{class:"form-label",for:"model-select"},"Summary Model",-1)),S(R,{modelValue:o.value,"onUpdate:modelValue":e[1]||(e[1]=t=>o.value=t),"provider-id":n.value,"onUpdate:providerId":e[2]||(e[2]=t=>n.value=t),"allow-empty":"","empty-label":"Use default summary model","hide-built-in-duplicates":!1,"select-class":"form-input",onModelSelected:g},null,8,["modelValue","provider-id"]),e[8]||(e[8]=a("p",{class:"form-help"}," Choose the model used when summaries are generated. ",-1))]),a("div",j,[e[9]||(e[9]=a("label",{class:"form-label",for:"sessionTitlePrompt"},"Custom Session Title Prompt",-1)),S(U,{id:"sessionTitlePrompt",modelValue:d.value,"onUpdate:modelValue":e[3]||(e[3]=t=>d.value=t),class:"form-input form-textarea-small","min-height":120,"max-height":400},null,8,["modelValue"]),e[10]||(e[10]=a("p",{class:"form-help"}," Customize how session titles are generated. ",-1))]),r.value?(v(),p("div",E,y(r.value),1)):b("",!0),a("div",L,[a("button",{type:"submit",class:"btn btn-primary",disabled:l.value},[l.value?(v(),p("span",q)):b("",!0),f(" "+y(l.value?"Saving...":"Save Settings"),1)],8,W),a("button",{type:"button",class:"btn btn-secondary",disabled:l.value,onClick:w}," Reset to Defaults ",8,A)])],32))}},Y=V(F,[["__scopeId","data-v-eba265f3"]]);export{Y as default};
@@ -0,0 +1 @@
1
+ .template-detail[data-v-b2a9a2fa]{max-width:700px;margin:0 auto;padding:2rem 0}.loading-state[data-v-b2a9a2fa]{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--color-text-soft)}.form-container[data-v-b2a9a2fa]{display:flex;flex-direction:column;gap:2rem}.form-header[data-v-b2a9a2fa]{display:flex;align-items:center;gap:1rem}.form-header h2[data-v-b2a9a2fa]{margin:0;color:var(--color-text);flex:1}.template-form[data-v-b2a9a2fa]{display:flex;flex-direction:column;gap:1.5rem;background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:2rem}.form-group[data-v-b2a9a2fa]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-b2a9a2fa]{font-weight:500;color:var(--color-text);font-size:.95rem}.form-input[data-v-b2a9a2fa]{padding:.75rem;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-input[data-v-b2a9a2fa]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #58a6ff1a}.form-input[data-v-b2a9a2fa]:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-soft)}.form-input[data-v-b2a9a2fa]::placeholder{color:var(--color-text-soft)}[data-v-b2a9a2fa] textarea.form-textarea{font-family:var(--font-mono);font-size:.85rem;min-height:120px;line-height:1.5}.form-help[data-v-b2a9a2fa]{font-size:.85rem;color:var(--color-text-soft);margin:0}.form-help code[data-v-b2a9a2fa]{background:var(--color-bg-soft);padding:.1rem .3rem;border-radius:3px;font-size:.8rem}.form-group-checkbox[data-v-b2a9a2fa]{gap:.25rem}.checkbox-label[data-v-b2a9a2fa]{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--color-text);font-size:.95rem;cursor:pointer;-webkit-user-select:none;user-select:none}.form-checkbox[data-v-b2a9a2fa]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.form-check[data-v-b2a9a2fa]{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--color-text);cursor:pointer}.form-check input[data-v-b2a9a2fa]{cursor:pointer}.form-error-message[data-v-b2a9a2fa]{padding:.75rem;background-color:#f851491a;border:1px solid var(--color-error);border-radius:var(--border-radius);color:var(--color-error);font-size:.9rem}.form-actions[data-v-b2a9a2fa]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.form-actions button[data-v-b2a9a2fa]:disabled{opacity:.6;cursor:not-allowed}.modal-overlay[data-v-b2a9a2fa]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-dialog[data-v-b2a9a2fa]{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);max-width:400px;width:90%;overflow:hidden}.modal-header[data-v-b2a9a2fa]{padding:1rem;border-bottom:1px solid var(--color-border)}.modal-header h4[data-v-b2a9a2fa]{margin:0;color:var(--color-text)}.modal-body[data-v-b2a9a2fa]{padding:1.5rem 1rem;color:var(--color-text-soft)}.modal-body p[data-v-b2a9a2fa]{margin:.5rem 0}.modal-footer[data-v-b2a9a2fa]{padding:1rem;border-top:1px solid var(--color-border);display:flex;gap:.5rem;justify-content:flex-end}@media (max-width: 640px){.template-detail[data-v-b2a9a2fa]{padding:1rem}.form-header[data-v-b2a9a2fa]{flex-direction:column;align-items:flex-start}.template-form[data-v-b2a9a2fa]{padding:1.5rem 1rem}.form-actions[data-v-b2a9a2fa]{flex-direction:column-reverse}.form-actions button[data-v-b2a9a2fa]{width:100%}}
@@ -0,0 +1 @@
1
+ import{_ as M,k as N,o as Q,a as n,c as r,b as l,f as k,d as f,w as $,m as u,v as h,q as x,F,r as G,s as O,t as d,i as S,j as E,z as w,n as m,g as P,h as q,B as z}from"./index-CvXApbVC.js";import{u as A,E as H}from"./EffortLevelSelector-PaBpUveC.js";import{a as Y}from"./ApiClient-DfbJwzpz.js";import{M as J}from"./ModelSelector-Cko_yTO5.js";import{I as K}from"./InterpolationHelp-CLNPz8s8.js";import{R as W}from"./ResizableTextarea-BWywIqOv.js";import"./sessions-DETEyjPI.js";import"./providers-DZ-fOa4G.js";const X={class:"container template-detail"},Z={key:0,class:"loading-state"},_={key:1,class:"form-container"},ee={class:"form-header"},le={class:"form-group"},te={class:"form-group"},oe={class:"form-group"},ae=["value"],se={class:"form-group"},ne={class:"form-group"},re={class:"form-group"},ie={class:"form-group"},ue={class:"form-group"},de={class:"form-group"},me={class:"form-check"},pe={class:"form-actions"},ve=["disabled"],fe={key:0,class:"form-error-message"},be={class:"modal-body"},ge={class:"modal-footer"},ce=["disabled"],ke={__name:"TemplateDetailView",setup(ye){const V=z(),y=q(),p=A(),i=N(),T=m(!1),b=m(!1),g=m(!1),v=m(!1),s=m(null),t=m({name:"",prompt:"",isGlobal:!1,nextTemplateId:null,thinkingEnabled:null,gitBranch:"",model:null,mode:null,effortLevel:null,showInQuickResponses:!1}),c=w(()=>V.params.projectId),I=w(()=>V.params.templateId),B=w(()=>[...p.projectTemplates,...p.globalTemplates]),C=async()=>{T.value=!0,s.value=null;try{const o=await Y.getTemplate(I.value);o&&(t.value={name:o.name,prompt:o.prompt,isGlobal:!o.projectId,nextTemplateId:o.nextTemplateId??null,thinkingEnabled:o.thinkingEnabled,gitBranch:o.gitBranch||"",model:o.model,mode:o.mode,effortLevel:o.effortLevel??null,showInQuickResponses:o.showInQuickResponses})}catch(o){s.value=`Failed to load template: ${o.message}`,i.error(o.message)}finally{T.value=!1}},D=async()=>{s.value=null,b.value=!0;try{const o={name:t.value.name,prompt:t.value.prompt,nextTemplateId:t.value.nextTemplateId??null,thinkingEnabled:t.value.thinkingEnabled,gitBranch:t.value.gitBranch||void 0,model:t.value.model,mode:t.value.mode,effortLevel:t.value.effortLevel,showInQuickResponses:t.value.showInQuickResponses};await p.updateTemplate(I.value,o),i.success("Template updated"),y.push(`/projects/${c.value}/templates`)}catch(o){s.value=o.message,i.error(o.message)}finally{b.value=!1}},L=()=>{y.back()},R=()=>{v.value=!0},U=async()=>{g.value=!0,s.value=null;try{await p.deleteTemplate(I.value),i.success("Template deleted"),v.value=!1,y.push(`/projects/${c.value}/templates`)}catch(o){s.value=o.message,i.error(o.message)}finally{g.value=!1}};return Q(async()=>{await Promise.all([C(),p.fetchProjectTemplates(c.value).catch(o=>{s.value=`Failed to load available templates: ${o.message}`,i.error(o.message)})])}),(o,e)=>{const j=P("router-link");return n(),r("div",X,[T.value?(n(),r("div",Z,[...e[12]||(e[12]=[l("span",{class:"loading-spinner"},null,-1),k(" Loading... ",-1)])])):(n(),r("div",_,[l("div",ee,[f(j,{to:`/projects/${c.value}/templates`,class:"btn btn-outline-secondary"},{default:$(()=>[...e[13]||(e[13]=[k(" ← Back ",-1)])]),_:1},8,["to"]),e[14]||(e[14]=l("h2",null,"Edit Template",-1))]),l("form",{class:"template-form",onSubmit:E(D,["prevent"])},[l("div",le,[e[15]||(e[15]=l("label",{for:"name"},"Name",-1)),u(l("input",{id:"name","onUpdate:modelValue":e[0]||(e[0]=a=>t.value.name=a),type:"text",class:"form-input",placeholder:"Template name",required:""},null,512),[[h,t.value.name]])]),l("div",te,[e[16]||(e[16]=l("label",{for:"prompt"},"Prompt",-1)),f(W,{id:"prompt",modelValue:t.value.prompt,"onUpdate:modelValue":e[1]||(e[1]=a=>t.value.prompt=a),class:"form-input form-textarea",placeholder:"Session prompt. Use {{rootSession.summary}} to reference root session data.","min-height":120,required:""},null,8,["modelValue"]),f(K)]),l("div",oe,[e[18]||(e[18]=l("label",{for:"nextTemplate"},"Next Template (Optional)",-1)),u(l("select",{id:"nextTemplate","onUpdate:modelValue":e[2]||(e[2]=a=>t.value.nextTemplateId=a),class:"form-input"},[e[17]||(e[17]=l("option",{value:null}," None ",-1)),(n(!0),r(F,null,G(B.value,a=>(n(),r("option",{key:a.id,value:a.id},d(a.name)+" "+d(a.projectId?"":"(Global)"),9,ae))),128))],512),[[x,t.value.nextTemplateId]]),e[19]||(e[19]=l("p",{class:"form-help"}," Chain another template to run after this one completes. ",-1))]),l("div",se,[e[21]||(e[21]=l("label",{for:"thinkingEnabled"},"Extended Thinking",-1)),u(l("select",{id:"thinkingEnabled","onUpdate:modelValue":e[3]||(e[3]=a=>t.value.thinkingEnabled=a),class:"form-input"},[...e[20]||(e[20]=[l("option",{value:null}," Inherit from root session ",-1),l("option",{value:!0}," Enabled ",-1),l("option",{value:!1}," Disabled ",-1)])],512),[[x,t.value.thinkingEnabled]])]),l("div",ne,[e[22]||(e[22]=l("label",{for:"model"},"Model",-1)),f(J,{modelValue:t.value.model,"onUpdate:modelValue":e[4]||(e[4]=a=>t.value.model=a),"allow-empty":!0,"empty-label":"Inherit from root session"},null,8,["modelValue"])]),l("div",re,[e[24]||(e[24]=l("label",{for:"mode"},"Mode",-1)),u(l("select",{id:"mode","onUpdate:modelValue":e[5]||(e[5]=a=>t.value.mode=a),class:"form-input"},[...e[23]||(e[23]=[l("option",{value:null}," Inherit from root session ",-1),l("option",{value:"plan"}," Plan ",-1),l("option",{value:"standard"}," Standard ",-1),l("option",{value:"yolo"}," YOLO ",-1)])],512),[[x,t.value.mode]])]),l("div",ie,[e[25]||(e[25]=l("label",{for:"effort-level"},"Effort Level",-1)),f(H,{modelValue:t.value.effortLevel,"onUpdate:modelValue":e[6]||(e[6]=a=>t.value.effortLevel=a)},null,8,["modelValue"])]),l("div",ue,[e[26]||(e[26]=l("label",{for:"gitBranch"},"Git Branch (Optional)",-1)),u(l("input",{id:"gitBranch","onUpdate:modelValue":e[7]||(e[7]=a=>t.value.gitBranch=a),type:"text",class:"form-input",placeholder:"Leave empty to inherit from root session"},null,512),[[h,t.value.gitBranch]])]),l("div",de,[l("label",me,[u(l("input",{"onUpdate:modelValue":e[8]||(e[8]=a=>t.value.showInQuickResponses=a),type:"checkbox"},null,512),[[O,t.value.showInQuickResponses]]),e[27]||(e[27]=l("span",null,"Show in Quick Responses",-1))])]),l("div",pe,[l("button",{type:"button",class:"btn btn-outline-secondary",onClick:L}," Cancel "),l("button",{type:"button",class:"btn btn-outline-danger",onClick:R}," Delete "),l("button",{type:"submit",class:"btn btn-primary",disabled:b.value},d(b.value?"Saving...":"Save"),9,ve)]),s.value?(n(),r("div",fe,d(s.value),1)):S("",!0)],32)])),v.value?(n(),r("div",{key:2,class:"modal-overlay",onClick:e[11]||(e[11]=a=>v.value=!1)},[l("div",{class:"modal-dialog",onClick:e[10]||(e[10]=E(()=>{},["stop"]))},[e[31]||(e[31]=l("div",{class:"modal-header"},[l("h4",null,"Delete Template")],-1)),l("div",be,[l("p",null,[e[28]||(e[28]=k('Are you sure you want to delete "',-1)),l("strong",null,d(t.value.name),1),e[29]||(e[29]=k('"?',-1))]),e[30]||(e[30]=l("p",null,"This action cannot be undone.",-1))]),l("div",ge,[l("button",{class:"btn btn-outline-secondary",onClick:e[9]||(e[9]=a=>v.value=!1)}," Cancel "),l("button",{class:"btn btn-danger",disabled:g.value,onClick:U},d(g.value?"Deleting...":"Delete"),9,ce)])])])):S("",!0)])}}},Be=M(ke,[["__scopeId","data-v-b2a9a2fa"]]);export{Be as default};
@@ -1,4 +1,4 @@
1
- import{M as h}from"./index-fK8FIZgP.js";import{a as o}from"./ApiClient-C3ztI9s9.js";const i=2e3,p=300;function a(t){const e=t.split(`
1
+ import{p as h}from"./index-CvXApbVC.js";import{a as o}from"./ApiClient-DfbJwzpz.js";const i=2e3,p=300;function a(t){const e=t.split(`
2
2
  `);return e.length<=i?{output:t,truncated:!1}:{output:e.slice(-i).join(`
3
3
  `),truncated:!0}}function f(t,e,u){const{output:s,truncated:n}=a(t.output||""),r=!s&&(u==null?void 0:u.output);return{runId:e,buttonId:t.buttonId,sessionId:t.sessionId,status:t.status||"running",output:r?u.output:s,exitCode:t.exitCode??null,startedAt:t.startedAt,completedAt:t.completedAt,outputTruncated:r?u.outputTruncated:n}}function l(t,e){const u=t._outputBuffers[e];if(!u||!t.runs[e]){delete t._outputBuffers[e],delete t._flushTimers[e];return}if(t.runs[e].status!=="running"){delete t._outputBuffers[e],delete t._flushTimers[e];return}const s=t.runs[e].output+u,{output:n,truncated:r}=a(s);t.$patch({runs:{[e]:{...t.runs[e],output:n,outputTruncated:t.runs[e].outputTruncated||r}}}),delete t._outputBuffers[e],delete t._flushTimers[e]}function d(t,e,u){if(!t.runs[e]||t.runs[e].status!=="running")return;const s=Date.now(),n=t._lastAppendedText[e];n&&n.text===u&&s-n.timestamp<100||(t._lastAppendedText[e]={text:u,timestamp:s},t._outputBuffers[e]=(t._outputBuffers[e]||"")+u,t._flushTimers[e]||(t._flushTimers[e]=setTimeout(()=>{l(t,e)},p)))}function m(t,e){t._flushTimers[e]&&(clearTimeout(t._flushTimers[e]),delete t._flushTimers[e]),t._outputBuffers[e]&&l(t,e)}function T(t,e,u){const{output:s,truncated:n}=a(t.output||""),r=!s&&(u!=null&&u.output)?u.output:s,c=!s&&(u!=null&&u.output)?u.outputTruncated:n;return{runId:t.runId,buttonId:t.buttonId,sessionId:e,status:t.status||"running",output:r,exitCode:t.exitCode!==void 0?t.exitCode:null,startedAt:t.startedAt,completedAt:t.completedAt,outputTruncated:c}}function _(t,e,u){let s=t.output,n=t.outputTruncated;if(u&&u.length>t.output.length){const r=a(u);s=r.output,n=r.truncated}return{...t,exitCode:e,completedAt:Date.now(),output:s,outputTruncated:n,status:e===0?"success":"error"}}function B(t,e){const u=`${t.output}
4
4
  [Error] ${e}`,{output:s,truncated:n}=a(u);return{...t,status:"error",output:s,outputTruncated:t.outputTruncated||n}}const b=h("commandButtons",{state:()=>({buttons:[],runs:{},collapsedStates:{},loading:!1,error:null,_outputBuffers:{},_flushTimers:{},_lastAppendedText:{}}),getters:{getButtonById:t=>e=>t.buttons.find(u=>u.id===e),getRun:t=>e=>t.runs[e],activeRuns:t=>Object.values(t.runs).filter(e=>e.status==="running"),getButtonsByProjectId:t=>e=>t.buttons.filter(u=>u.projectId===e),getLatestRunForButton:t=>(e,u)=>{const s=Object.values(t.runs).filter(n=>n.buttonId===e&&n.sessionId===u).sort((n,r)=>(r.startedAt||0)-(n.startedAt||0));return s.length>0?s[0]:null},isOutputCollapsed:t=>e=>t.collapsedStates[e]!==void 0?t.collapsedStates[e]:!0},actions:{async fetchButtons(t){this.loading=!0,this.error=null;try{const e=await o.getCommandButtons(t);this.buttons=this.buttons.filter(u=>u.projectId!==t),this.buttons.push(...e)}catch(e){this.error=e.message}finally{this.loading=!1}},async createButton(t,e){this.error=null;try{const u=await o.createCommandButton(t,e);return this.buttons.push(u),u}catch(u){throw this.error=u.message,u}},async updateButton(t,e,u){this.error=null;try{const s=await o.updateCommandButton(t,e,u),n=this.buttons.findIndex(r=>r.id===e);return n>=0&&(this.buttons[n]=s),s}catch(s){throw this.error=s.message,s}},async deleteButton(t,e){this.error=null;try{await o.deleteCommandButton(t,e),this.buttons=this.buttons.filter(u=>u.id!==e)}catch(u){throw this.error=u.message,u}},async runButton(t,e){this.error=null;try{const u=await o.runCommandButton(t,e),s=u.runId;return this.runs[s]={runId:s,buttonId:e,sessionId:t,status:"running",output:u.output||"",exitCode:null,startedAt:Date.now(),outputTruncated:!1},s}catch(u){throw this.error=u.message,u}},async killRun(t,e){try{await o.killCommandRun(t,e)}catch(u){if(this.runs[e]&&this.runs[e].status==="running"){this.runs[e]={...this.runs[e],status:"error",exitCode:-1,completedAt:Date.now()},console.log(`[killRun] Process ${e} not found on server, updated UI state to error`);return}throw u}},async fetchActiveRuns(t){this.error=null;try{const e=await o.getActiveRuns(t);for(const u of e)this.runs[u.runId]=T(u,t,this.runs[u.runId]);return e}catch(e){return this.error=`Failed to fetch active runs: ${e.message}`,console.error(this.error,e),[]}},async fetchLatestRunsForProject(t){var e;this.error=null;try{const u=await o.getLatestRunsForProject(t);for(const s of u){const n=s.id||s.runId;((e=this.runs[n])==null?void 0:e.status)!=="running"&&(this.runs[n]=f(s,n,this.runs[n]))}return u}catch(u){return this.error=`Failed to fetch latest runs: ${u.message}`,console.error(this.error,u),[]}},appendOutput(t,e){d(this,t,e)},flushPendingOutput(t){m(this,t)},completeRun(t,e,u){this.runs[t]&&(this.flushPendingOutput(t),delete this._lastAppendedText[t],this.$patch({runs:{[t]:_(this.runs[t],e,u)}}))},errorRun(t,e){this.runs[t]&&(this.flushPendingOutput(t),this.$patch({runs:{[t]:B(this.runs[t],e)}}))},async fetchRunOutput(t,e){const u=this.runs[e];if(!(!u||u.status==="running")&&!(u.output&&u.output.length>0))try{const s=await o.getCommandRun(t,e);if(s.output&&this.runs[e]){const{output:n,truncated:r}=a(s.output);this.runs[e]={...this.runs[e],output:n,outputTruncated:r}}}catch(s){console.warn(`[commandButtons] Failed to fetch output for run ${e}:`,s.message)}},setOutputCollapsed(t,e){this.collapsedStates[t]=e},async deleteRun(t,e){await o.deleteCommandRun(t,e),this.clearRun(e)},async deleteAllRunsForButton(t,e){await o.deleteAllRunsForButton(t,e);for(const u of Object.keys(this.runs))this.runs[u].buttonId===e&&this.runs[u].sessionId===t&&this.clearRun(u)},clearRun(t){this._flushTimers[t]&&(clearTimeout(this._flushTimers[t]),delete this._flushTimers[t]),delete this._outputBuffers[t],delete this._lastAppendedText[t],delete this.runs[t],delete this.collapsedStates[t]},clearAllRuns(){for(const t of Object.keys(this._flushTimers))clearTimeout(this._flushTimers[t]);this._flushTimers={},this._outputBuffers={},this._lastAppendedText={},this.runs={},this.collapsedStates={}}}});export{b as u};
@@ -0,0 +1,3 @@
1
+ import{e as D,E as h,C as L,s as H,t as n,b as B,g as K,a as M,L as OO,i as eO,k as f,f as iO,l as aO,N as nO,I as rO,d as QO,m as d}from"./index-MZf7MlPX.js";import"./index-CvXApbVC.js";import"./SessionDetailView-DWbXdx7A.js";import"./sessions-DETEyjPI.js";import"./ApiClient-DfbJwzpz.js";import"./projects-BvLADGKx.js";import"./EffortLevelSelector-PaBpUveC.js";import"./SessionLogStream-BvXUNNBZ.js";import"./commandButtons-DejH0rVN.js";import"./SlashCommandWizard-DleYBxrE.js";import"./providers-DZ-fOa4G.js";import"./useSummaryHelpers-GVg7sMWF.js";import"./ModelSelector-Cko_yTO5.js";import"./ArchiveConfirmModal-DJERn5XO.js";import"./projectDefaults-D9xkp2XR.js";import"./QuickResponsesPanel-Dp39f12o.js";import"./ResizableTextarea-BWywIqOv.js";const tO=1,Z=194,j=195,oO=196,x=197,dO=198,sO=199,lO=200,TO=2,E=3,u=201,SO=24,pO=25,qO=49,mO=50,gO=55,PO=56,$O=57,hO=59,cO=60,fO=61,XO=62,yO=63,zO=65,WO=238,vO=71,RO=241,kO=242,_O=243,xO=244,uO=245,UO=246,bO=247,VO=248,Y=72,GO=249,wO=250,ZO=251,jO=252,EO=253,YO=254,FO=255,CO=256,JO=73,AO=77,NO=263,IO=112,DO=130,LO=151,HO=152,BO=155,p=10,q=13,k=32,c=9,_=35,KO=40,MO=46,R=123,U=125,F=39,C=34,b=92,Oe=111,ee=120,ie=78,ae=117,ne=85,re=new Set([pO,qO,mO,NO,zO,DO,PO,$O,WO,XO,yO,Y,JO,AO,cO,fO,LO,HO,BO,IO]);function X(O){return O==p||O==q}function y(O){return O>=48&&O<=57||O>=65&&O<=70||O>=97&&O<=102}const Qe=new h((O,e)=>{let i;if(O.next<0)O.acceptToken(sO);else if(e.context.flags&P)X(O.next)&&O.acceptToken(dO,1);else if(((i=O.peek(-1))<0||X(i))&&e.canShift(x)){let a=0;for(;O.next==k||O.next==c;)O.advance(),a++;(O.next==p||O.next==q||O.next==_)&&O.acceptToken(x,-a)}else X(O.next)&&O.acceptToken(oO,1)},{contextual:!0}),te=new h((O,e)=>{let i=e.context;if(i.flags)return;let a=O.peek(-1);if(a==p||a==q){let r=0,Q=0;for(;;){if(O.next==k)r++;else if(O.next==c)r+=8-r%8;else break;O.advance(),Q++}r!=i.indent&&O.next!=p&&O.next!=q&&O.next!=_&&(r<i.indent?O.acceptToken(j,-Q):O.acceptToken(Z))}}),P=1,J=2,s=4,l=8,T=16,S=32;function $(O,e,i){this.parent=O,this.indent=e,this.flags=i,this.hash=(O?O.hash+O.hash<<8:0)+e+(e<<4)+i+(i<<6)}const oe=new $(null,0,0);function de(O){let e=0;for(let i=0;i<O.length;i++)e+=O.charCodeAt(i)==c?8-e%8:1;return e}const V=new Map([[RO,0],[kO,s],[_O,l],[xO,l|s],[uO,T],[UO,T|s],[bO,T|l],[VO,T|l|s],[GO,S],[wO,S|s],[ZO,S|l],[jO,S|l|s],[EO,S|T],[YO,S|T|s],[FO,S|T|l],[CO,S|T|l|s]].map(([O,e])=>[O,e|J])),se=new L({start:oe,reduce(O,e,i,a){return O.flags&P&&re.has(e)||(e==vO||e==Y)&&O.flags&J?O.parent:O},shift(O,e,i,a){return e==Z?new $(O,de(a.read(a.pos,i.pos)),0):e==j?O.parent:e==SO||e==gO||e==hO||e==E?new $(O,0,P):V.has(e)?new $(O,0,V.get(e)|O.flags&P):O},hash(O){return O.hash}}),le=new h(O=>{for(let e=0;e<5;e++){if(O.next!="print".charCodeAt(e))return;O.advance()}if(!/\w/.test(String.fromCharCode(O.next)))for(let e=0;;e++){let i=O.peek(e);if(!(i==k||i==c)){i!=KO&&i!=MO&&i!=p&&i!=q&&i!=_&&O.acceptToken(tO);return}}}),Te=new h((O,e)=>{let{flags:i}=e.context,a=i&s?C:F,r=(i&l)>0,Q=!(i&T),t=(i&S)>0,o=O.pos;for(;!(O.next<0);)if(t&&O.next==R)if(O.peek(1)==R)O.advance(2);else{if(O.pos==o){O.acceptToken(E,1);return}break}else if(Q&&O.next==b){if(O.pos==o){O.advance();let m=O.next;m>=0&&(O.advance(),Se(O,m)),O.acceptToken(TO);return}break}else if(O.next==b&&!Q&&O.peek(1)>-1)O.advance(2);else if(O.next==a&&(!r||O.peek(1)==a&&O.peek(2)==a)){if(O.pos==o){O.acceptToken(u,r?3:1);return}break}else if(O.next==p){if(r)O.advance();else if(O.pos==o){O.acceptToken(u);return}break}else O.advance();O.pos>o&&O.acceptToken(lO)});function Se(O,e){if(e==Oe)for(let i=0;i<2&&O.next>=48&&O.next<=55;i++)O.advance();else if(e==ee)for(let i=0;i<2&&y(O.next);i++)O.advance();else if(e==ae)for(let i=0;i<4&&y(O.next);i++)O.advance();else if(e==ne)for(let i=0;i<8&&y(O.next);i++)O.advance();else if(e==ie&&O.next==R){for(O.advance();O.next>=0&&O.next!=U&&O.next!=F&&O.next!=C&&O.next!=p;)O.advance();O.next==U&&O.advance()}}const pe=H({'async "*" "**" FormatConversion FormatSpec':n.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":n.controlKeyword,"in not and or is del":n.operatorKeyword,"from def class global nonlocal lambda":n.definitionKeyword,import:n.moduleKeyword,"with as print":n.keyword,Boolean:n.bool,None:n.null,VariableName:n.variableName,"CallExpression/VariableName":n.function(n.variableName),"FunctionDefinition/VariableName":n.function(n.definition(n.variableName)),"ClassDefinition/VariableName":n.definition(n.className),PropertyName:n.propertyName,"CallExpression/MemberExpression/PropertyName":n.function(n.propertyName),Comment:n.lineComment,Number:n.number,String:n.string,FormatString:n.special(n.string),Escape:n.escape,UpdateOp:n.updateOperator,"ArithOp!":n.arithmeticOperator,BitOp:n.bitwiseOperator,CompareOp:n.compareOperator,AssignOp:n.definitionOperator,Ellipsis:n.punctuation,At:n.meta,"( )":n.paren,"[ ]":n.squareBracket,"{ }":n.brace,".":n.derefOperator,", ;":n.separator}),qe={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},me=D.deserialize({version:14,states:"##jO`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyO<POWO,5:aOOQS,5:a,5:aO<[QdO'#HwOOOW'#Dw'#DwOOOW'#Fz'#FzO<lOWO,5:bOOQS,5:b,5:bOOQS'#F}'#F}O<zQtO,5:iO?lQtO,5=`O@VQ#xO,5=`O@vQtO,5=`OOQS,5:},5:}OA_QeO'#GWOBqQdO,5;^OOQV,5=^,5=^OB|QtO'#IPOCkQdO,5;tOOQS-E:[-E:[OOQV,5;s,5;sO4dQdO'#FQOOQV-E9o-E9oOCsQtO,59]OEzQtO,59iOFeQdO'#HVOFpQdO'#HVO1XQdO'#HVOF{QdO'#DTOGTQdO,59mOGYQdO'#HZO'vQdO'#HZO0rQdO,5=tOOQS,5=t,5=tO0rQdO'#EROOQS'#ES'#ESOGwQdO'#GPOHXQdO,58|OHXQdO,58|O*xQdO,5:oOHgQtO'#H]OOQS,5:r,5:rOOQS,5:z,5:zOHzQdO,5;OOI]QdO'#IOO1XQdO'#H}OOQS,5;Q,5;QOOQS'#GT'#GTOIqQtO,5;QOJPQdO,5;QOJUQdO'#IQOOQS,5;T,5;TOJdQdO'#H|OOQS,5;W,5;WOJuQdO,5;YO4iQdO,5;`O4iQdO,5;cOJ}QtO'#ITO'vQdO'#ITOKXQdO,5;eO4VQdO,5;eO0rQdO,5;jO1XQdO,5;lOK^QeO'#EuOLjQgO,5;fO!!kQdO'#IUO4iQdO,5;jO!!vQdO,5;lO!#OQdO,5;qO!#ZQtO,5;vO'vQdO,5;vPOOO,5=[,5=[P!#bOSO,5=[P!#jOdO,5=[O!&bQtO1G.jO!&iQtO1G.jO!)YQtO1G.jO!)dQtO1G.jO!+}QtO1G.jO!,bQtO1G.jO!,uQdO'#HcO!-TQtO'#GuO0rQdO'#HcO!-_QdO'#HbOOQS,5:Z,5:ZO!-gQdO,5:ZO!-lQdO'#HeO!-wQdO'#HeO!.[QdO,5>OOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5<jOOQS,5<j,5<jOOQS-E9|-E9|OOQS,5<r,5<rOOQS-E:U-E:UOOQV1G0x1G0xO1XQdO'#GRO!7dQtO,5>kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5<k,5<kOOQS-E9}-E9}O!9wQdO1G.hOOQS1G0Z1G0ZO!:VQdO,5=wO!:gQdO,5=wO0rQdO1G0jO0rQdO1G0jO!:xQdO,5>jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!<RQdO,5>lO!<aQdO,5>lO!<oQdO,5>hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5<m,5<mOOQS-E:P-E:POOQS7+&z7+&zOOQS1G3]1G3]OOQS,5<^,5<^OOQS-E9p-E9pOOQS7+$s7+$sO#)bQdO,5=`O#){QdO,5=`O#*^QtO,5<aO#*qQdO1G3cOOQS-E9s-E9sOOQS7+&U7+&UO#+RQdO7+&UO#+aQdO,5<nO#+uQdO1G4UOOQS-E:Q-E:QO#,WQdO1G4UOOQS1G4T1G4TOOQS7+&W7+&WO#,iQdO7+&WOOQS,5<p,5<pO#,tQdO1G4WOOQS-E:S-E:SOOQS,5<l,5<lO#-SQdO1G4SOOQS-E:O-E:OO1XQdO'#EqO#-jQdO'#EqO#-uQdO'#IRO#-}QdO,5;[OOQS7+&`7+&`O0rQdO7+&`O#.SQgO7+&fO!JmQdO'#GXO4iQdO7+&fO4iQdO7+&iO#2QQtO,5<tO'vQdO,5<tO#2[QdO1G4ZOOQS-E:W-E:WO#2fQdO1G4ZO4iQdO7+&kO0rQdO7+&kOOQV7+&p7+&pO!KrQ!fO7+&rO!KzQdO7+&rO`QeO1G0{OOQV-E:X-E:XO4iQdO7+&lO4iQdO7+&lOOQV,5<u,5<uO#2nQdO,5<uO!JmQdO,5<uOOQV7+&l7+&lO#2yQgO7+&lO#6tQdO,5<vO#7PQdO1G4[OOQS-E:Y-E:YO#7^QdO1G4[O#7fQdO'#IWO#7tQdO'#IWO1XQdO'#IWOOQS'#IW'#IWO#8PQdO'#IVOOQS,5;n,5;nO#8XQdO,5;nO0rQdO'#FUOOQV7+&r7+&rO4iQdO7+&rOOQV7+&w7+&wO4iQdO7+&wO#8^QfO,5;xOOQV7+&|7+&|POOO7+(b7+(bO#8cQdO1G3iOOQS,5<c,5<cO#8qQdO1G3hOOQS-E9u-E9uO#9UQdO,5<dO#9aQdO,5<dO#9tQdO1G3kOOQS-E9v-E9vO#:UQdO1G3kO#:^QdO1G3kO#:nQdO1G3kO#:UQdO1G3kOOQS<<H[<<H[O#:yQtO1G1zOOQS<<Hk<<HkP#;WQdO'#FtO8vQdO1G3bO#;eQdO1G3bO#;jQdO<<HkOOQS<<Hl<<HlO#;zQdO7+)QOOQS<<Hs<<HsO#<[QtO1G1yP#<{QdO'#FsO#=YQdO7+)RO#=jQdO7+)RO#=rQdO<<HwO#=wQdO7+({OOQS<<Hy<<HyO#>nQdO,5<bO'vQdO,5<bOOQS-E9t-E9tOOQS<<Hw<<HwOOQS,5<g,5<gO0rQdO,5<gO#>sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<<IpO1XQdO1G2YP1XQdO'#GSO#AOQdO7+)pO#AaQdO7+)pOOQS<<Ir<<IrP1XQdO'#GUP0rQdO'#GQOOQS,5;],5;]O#ArQdO,5>mO#BQQdO,5>mOOQS1G0v1G0vOOQS<<Iz<<IzOOQV-E:V-E:VO4iQdO<<JQOOQV,5<s,5<sO4iQdO,5<sOOQV<<JQ<<JQOOQV<<JT<<JTO#BYQtO1G2`P#BdQdO'#GYO#BkQdO7+)uO#BuQgO<<JVO4iQdO<<JVOOQV<<J^<<J^O4iQdO<<J^O!KrQ!fO<<J^O#FpQgO7+&gOOQV<<JW<<JWO#FzQgO<<JWOOQV1G2a1G2aO1XQdO1G2aO#JuQdO1G2aO4iQdO<<JWO1XQdO1G2bP0rQdO'#G[O#KQQdO7+)vO#K_QdO7+)vOOQS'#FT'#FTO0rQdO,5>rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<<Jc<<JcO#LhQdO1G1dOOQS7+)T7+)TP#LmQdO'#FwO#L}QdO1G2OO#MbQdO1G2OO#MrQdO1G2OP#M}QdO'#FxO#N[QdO7+)VO#NlQdO7+)VO#NlQdO7+)VO#NtQdO7+)VO$ UQdO7+(|O8vQdO7+(|OOQSAN>VAN>VO$ oQdO<<LmOOQSAN>cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<<MT<<MTO$#nQdO7+(fOOQSAN?[AN?[OOQS7+'t7+'tO$$XQdO<<M[OOQS,5<q,5<qO$$jQdO1G4XOOQS-E:T-E:TOOQVAN?lAN?lOOQV1G2_1G2_O4iQdOAN?qO$$xQgOAN?qOOQVAN?xAN?xO4iQdOAN?xOOQV<<JR<<JRO4iQdOAN?rO4iQdO7+'{OOQV7+'{7+'{O1XQdO7+'{OOQVAN?rAN?rOOQS7+'|7+'|O$(sQdO<<MbOOQS1G4^1G4^O0rQdO1G4^OOQS,5<w,5<wO$)QQdO1G4]OOQS-E:Z-E:ZOOQU'#G_'#G_O$)cQfO7+'OO$)nQdO'#F_O$*uQdO7+'jO$+VQdO7+'jOOQS7+'j7+'jO$+bQdO<<LqO$+rQdO<<LqO$+rQdO<<LqO$+zQdO'#H^OOQS<<Lh<<LhO$,UQdO<<LhOOQS7+'h7+'hOOQS'#D|'#D|OOOO1G4R1G4RO$,oQdO1G4RO$,wQdO1G4RP!=hQdO'#GVOOQVG25]G25]O4iQdOG25]OOQVG25dG25dOOQVG25^G25^OOQV<<Kg<<KgO4iQdO<<KgOOQS7+)x7+)xP$-SQdO'#G]OOQU-E:]-E:]OOQV<<Jj<<JjO$-vQtO'#FaOOQS'#Fc'#FcO$.WQdO'#FbO$.xQdO'#FbOOQS'#Fb'#FbO$.}QdO'#IYO$)nQdO'#FiO$)nQdO'#FiO$/fQdO'#FjO$)nQdO'#FkO$/mQdO'#IZOOQS'#IZ'#IZO$0[QdO,5;yOOQS<<KU<<KUO$0dQdO<<KUO$0tQdOANB]O$1UQdOANB]O$1^QdO'#H_OOQS'#H_'#H_O1sQdO'#DcO$1wQdO,5=xOOQSANBSANBSOOOO7+)m7+)mO$2`QdO7+)mOOQVLD*wLD*wOOQVANARANARO5uQ!fO'#GaO$2hQtO,5<SO$)nQdO'#FmOOQS,5<W,5<WOOQS'#Fd'#FdO$3YQdO,5;|O$3_QdO,5;|OOQS'#Fg'#FgO$)nQdO'#G`O$4PQdO,5<QO$4kQdO,5>tO$4{QdO,5>tO1XQdO,5<PO$5^QdO,5<TO$5cQdO,5<TO$)nQdO'#I[O$5hQdO'#I[O$5mQdO,5<UOOQS,5<V,5<VO0rQdO'#FpOOQU1G1e1G1eO4iQdO1G1eOOQSAN@pAN@pO$5rQdOG27wO$6SQdO,59}OOQS1G3d1G3dOOOO<<MX<<MXOOQS,5<{,5<{OOQS-E:_-E:_O$6XQtO'#FaO$6`QdO'#I]O$6nQdO'#I]O$6vQdO,5<XOOQS1G1h1G1hO$6{QdO1G1hO$7QQdO,5<zOOQS-E:^-E:^O$7lQdO,5=OO$8TQdO1G4`OOQS-E:b-E:bOOQS1G1k1G1kOOQS1G1o1G1oO$8eQdO,5>vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5<YO$8sQdO,5>wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5<ZP$)nQdO'#GcO$;XQdO1G2hO$)nQdO1G2hP$;gQdO'#GbO$;nQdO<<MhO$;xQdO1G1uO$<WQdO7+(SO8vQdO'#C}O8vQdO,59bO8vQdO,59bO8vQdO,59bO$<fQtO,5=`O8vQdO1G.|O0rQdO1G/XO0rQdO7+$pP$<yQdO'#GOO'vQdO'#GtO$=WQdO,59bO$=]QdO,59bO$=dQdO,59mO$=iQdO1G/UO1sQdO'#DRO8vQdO,59j",stateData:"$>S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!<S!<VP!<_!<h!=d!=g]eOn#g$j)t,P'}`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r{!cQ#c#p$R$d$p%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g}!dQ#c#p$R$d$p$u%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!P!eQ#c#p$R$d$p$u$v%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!R!fQ#c#p$R$d$p$u$v$w%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!T!gQ#c#p$R$d$p$u$v$w$x%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!V!hQ#c#p$R$d$p$u$v$w$x$y%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g!Z!hQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0g'}TOTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0r&eVOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0r%oXOYZ[dnrxy}!P!Q!U!i!k#[#d#g#y#{#}$Q$h$j$}%S%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#vqQ/[.kR0o0q't`OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rh#jhz{$W$Z&l&q)S)X+f+g-RW#rq&].k0qQ$]|Q$a!OQ$n!VQ$o!WW$|!i'm*d,gS&[#s#tQ'S$iQ(s&UQ)U&nU)Y&s)Z+jW)a&w+m-T-{Q*Q']W*R'_,`-h.TQ+l)`S,_*S*TQ-Q+eQ-_,TQ-c,WQ.R-al.W-l.^._.a.z.|/R/j/o/t/y0U0Z0^Q/S.`Q/a.tQ/l/OU0P/u0S0[X0V/z0W0_0`R&Z#r!_!wYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZR%^!vQ!{YQ%x#[Q&d#}Q&g$QR,{+YT.j-s/s!Y!jQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gQ&X#kQ'c$oR*^'dR'l$|Q%V!mR/_.r'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rS#a_#b!P.[-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`'|_OTYZ[adnoprtxy}!P!Q!R!U!X!c!d!e!f!g!h!i!k!o!p!q!s!t!z#O#S#T#[#d#g#x#y#{#}$Q$e$g$h$j$q$}%S%Z%^%`%c%g%l%n%w%|&O&Z&_&h&j&k&u&x&|'P'W'Z'l'm'p'r's'w'|(O(S(W(](^(d(g(p(r(z(})^)e)g)k)l)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+Q+U+V+Y+a+c+d+k+x+y,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0l0n0rT#a_#bT#^^#_R(o%xa(l%x(n(o+`,{-y-z.oT+[(k+]R-z,{Q$PsQ+l)aQ,^*RR-e,_X#}s$O$P&fQ&y$aQ'a$nQ'd$oR)s'SQ)b&wV-S+m-T-{ZgOn$j)t,PXkOn)t,PQ$k!TQ&z$bQ&{$cQ'^$mQ'b$oQ)q'RQ)x'WQ){'XQ)|'YQ*Z'`S*]'c'dQ+s)gQ+u)hQ+v)iQ+z)oS+|)r*[Q,Q)vQ,R)wS,S)y)zQ,d*^Q-V+rQ-W+tQ-Y+{S-Z+},OQ-`,UQ-b,VQ-|-XQ.O-[Q.P-^Q.Q-_Q.p-}Q.q.RQ/W.dR/r/XWkOn)t,PR#mjQ'`$nS)r'S'aR,O)sQ,]*RR-f,^Q*['`Q+})rR-[,OZiOjn)t,PQ'f$pR*`'gT-j,e-ku.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^t.c-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^Q/S.`X0V/z0W0_0`!P.Z-l.^._.`.a.t.z.|/R/j/o/t/u/y/z0S0U0W0Z0[0^0_0`Q.w.YR/f.xg.z.].{/b/i/n/|0O0Q0]0a0bu.b-l.^._.a.t.z.|/R/j/o/t/u/y0S0U0Z0[0^X.u.W.b/a0PR/c.tV0R/u0S0[R/X.dQnOS#on,PR,P)tQ&^#uR(x&^S%m#R#wS(_%m(bT(b%p&`Q%a!yQ%h!}W(P%a%h(U(YQ(U%eR(Y%jQ&i$RR)O&iQ(e%qQ*{(`T+R(e*{Q'n%OR*e'nS'q%R%SY*i'q*j,m-q.hU*j'r's'tU,m*k*l*mS-q,n,oR.h-rQ#Y]R%t#YQ#_^R%y#_Q(h%vS+W(h+XR+X(iQ+](kR,|+]Q#b_R%{#bQ#ebQ%}#cW&Q#e%}({+bQ({&cR+b0gQ$OsS&e$O&fR&f$PQ&v$_R)_&vQ&V#jR(t&VQ&m$VS)T&m+hR+h)UQ$Z{R&p$ZQ&t$]R)[&tQ+n)bR-U+nQ#hfR&S#hQ)f&zR+q)fQ&}$dS)m&})nR)n'OQ'V$kR)u'VQ'[$lS*P'[,ZR,Z*QQ,a*VR-i,aWjOn)t,PR#ljQ-k,eR.U-kd.{.]/b/i/n/|0O0Q0]0a0bR/h.{U.s.W/a0PR/`.sQ/{/nS0X/{0YR0Y/|S/v/b/cR0T/vQ.}.]R/k.}R!ZPXmOn)t,PWlOn)t,PR'T$jYfOn$j)t,PR&R#g[sOn#g$j)t,PR&d#}&dQOYZ[dnprxy}!P!Q!U!i!k!o!p!q!s!t#[#d#g#y#{#}$Q$h$j$}%S%Z%^%`%g%l%n%w%|&Z&_&j&k&u&x'P'W'Z'l'm'p'r's'w(O(W(^(d(g(p(r(z)^)e)g)p)t)z*O*Y*d*g*h*k*q*r*t*v*y*z*}+U+V+Y+a+d+k,P,X,Y,],g,h,i,k,l,o,q,s,u,w,y,z-O-d-f-m-p-s.f.g/V/Z/s0c0d0e0f0h0i0j0k0n0rQ!nTQ#caQ#poU$Rt%c(SS$d!R$gQ$p!XQ$u!cQ$v!dQ$w!eQ$x!fQ$y!gQ$z!hQ%e!zQ%j#OQ%p#SQ%q#TQ&`#xQ'O$eQ'g$qQ(q&OU(|&h(}+cW)j&|)l+x+yQ*o'|Q*x(]Q+w)kQ,v+QR0g0lQ!yYQ!}ZQ$b!PQ$c!QQ%R!kQ't%S^'{%`%g(O(W*q*t*v^*f'p*h,k,l-p.g/ZQ*l'rQ*m'sQ+t)gQ,j*gQ,n*kQ-n,hQ-o,iQ-r,oQ.e-mR/Y.f[bOn#g$j)t,P!^!vYZ!P!Q!k%S%`%g'p'r's(O(W)g*g*h*k*q*t*v,h,i,k,l,o-m-p.f.g/ZQ#R[Q#fdS#wrxQ$UyW$_}$Q'P)pS$l!U$hW${!i'm*d,gS%v#[+Y`&P#d%|(p(r(z+a-O0kQ&a#yQ&b#{Q&c#}Q'j$}Q'z%^W([%l(^*y*}Q(`%nQ(i%wQ(v&ZS(y&_0iQ)P&jQ)Q&kU)]&u)^+kQ)d&xQ)y'WY)}'Z*O,X,Y-dQ*b'lS*n'w0jW+P(d*z,s,wW+T(g+V,y,zQ+p)eQ,U)zQ,c*YQ,x+UQ-P+dQ-e,]Q-v,uQ.S-fR/q/VhUOn#d#g$j%|&_'w(p(r)t,P%U!uYZ[drxy}!P!Q!U!i!k#[#y#{#}$Q$h$}%S%^%`%g%l%n%w&Z&j&k&u&x'P'W'Z'l'm'p'r's(O(W(^(d(g(z)^)e)g)p)z*O*Y*d*g*h*k*q*t*v*y*z*}+U+V+Y+a+d+k,X,Y,],g,h,i,k,l,o,s,u,w,y,z-O-d-f-m-p.f.g/V/Z0i0j0kQ#qpW%W!o!s0d0nQ%X!pQ%Y!qQ%[!tQ%f0cS'v%Z0hQ'x0eQ'y0fQ,p*rQ-u,qS.i-s/sR0p0rU#uq.k0qR(w&][cOn#g$j)t,PZ!xY#[#}$Q+YQ#W[Q#zrR$TxQ%b!yQ%i!}Q%o#RQ'j${Q(V%eQ(Z%jQ(c%pQ(f%qQ*|(`Q,f*bQ-t,pQ.m-uR/].lQ$StQ(R%cR*s(SQ.l-sR/}/sR#QZR#V[R%Q!iQ%O!iV*c'm*d,g!Z!lQ!n#c#p$R$d$p$u$v$w$x$y$z%e%j%p%q&`'O'g(q(|)j*o*x+w,v0gR%T!kT#]^#_Q%x#[R,{+YQ(m%xS+_(n(oQ,}+`Q-x,{S.n-y-zR/^.oT+Z(k+]Q$`}Q&g$QQ)o'PR+{)pQ$XzQ)W&qR+i)XQ$XzQ&o$WQ)W&qR+i)XQ#khW$Vz$W&q)XQ$[{Q&r$ZZ)R&l)S+f+g-RR$^|R)c&wXlOn)t,PQ$f!RR'Q$gQ$m!UR'R$hR*X'_Q*V'_V-g,`-h.TQ.d-lQ/P.^R/Q._U.]-l.^._Q/U.aQ/b.tQ/g.zU/i.|/j/yQ/n/RQ/|/oQ0O/tU0Q/u0S0[Q0]0UQ0a0ZR0b0^R/T.`R/d.t",nodeNames:"⚠ print Escape { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",maxTerm:277,context:se,nodeProps:[["isolate",-5,4,71,72,73,77,""],["group",-15,6,85,87,88,90,92,94,96,98,99,100,102,105,108,110,"Statement Statement",-22,8,18,21,25,40,49,50,56,57,60,61,62,63,64,67,70,71,72,79,80,81,82,"Expression",-10,114,116,119,121,122,126,128,133,135,138,"Statement",-9,143,144,147,148,150,151,152,153,154,"Pattern"],["openedBy",23,"(",54,"[",58,"{"],["closedBy",24,")",55,"]",59,"}"]],propSources:[pe],skippedNodes:[0,4],repeatNodeCount:34,tokenData:"!2|~R!`OX%TXY%oY[%T[]%o]p%Tpq%oqr'ars)Yst*xtu%Tuv,dvw-hwx.Uxy/tyz0[z{0r{|2S|}2p}!O3W!O!P4_!P!Q:Z!Q!R;k!R![>_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[le,te,Qe,Te,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:O=>qe[O]||-1}],tokenPrec:7668}),G=new nO,A=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function g(O){return(e,i,a)=>{if(a)return!1;let r=e.node.getChild("VariableName");return r&&i(r,O),!0}}const ge={FunctionDefinition:g("function"),ClassDefinition:g("class"),ForStatement(O,e,i){if(i){for(let a=O.node.firstChild;a;a=a.nextSibling)if(a.name=="VariableName")e(a,"variable");else if(a.name=="in")break}},ImportStatement(O,e){var i,a;let{node:r}=O,Q=((i=r.firstChild)===null||i===void 0?void 0:i.name)=="from";for(let t=r.getChild("import");t;t=t.nextSibling)t.name=="VariableName"&&((a=t.nextSibling)===null||a===void 0?void 0:a.name)!="as"&&e(t,Q?"variable":"namespace")},AssignStatement(O,e){for(let i=O.node.firstChild;i;i=i.nextSibling)if(i.name=="VariableName")e(i,"variable");else if(i.name==":"||i.name=="AssignOp")break},ParamList(O,e){for(let i=null,a=O.node.firstChild;a;a=a.nextSibling)a.name=="VariableName"&&(!i||!/\*|AssignOp/.test(i.name))&&e(a,"variable"),i=a},CapturePattern:g("variable"),AsPattern:g("variable"),__proto__:null};function N(O,e){let i=G.get(e);if(i)return i;let a=[],r=!0;function Q(t,o){let m=O.sliceString(t.from,t.to);a.push({label:m,type:o})}return e.cursor(rO.IncludeAnonymous).iterate(t=>{if(t.name){let o=ge[t.name];if(o&&o(t,Q,r)||!r&&A.has(t.name))return!1;r=!1}else if(t.to-t.from>8192){for(let o of N(O,t.node))a.push(o);return!1}}),G.set(e,a),a}const w=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,I=["String","FormatString","Comment","PropertyName"];function Pe(O){let e=K(O.state).resolveInner(O.pos,-1);if(I.indexOf(e.name)>-1)return null;let i=e.name=="VariableName"||e.to-e.from<20&&w.test(O.state.sliceDoc(e.from,e.to));if(!i&&!O.explicit)return null;let a=[];for(let r=e;r;r=r.parent)A.has(r.name)&&(a=a.concat(N(O.state.doc,r)));return{options:a,from:i?e.from:O.pos,validFor:w}}const $e=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(O=>({label:O,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(O=>({label:O,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(O=>({label:O,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(O=>({label:O,type:"function"}))),he=[d("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),d("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),d("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),d("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),d(`if \${}:
2
+
3
+ `,{label:"if",detail:"block",type:"keyword"}),d("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),d("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),d("import ${module}",{label:"import",detail:"statement",type:"keyword"}),d("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],ce=B(I,QO($e.concat(he)));function z(O){let{node:e,pos:i}=O,a=O.lineIndent(i,-1),r=null;for(;;){let Q=e.childBefore(i);if(Q)if(Q.name=="Comment")i=Q.from;else if(Q.name=="Body"||Q.name=="MatchBody")O.baseIndentFor(Q)+O.unit<=a&&(r=Q),e=Q;else if(Q.name=="MatchClause")e=Q;else if(Q.type.is("Statement"))e=Q;else break;else break}return r}function W(O,e){let i=O.baseIndentFor(e),a=O.lineAt(O.pos,-1),r=a.from+a.text.length;return/^\s*($|#)/.test(a.text)&&O.node.to<r+100&&!/\S/.test(O.state.sliceDoc(r,O.node.to))&&O.lineIndent(O.pos,-1)<=i||/^\s*(else:|elif |except |finally:|case\s+[^=:]+:)/.test(O.textAfter)&&O.lineIndent(O.pos,-1)>i?null:i+O.unit}const v=OO.define({name:"python",parser:me.configure({props:[eO.add({Body:O=>{var e;let i=/^\s*(#|$)/.test(O.textAfter)&&z(O)||O.node;return(e=W(O,i))!==null&&e!==void 0?e:O.continue()},MatchBody:O=>{var e;let i=z(O);return(e=W(O,i||O.node))!==null&&e!==void 0?e:O.continue()},IfStatement:O=>/^\s*(else:|elif )/.test(O.textAfter)?O.baseIndent:O.continue(),"ForStatement WhileStatement":O=>/^\s*else:/.test(O.textAfter)?O.baseIndent:O.continue(),TryStatement:O=>/^\s*(except[ :]|finally:|else:)/.test(O.textAfter)?O.baseIndent:O.continue(),MatchStatement:O=>/^\s*case /.test(O.textAfter)?O.baseIndent+O.unit:O.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":f({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":f({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":f({closing:"]"}),MemberExpression:O=>O.baseIndent+O.unit,"String FormatString":()=>null,Script:O=>{var e;let i=z(O);return(e=i&&W(O,i))!==null&&e!==void 0?e:O.continue()}}),iO.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":aO,Body:(O,e)=>({from:O.from+1,to:O.to-(O.to==e.doc.length?0:1)}),"String FormatString":(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function je(){return new M(v,[v.data.of({autocomplete:Pe}),v.data.of({autocomplete:ce})])}export{ce as globalCompletion,Pe as localCompletionSource,je as python,v as pythonLanguage};
@@ -1 +1 @@
1
- .toast-icon[data-v-33c0e27f]{font-size:1rem}.toast-message[data-v-33c0e27f]{flex:1}.toast-close[data-v-33c0e27f]{background:none;border:none;color:var(--color-text-soft);font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.toast-close[data-v-33c0e27f]:hover{color:var(--color-text)}.toast-enter-active[data-v-33c0e27f],.toast-leave-active[data-v-33c0e27f]{transition:all .3s ease}.toast-enter-from[data-v-33c0e27f],.toast-leave-to[data-v-33c0e27f]{opacity:0;transform:translate(100%)}.modal-backdrop[data-v-4efd7d7f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-4efd7d7f]{display:flex;flex-direction:column;background:var(--color-background-secondary, #1f2937);border-radius:.5rem;width:100%;max-width:450px;max-height:90vh;overflow:hidden;border:1px solid var(--color-border)}.modal-header[data-v-4efd7d7f]{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-title[data-v-4efd7d7f]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-4efd7d7f]{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn[data-v-4efd7d7f]:hover{color:var(--color-text)}.modal-body[data-v-4efd7d7f]{flex:1;overflow-y:auto;min-height:0;padding:1.5rem}.modal-footer[data-v-4efd7d7f]{flex-shrink:0;display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.stat-unavailable[data-v-4efd7d7f]{text-align:center;padding:2rem;color:var(--color-text-soft);font-size:1rem}.stat-details[data-v-4efd7d7f]{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.stat-percentage[data-v-4efd7d7f]{font-size:4rem;font-weight:700;line-height:1}.stat-bar-track[data-v-4efd7d7f]{width:100%;height:12px;background-color:var(--color-background-mute);border-radius:6px;overflow:hidden}.stat-bar-fill[data-v-4efd7d7f]{height:100%;border-radius:6px;transition:width .5s ease,background-color .3s ease}.stat-status-row[data-v-4efd7d7f]{display:flex;justify-content:center}.stat-status[data-v-4efd7d7f]{font-size:1rem;font-weight:600;padding:.25rem .75rem;border-radius:.25rem;background:#ffffff0d}.stat-detail-rows[data-v-4efd7d7f]{width:100%;display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.stat-detail-row[data-v-4efd7d7f]{display:flex;justify-content:space-between;align-items:center}.detail-label[data-v-4efd7d7f]{color:var(--color-text-soft);font-size:.95rem}.detail-value[data-v-4efd7d7f]{color:var(--color-text);font-weight:500;font-size:.95rem}.btn[data-v-4efd7d7f]{padding:.5rem 1rem;border-radius:.25rem;font-weight:500;cursor:pointer;border:none;font-size:.9rem;transition:opacity .2s,background-color .2s}.btn-secondary[data-v-4efd7d7f]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-4efd7d7f]:hover{background:var(--color-background-secondary)}.system-indicators[data-v-f8935b47]{display:flex;align-items:center;gap:.75rem;flex-shrink:1;min-width:0;overflow:hidden}.indicator[data-v-f8935b47]{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;flex-shrink:0}.indicator-icon[data-v-f8935b47]{color:var(--color-text-soft);flex-shrink:0}.indicator-bar-track[data-v-f8935b47]{width:28px;height:3px;background-color:var(--color-background-mute);border-radius:2px;overflow:hidden}@media (max-width: 480px){.system-indicators[data-v-f8935b47]{gap:.4rem}.indicator-icon[data-v-f8935b47]{width:10px;height:10px}.indicator-bar-track[data-v-f8935b47]{width:18px;height:2px}.indicator[data-v-f8935b47]{gap:2px}}.indicator-bar-fill[data-v-f8935b47]{height:100%;border-radius:2px;transition:width .5s ease,background-color .3s ease;max-width:100%}.connection-status-dot[data-v-f8935b47]{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.dot-amber[data-v-f8935b47]{background-color:var(--color-warning)}.dot-red[data-v-f8935b47]{background-color:var(--color-error)}.dot-pulse[data-v-f8935b47]{animation:status-dot-pulse-f8935b47 1.5s ease-in-out infinite}@keyframes status-dot-pulse-f8935b47{0%,to{opacity:1}50%{opacity:.3}}.connection-banner[data-v-2fc9161b]{position:sticky;top:var(--header-height-computed, 51px);z-index:99;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:500}.banner-warning[data-v-2fc9161b]{background-color:#d2992226;border-bottom:1px solid rgba(210,153,34,.3);color:var(--color-warning)}.banner-error[data-v-2fc9161b]{background-color:#f8514926;border-bottom:1px solid rgba(248,81,73,.3);color:var(--color-error)}.banner-dot[data-v-2fc9161b]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.banner-warning .banner-dot[data-v-2fc9161b]{background-color:var(--color-warning)}.banner-error .banner-dot[data-v-2fc9161b]{background-color:var(--color-error)}.dot-pulse[data-v-2fc9161b]{animation:pulse-2fc9161b 1.5s ease-in-out infinite}@keyframes pulse-2fc9161b{0%,to{opacity:1}50%{opacity:.3}}.banner-slide-enter-active[data-v-2fc9161b]{transition:all .3s ease-out}.banner-slide-leave-active[data-v-2fc9161b]{transition:all .2s ease-in}.banner-slide-enter-from[data-v-2fc9161b],.banner-slide-leave-to[data-v-2fc9161b]{transform:translateY(-100%);opacity:0}.app[data-v-f51d3e8c]{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-header[data-v-f51d3e8c]{background-color:var(--color-background-soft);border-bottom:1px solid var(--color-border);padding:5px 0!important;margin:0!important;display:flex;align-items:center;position:sticky;top:var(--viewport-offset-top, 0px);z-index:100;box-shadow:0 1px 3px #0000001a;padding-top:calc(5px + var(--safe-area-inset-top, 0px))!important}.app-header .container[data-v-f51d3e8c]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem!important;margin:0!important;max-width:100%;width:100%}.logo[data-v-f51d3e8c]{display:flex;align-items:center;gap:.5rem;padding:0!important;margin:0!important;line-height:0;text-decoration:none}.logo-image[data-v-f51d3e8c]{height:40px;width:auto;max-width:200px;display:block;margin:0!important;padding:0!important;transition:opacity .2s ease}.logo-text[data-v-f51d3e8c]{font-family:JetBrains Mono,Fira Code,Source Code Pro,Cascadia Code,Consolas,Courier New,monospace;font-size:1.1rem;font-weight:700;color:var(--color-text);letter-spacing:.02em;line-height:1;transition:opacity .2s ease}.logo:hover .logo-image[data-v-f51d3e8c],.logo:hover .logo-text[data-v-f51d3e8c]{opacity:.8}.nav[data-v-f51d3e8c]{display:flex;gap:1.5rem;align-items:center;flex-shrink:1;min-width:0}.nav-link[data-v-f51d3e8c]{color:var(--color-text-soft);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s ease;padding:.5rem 0;border-bottom:2px solid transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-link[data-v-f51d3e8c]:hover{color:var(--color-text)}.nav-link.router-link-active[data-v-f51d3e8c]{color:var(--color-primary);border-bottom-color:var(--color-primary)}@media (max-width: 480px){.nav[data-v-f51d3e8c]{gap:.75rem}}.app-main[data-v-f51d3e8c]{flex:1 0 auto;padding:0}:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--viewport-offset-top: 0px;--color-background: #0d1117;--color-background-soft: #161b22;--color-background-mute: #21262d;--color-border: #30363d;--color-text: #c9d1d9;--color-text-soft: #8b949e;--color-primary: #58a6ff;--color-primary-soft: #388bfd;--color-success: #3fb950;--color-warning: #d29922;--color-error: #f85149;--color-danger: #f85149;--color-info: #58a6ff;--border-radius: 6px;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--header-height: 51px;--header-height-with-safe-area: calc(var(--header-height) + var(--safe-area-inset-top))}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}button,a,input,select,textarea{touch-action:manipulation}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--color-background);color:var(--color-text);line-height:1.6;min-height:100vh;min-height:100dvh}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-background-soft);color:var(--color-text);font-size:.875rem;font-weight:500;transition:all .2s}.btn:hover{background-color:var(--color-background-mute)}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn.btn-primary:hover{background-color:var(--color-primary-soft)}.btn-danger{background-color:var(--color-error);border-color:var(--color-error);color:#fff}.btn.btn-danger:hover{background-color:var(--color-error);opacity:.9}.btn-outline-danger{background-color:transparent;border-color:var(--color-error);color:var(--color-error)}.btn.btn-outline-danger:hover{background-color:var(--color-error);color:#fff}.btn-secondary{background-color:var(--color-background-mute);border-color:var(--color-border);color:var(--color-text)}.btn.btn-secondary:hover{background-color:var(--color-border)}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.card{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:1rem}.form-group{margin-bottom:.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-background);color:var(--color-text)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #58a6ff4d}.form-textarea{min-height:100px;resize:vertical}.status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:var(--border-radius);font-size:.75rem;font-weight:500;text-transform:uppercase}.status-starting{background-color:#58a6ff33;color:var(--color-info)}.status-running{background-color:#3fb95033;color:var(--color-success)}.status-completed{background-color:#8b949e33;color:var(--color-text-soft)}.status-stopped{background-color:#f59e0b33;color:#f59e0b}.status-error{background-color:#f8514933;color:var(--color-error)}.status-scheduled{background-color:#22c5ff33;color:#22c5ff}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--color-background-soft) 25%,var(--color-background-mute) 50%,var(--color-background-soft) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--border-radius)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.tabs{display:flex;align-items:center;border-bottom:1px solid var(--color-border);margin-bottom:1rem;position:-webkit-sticky;position:sticky;top:calc(var(--header-height-computed, 51px) + var(--viewport-offset-top, 0px));background-color:var(--color-background);z-index:99;padding:.5rem .5rem 0}.tab{padding:.75rem 1rem;border:none;background:none;color:var(--color-text-soft);font-size:.875rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab.tab-back{color:var(--color-text-soft)}.tab.tab-back:hover{color:var(--color-text);border-bottom-color:transparent}.tab-separator{width:1px;background-color:var(--color-border);margin:.5rem .75rem;align-self:stretch}.tabs-desktop{display:flex}.tabs-mobile{display:none;flex:1}.tab-select{flex:1;width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-background-soft);color:var(--color-text);font-size:.875rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='%238b949e'%3E%3Cpath d='M2.5 4.5L6 8L9.5 4.5' stroke='%238b949e' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.tab-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #58a6ff4d}@media (max-width: 640px){.tabs-desktop{display:none}.tabs-mobile{display:flex}}pre,code{font-family:var(--font-mono);font-size:.875rem}pre{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:1rem;overflow-x:auto}.toast-container{position:fixed;top:1rem;right:1rem;z-index:1300;display:flex;flex-direction:column;gap:.5rem}.toast{padding:.75rem 1rem;border-radius:var(--border-radius);background-color:var(--color-background-soft);border:1px solid var(--color-border);box-shadow:0 4px 12px #0006;display:flex;align-items:center;gap:.5rem;min-width:250px;max-width:400px}.toast-success{border-color:var(--color-success)}.toast-error{border-color:var(--color-error)}.toast-warning{border-color:var(--color-warning)}.toast-info{border-color:var(--color-info)}.btn-link{background:none;border:none;color:var(--color-primary);font-size:.75rem;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:.25rem}.btn-link:hover:not(:disabled){text-decoration:underline}.btn-link:disabled{opacity:.5;cursor:not-allowed}.preview-toggle{padding:.25rem .5rem;font-size:.625rem;font-weight:500;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-soft);cursor:pointer;transition:all .2s ease}.preview-toggle:hover,.preview-toggle.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}
1
+ .toast-icon[data-v-33c0e27f]{font-size:1rem}.toast-message[data-v-33c0e27f]{flex:1}.toast-close[data-v-33c0e27f]{background:none;border:none;color:var(--color-text-soft);font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.toast-close[data-v-33c0e27f]:hover{color:var(--color-text)}.toast-enter-active[data-v-33c0e27f],.toast-leave-active[data-v-33c0e27f]{transition:all .3s ease}.toast-enter-from[data-v-33c0e27f],.toast-leave-to[data-v-33c0e27f]{opacity:0;transform:translate(100%)}.modal-backdrop[data-v-4efd7d7f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-4efd7d7f]{display:flex;flex-direction:column;background:var(--color-background-secondary, #1f2937);border-radius:.5rem;width:100%;max-width:450px;max-height:90vh;overflow:hidden;border:1px solid var(--color-border)}.modal-header[data-v-4efd7d7f]{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-title[data-v-4efd7d7f]{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.close-btn[data-v-4efd7d7f]{background:none;border:none;font-size:1.5rem;color:var(--color-text-soft);cursor:pointer;padding:0;line-height:1}.close-btn[data-v-4efd7d7f]:hover{color:var(--color-text)}.modal-body[data-v-4efd7d7f]{flex:1;overflow-y:auto;min-height:0;padding:1.5rem}.modal-footer[data-v-4efd7d7f]{flex-shrink:0;display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.stat-unavailable[data-v-4efd7d7f]{text-align:center;padding:2rem;color:var(--color-text-soft);font-size:1rem}.stat-details[data-v-4efd7d7f]{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.stat-percentage[data-v-4efd7d7f]{font-size:4rem;font-weight:700;line-height:1}.stat-bar-track[data-v-4efd7d7f]{width:100%;height:12px;background-color:var(--color-background-mute);border-radius:6px;overflow:hidden}.stat-bar-fill[data-v-4efd7d7f]{height:100%;border-radius:6px;transition:width .5s ease,background-color .3s ease}.stat-status-row[data-v-4efd7d7f]{display:flex;justify-content:center}.stat-status[data-v-4efd7d7f]{font-size:1rem;font-weight:600;padding:.25rem .75rem;border-radius:.25rem;background:#ffffff0d}.stat-detail-rows[data-v-4efd7d7f]{width:100%;display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.stat-detail-row[data-v-4efd7d7f]{display:flex;justify-content:space-between;align-items:center}.detail-label[data-v-4efd7d7f]{color:var(--color-text-soft);font-size:.95rem}.detail-value[data-v-4efd7d7f]{color:var(--color-text);font-weight:500;font-size:.95rem}.btn[data-v-4efd7d7f]{padding:.5rem 1rem;border-radius:.25rem;font-weight:500;cursor:pointer;border:none;font-size:.9rem;transition:opacity .2s,background-color .2s}.btn-secondary[data-v-4efd7d7f]{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary[data-v-4efd7d7f]:hover{background:var(--color-background-secondary)}.system-indicators[data-v-f8935b47]{display:flex;align-items:center;gap:.75rem;flex-shrink:1;min-width:0;overflow:hidden}.indicator[data-v-f8935b47]{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;flex-shrink:0}.indicator-icon[data-v-f8935b47]{color:var(--color-text-soft);flex-shrink:0}.indicator-bar-track[data-v-f8935b47]{width:28px;height:3px;background-color:var(--color-background-mute);border-radius:2px;overflow:hidden}@media (max-width: 480px){.system-indicators[data-v-f8935b47]{gap:.4rem}.indicator-icon[data-v-f8935b47]{width:10px;height:10px}.indicator-bar-track[data-v-f8935b47]{width:18px;height:2px}.indicator[data-v-f8935b47]{gap:2px}}.indicator-bar-fill[data-v-f8935b47]{height:100%;border-radius:2px;transition:width .5s ease,background-color .3s ease;max-width:100%}.connection-status-dot[data-v-f8935b47]{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.dot-amber[data-v-f8935b47]{background-color:var(--color-warning)}.dot-red[data-v-f8935b47]{background-color:var(--color-error)}.dot-pulse[data-v-f8935b47]{animation:status-dot-pulse-f8935b47 1.5s ease-in-out infinite}@keyframes status-dot-pulse-f8935b47{0%,to{opacity:1}50%{opacity:.3}}.connection-banner[data-v-2fc9161b]{position:sticky;top:var(--header-height-computed, 51px);z-index:99;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:500}.banner-warning[data-v-2fc9161b]{background-color:#d2992226;border-bottom:1px solid rgba(210,153,34,.3);color:var(--color-warning)}.banner-error[data-v-2fc9161b]{background-color:#f8514926;border-bottom:1px solid rgba(248,81,73,.3);color:var(--color-error)}.banner-dot[data-v-2fc9161b]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.banner-warning .banner-dot[data-v-2fc9161b]{background-color:var(--color-warning)}.banner-error .banner-dot[data-v-2fc9161b]{background-color:var(--color-error)}.dot-pulse[data-v-2fc9161b]{animation:pulse-2fc9161b 1.5s ease-in-out infinite}@keyframes pulse-2fc9161b{0%,to{opacity:1}50%{opacity:.3}}.banner-slide-enter-active[data-v-2fc9161b]{transition:all .3s ease-out}.banner-slide-leave-active[data-v-2fc9161b]{transition:all .2s ease-in}.banner-slide-enter-from[data-v-2fc9161b],.banner-slide-leave-to[data-v-2fc9161b]{transform:translateY(-100%);opacity:0}.app[data-v-f51d3e8c]{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-header[data-v-f51d3e8c]{background-color:var(--color-background-soft);border-bottom:1px solid var(--color-border);padding:5px 0!important;margin:0!important;display:flex;align-items:center;position:sticky;top:var(--viewport-offset-top, 0px);z-index:100;box-shadow:0 1px 3px #0000001a;padding-top:calc(5px + var(--safe-area-inset-top, 0px))!important}.app-header .container[data-v-f51d3e8c]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1rem!important;margin:0!important;max-width:100%;width:100%}.logo[data-v-f51d3e8c]{display:flex;align-items:center;gap:.5rem;padding:0!important;margin:0!important;line-height:0;text-decoration:none}.logo-image[data-v-f51d3e8c]{height:40px;width:auto;max-width:200px;display:block;margin:0!important;padding:0!important;transition:opacity .2s ease}.logo-text[data-v-f51d3e8c]{font-family:JetBrains Mono,Fira Code,Source Code Pro,Cascadia Code,Consolas,Courier New,monospace;font-size:1.1rem;font-weight:700;color:var(--color-text);letter-spacing:.02em;line-height:1;transition:opacity .2s ease}.logo:hover .logo-image[data-v-f51d3e8c],.logo:hover .logo-text[data-v-f51d3e8c]{opacity:.8}.nav[data-v-f51d3e8c]{display:flex;gap:1.5rem;align-items:center;flex-shrink:1;min-width:0}.nav-link[data-v-f51d3e8c]{color:var(--color-text-soft);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s ease;padding:.5rem 0;border-bottom:2px solid transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-link[data-v-f51d3e8c]:hover{color:var(--color-text)}.nav-link.router-link-active[data-v-f51d3e8c]{color:var(--color-primary);border-bottom-color:var(--color-primary)}@media (max-width: 480px){.nav[data-v-f51d3e8c]{gap:.75rem}}.app-main[data-v-f51d3e8c]{flex:1 0 auto;padding:0}:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--viewport-offset-top: 0px;--session-overlay-top-chrome-inset: 0px;--color-background: #0d1117;--color-background-soft: #161b22;--color-background-mute: #21262d;--color-border: #30363d;--color-text: #c9d1d9;--color-text-soft: #8b949e;--color-primary: #58a6ff;--color-primary-soft: #388bfd;--color-success: #3fb950;--color-warning: #d29922;--color-error: #f85149;--color-danger: #f85149;--color-info: #58a6ff;--border-radius: 6px;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--header-height: 51px;--header-height-with-safe-area: calc(var(--header-height) + var(--safe-area-inset-top))}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button,a,select,input[type=button],input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=file],input[type=hidden],input[type=image],input[type=month],input[type=radio],input[type=range],input[type=reset],input[type=submit],input[type=time],input[type=week]{touch-action:manipulation}textarea,input:not([type]),input[type=""],input[type=text],input[type=search],input[type=email],input[type=url],input[type=tel],input[type=password],input[type=number],[contenteditable],[contenteditable] *{touch-action:auto}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--color-background);color:var(--color-text);line-height:1.6;min-height:100vh;min-height:100dvh}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-background-soft);color:var(--color-text);font-size:.875rem;font-weight:500;transition:all .2s}.btn:hover{background-color:var(--color-background-mute)}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn.btn-primary:hover{background-color:var(--color-primary-soft)}.btn-danger{background-color:var(--color-error);border-color:var(--color-error);color:#fff}.btn.btn-danger:hover{background-color:var(--color-error);opacity:.9}.btn-outline-danger{background-color:transparent;border-color:var(--color-error);color:var(--color-error)}.btn.btn-outline-danger:hover{background-color:var(--color-error);color:#fff}.btn-secondary{background-color:var(--color-background-mute);border-color:var(--color-border);color:var(--color-text)}.btn.btn-secondary:hover{background-color:var(--color-border)}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.card{background-color:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:1rem}.form-group{margin-bottom:.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-background);color:var(--color-text)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #58a6ff4d}.form-textarea{min-height:100px;resize:vertical}.status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:var(--border-radius);font-size:.75rem;font-weight:500;text-transform:uppercase}.status-starting{background-color:#58a6ff33;color:var(--color-info)}.status-running{background-color:#3fb95033;color:var(--color-success)}.status-completed{background-color:#8b949e33;color:var(--color-text-soft)}.status-stopped{background-color:#f59e0b33;color:#f59e0b}.status-error{background-color:#f8514933;color:var(--color-error)}.status-scheduled{background-color:#22c5ff33;color:#22c5ff}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--color-background-soft) 25%,var(--color-background-mute) 50%,var(--color-background-soft) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--border-radius)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.tabs{display:flex;align-items:center;border-bottom:1px solid var(--color-border);margin-bottom:1rem;position:-webkit-sticky;position:sticky;top:calc(var(--header-height-computed, 51px) + var(--viewport-offset-top, 0px));background-color:var(--color-background);z-index:99;padding:.5rem .5rem 0}.tab{padding:.75rem 1rem;border:none;background:none;color:var(--color-text-soft);font-size:.875rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab.tab-back{color:var(--color-text-soft)}.tab.tab-back:hover{color:var(--color-text);border-bottom-color:transparent}.tab-separator{width:1px;background-color:var(--color-border);margin:.5rem .75rem;align-self:stretch}.tabs-desktop{display:flex}.tabs-mobile{display:none;flex:1}.tab-select{flex:1;width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-background-soft);color:var(--color-text);font-size:.875rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='%238b949e'%3E%3Cpath d='M2.5 4.5L6 8L9.5 4.5' stroke='%238b949e' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.tab-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #58a6ff4d}@media (max-width: 640px){.tabs-desktop{display:none}.tabs-mobile{display:flex}}pre,code{font-family:var(--font-mono);font-size:.875rem}pre{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:1rem;overflow-x:auto}.toast-container{position:fixed;top:1rem;right:1rem;z-index:1300;display:flex;flex-direction:column;gap:.5rem}.toast{padding:.75rem 1rem;border-radius:var(--border-radius);background-color:var(--color-background-soft);border:1px solid var(--color-border);box-shadow:0 4px 12px #0006;display:flex;align-items:center;gap:.5rem;min-width:250px;max-width:400px}.toast-success{border-color:var(--color-success)}.toast-error{border-color:var(--color-error)}.toast-warning{border-color:var(--color-warning)}.toast-info{border-color:var(--color-info)}.btn-link{background:none;border:none;color:var(--color-primary);font-size:.75rem;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:.25rem}.btn-link:hover:not(:disabled){text-decoration:underline}.btn-link:disabled{opacity:.5;cursor:not-allowed}.preview-toggle{padding:.25rem .5rem;font-size:.625rem;font-weight:500;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-soft);cursor:pointer;transition:all .2s ease}.preview-toggle:hover,.preview-toggle.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}
@@ -0,0 +1 @@
1
+ import{a as l,r as i,L as n,i as m,c as $,f as y,l as P,e as X,E as S,s as c,t as O}from"./index-MZf7MlPX.js";import"./index-CvXApbVC.js";import"./SessionDetailView-DWbXdx7A.js";import"./sessions-DETEyjPI.js";import"./ApiClient-DfbJwzpz.js";import"./projects-BvLADGKx.js";import"./EffortLevelSelector-PaBpUveC.js";import"./SessionLogStream-BvXUNNBZ.js";import"./commandButtons-DejH0rVN.js";import"./SlashCommandWizard-DleYBxrE.js";import"./providers-DZ-fOa4G.js";import"./useSummaryHelpers-GVg7sMWF.js";import"./ModelSelector-Cko_yTO5.js";import"./ArchiveConfirmModal-DJERn5XO.js";import"./projectDefaults-D9xkp2XR.js";import"./QuickResponsesPanel-Dp39f12o.js";import"./ResizableTextarea-BWywIqOv.js";const s=110,o=1,f=2,t=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function e(T){return T>=65&&T<=90||T>=97&&T<=122||T>=161}function p(T){return T>=48&&T<=57}const W=new S((T,Q)=>{if(T.next==40){let a=T.peek(-1);(e(a)||p(a)||a==95||a==45)&&T.acceptToken(f,1)}}),d=new S(T=>{if(t.indexOf(T.peek(-1))>-1){let{next:Q}=T;(e(Q)||Q==95||Q==35||Q==46||Q==91||Q==58||Q==45)&&T.acceptToken(s)}}),Z=new S(T=>{if(t.indexOf(T.peek(-1))<0){let{next:Q}=T;if(Q==37&&(T.advance(),T.acceptToken(o)),e(Q)){do T.advance();while(e(T.next));T.acceptToken(o)}}}),w=c({"import charset namespace keyframes media supports when":O.definitionKeyword,"from to selector":O.keyword,NamespaceName:O.namespace,KeyframeName:O.labelName,TagName:O.tagName,ClassName:O.className,PseudoClassName:O.constant(O.className),IdName:O.labelName,"FeatureName PropertyName PropertyVariable":O.propertyName,AttributeName:O.attributeName,NumberLiteral:O.number,KeywordQuery:O.keyword,UnaryQueryOp:O.operatorKeyword,"CallTag ValueName":O.atom,VariableName:O.variableName,"AtKeyword Interpolation":O.special(O.variableName),Callee:O.operatorKeyword,Unit:O.unit,"UniversalSelector NestingSelector":O.definitionOperator,MatchOp:O.compareOperator,"ChildOp SiblingOp, LogicOp":O.logicOperator,BinOp:O.arithmeticOperator,Important:O.modifier,"Comment LineComment":O.blockComment,ColorLiteral:O.color,"ParenthesizedContent StringLiteral":O.string,Escape:O.special(O.string),": ...":O.punctuation,"PseudoOp #":O.derefOperator,"; ,":O.separator,"( )":O.paren,"[ ]":O.squareBracket,"{ }":O.brace}),z={__proto__:null,lang:40,"nth-child":40,"nth-last-child":40,"nth-of-type":40,"nth-last-of-type":40,dir:40,"host-context":40,and:244,or:244,not:74,only:74,url:86,"url-prefix":86,domain:86,regexp:86,when:117,selector:142,from:172,to:174},h={__proto__:null,"@import":126,"@plugin":126,"@media":152,"@charset":156,"@namespace":160,"@keyframes":166,"@supports":178},g=X.deserialize({version:14,states:"@^O!gQWOOO!nQaO'#CeOOQP'#Cd'#CdO$RQWO'#CgO$xQaO'#EaO%cQWO'#CiO%kQWO'#DZO%pQWO'#D^O%uQaO'#DfOOQP'#Es'#EsO'YQWO'#DlO'yQWO'#DyO(QQWO'#D{O(xQWO'#D}O)TQWO'#EQO'bQWO'#EWO)YQ`O'#FTO)]Q`O'#FTO)hQ`O'#FTO)vQWO'#EYOOQO'#Er'#ErOOQO'#FV'#FVOOQO'#Ec'#EcO){QWO'#EqO*WQWO'#EqQOQWOOOOQP'#Ch'#ChOOQP,59R,59RO$RQWO,59RO*bQWO'#EdO+PQWO,58|O+_QWO,59TO%kQWO,59uO%pQWO,59xO*bQWO,59{O*bQWO,59}OOQO'#De'#DeO*bQWO,5:OO,bQpO'#E}O,iQWO'#DkOOQO,58|,58|O(QQWO,58|O,pQWO,5:{OOQO,5:{,5:{OOQT'#Cl'#ClO-UQeO,59TO.cQ[O,59TOOQP'#D]'#D]OOQP,59u,59uOOQO'#D_'#D_O.hQpO,59xOOQO'#EZ'#EZO.pQ`O,5;oOOQO,5;o,5;oO/OQWO,5:WO/VQWO,5:WOOQS'#Dn'#DnO/rQWO'#DsO/yQ!fO'#FRO0eQWO'#DtOOQS'#FS'#FSO+YQWO,5:eO'bQWO'#DrOOQS'#Cu'#CuO(QQWO'#CwO0jQ!hO'#CyO2^Q!fO,5:gO2oQWO'#DWOOQS'#Ex'#ExO(QQWO'#DQOOQO'#EP'#EPO2tQWO,5:iO2yQWO,5:iOOQO'#ES'#ESO3RQWO,5:lO3WQ!fO,5:rO3iQ`O'#EkO.pQ`O,5;oOOQO,5:|,5:|O3zQWO,5:tOOQO,5:},5:}O4XQWO,5;]OOQO-E8a-E8aOOQP1G.m1G.mOOQP'#Ce'#CeO5RQaO,5;OOOQP'#Df'#DfOOQO-E8b-E8bOOQO1G.h1G.hO(QQWO1G.hO5fQWO1G.hO5nQeO1G.oO.cQ[O1G.oOOQP1G/a1G/aO6{QpO1G/dO7fQaO1G/gO8cQaO1G/iO9`QaO1G/jO:]Q!fO'#FOO:yQ!fO'#ExOOQO'#FO'#FOOOQO,5;i,5;iO<^QWO,5;iO<iQWO,5:VO<nQ!fO1G.hOOQO1G0g1G0gO=PQWO'#CnOOQP1G.o1G.oO=WQWO'#CqOOQP1G/d1G/dO(QQWO1G/dO=_Q`O1G1ZOOQO1G1Z1G1ZO=mQWO1G/rO=rQ!fO'#FQO>WQWO1G/rO>]Q!fO'#DnO>qQWO,5:ZO>vQ!fO,5:_OOQO'#DP'#DPO'bQWO,5:]O?XQWO'#DwOOQS,5:b,5:bO?`QWO,5:dO'bQWO'#EiO?gQWO,5;mO*bQWO,5:`OOQO1G0P1G0PO?uQ!fO,5:^O@aQ!fO,59cOOQS,59e,59eO(QQWO,59iOOQS,59n,59nO@rQWO,59pOOQO1G0R1G0RO@yQ#tO,59rOARQ!fO,59lOOQO1G0T1G0TOBrQWO1G0TOBwQWO'#ETOOQO1G0W1G0WOOQO1G0^1G0^OOQO,5;V,5;VOOQO-E8i-E8iOCVQ!fO1G0bOCvQWO1G0`O%kQWO'#E_O$RQWO'#E`OEZQWO'#E^OOQO1G0b1G0bPEkQWO'#EcO<nQ!fO7+$SOOQO7+$S7+$SO(QQWO7+$SOOQP7+$Z7+$ZOOQP7+%O7+%OO(QQWO7+%OOEpQ!fO'#EeOF}QWO,5;jO(QQWO,5;jOOQO,5;j,5;jO+gQpO'#EgOG[QWO1G1TOOQO1G1T1G1TOOQO1G/q1G/qOGgQaO'#EvOGnQWO,59YOGsQWO'#EwOG}QWO,59]OHSQ!fO7+%OOOQO7+&u7+&uOOQO7+%^7+%^O(QQWO'#EhOHeQWO,5;lOHmQWO7+%^O(QQWO1G/uOOQS1G/y1G/yOOQS1G/w1G/wOHrQWO,5:cOHwQ!fO1G0OOOQS1G0O1G0OOIYQ!fO,5;TOOQO-E8g-E8gOItQaO1G/zOOQS1G.}1G.}OOQS1G/T1G/TOI{Q!fO1G/[OOQS1G/[1G/[OJ^QWO1G/^OOQO7+%o7+%oOJcQYO'#CyO+YQWO'#EjOJkQWO,5:oOOQO,5:o,5:oOJyQ!fO'#ElO(QQWO'#ElOL^QWO7+%|OOQO7+%|7+%|OOQO7+%z7+%zOOQO,5:y,5:yOOQO,5:z,5:zOLqQaO,5:xOOQO,5:x,5:xOOQO<<Gn<<GnO<nQ!fO<<GnOMRQ!fO<<HjOOQO-E8c-E8cOMdQWO1G1UOOQO,5;R,5;ROOQO-E8e-E8eOOQO7+&o7+&oOMqQWO,5;bOOQP1G.t1G.tO(QQWO'#EfOMyQWO,5;cOOQT1G.w1G.wOOQP<<Hj<<HjONRQ!fO,5;SOOQO-E8f-E8fO/OQWO<<HxONgQWO7+%aOOQS1G/}1G/}OOQS7+%j7+%jOOQS7+%f7+%fOOQS7+$v7+$vOOQS7+$x7+$xOOQO,5;U,5;UOOQO-E8h-E8hOOQO1G0Z1G0ZONnQ!fO,5;WOOQO-E8j-E8jOOQO<<Ih<<IhOOQO1G0d1G0dOOQOAN=YAN=YOOQPAN>UAN>UO!!RQWO,5;QOOQO-E8d-E8dO!!]QWOAN>dOOQS<<H{<<H{OOQOG24OG24O",stateData:"!!n~O#dOSROSSOS~OVXOYXO^TO_TOfaOgbOoaOpWOyVO!OUO!aYO!nZO!p[O!r]O!u^O!{_O#hPO#iRO~O#a#eP~P]O^XX^!}X_XXcXXjXXp!}XyXX!OXX!UXX!ZXX![XX!^XX#PXX#aXX#bXX#iXX#oXX#pXX#p!}X#x!}X!]XX~O#hjO~O^oO_oOcmOyqO!OpO!UrO#bsO#ilO#otO#ptO~OjvO![yO!^wO#P{O!Z#TX#a#TX!]#TX~P$WOd!OO#h|O~O#h!PO~O#h!RO~O#h!TO#p!VO#x!VO^!YX^#wX_!YXc!YXj!YXy!YX!O!YX!U!YX!Z!YX![!YX!^!YX#P!YX#a!YX#b!YX#i!YX#o!YX#p!YX!]!YX~Oj!XOn!WO~Og!^Oj!ZOo!^Op!^Ou!`O!i!]O#h!YO~O!^#uP~P'bOf!fOg!fOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO~On!iO{!eO#h!hO~O#h!kO~Op!nO#p!VO#x!VO^#wX~OjvO#p!VO#x!VO^#wX~O^!qO~O!Z!rO#a#eX!]#eX~O#a#eX!]#eX~P]OVXOYXO^TO_TOp!xOyVO!OUO#h!vO#iRO~OcmOjvO![!{O!^wO~Od#OO#h|O~Of!fOg#VOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO#s#WO~Oa#XO~P+gO!]#eP~P]O![!{O!^wO#P#]O!Z#Ta#a#Ta!]#Ta~OQ#^O^]a_]ac]aj]ay]a!O]a!U]a!Z]a![]a!^]a#P]a#a]a#b]a#i]a#o]a#p]a!]]aa]a~OQ#`O~Ow#aO!S#bO~Op!nO#p#dO#x#dO^#wa~O!Z#uP~P'bOa#tP~P(QOg!^Oj!ZOo!^Op!^Ou!`O!i!]O~O#h#hO~P/^OQ#mOc#pOr#lOy#oO#n#kO!^#uX!Z#uXa#uX~Oj#rO~OP#vOQmXrmXymX!ZmX#nmX^mXamXcmXfmXgmXhmXjmXlmXnmXomXpmXumX{mX#hmX#mmX!^mX#PmX#amXwmX!]mX~OQ#`Or#wOy#yO!Z#zO#n#kO~Oj#{O~O!Z#}O~On$OO{!eO~O!^$PO~OQ#mOr#lOy#oO!^wO#n#kO~O#h!TO^#_Xp#_X#p#_X#x#_X~O!O$WO!^wO#i$XO~P(QO!Z!rO#a#ea!]#ea~O^oO_oOyqO!OpO!UrO#bsO#ilO#otO#ptO~Oc#Waj#Wa![#Wa!^#Waa#Wa~P4dO![$_O!^wO~OQ#^O^]i_]ic]ij]iy]i!O]i!U]i!Z]i![]i!^]i#P]i#a]i#b]i#i]i#o]i#p]i!]]ia]i~Ow$aO!S$bO~O^oO_oOyqO!OpO#ilO~Oc!Tij!Ti!U!Ti!Z!Ti![!Ti!^!Ti#P!Ti#a!Ti#b!Ti#o!Ti#p!Ti!]!Tia!Ti~P7TOc!Vij!Vi!U!Vi!Z!Vi![!Vi!^!Vi#P!Vi#a!Vi#b!Vi#o!Vi#p!Vi!]!Via!Vi~P7TOc!Wij!Wi!U!Wi!Z!Wi![!Wi!^!Wi#P!Wi#a!Wi#b!Wi#o!Wi#p!Wi!]!Wia!Wi~P7TOQ#`O^$eOr#wOy#yO#n#kOa#rXc#rX!Z#rX~P(QO#s$fOQ#lX^#lXa#lXc#lXf#lXg#lXh#lXj#lXl#lXn#lXo#lXp#lXr#lXu#lXy#lX{#lX!Z#lX#h#lX#m#lX#n#lX~Oa$iOc$gO!Z$gO~O!]$jO~OQ#`Or#wOy#yO!^wO#n#kO~Oa#jP~P*bOa#kP~P(QOp!nO#p$pO#x$pO^#wi~O!Z$qO~OQ#`Oc$rOr#wOy#yO#n#kOa#tX~Oa$tO~OQ!bX^!dXa!bXr!bXy!bX#n!bX~O^$uO~OQ#mOa$vOr#lOy#oO#n#kO~Oa#uP~P'bOw$zO~P(QOc#pO!^#ua!Z#uaa#ua~OQ#mOr#lOy#oO#n#kOc!fa!^!fa!Z!faa!fa~OQ#`Oa%OOr#wOy#yO#n#kO~Ow%RO~P(QOn%SO|%SO~OQ#`Or#wOy#yO#n#kO!Zta^taatactaftagtahtajtaltantaotaptauta{ta#hta#mta!^ta#Pta#atawta!]ta~O!Z%TO~O!]%XO!x%VO!y%VO#m%UO~OQ#`Oc%ZOr#wOy#yO#P%]O#n#kO!Z#Oi#a#Oi!]#Oi~P(QO!Z%^OV!|iY!|i^!|i_!|if!|ig!|io!|ip!|iy!|i!O!|i!a!|i!n!|i!p!|i!r!|i!u!|i!{!|i#a!|i#h!|i#i!|i!]!|i~OjvO!Z#QX#a#QX!]#QX~P*bO!Z!rO~OQ#`Or#wOy#yO#n#kOa#XXc#XXf#XXg#XXh#XXj#XXl#XXn#XXo#XXp#XXu#XX{#XX!Z#XX#h#XX#m#XX~Oa#rac#ra!Z#ra~P(QOa%jOc$gO!Z$gO~Oa#jX~P$WOa%lO~Oc%mOa#kX~P(QOa%oO~OQ#`Or#wOw%pOy#yO#n#kO~Oc$rOa#ta~On%sO~Oa%uO~OQ#`Or#wOw%vOy#yO#n#kO~OQ#mOr#lOy#oO#n#kOc#]a!^#]a!Z#]aa#]a~Oa%wO~P4dOQ#`Or#wOw%xOy#yO#n#kO~Oa%yO~OP#vO!^mX~O!]%|O!x%VO!y%VO#m%UO~OQ#`Or#wOy#yO#n#kOc#`Xf#`Xg#`Xh#`Xj#`Xl#`Xn#`Xo#`Xp#`Xu#`X{#`X!Z#`X#P#`X#a#`X#h#`X#m#`X!]#`X~Oc%ZO#P&PO!Z#Oq#a#Oq!]#Oq~P(QOjvO!Z#Qa#a#Qa!]#Qa~P4dOQ#`Or#wOw&SOy#yO#n#kO~Oa#ric#ri!Z#ri~P(QOcmOa#ja~Oc%mOa#ka~OQ#`Or#wOy#yO#n#kOa#[ac#[a~Oa&WO~P(QOQ#`Or#wOy#yO#n#kOc#`af#`ag#`ah#`aj#`al#`an#`ao#`ap#`au#`a{#`a!Z#`a#P#`a#a#`a#h#`a#m#`a!]#`a~Oa#Yac#Ya~P(QO!Z&XO~Of#dpg#m|#iRSRr~",goto:"0^#zPPPPPP#{P$Q$^P$Q$j$QPP$sP$yPP%PPPP%jP%jP&ZPPP%jP'O%jP%jP%jP'jPP$QP(a$Q(jP$QP$Q$Q(p$QPPPP(w#{P)f)f)q)f)f)f)fP)f)t)f#{P#{P#{P){#{P*O*RPP#{P#{*U*aP*f*i*i*a*a*l*s*}+e+k+q+w+},T,_PPPP,e,k,pPP-[-_-bPPPP.u/UP/[/_/k0QP0VVdOhweXOhmrsuw#^#r$YeQOhmrsuw#^#r$YQkRQ!ulR%`$XQ}TR!}oQ#_}R$`!}Q#_!Or#x!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}R$`#O!]!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&T![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TT%V$P%WY#l![!m#j#t${s#w!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TQ!i]R$O!jQ!QUQ#PpR%_$WQ!SVR#QqZuS!w$k$}%aQxSS!znzQ#s!_Q$R!mQ$V!qS$^!|#[Q%c$]Q%z%VR&R%dc!^Z_!W!Z!`#l#m#p%sR#i!ZZ#n![!m#j#t${R!j]R!l^R$Q!lU`OhwQ!UWR$S!nVeOhwR$Z!qR$Y!qShOwR!thQnSS!yn%kR%k$kQ$d#UQ$m#`Y%f$d$m%g%t&TQ%g$eQ%t$uR&T%mQ%n$mR&U%nQ$h#YR%i$hQ$s#fR%r$sQ#q![R$|#qQ%W$PR%{%WQ!o`Q#c!UT$T!o#cQ%[$UR&O%[QiOR#ZwVfOhwUSOhwQ!wmQ#RrQ#SsQ#TuQ$k#^Q$}#rR%a$YR$l#^R$n#`Q!d[S#Uv$gQ#[yQ#f!XQ#u!bQ#|!gQ$U!qQ$]!{d$c#U#`$d$e$m$u%g%m%t&TQ$o#bQ$y#oQ%P#wQ%Q#yS%Y$U%[Q%d$_Q%e$bQ%q$rR%}%ZQzSQ!pbQ!|nQ%b$YR&Q%aQ#YvR%h$gR#g!XQ!_ZQ#e!WQ$x#mR&V%sW![Z!W#m%sQ!m_Q#j!ZQ#t!`Q$w#lR${#pVcOhwSgOwR!sh",nodeNames:"⚠ Unit ( Comment LineComment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName ) ArgList , PseudoClassName ArgList VariableName AtKeyword PropertyVariable ValueName ( ParenthesizedValue ColorLiteral NumberLiteral StringLiteral Escape Interpolation BinaryExpression BinOp LogicOp UnaryExpression UnaryQueryOp CallExpression ] SubscriptExpression [ CallLiteral CallTag ParenthesizedContent IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp InterpolatedSelector ; when } { Block ImportStatement import KeywordQuery FeatureQuery FeatureName BinaryQuery UnaryQuery ParenthesizedQuery SelectorQuery selector CallQuery ArgList SubscriptQuery MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList from to SupportsStatement supports DetachedRuleSet PropertyName Declaration Important Inclusion IdSelector ClassSelector Inclusion CallExpression",maxTerm:133,nodeProps:[["isolate",-3,3,4,30,""],["openedBy",17,"(",59,"{"],["closedBy",26,")",60,"}"]],propSources:[w],skippedNodes:[0,3,4],repeatNodeCount:10,tokenData:"!2q~R!ZOX$tX^%l^p$tpq%lqr)Ors-xst/ltu6Zuv$tvw8^wx:Uxy;syz<Uz{<Z{|<t|}BQ}!OBc!O!PDo!P!QFY!Q![Jw![!]Kr!]!^Ln!^!_MP!_!`M{!`!aNl!a!b$t!b!c! m!c!}!&R!}#O!'y#O#P$t#P#Q!([#Q#R!(m#R#T$t#T#o!&R#o#p!)S#p#q!(m#q#r!)e#r#s!)v#s#y$t#y#z%l#z$f$t$f$g%l$g#BY$t#BY#BZ%l#BZ$IS$t$IS$I_%l$I_$I|$t$I|$JO%l$JO$JT$t$JT$JU%l$JU$KV$t$KV$KW%l$KW&FU$t&FU&FV%l&FV;'S$t;'S;=`!2k<%lO$t`$wSOy%Tz;'S%T;'S;=`%f<%lO%T`%YS|`Oy%Tz;'S%T;'S;=`%f<%lO%T`%iP;=`<%l%T~%qh#d~OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%T~'dh#d~|`OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%Tk)RUOy%Tz#]%T#]#^)e#^;'S%T;'S;=`%f<%lO%Tk)jU|`Oy%Tz#a%T#a#b)|#b;'S%T;'S;=`%f<%lO%Tk*RU|`Oy%Tz#d%T#d#e*e#e;'S%T;'S;=`%f<%lO%Tk*jU|`Oy%Tz#c%T#c#d*|#d;'S%T;'S;=`%f<%lO%Tk+RU|`Oy%Tz#f%T#f#g+e#g;'S%T;'S;=`%f<%lO%Tk+jU|`Oy%Tz#h%T#h#i+|#i;'S%T;'S;=`%f<%lO%Tk,RU|`Oy%Tz#T%T#T#U,e#U;'S%T;'S;=`%f<%lO%Tk,jU|`Oy%Tz#b%T#b#c,|#c;'S%T;'S;=`%f<%lO%Tk-RU|`Oy%Tz#h%T#h#i-e#i;'S%T;'S;=`%f<%lO%Tk-lS#PZ|`Oy%Tz;'S%T;'S;=`%f<%lO%T~-{WOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f<%lO-x~.jOn~~.mRO;'S-x;'S;=`.v;=`O-x~.yXOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f;=`<%l-x<%lO-x~/iP;=`<%l-xo/qY!OROy%Tz!Q%T!Q![0a![!c%T!c!i0a!i#T%T#T#Z0a#Z;'S%T;'S;=`%f<%lO%Tm0fY|`Oy%Tz!Q%T!Q![1U![!c%T!c!i1U!i#T%T#T#Z1U#Z;'S%T;'S;=`%f<%lO%Tm1ZY|`Oy%Tz!Q%T!Q![1y![!c%T!c!i1y!i#T%T#T#Z1y#Z;'S%T;'S;=`%f<%lO%Tm2QYl]|`Oy%Tz!Q%T!Q![2p![!c%T!c!i2p!i#T%T#T#Z2p#Z;'S%T;'S;=`%f<%lO%Tm2wYl]|`Oy%Tz!Q%T!Q![3g![!c%T!c!i3g!i#T%T#T#Z3g#Z;'S%T;'S;=`%f<%lO%Tm3lY|`Oy%Tz!Q%T!Q![4[![!c%T!c!i4[!i#T%T#T#Z4[#Z;'S%T;'S;=`%f<%lO%Tm4cYl]|`Oy%Tz!Q%T!Q![5R![!c%T!c!i5R!i#T%T#T#Z5R#Z;'S%T;'S;=`%f<%lO%Tm5WY|`Oy%Tz!Q%T!Q![5v![!c%T!c!i5v!i#T%T#T#Z5v#Z;'S%T;'S;=`%f<%lO%Tm5}Sl]|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm6^YOy%Tz!_%T!_!`6|!`!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Td7TS!SS|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm7h[h]|`Oy%Tz}%T}!O7a!O!Q%T!Q![7a![!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Ta8c[YPOy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%Ta9`[YP|`Oy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%T~:XWOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m<%lO:U~:tRO;'S:U;'S;=`:};=`O:U~;QXOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m;=`<%l:U<%lO:U~;pP;=`<%l:Uo;xSj_Oy%Tz;'S%T;'S;=`%f<%lO%T~<ZOa~m<bUVPrWOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%To<{Y#pQrWOy%Tz!O%T!O!P=k!P!Q%T!Q![@p![#R%T#R#SAm#S;'S%T;'S;=`%f<%lO%Tm=pU|`Oy%Tz!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%Tm>ZY#m]|`Oy%Tz!Q%T!Q![>S![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%Tm?OY|`Oy%Tz{%T{|?n|}%T}!O?n!O!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm?sU|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@^U#m]|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@w[#m]|`Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TbAtS#xQ|`Oy%Tz;'S%T;'S;=`%f<%lO%TkBVScZOy%Tz;'S%T;'S;=`%f<%lO%TmBhXrWOy%Tz}%T}!OCT!O!P=k!P!Q%T!Q![@p![;'S%T;'S;=`%f<%lO%TmCYW|`Oy%Tz!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%TmCy[f]|`Oy%Tz}%T}!OCr!O!Q%T!Q![Cr![!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%ToDtW#iROy%Tz!O%T!O!PE^!P!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%TlEcU|`Oy%Tz!O%T!O!PEu!P;'S%T;'S;=`%f<%lO%TlE|S#s[|`Oy%Tz;'S%T;'S;=`%f<%lO%T~F_VrWOy%Tz{Ft{!P%T!P!QIl!Q;'S%T;'S;=`%f<%lO%T~FyU|`OyFtyzG]z{Hd{;'SFt;'S;=`If<%lOFt~G`TOzG]z{Go{;'SG];'S;=`H^<%lOG]~GrVOzG]z{Go{!PG]!P!QHX!Q;'SG];'S;=`H^<%lOG]~H^OR~~HaP;=`<%lG]~HiW|`OyFtyzG]z{Hd{!PFt!P!QIR!Q;'SFt;'S;=`If<%lOFt~IYS|`R~Oy%Tz;'S%T;'S;=`%f<%lO%T~IiP;=`<%lFt~IsV|`S~OYIlYZ%TZyIlyzJYz;'SIl;'S;=`Jq<%lOIl~J_SS~OYJYZ;'SJY;'S;=`Jk<%lOJY~JnP;=`<%lJY~JtP;=`<%lIlmJ|[#m]Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TkKwU^ZOy%Tz![%T![!]LZ!];'S%T;'S;=`%f<%lO%TcLbS_R|`Oy%Tz;'S%T;'S;=`%f<%lO%TkLsS!ZZOy%Tz;'S%T;'S;=`%f<%lO%ThMUUrWOy%Tz!_%T!_!`Mh!`;'S%T;'S;=`%f<%lO%ThMoS|`rWOy%Tz;'S%T;'S;=`%f<%lO%TlNSW!SSrWOy%Tz!^%T!^!_Mh!_!`%T!`!aMh!a;'S%T;'S;=`%f<%lO%TjNsV!UQrWOy%Tz!_%T!_!`Mh!`!a! Y!a;'S%T;'S;=`%f<%lO%Tb! aS!UQ|`Oy%Tz;'S%T;'S;=`%f<%lO%To! rYg]Oy%Tz!b%T!b!c!!b!c!}!#R!}#T%T#T#o!#R#o#p!$O#p;'S%T;'S;=`%f<%lO%Tm!!iWg]|`Oy%Tz!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%Tm!#Y[g]|`Oy%Tz}%T}!O!#R!O!Q%T!Q![!#R![!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%To!$TW|`Oy%Tz!c%T!c!}!$m!}#T%T#T#o!$m#o;'S%T;'S;=`%f<%lO%To!$r^|`Oy%Tz}%T}!O!$m!O!Q%T!Q![!$m![!c%T!c!}!$m!}#T%T#T#o!$m#o#q%T#q#r!%n#r;'S%T;'S;=`%f<%lO%To!%uSp_|`Oy%Tz;'S%T;'S;=`%f<%lO%To!&W[#h_Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%To!'T[#h_|`Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%Tk!(OSyZOy%Tz;'S%T;'S;=`%f<%lO%Tm!(aSw]Oy%Tz;'S%T;'S;=`%f<%lO%Td!(pUOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tk!)XS!^ZOy%Tz;'S%T;'S;=`%f<%lO%Tk!)jS!]ZOy%Tz;'S%T;'S;=`%f<%lO%To!){Y#oQOr%Trs!*ksw%Twx!.wxy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tm!*pZ|`OY!*kYZ%TZr!*krs!+csy!*kyz!+vz#O!*k#O#P!-j#P;'S!*k;'S;=`!.q<%lO!*km!+jSo]|`Oy%Tz;'S%T;'S;=`%f<%lO%T]!+yWOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d<%lO!+v]!,hOo]]!,kRO;'S!+v;'S;=`!,t;=`O!+v]!,wXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!+v<%lO!+v]!-gP;=`<%l!+vm!-oU|`Oy!*kyz!+vz;'S!*k;'S;=`!.R;=`<%l!+v<%lO!*km!.UXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!*k<%lO!+vm!.tP;=`<%l!*km!.|Z|`OY!.wYZ%TZw!.wwx!+cxy!.wyz!/oz#O!.w#O#P!1^#P;'S!.w;'S;=`!2e<%lO!.w]!/rWOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W<%lO!/o]!0_RO;'S!/o;'S;=`!0h;=`O!/o]!0kXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!/o<%lO!/o]!1ZP;=`<%l!/om!1cU|`Oy!.wyz!/oz;'S!.w;'S;=`!1u;=`<%l!/o<%lO!.wm!1xXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!.w<%lO!/om!2hP;=`<%l!.w`!2nP;=`<%l$t",tokenizers:[d,Z,W,0,1,2,3,4],topRules:{StyleSheet:[0,5]},specialized:[{term:116,get:T=>z[T]||-1},{term:23,get:T=>h[T]||-1}],tokenPrec:2180}),r=n.define({name:"less",parser:g.configure({props:[m.add({Declaration:$()}),y.add({Block:P})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*\}$/,wordChars:"@-"}}),u=i(T=>T.name=="VariableName"||T.name=="AtKeyword");function D(){return new l(r,r.data.of({autocomplete:u}))}export{D as less,u as lessCompletionSource,r as lessLanguage};
@@ -0,0 +1 @@
1
+ import{e as W,E as S,C as B,s as U,t as n,a as m,q as E,L as C,i as u,k as v,f as M,l as N}from"./index-MZf7MlPX.js";import"./index-CvXApbVC.js";import"./SessionDetailView-DWbXdx7A.js";import"./sessions-DETEyjPI.js";import"./ApiClient-DfbJwzpz.js";import"./projects-BvLADGKx.js";import"./EffortLevelSelector-PaBpUveC.js";import"./SessionLogStream-BvXUNNBZ.js";import"./commandButtons-DejH0rVN.js";import"./SlashCommandWizard-DleYBxrE.js";import"./providers-DZ-fOa4G.js";import"./useSummaryHelpers-GVg7sMWF.js";import"./ModelSelector-Cko_yTO5.js";import"./ArchiveConfirmModal-DJERn5XO.js";import"./projectDefaults-D9xkp2XR.js";import"./QuickResponsesPanel-Dp39f12o.js";import"./ResizableTextarea-BWywIqOv.js";const c=63,D=64,j=1,A=2,y=3,H=4,Z=5,F=6,I=7,z=65,K=66,J=8,OO=9,eO=10,aO=11,rO=12,V=13,tO=19,nO=20,oO=29,PO=33,QO=34,sO=47,lO=0,$=1,b=2,d=3,g=4;class s{constructor(e,a,r){this.parent=e,this.depth=a,this.type=r,this.hash=(e?e.hash+e.hash<<8:0)+a+(a<<4)+r}}s.top=new s(null,-1,lO);function X(O,e){for(let a=0,r=e-O.pos-1;;r--,a++){let o=O.peek(r);if(P(o)||o==-1)return a}}function x(O){return O==32||O==9}function P(O){return O==10||O==13}function _(O){return x(O)||P(O)}function l(O){return O<0||_(O)}const cO=new B({start:s.top,reduce(O,e){return O.type==d&&(e==nO||e==QO)?O.parent:O},shift(O,e,a,r){if(e==y)return new s(O,X(r,r.pos),$);if(e==z||e==Z)return new s(O,X(r,r.pos),b);if(e==c)return O.parent;if(e==tO||e==PO)return new s(O,0,d);if(e==V&&O.type==g)return O.parent;if(e==sO){let o=/[1-9]/.exec(r.read(r.pos,a.pos));if(o)return new s(O,O.depth+ +o[0],g)}return O},hash(O){return O.hash}});function f(O,e,a=0){return O.peek(a)==e&&O.peek(a+1)==e&&O.peek(a+2)==e&&l(O.peek(a+3))}const fO=new S((O,e)=>{if(O.next==-1&&e.canShift(D))return O.acceptToken(D);let a=O.peek(-1);if((P(a)||a<0)&&e.context.type!=d){if(f(O,45))if(e.canShift(c))O.acceptToken(c);else return O.acceptToken(j,3);if(f(O,46))if(e.canShift(c))O.acceptToken(c);else return O.acceptToken(A,3);let r=0;for(;O.next==32;)r++,O.advance();(r<e.context.depth||r==e.context.depth&&e.context.type==$&&(O.next!=45||!l(O.peek(1))))&&O.next!=-1&&!P(O.next)&&O.next!=35&&O.acceptToken(c,-r)}},{contextual:!0}),XO=new S((O,e)=>{if(e.context.type==d){O.next==63&&(O.advance(),l(O.next)&&O.acceptToken(I));return}if(O.next==45)O.advance(),l(O.next)&&O.acceptToken(e.context.type==$&&e.context.depth==X(O,O.pos-1)?H:y);else if(O.next==63)O.advance(),l(O.next)&&O.acceptToken(e.context.type==b&&e.context.depth==X(O,O.pos-1)?F:Z);else{let a=O.pos;for(;;)if(x(O.next)){if(O.pos==a)return;O.advance()}else if(O.next==33)G(O);else if(O.next==38)p(O);else if(O.next==42){p(O);break}else if(O.next==39||O.next==34){if(T(O,!0))break;return}else if(O.next==91||O.next==123){if(!RO(O))return;break}else{w(O,!0,!1,0);break}for(;x(O.next);)O.advance();if(O.next==58){if(O.pos==a&&e.canShift(oO))return;let r=O.peek(1);l(r)&&O.acceptTokenTo(e.context.type==b&&e.context.depth==X(O,a)?K:z,a)}}},{contextual:!0});function dO(O){return O>32&&O<127&&O!=34&&O!=37&&O!=44&&O!=60&&O!=62&&O!=92&&O!=94&&O!=96&&O!=123&&O!=124&&O!=125}function q(O){return O>=48&&O<=57||O>=97&&O<=102||O>=65&&O<=70}function Y(O,e){return O.next==37?(O.advance(),q(O.next)&&O.advance(),q(O.next)&&O.advance(),!0):dO(O.next)||e&&O.next==44?(O.advance(),!0):!1}function G(O){if(O.advance(),O.next==60){for(O.advance();;)if(!Y(O,!0)){O.next==62&&O.advance();break}}else for(;Y(O,!1););}function p(O){for(O.advance();!l(O.next)&&i(O.next)!="f";)O.advance()}function T(O,e){let a=O.next,r=!1,o=O.pos;for(O.advance();;){let t=O.next;if(t<0)break;if(O.advance(),t==a)if(t==39)if(O.next==39)O.advance();else break;else break;else if(t==92&&a==34)O.next>=0&&O.advance();else if(P(t)){if(e)return!1;r=!0}else if(e&&O.pos>=o+1024)return!1}return!r}function RO(O){for(let e=[],a=O.pos+1024;;)if(O.next==91||O.next==123)e.push(O.next),O.advance();else if(O.next==39||O.next==34){if(!T(O,!0))return!1}else if(O.next==93||O.next==125){if(e[e.length-1]!=O.next-2)return!1;if(e.pop(),O.advance(),!e.length)return!0}else{if(O.next<0||O.pos>a||P(O.next))return!1;O.advance()}}const iO="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function i(O){return O<33?"u":O>125?"s":iO[O-33]}function k(O,e){let a=i(O);return a!="u"&&!(e&&a=="f")}function w(O,e,a,r){if(i(O.next)=="s"||(O.next==63||O.next==58||O.next==45)&&k(O.peek(1),a))O.advance();else return!1;let o=O.pos;for(;;){let t=O.next,Q=0,R=r+1;for(;_(t);){if(P(t)){if(e)return!1;R=0}else R++;t=O.peek(++Q)}if(!(t>=0&&(t==58?k(O.peek(Q+1),a):t==35?O.peek(Q-1)!=32:k(t,a)))||!a&&R<=r||R==0&&!a&&(f(O,45,Q)||f(O,46,Q)))break;if(e&&i(t)=="f")return!1;for(let h=Q;h>=0;h--)O.advance();if(e&&O.pos>o+1024)return!1}return!0}const SO=new S((O,e)=>{if(O.next==33)G(O),O.acceptToken(rO);else if(O.next==38||O.next==42){let a=O.next==38?eO:aO;p(O),O.acceptToken(a)}else O.next==39||O.next==34?(T(O,!1),O.acceptToken(OO)):w(O,!1,e.context.type==d,e.context.depth)&&O.acceptToken(J)}),kO=new S((O,e)=>{let a=e.context.type==g?e.context.depth:-1,r=O.pos;O:for(;;){let o=0,t=O.next;for(;t==32;)t=O.peek(++o);if(!o&&(f(O,45,o)||f(O,46,o))||!P(t)&&(a<0&&(a=Math.max(e.context.depth+1,o)),o<a))break;for(;;){if(O.next<0)break O;let Q=P(O.next);if(O.advance(),Q)continue O;r=O.pos}}O.acceptTokenTo(V,r)}),mO=U({DirectiveName:n.keyword,DirectiveContent:n.attributeValue,"DirectiveEnd DocEnd":n.meta,QuotedLiteral:n.string,BlockLiteralHeader:n.special(n.string),BlockLiteralContent:n.content,Literal:n.content,"Key/Literal Key/QuotedLiteral":n.definition(n.propertyName),"Anchor Alias":n.labelName,Tag:n.typeName,Comment:n.lineComment,": , -":n.separator,"?":n.punctuation,"[ ]":n.squareBracket,"{ }":n.brace}),bO=W.deserialize({version:14,states:"5lQ!ZQgOOO#PQfO'#CpO#uQfO'#DOOOQR'#Dv'#DvO$qQgO'#DRO%gQdO'#DUO%nQgO'#DUO&ROaO'#D[OOQR'#Du'#DuO&{QgO'#D^O'rQgO'#D`OOQR'#Dt'#DtO(iOqO'#DbOOQP'#Dj'#DjO(zQaO'#CmO)YQgO'#CmOOQP'#Cm'#CmQ)jQaOOQ)uQgOOQ]QgOOO*PQdO'#CrO*nQdO'#CtOOQO'#Dw'#DwO+]Q`O'#CxO+hQdO'#CwO+rQ`O'#CwOOQO'#Cv'#CvO+wQdO'#CvOOQO'#Cq'#CqO,UQ`O,59[O,^QfO,59[OOQR,59[,59[OOQO'#Cx'#CxO,eQ`O'#DPO,pQdO'#DPOOQO'#Dx'#DxO,zQdO'#DxO-XQ`O,59jO-aQfO,59jOOQR,59j,59jOOQR'#DS'#DSO-hQcO,59mO-sQgO'#DVO.TQ`O'#DVO.YQcO,59pOOQR'#DX'#DXO#|QfO'#DWO.hQcO'#DWOOQR,59v,59vO.yOWO,59vO/OOaO,59vO/WOaO,59vO/cQgO'#D_OOQR,59x,59xO0VQgO'#DaOOQR,59z,59zOOQP,59|,59|O0yOaO,59|O1ROaO,59|O1aOqO,59|OOQP-E7h-E7hO1oQgO,59XOOQP,59X,59XO2PQaO'#DeO2_QgO'#DeO2oQgO'#DkOOQP'#Dk'#DkQ)jQaOOO3PQdO'#CsOOQO,59^,59^O3kQdO'#CuOOQO,59`,59`OOQO,59c,59cO4VQdO,59cO4aQdO'#CzO4kQ`O'#CzOOQO,59b,59bOOQU,5:Q,5:QOOQR1G.v1G.vO4pQ`O1G.vOOQU-E7d-E7dO4xQdO,59kOOQO,59k,59kO5SQdO'#DQO5^Q`O'#DQOOQO,5:d,5:dOOQU,5:R,5:ROOQR1G/U1G/UO5cQ`O1G/UOOQU-E7e-E7eO5kQgO'#DhO5xQcO1G/XOOQR1G/X1G/XOOQR,59q,59qO6TQgO,59qO6eQdO'#DiO6lQgO'#DiO7PQcO1G/[OOQR1G/[1G/[OOQR,59r,59rO#|QfO,59rOOQR1G/b1G/bO7_OWO1G/bO7dOaO1G/bOOQR,59y,59yOOQR,59{,59{OOQP1G/h1G/hO7lOaO1G/hO7tOaO1G/hO8POaO1G/hOOQP1G.s1G.sO8_QgO,5:POOQP,5:P,5:POOQP,5:V,5:VOOQP-E7i-E7iOOQO,59_,59_OOQO,59a,59aOOQO1G.}1G.}OOQO,59f,59fO8oQdO,59fOOQR7+$b7+$bP,XQ`O'#DfOOQO1G/V1G/VOOQO,59l,59lO8yQdO,59lOOQR7+$p7+$pP9TQ`O'#DgOOQR'#DT'#DTOOQR,5:S,5:SOOQR-E7f-E7fOOQR7+$s7+$sOOQR1G/]1G/]O9YQgO'#DYO9jQ`O'#DYOOQR,5:T,5:TO#|QfO'#DZO9oQcO'#DZOOQR-E7g-E7gOOQR7+$v7+$vOOQR1G/^1G/^OOQR7+$|7+$|O:QOWO7+$|OOQP7+%S7+%SO:VOaO7+%SO:_OaO7+%SOOQP1G/k1G/kOOQO1G/Q1G/QOOQO1G/W1G/WOOQR,59t,59tO:jQgO,59tOOQR,59u,59uO#|QfO,59uOOQR<<Hh<<HhOOQP<<Hn<<HnO:zOaO<<HnOOQR1G/`1G/`OOQR1G/a1G/aOOQPAN>YAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:cO,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[mO],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[fO,XO,SO,kO,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),gO=W.deserialize({version:14,states:"!vOQOPOOO]OPO'#C_OhOPO'#C^OOOO'#Cc'#CcOpOPO'#CaQOOOOOO{OPOOOOOO'#Cb'#CbO!WOPO'#C`O!`OPO,58xOOOO-E6a-E6aOOOO-E6`-E6`OOOO'#C_'#C_OOOO1G.d1G.d",stateData:"!h~OXPOYROWTP~OWVXXRXYRX~OYVOXSP~OXROYROWTX~OXROYROWTP~OYVOXSX~OX[O~OXY~",goto:"vWPPX[beioRUOQQOR]XRXQTTOUQWQRZWSSOURYS",nodeNames:"⚠ Document Frontmatter DashLine FrontmatterContent Body",maxTerm:10,skippedNodes:[0],repeatNodeCount:2,tokenData:"$z~RXOYnYZ!^Z]n]^!^^}n}!O!i!O;'Sn;'S;=`!c<%lOn~qXOYnYZ!^Z]n]^!^^;'Sn;'S;=`!c<%l~n~On~~!^~!cOY~~!fP;=`<%ln~!lZOYnYZ!^Z]n]^!^^}n}!O#_!O;'Sn;'S;=`!c<%l~n~On~~!^~#bZOYnYZ!^Z]n]^!^^}n}!O$T!O;'Sn;'S;=`!c<%l~n~On~~!^~$WXOYnYZ$sZ]n]^$s^;'Sn;'S;=`!c<%l~n~On~~$s~$zOX~Y~",tokenizers:[0],topRules:{Document:[0,1]},tokenPrec:67}),L=C.define({name:"yaml",parser:bO.configure({props:[u.add({Stream:O=>{for(let e=O.node.resolve(O.pos,-1);e&&e.to>=O.pos;e=e.parent){if(e.name=="BlockLiteralContent"&&e.from<e.to)return O.baseIndentFor(e);if(e.name=="BlockLiteral")return O.baseIndentFor(e)+O.unit;if(e.name=="BlockSequence"||e.name=="BlockMapping")return O.column(e.from,1);if(e.name=="QuotedLiteral")return null;if(e.name=="Literal"){let a=O.column(e.from,1);if(a==O.lineIndent(e.from,1))return a;if(e.to>O.pos)return null}}return null},FlowMapping:v({closing:"}"}),FlowSequence:v({closing:"]"})}),M.add({"FlowMapping FlowSequence":N,"Item Pair BlockLiteral":(O,e)=>({from:e.doc.lineAt(O.from).to,to:O.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}});function LO(){return new m(L)}const xO=C.define({name:"yaml-frontmatter",parser:gO.configure({props:[U({DashLine:n.meta})]})});function BO(O){let{language:e,support:a}=O.content instanceof m?O.content:{language:O.content,support:[]};return new m(xO.configure({wrap:E(r=>r.name=="FrontmatterContent"?{parser:L.parser}:r.name=="Body"?{parser:e.parser}:null)}),a)}export{LO as yaml,BO as yamlFrontmatter,L as yamlLanguage};