agent-whiteboard 1.0.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 (163) hide show
  1. package/CHANGELOG.md +470 -0
  2. package/LICENSE +21 -0
  3. package/README.md +313 -0
  4. package/bin/cli.js +30 -0
  5. package/dist/client/apple-touch-icon.png +0 -0
  6. package/dist/client/assets/KaTeX_AMS-Regular-0cdd387c.woff2 +0 -0
  7. package/dist/client/assets/KaTeX_AMS-Regular-30da91e8.woff +0 -0
  8. package/dist/client/assets/KaTeX_AMS-Regular-68534840.ttf +0 -0
  9. package/dist/client/assets/KaTeX_Caligraphic-Bold-07d8e303.ttf +0 -0
  10. package/dist/client/assets/KaTeX_Caligraphic-Bold-1ae6bd74.woff +0 -0
  11. package/dist/client/assets/KaTeX_Caligraphic-Bold-de7701e4.woff2 +0 -0
  12. package/dist/client/assets/KaTeX_Caligraphic-Regular-3398dd02.woff +0 -0
  13. package/dist/client/assets/KaTeX_Caligraphic-Regular-5d53e70a.woff2 +0 -0
  14. package/dist/client/assets/KaTeX_Caligraphic-Regular-ed0b7437.ttf +0 -0
  15. package/dist/client/assets/KaTeX_Fraktur-Bold-74444efd.woff2 +0 -0
  16. package/dist/client/assets/KaTeX_Fraktur-Bold-9163df9c.ttf +0 -0
  17. package/dist/client/assets/KaTeX_Fraktur-Bold-9be7ceb8.woff +0 -0
  18. package/dist/client/assets/KaTeX_Fraktur-Regular-1e6f9579.ttf +0 -0
  19. package/dist/client/assets/KaTeX_Fraktur-Regular-51814d27.woff2 +0 -0
  20. package/dist/client/assets/KaTeX_Fraktur-Regular-5e28753b.woff +0 -0
  21. package/dist/client/assets/KaTeX_Main-Bold-0f60d1b8.woff2 +0 -0
  22. package/dist/client/assets/KaTeX_Main-Bold-138ac28d.ttf +0 -0
  23. package/dist/client/assets/KaTeX_Main-Bold-c76c5d69.woff +0 -0
  24. package/dist/client/assets/KaTeX_Main-BoldItalic-70ee1f64.ttf +0 -0
  25. package/dist/client/assets/KaTeX_Main-BoldItalic-99cd42a3.woff2 +0 -0
  26. package/dist/client/assets/KaTeX_Main-BoldItalic-a6f7ec0d.woff +0 -0
  27. package/dist/client/assets/KaTeX_Main-Italic-0d85ae7c.ttf +0 -0
  28. package/dist/client/assets/KaTeX_Main-Italic-97479ca6.woff2 +0 -0
  29. package/dist/client/assets/KaTeX_Main-Italic-f1d6ef86.woff +0 -0
  30. package/dist/client/assets/KaTeX_Main-Regular-c2342cd8.woff2 +0 -0
  31. package/dist/client/assets/KaTeX_Main-Regular-c6368d87.woff +0 -0
  32. package/dist/client/assets/KaTeX_Main-Regular-d0332f52.ttf +0 -0
  33. package/dist/client/assets/KaTeX_Math-BoldItalic-850c0af5.woff +0 -0
  34. package/dist/client/assets/KaTeX_Math-BoldItalic-dc47344d.woff2 +0 -0
  35. package/dist/client/assets/KaTeX_Math-BoldItalic-f9377ab0.ttf +0 -0
  36. package/dist/client/assets/KaTeX_Math-Italic-08ce98e5.ttf +0 -0
  37. package/dist/client/assets/KaTeX_Math-Italic-7af58c5e.woff2 +0 -0
  38. package/dist/client/assets/KaTeX_Math-Italic-8a8d2445.woff +0 -0
  39. package/dist/client/assets/KaTeX_SansSerif-Bold-1ece03f7.ttf +0 -0
  40. package/dist/client/assets/KaTeX_SansSerif-Bold-e99ae511.woff2 +0 -0
  41. package/dist/client/assets/KaTeX_SansSerif-Bold-ece03cfd.woff +0 -0
  42. package/dist/client/assets/KaTeX_SansSerif-Italic-00b26ac8.woff2 +0 -0
  43. package/dist/client/assets/KaTeX_SansSerif-Italic-3931dd81.ttf +0 -0
  44. package/dist/client/assets/KaTeX_SansSerif-Italic-91ee6750.woff +0 -0
  45. package/dist/client/assets/KaTeX_SansSerif-Regular-11e4dc8a.woff +0 -0
  46. package/dist/client/assets/KaTeX_SansSerif-Regular-68e8c73e.woff2 +0 -0
  47. package/dist/client/assets/KaTeX_SansSerif-Regular-f36ea897.ttf +0 -0
  48. package/dist/client/assets/KaTeX_Script-Regular-036d4e95.woff2 +0 -0
  49. package/dist/client/assets/KaTeX_Script-Regular-1c67f068.ttf +0 -0
  50. package/dist/client/assets/KaTeX_Script-Regular-d96cdf2b.woff +0 -0
  51. package/dist/client/assets/KaTeX_Size1-Regular-6b47c401.woff2 +0 -0
  52. package/dist/client/assets/KaTeX_Size1-Regular-95b6d2f1.ttf +0 -0
  53. package/dist/client/assets/KaTeX_Size1-Regular-c943cc98.woff +0 -0
  54. package/dist/client/assets/KaTeX_Size2-Regular-2014c523.woff +0 -0
  55. package/dist/client/assets/KaTeX_Size2-Regular-a6b2099f.ttf +0 -0
  56. package/dist/client/assets/KaTeX_Size2-Regular-d04c5421.woff2 +0 -0
  57. package/dist/client/assets/KaTeX_Size3-Regular-500e04d5.ttf +0 -0
  58. package/dist/client/assets/KaTeX_Size3-Regular-6ab6b62e.woff +0 -0
  59. package/dist/client/assets/KaTeX_Size4-Regular-99f9c675.woff +0 -0
  60. package/dist/client/assets/KaTeX_Size4-Regular-a4af7d41.woff2 +0 -0
  61. package/dist/client/assets/KaTeX_Size4-Regular-c647367d.ttf +0 -0
  62. package/dist/client/assets/KaTeX_Typewriter-Regular-71d517d6.woff2 +0 -0
  63. package/dist/client/assets/KaTeX_Typewriter-Regular-e14fed02.woff +0 -0
  64. package/dist/client/assets/KaTeX_Typewriter-Regular-f01f3e87.ttf +0 -0
  65. package/dist/client/assets/arc-4691b008.js +1 -0
  66. package/dist/client/assets/architecture-7EHR7CIX-e08620e8.js +1 -0
  67. package/dist/client/assets/architectureDiagram-3BPJPVTR-9e2f2dbd.js +36 -0
  68. package/dist/client/assets/blockDiagram-GPEHLZMM-d9dd3f7a.js +132 -0
  69. package/dist/client/assets/bootstrap.min-21652813.js +6 -0
  70. package/dist/client/assets/c4Diagram-AAUBKEIU-4ed97d79.js +10 -0
  71. package/dist/client/assets/channel-9d07a35d.js +1 -0
  72. package/dist/client/assets/chunk-2J33WTMH-8049adc8.js +1 -0
  73. package/dist/client/assets/chunk-4BX2VUAB-fd7396be.js +1 -0
  74. package/dist/client/assets/chunk-55IACEB6-ae1ac93c.js +1 -0
  75. package/dist/client/assets/chunk-727SXJPM-7e3658d9.js +206 -0
  76. package/dist/client/assets/chunk-AQP2D5EJ-114f64b0.js +231 -0
  77. package/dist/client/assets/chunk-FMBD7UC4-f2647c5e.js +15 -0
  78. package/dist/client/assets/chunk-ND2GUHAM-0a2fcd8c.js +1 -0
  79. package/dist/client/assets/chunk-QZHKN3VN-d00b3f33.js +1 -0
  80. package/dist/client/assets/classDiagram-4FO5ZUOK-ebb5cc4a.js +1 -0
  81. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-ebb5cc4a.js +1 -0
  82. package/dist/client/assets/colors-98f238a0.js +1 -0
  83. package/dist/client/assets/cose-bilkent-S5V4N54A-1f808fd7.js +1 -0
  84. package/dist/client/assets/cytoscape.esm-1491e259.js +331 -0
  85. package/dist/client/assets/dagre-BM42HDAG-e8ec1c9d.js +4 -0
  86. package/dist/client/assets/defaultLocale-a8476f12.js +1 -0
  87. package/dist/client/assets/diagram-2AECGRRQ-83b385bf.js +43 -0
  88. package/dist/client/assets/diagram-5GNKFQAL-d9406c6a.js +10 -0
  89. package/dist/client/assets/diagram-KO2AKTUF-3db5b95a.js +3 -0
  90. package/dist/client/assets/diagram-LMA3HP47-fbd90397.js +24 -0
  91. package/dist/client/assets/diagram-OG6HWLK6-3c697534.js +24 -0
  92. package/dist/client/assets/embed-2b4adf34.js +201 -0
  93. package/dist/client/assets/erDiagram-TEJ5UH35-7f41448f.js +85 -0
  94. package/dist/client/assets/eventmodeling-FCH6USID-e6d9019e.js +1 -0
  95. package/dist/client/assets/flowDiagram-I6XJVG4X-38f05cc7.js +162 -0
  96. package/dist/client/assets/ganttDiagram-6RSMTGT7-39287f5a.js +292 -0
  97. package/dist/client/assets/gitGraph-WXDBUCRP-037e225a.js +1 -0
  98. package/dist/client/assets/gitGraphDiagram-PVQCEYII-3c2e3ef7.js +106 -0
  99. package/dist/client/assets/graph-f3dfaf53.js +1 -0
  100. package/dist/client/assets/index-4abf3da0.js +5 -0
  101. package/dist/client/assets/index-a1656aec.js +1 -0
  102. package/dist/client/assets/index-d674a6a4.css +1 -0
  103. package/dist/client/assets/info-J43DQDTF-51cd3390.js +1 -0
  104. package/dist/client/assets/infoDiagram-5YYISTIA-ef2826b7.js +2 -0
  105. package/dist/client/assets/init-a5b10ee5.js +1 -0
  106. package/dist/client/assets/ishikawaDiagram-YF4QCWOH-d0b8a2e0.js +70 -0
  107. package/dist/client/assets/journeyDiagram-JHISSGLW-586ffcf8.js +139 -0
  108. package/dist/client/assets/kanban-definition-UN3LZRKU-9e58e14f.js +89 -0
  109. package/dist/client/assets/katex-0cba7652.js +257 -0
  110. package/dist/client/assets/katex-4c9ea27f.js +257 -0
  111. package/dist/client/assets/layout-3a4eff80.js +1 -0
  112. package/dist/client/assets/linear-fed00341.js +1 -0
  113. package/dist/client/assets/mermaid-parser.core-7ee09942.js +173 -0
  114. package/dist/client/assets/mermaid.core-9fc8f6d2.js +306 -0
  115. package/dist/client/assets/mindmap-definition-RKZ34NQL-a40dd09f.js +96 -0
  116. package/dist/client/assets/ordinal-db88ae6f.js +1 -0
  117. package/dist/client/assets/packet-YPE3B663-f55b568a.js +1 -0
  118. package/dist/client/assets/pie-LRSECV5Y-88c1a5e6.js +1 -0
  119. package/dist/client/assets/pieDiagram-4H26LBE5-51aae5ea.js +30 -0
  120. package/dist/client/assets/quadrantDiagram-W4KKPZXB-bc4686f9.js +7 -0
  121. package/dist/client/assets/radar-GUYGQ44K-6ede145d.js +1 -0
  122. package/dist/client/assets/range-6bc2a9a0.js +1 -0
  123. package/dist/client/assets/requirementDiagram-4Y6WPE33-8466f5a1.js +84 -0
  124. package/dist/client/assets/sankeyDiagram-5OEKKPKP-fd54c1f6.js +40 -0
  125. package/dist/client/assets/sequenceDiagram-3UESZ5HK-baa63c66.js +162 -0
  126. package/dist/client/assets/stateDiagram-AJRCARHV-bb4f0d0b.js +1 -0
  127. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-9479cd12.js +1 -0
  128. package/dist/client/assets/step-171ad54a.js +1 -0
  129. package/dist/client/assets/time-043b3464.js +1 -0
  130. package/dist/client/assets/timeline-definition-PNZ67QCA-f64b58bd.js +120 -0
  131. package/dist/client/assets/treeView-BLDUP644-73ba1a83.js +1 -0
  132. package/dist/client/assets/treemap-LRROVOQU-98e47821.js +1 -0
  133. package/dist/client/assets/vennDiagram-CIIHVFJN-a410b1f7.js +34 -0
  134. package/dist/client/assets/wardley-L42UT6IY-a27badb9.js +1 -0
  135. package/dist/client/assets/wardleyDiagram-YWT4CUSO-527ffe52.js +78 -0
  136. package/dist/client/assets/xychartDiagram-2RQKCTM6-42b5914b.js +7 -0
  137. package/dist/client/favicon-16x16.png +0 -0
  138. package/dist/client/favicon-32x32.png +0 -0
  139. package/dist/client/favicon.ico +0 -0
  140. package/dist/client/icon-192.png +0 -0
  141. package/dist/client/icon-512.png +0 -0
  142. package/dist/client/index.html +18 -0
  143. package/dist/server/app.js +429 -0
  144. package/dist/server/channel.js +42 -0
  145. package/dist/server/events.js +90 -0
  146. package/dist/server/export-html.js +461 -0
  147. package/dist/server/index.js +79 -0
  148. package/dist/server/interaction.js +135 -0
  149. package/dist/server/mcp.js +421 -0
  150. package/dist/server/paths.js +11 -0
  151. package/dist/server/persist.js +56 -0
  152. package/dist/server/presentation.js +5 -0
  153. package/dist/server/render-core.js +213 -0
  154. package/dist/server/session.js +103 -0
  155. package/dist/server/slideshow.js +83 -0
  156. package/dist/server/snapshot-reader.js +190 -0
  157. package/dist/server/snapshot-writer.js +117 -0
  158. package/dist/server/snapshot.js +47 -0
  159. package/dist/server/step-frames-builder.js +70 -0
  160. package/dist/server/validate.js +140 -0
  161. package/dist/server/viewport-cache.js +69 -0
  162. package/dist/server/ws.js +71 -0
  163. package/package.json +92 -0
@@ -0,0 +1,5 @@
1
+ var sl=Object.defineProperty;var al=(t,e,n)=>e in t?sl(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var en=(t,e,n)=>(al(t,typeof e!="symbol"?e+"":e,n),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))o(l);new MutationObserver(l=>{for(const r of l)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function n(l){const r={};return l.integrity&&(r.integrity=l.integrity),l.referrerPolicy&&(r.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?r.credentials="include":l.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(l){if(l.ep)return;l.ep=!0;const r=n(l);fetch(l.href,r)}})();function Y(){}function jn(t,e){for(const n in e)t[n]=e[n];return t}function Wo(t){return t()}function Gn(){return Object.create(null)}function Ae(t){t.forEach(Wo)}function gn(t){return typeof t=="function"}function ze(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function cl(t){return Object.keys(t).length===0}function jo(t,...e){if(t==null){for(const o of e)o(void 0);return Y}const n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function je(t){let e;return jo(t,n=>e=n)(),e}function Ke(t,e,n){t.$$.on_destroy.push(jo(e,n))}function bn(t){return t&&gn(t.destroy)?t.destroy:Y}const ul=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function _(t,e){t.appendChild(e)}function C(t,e,n){t.insertBefore(e,n||null)}function R(t){t.parentNode&&t.parentNode.removeChild(t)}function S(t){return document.createElement(t)}function te(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function W(t){return document.createTextNode(t)}function B(){return W(" ")}function it(){return W("")}function oe(t,e,n,o){return t.addEventListener(e,n,o),()=>t.removeEventListener(e,n,o)}function fl(t){return function(e){return e.stopPropagation(),t.call(this,e)}}function dl(t){return function(e){e.target===this&&t.call(this,e)}}function s(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function pl(t){return Array.from(t.childNodes)}function $(t,e){e=""+e,t.data!==e&&(t.data=e)}function Ye(t,e,n,o){n==null?t.style.removeProperty(e):t.style.setProperty(e,n,o?"important":"")}function wt(t,e,n){t.classList.toggle(e,!!n)}function ml(t,e,{bubbles:n=!1,cancelable:o=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:o})}function Yn(t,e){return new t(e)}let Lt;function Ot(t){Lt=t}function Wt(){if(!Lt)throw new Error("Function called outside component initialization");return Lt}function Rt(t){Wt().$$.on_mount.push(t)}function jt(t){Wt().$$.after_update.push(t)}function Gt(t){Wt().$$.on_destroy.push(t)}function yn(){const t=Wt();return(e,n,{cancelable:o=!1}={})=>{const l=t.$$.callbacks[e];if(l){const r=ml(e,n,{cancelable:o});return l.slice().forEach(i=>{i.call(t,r)}),!r.defaultPrevented}return!0}}const gt=[],Ze=[];let yt=[];const dn=[],hl=Promise.resolve();let pn=!1;function _l(){pn||(pn=!0,hl.then(Go))}function mn(t){yt.push(t)}function gl(t){dn.push(t)}const tn=new Set;let ft=0;function Go(){if(ft!==0)return;const t=Lt;do{try{for(;ft<gt.length;){const e=gt[ft];ft++,Ot(e),bl(e.$$)}}catch(e){throw gt.length=0,ft=0,e}for(Ot(null),gt.length=0,ft=0;Ze.length;)Ze.pop()();for(let e=0;e<yt.length;e+=1){const n=yt[e];tn.has(n)||(tn.add(n),n())}yt.length=0}while(gt.length);for(;dn.length;)dn.pop()();pn=!1,tn.clear(),Ot(t)}function bl(t){if(t.fragment!==null){t.update(),Ae(t.before_update);const e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(mn)}}function yl(t){const e=[],n=[];yt.forEach(o=>t.indexOf(o)===-1?e.push(o):n.push(o)),n.forEach(o=>o()),yt=e}const Ht=new Set;let lt;function Qe(){lt={r:0,c:[],p:lt}}function $e(){lt.r||Ae(lt.c),lt=lt.p}function le(t,e){t&&t.i&&(Ht.delete(t),t.i(e))}function ae(t,e,n,o){if(t&&t.o){if(Ht.has(t))return;Ht.add(t),lt.c.push(()=>{Ht.delete(t),o&&(n&&t.d(1),o())}),t.o(e)}else o&&o()}function Ve(t){return(t==null?void 0:t.length)!==void 0?t:Array.from(t)}function Yo(t,e){t.d(1),e.delete(t.key)}function wn(t,e){ae(t,1,1,()=>{e.delete(t.key)})}function Ct(t,e,n,o,l,r,i,p,m,d,c,u){let f=t.length,h=r.length,g=f;const b={};for(;g--;)b[t[g].key]=g;const w=[],O=new Map,A=new Map,P=[];for(g=h;g--;){const L=u(l,r,g),T=n(L);let E=i.get(T);E?o&&P.push(()=>E.p(L,e)):(E=d(T,L),E.c()),O.set(T,w[g]=E),T in b&&A.set(T,Math.abs(g-b[T]))}const v=new Set,N=new Set;function I(L){le(L,1),L.m(p,c),i.set(L.key,L),c=L.first,h--}for(;f&&h;){const L=w[h-1],T=t[f-1],E=L.key,k=T.key;L===T?(c=L.first,f--,h--):O.has(k)?!i.has(E)||v.has(E)?I(L):N.has(k)?f--:A.get(E)>A.get(k)?(N.add(E),I(L)):(v.add(k),f--):(m(T,i),f--)}for(;f--;){const L=t[f];O.has(L.key)||m(L,i)}for(;h;)I(w[h-1]);return Ae(P),w}function Vn(t,e){const n={},o={},l={$$scope:1};let r=t.length;for(;r--;){const i=t[r],p=e[r];if(p){for(const m in i)m in p||(o[m]=1);for(const m in p)l[m]||(n[m]=p[m],l[m]=1);t[r]=p}else for(const m in i)l[m]=1}for(const i in o)i in n||(n[i]=void 0);return n}function Xn(t){return typeof t=="object"&&t!==null?t:{}}function wl(t,e,n){const o=t.$$.props[e];o!==void 0&&(t.$$.bound[o]=n,n(t.$$.ctx[o]))}function rt(t){t&&t.c()}function tt(t,e,n){const{fragment:o,after_update:l}=t.$$;o&&o.m(e,n),mn(()=>{const r=t.$$.on_mount.map(Wo).filter(gn);t.$$.on_destroy?t.$$.on_destroy.push(...r):Ae(r),t.$$.on_mount=[]}),l.forEach(mn)}function nt(t,e){const n=t.$$;n.fragment!==null&&(yl(n.after_update),Ae(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Tl(t,e){t.$$.dirty[0]===-1&&(gt.push(t),_l(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function Xe(t,e,n,o,l,r,i=null,p=[-1]){const m=Lt;Ot(t);const d=t.$$={fragment:null,ctx:[],props:r,update:Y,not_equal:l,bound:Gn(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(m?m.$$.context:[])),callbacks:Gn(),dirty:p,skip_bound:!1,root:e.target||m.$$.root};i&&i(d.root);let c=!1;if(d.ctx=n?n(t,e.props||{},(u,f,...h)=>{const g=h.length?h[0]:f;return d.ctx&&l(d.ctx[u],d.ctx[u]=g)&&(!d.skip_bound&&d.bound[u]&&d.bound[u](g),c&&Tl(t,u)),f}):[],d.update(),c=!0,Ae(d.before_update),d.fragment=o?o(d.ctx):!1,e.target){if(e.hydrate){const u=pl(e.target);d.fragment&&d.fragment.l(u),u.forEach(R)}else d.fragment&&d.fragment.c();e.intro&&le(t.$$.fragment),tt(t,e.target,e.anchor),Go()}Ot(m)}class qe{constructor(){en(this,"$$");en(this,"$$set")}$destroy(){nt(this,1),this.$destroy=Y}$on(e,n){if(!gn(n))return Y;const o=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return o.push(n),()=>{const l=o.indexOf(n);l!==-1&&o.splice(l,1)}}$set(e){this.$$set&&!cl(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const kl="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(kl);const El='a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])';function Tn(t,e={}){const n=document.activeElement;function o(){return Array.from(t.querySelectorAll(El))}function l(i){var c;if(i.key==="Escape"){(c=e.onEscape)==null||c.call(e);return}if(i.key!=="Tab")return;const p=o();if(p.length===0)return;const m=p[0],d=p[p.length-1];i.shiftKey&&document.activeElement===m?(i.preventDefault(),d.focus()):!i.shiftKey&&document.activeElement===d&&(i.preventDefault(),m.focus())}return(o()[0]??t).focus(),t.addEventListener("keydown",l),{update(i){e=i},destroy(){t.removeEventListener("keydown",l),n==null||n.focus()}}}async function Vo(){try{const e=await(await fetch("/snapshots/all")).json();return e.ok&&e.workspaces?{ok:!0,workspaces:e.workspaces}:{ok:!1,error:e.error??"Failed to load snapshots"}}catch{return{ok:!1,error:"Network error loading snapshots"}}}function qn(t){try{return new Date(t).toLocaleString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return t}}function vl(t){let e,n=(t[0]??"—")+"",o,l,r,i,p,m,d,c=qn(t[2])+"",u;return{c(){e=S("span"),o=W(n),l=B(),r=S("span"),i=S("span"),p=W(t[1]),m=B(),d=S("span"),u=W(c),s(e,"class","snapshot-title svelte-14g4p14"),s(i,"class","type-badge svelte-14g4p14"),s(d,"class","snapshot-time svelte-14g4p14"),s(r,"class","snapshot-meta svelte-14g4p14")},m(f,h){C(f,e,h),_(e,o),C(f,l,h),C(f,r,h),_(r,i),_(i,p),_(r,m),_(r,d),_(d,u)},p(f,[h]){h&1&&n!==(n=(f[0]??"—")+"")&&$(o,n),h&2&&$(p,f[1]),h&4&&c!==(c=qn(f[2])+"")&&$(u,c)},i:Y,o:Y,d(f){f&&(R(e),R(l),R(r))}}}function Sl(t,e,n){let{title:o}=e,{type:l}=e,{timestamp:r}=e;return t.$$set=i=>{"title"in i&&n(0,o=i.title),"type"in i&&n(1,l=i.type),"timestamp"in i&&n(2,r=i.timestamp)},[o,l,r]}class Xo extends qe{constructor(e){super(),Xe(this,e,Sl,vl,ze,{title:0,type:1,timestamp:2})}}function xn(t,e,n){const o=t.slice();return o[13]=e[n],o}function Kn(t,e,n){const o=t.slice();return o[16]=e[n],o}function Jn(t){let e,n,o,l,r,i,p,m,d,c,u,f,h,g,b,w,O,A,P;function v(k,H){return k[4]?Ol:Al}let N=v(t),I=N(t);const L=[Nl,Cl,Rl,Ll],T=[];function E(k,H){return k[2]?0:k[3]?1:k[5]?3:2}return b=E(t),w=T[b]=L[b](t),{c(){e=S("div"),n=S("div"),o=S("span"),o.textContent="History",l=B(),r=S("div"),i=S("button"),I.c(),d=B(),c=S("div"),u=B(),f=S("button"),f.textContent="✕",h=B(),g=S("div"),w.c(),s(o,"class","panel-title svelte-r3bne1"),s(i,"class","action-btn svelte-r3bne1"),s(i,"aria-label",p=t[4]?"Unlock history panel (stays open)":"Lock history panel (stays open)"),s(i,"aria-pressed",t[4]),s(i,"title",m=t[4]?"Locked — panel stays open after load":"Unlocked — panel closes after load"),wt(i,"locked",t[4]),s(c,"class","header-sep svelte-r3bne1"),s(c,"aria-hidden","true"),s(f,"class","close-btn svelte-r3bne1"),s(f,"aria-label","Close history panel"),s(r,"class","header-actions svelte-r3bne1"),s(n,"class","panel-header svelte-r3bne1"),s(g,"class","panel-body svelte-r3bne1"),s(e,"class","history-panel svelte-r3bne1"),s(e,"role","dialog"),s(e,"aria-modal","true"),s(e,"aria-label","Snapshot history"),s(e,"tabindex","-1")},m(k,H){C(k,e,H),_(e,n),_(n,o),_(n,l),_(n,r),_(r,i),I.m(i,null),_(r,d),_(r,c),_(r,u),_(r,f),_(e,h),_(e,g),T[b].m(g,null),O=!0,A||(P=[oe(i,"click",t[9]),oe(f,"click",t[10]),bn(Tn.call(null,e,{onEscape:t[12]}))],A=!0)},p(k,H){N!==(N=v(k))&&(I.d(1),I=N(k),I&&(I.c(),I.m(i,null))),(!O||H&16&&p!==(p=k[4]?"Unlock history panel (stays open)":"Lock history panel (stays open)"))&&s(i,"aria-label",p),(!O||H&16)&&s(i,"aria-pressed",k[4]),(!O||H&16&&m!==(m=k[4]?"Locked — panel stays open after load":"Unlocked — panel closes after load"))&&s(i,"title",m),(!O||H&16)&&wt(i,"locked",k[4]);let Q=b;b=E(k),b===Q?T[b].p(k,H):(Qe(),ae(T[Q],1,1,()=>{T[Q]=null}),$e(),w=T[b],w?w.p(k,H):(w=T[b]=L[b](k),w.c()),le(w,1),w.m(g,null))},i(k){O||(le(w),O=!0)},o(k){ae(w),O=!1},d(k){k&&R(e),I.d(),T[b].d(),A=!1,Ae(P)}}}function Al(t){let e,n,o;return{c(){e=te("svg"),n=te("rect"),o=te("path"),s(n,"x","3"),s(n,"y","11"),s(n,"width","18"),s(n,"height","11"),s(n,"rx","2"),s(o,"d","M7 11V7a5 5 0 0 1 9.9-1"),s(e,"width","13"),s(e,"height","13"),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","2.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"aria-hidden","true")},m(l,r){C(l,e,r),_(e,n),_(e,o)},d(l){l&&R(e)}}}function Ol(t){let e,n,o;return{c(){e=te("svg"),n=te("rect"),o=te("path"),s(n,"x","3"),s(n,"y","11"),s(n,"width","18"),s(n,"height","11"),s(n,"rx","2"),s(o,"d","M7 11V7a5 5 0 0 1 10 0v4"),s(e,"width","13"),s(e,"height","13"),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","2.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"aria-hidden","true")},m(l,r){C(l,e,r),_(e,n),_(e,o)},d(l){l&&R(e)}}}function Ll(t){let e=[],n=new Map,o,l,r=Ve(t[1]);const i=p=>p[13].name;for(let p=0;p<r.length;p+=1){let m=xn(t,r,p),d=i(m);n.set(d,e[p]=$n(d,m))}return{c(){for(let p=0;p<e.length;p+=1)e[p].c();o=it()},m(p,m){for(let d=0;d<e.length;d+=1)e[d]&&e[d].m(p,m);C(p,o,m),l=!0},p(p,m){m&130&&(r=Ve(p[1]),Qe(),e=Ct(e,m,i,1,p,r,n,o.parentNode,wn,$n,o,xn),$e())},i(p){if(!l){for(let m=0;m<r.length;m+=1)le(e[m]);l=!0}},o(p){for(let m=0;m<e.length;m+=1)ae(e[m]);l=!1},d(p){p&&R(o);for(let m=0;m<e.length;m+=1)e[m].d(p)}}}function Rl(t){let e;return{c(){e=S("p"),e.textContent="No snapshots yet.",s(e,"class","panel-message svelte-r3bne1")},m(n,o){C(n,e,o)},p:Y,i:Y,o:Y,d(n){n&&R(e)}}}function Cl(t){let e,n;return{c(){e=S("p"),n=W(t[3]),s(e,"class","panel-message panel-error svelte-r3bne1")},m(o,l){C(o,e,l),_(e,n)},p(o,l){l&8&&$(n,o[3])},i:Y,o:Y,d(o){o&&R(e)}}}function Nl(t){let e;return{c(){e=S("p"),e.textContent="Loading…",s(e,"class","panel-message svelte-r3bne1")},m(n,o){C(n,e,o)},p:Y,i:Y,o:Y,d(n){n&&R(e)}}}function Zn(t){let e;return{c(){e=S("span"),e.textContent="current",s(e,"class","current-badge svelte-r3bne1")},m(n,o){C(n,e,o)},d(n){n&&R(e)}}}function Qn(t,e){let n,o,l,r,i,p,m;l=new Xo({props:{title:e[16].title,type:e[16].type,timestamp:e[16].timestamp}});function d(){return e[11](e[13],e[16])}return{key:t,first:null,c(){n=S("li"),o=S("button"),rt(l.$$.fragment),r=B(),s(o,"class","snapshot-row svelte-r3bne1"),s(n,"class","snapshot-item svelte-r3bne1"),this.first=n},m(c,u){C(c,n,u),_(n,o),tt(l,o,null),_(n,r),i=!0,p||(m=oe(o,"click",d),p=!0)},p(c,u){e=c;const f={};u&2&&(f.title=e[16].title),u&2&&(f.type=e[16].type),u&2&&(f.timestamp=e[16].timestamp),l.$set(f)},i(c){i||(le(l.$$.fragment,c),i=!0)},o(c){ae(l.$$.fragment,c),i=!1},d(c){c&&R(n),nt(l),p=!1,m()}}}function $n(t,e){let n,o,l,r=e[13].name+"",i,p,m,d,c=[],u=new Map,f,h,g,b=e[13].isCurrent&&Zn(),w=Ve(e[13].snapshots);const O=A=>A[13].name+"/"+A[16].filename;for(let A=0;A<w.length;A+=1){let P=Kn(e,w,A),v=O(P);u.set(v,c[A]=Qn(v,P))}return{key:t,first:null,c(){n=S("details"),o=S("summary"),l=S("span"),i=W(r),p=B(),b&&b.c(),m=B(),d=S("ul");for(let A=0;A<c.length;A+=1)c[A].c();f=B(),s(l,"class","workspace-name svelte-r3bne1"),s(o,"class","workspace-summary svelte-r3bne1"),s(d,"class","snapshot-list svelte-r3bne1"),s(n,"class","workspace-group svelte-r3bne1"),n.open=h=e[13].isCurrent,this.first=n},m(A,P){C(A,n,P),_(n,o),_(o,l),_(l,i),_(o,p),b&&b.m(o,null),_(n,m),_(n,d);for(let v=0;v<c.length;v+=1)c[v]&&c[v].m(d,null);_(n,f),g=!0},p(A,P){e=A,(!g||P&2)&&r!==(r=e[13].name+"")&&$(i,r),e[13].isCurrent?b||(b=Zn(),b.c(),b.m(o,null)):b&&(b.d(1),b=null),P&130&&(w=Ve(e[13].snapshots),Qe(),c=Ct(c,P,O,1,e,w,u,d,wn,Qn,null,Kn),$e()),(!g||P&2&&h!==(h=e[13].isCurrent))&&(n.open=h)},i(A){if(!g){for(let P=0;P<w.length;P+=1)le(c[P]);g=!0}},o(A){for(let P=0;P<c.length;P+=1)ae(c[P]);g=!1},d(A){A&&R(n),b&&b.d();for(let P=0;P<c.length;P+=1)c[P].d()}}}function Dl(t){let e,n,o=t[0]&&Jn(t);return{c(){o&&o.c(),e=it()},m(l,r){o&&o.m(l,r),C(l,e,r),n=!0},p(l,[r]){l[0]?o?(o.p(l,r),r&1&&le(o,1)):(o=Jn(l),o.c(),le(o,1),o.m(e.parentNode,e)):o&&(Qe(),ae(o,1,1,()=>{o=null}),$e())},i(l){n||(le(o),n=!0)},o(l){ae(o),n=!1},d(l){l&&R(e),o&&o.d(l)}}}function Il(t,e,n){let o,{open:l=!1}=e,r=[],i=!1,p="",m=!1;const d=yn();async function c(){n(2,i=!0),n(3,p="");const w=await Vo();w.ok?n(1,r=w.workspaces):n(3,p=w.error),n(2,i=!1)}async function u(w,O){try{await fetch("/snapshots/load",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:w,filename:O})})}catch(A){console.error("[agent-whiteboard] failed to load snapshot:",A)}m||d("close")}const f=()=>{n(4,m=!m)},h=()=>d("close"),g=(w,O)=>u(w.name,O.filename),b=()=>d("close");return t.$$set=w=>{"open"in w&&n(0,l=w.open)},t.$$.update=()=>{t.$$.dirty&1&&(l||n(4,m=!1)),t.$$.dirty&1&&l&&c(),t.$$.dirty&2&&n(5,o=r.some(w=>w.snapshots.length>0))},[l,r,i,p,m,o,d,u,c,f,h,g,b]}class Ml extends qe{constructor(e){super(),Xe(this,e,Il,Dl,ze,{open:0,fetchSnapshots:8})}get fetchSnapshots(){return this.$$.ctx[8]}}async function Pl(t){const n=(t.headers.get("Content-Disposition")??"").match(/filename="([^"]+)"/),o=(n==null?void 0:n[1])??"export.html",l=await t.blob(),r=URL.createObjectURL(l),i=document.createElement("a");i.href=r,i.download=o,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}async function Fl(t){const n=await(await fetch("/snapshots/delete-workspace",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:t})})).json();if(!n.ok)throw new Error(n.error??"Delete failed")}async function zl(t,e){const o=await(await fetch("/snapshots/delete-files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:t,filenames:e})})).json();if(!o.ok)throw new Error(o.error??"Delete failed")}async function eo(t){const e=await fetch("/export-html",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:t})});if(!e.ok){let n="Export failed";try{n=(await e.json()).error??n}catch{}throw new Error(n)}await Pl(e)}const{Map:qo}=ul;function to(t,e,n){const o=t.slice();return o[34]=e[n],o}function no(t,e,n){const o=t.slice();return o[31]=e[n],o}function oo(t){let e,n,o,l,r,i,p,m,d,c,u,f,h,g,b,w,O,A=t[12]&&lo(t);function P(k,H){if(k[4]===1)return Hl;if(k[5])return Ul}let v=P(t),N=v&&v(t);const I=[Gl,jl,Wl,Bl],L=[];function T(k,H){return k[3]?0:k[11]?1:k[4]===1?2:k[5]?3:-1}~(c=T(t))&&(u=L[c]=I[c](t));let E=t[4]===2&&!t[11]&&ao(t);return{c(){e=S("div"),n=S("div"),o=S("div"),A&&A.c(),l=B(),r=S("span"),N&&N.c(),i=B(),p=S("button"),p.textContent="✕",m=B(),d=S("div"),u&&u.c(),f=B(),E&&E.c(),s(r,"class","modal-title svelte-1w7vyt4"),s(p,"class","modal-close-btn svelte-1w7vyt4"),s(p,"aria-label","Close"),s(o,"class","modal-header svelte-1w7vyt4"),s(d,"class","modal-body svelte-1w7vyt4"),s(n,"class",h="modal mode-"+t[0]+" svelte-1w7vyt4"),s(n,"role","dialog"),s(n,"aria-modal","true"),s(n,"aria-label",g=t[13]+" snapshots"),s(n,"tabindex","-1"),s(e,"class","modal-overlay svelte-1w7vyt4")},m(k,H){C(k,e,H),_(e,n),_(n,o),A&&A.m(o,null),_(o,l),_(o,r),N&&N.m(r,null),_(o,i),_(o,p),_(n,m),_(n,d),~c&&L[c].m(d,null),_(n,f),E&&E.m(n,null),b=!0,w||(O=[oe(p,"click",t[16]),bn(Tn.call(null,n,{onEscape:t[16]})),oe(e,"click",dl(t[16]))],w=!0)},p(k,H){k[12]?A?A.p(k,H):(A=lo(k),A.c(),A.m(o,l)):A&&(A.d(1),A=null),v===(v=P(k))&&N?N.p(k,H):(N&&N.d(1),N=v&&v(k),N&&(N.c(),N.m(r,null)));let Q=c;c=T(k),c===Q?~c&&L[c].p(k,H):(u&&(Qe(),ae(L[Q],1,1,()=>{L[Q]=null}),$e()),~c?(u=L[c],u?u.p(k,H):(u=L[c]=I[c](k),u.c()),le(u,1),u.m(d,null)):u=null),k[4]===2&&!k[11]?E?E.p(k,H):(E=ao(k),E.c(),E.m(n,null)):E&&(E.d(1),E=null),(!b||H[0]&1&&h!==(h="modal mode-"+k[0]+" svelte-1w7vyt4"))&&s(n,"class",h),(!b||H[0]&8192&&g!==(g=k[13]+" snapshots"))&&s(n,"aria-label",g)},i(k){b||(le(u),b=!0)},o(k){ae(u),b=!1},d(k){k&&R(e),A&&A.d(),N&&N.d(),~c&&L[c].d(),E&&E.d(),w=!1,Ae(O)}}}function lo(t){let e,n,o;return{c(){e=S("button"),e.textContent="←",s(e,"class","modal-back-btn svelte-1w7vyt4"),s(e,"aria-label","Back")},m(l,r){C(l,e,r),n||(o=oe(e,"click",t[15]),n=!0)},p:Y,d(l){l&&R(e),n=!1,o()}}}function Ul(t){let e=t[5].name+"",n;return{c(){n=W(e)},m(o,l){C(o,n,l)},p(o,l){l[0]&32&&e!==(e=o[5].name+"")&&$(n,e)},d(o){o&&R(n)}}}function Hl(t){let e,n;return{c(){e=W(t[13]),n=W(" — choose a workspace")},m(o,l){C(o,e,l),C(o,n,l)},p(o,l){l[0]&8192&&$(e,o[13])},d(o){o&&(R(e),R(n))}}}function Bl(t){let e,n,o,l,r,i,p,m,d,c,u=[],f=new qo,h,g,b,w,O;function A(T,E){return T[0]==="delete"&&T[7]?Vl:Yl}let P=A(t),v=P(t),N=Ve(t[5].snapshots);const I=T=>T[34].filename;for(let T=0;T<N.length;T+=1){let E=to(t,N,T),k=I(E);f.set(k,u[T]=ro(k,E))}let L=t[10]&&io(t);return{c(){e=S("p"),n=W("Step 2 of 2 — "),o=W(t[0]),l=W(" the whole workspace, or select individual snapshots below."),r=B(),i=S("button"),v.c(),p=B(),m=S("div"),m.textContent="or select individual snapshots",d=B(),c=S("ul");for(let T=0;T<u.length;T+=1)u[T].c();h=B(),L&&L.c(),g=it(),s(e,"class","modal-step-hint svelte-1w7vyt4"),s(i,"class","whole-workspace-action svelte-1w7vyt4"),i.disabled=t[9],s(m,"class","modal-divider svelte-1w7vyt4"),s(c,"class","modal-snapshot-list svelte-1w7vyt4")},m(T,E){C(T,e,E),_(e,n),_(e,o),_(e,l),C(T,r,E),C(T,i,E),v.m(i,null),C(T,p,E),C(T,m,E),C(T,d,E),C(T,c,E);for(let k=0;k<u.length;k+=1)u[k]&&u[k].m(c,null);C(T,h,E),L&&L.m(T,E),C(T,g,E),b=!0,w||(O=oe(i,"click",t[18]),w=!0)},p(T,E){(!b||E[0]&1)&&$(o,T[0]),P===(P=A(T))&&v?v.p(T,E):(v.d(1),v=P(T),v&&(v.c(),v.m(i,null))),(!b||E[0]&512)&&(i.disabled=T[9]),E[0]&131168&&(N=Ve(T[5].snapshots),Qe(),u=Ct(u,E,I,1,T,N,f,c,wn,ro,null,to),$e()),T[10]?L?L.p(T,E):(L=io(T),L.c(),L.m(g.parentNode,g)):L&&(L.d(1),L=null)},i(T){if(!b){for(let E=0;E<N.length;E+=1)le(u[E]);b=!0}},o(T){for(let E=0;E<u.length;E+=1)ae(u[E]);b=!1},d(T){T&&(R(e),R(r),R(i),R(p),R(m),R(d),R(c),R(h),R(g)),v.d();for(let E=0;E<u.length;E+=1)u[E].d();L&&L.d(T),w=!1,O()}}}function Wl(t){let e,n,o,l,r,i=[],p=new qo,m,d=Ve(t[2]);const c=u=>u[31].name;for(let u=0;u<d.length;u+=1){let f=no(t,d,u),h=c(f);p.set(h,i[u]=so(h,f))}return{c(){e=S("p"),n=W("Step 1 of 2 — pick which workspace's snapshots to "),o=W(t[0]),l=W("."),r=B();for(let u=0;u<i.length;u+=1)i[u].c();m=it(),s(e,"class","modal-step-hint svelte-1w7vyt4")},m(u,f){C(u,e,f),_(e,n),_(e,o),_(e,l),C(u,r,f);for(let h=0;h<i.length;h+=1)i[h]&&i[h].m(u,f);C(u,m,f)},p(u,f){f[0]&1&&$(o,u[0]),f[0]&16388&&(d=Ve(u[2]),i=Ct(i,f,c,1,u,d,p,m.parentNode,Yo,so,m,no))},i:Y,o:Y,d(u){u&&(R(e),R(r),R(m));for(let f=0;f<i.length;f+=1)i[f].d(u)}}}function jl(t){let e,n,o,l,r;return{c(){e=S("div"),n=S("span"),n.innerHTML='<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"></polyline></svg>',o=B(),l=S("span"),r=W(t[11]),s(n,"class","check-circle svelte-1w7vyt4"),s(e,"class","modal-confirm svelte-1w7vyt4")},m(i,p){C(i,e,p),_(e,n),_(e,o),_(e,l),_(l,r)},p(i,p){p[0]&2048&&$(r,i[11])},i:Y,o:Y,d(i){i&&R(e)}}}function Gl(t){let e,n,o;return{c(){e=S("p"),n=W("Failed to load workspaces: "),o=W(t[3]),s(e,"class","modal-error svelte-1w7vyt4")},m(l,r){C(l,e,r),_(e,n),_(e,o)},p(l,r){r[0]&8&&$(o,l[3])},i:Y,o:Y,d(l){l&&R(e)}}}function Yl(t){let e,n,o=t[5].snapshots.length+"",l,r,i=t[5].snapshots.length===1?"":"s",p,m;return{c(){e=W(t[13]),n=W(" entire workspace ("),l=W(o),r=W(" snapshot"),p=W(i),m=W(")")},m(d,c){C(d,e,c),C(d,n,c),C(d,l,c),C(d,r,c),C(d,p,c),C(d,m,c)},p(d,c){c[0]&8192&&$(e,d[13]),c[0]&32&&o!==(o=d[5].snapshots.length+"")&&$(l,o),c[0]&32&&i!==(i=d[5].snapshots.length===1?"":"s")&&$(p,i)},d(d){d&&(R(e),R(n),R(l),R(r),R(p),R(m))}}}function Vl(t){let e;return{c(){e=W("Click again to confirm")},m(n,o){C(n,e,o)},p:Y,d(n){n&&R(e)}}}function ro(t,e){let n,o,l,r,i,p,m,d,c,u,f,h;function g(){return e[22](e[34])}return d=new Xo({props:{title:e[34].title,type:e[34].type,timestamp:e[34].timestamp}}),{key:t,first:null,c(){n=S("li"),o=S("label"),l=S("input"),p=B(),m=S("span"),rt(d.$$.fragment),c=B(),s(l,"type","checkbox"),l.checked=r=e[6].has(e[34].filename),s(l,"aria-label",i="Select snapshot "+(e[34].title??e[34].filename)),s(m,"class","modal-snapshot-row svelte-1w7vyt4"),s(o,"class","svelte-1w7vyt4"),s(n,"class","modal-snapshot-item svelte-1w7vyt4"),wt(n,"selected",e[6].has(e[34].filename)),this.first=n},m(b,w){C(b,n,w),_(n,o),_(o,l),_(o,p),_(o,m),tt(d,m,null),_(n,c),u=!0,f||(h=oe(l,"change",g),f=!0)},p(b,w){e=b,(!u||w[0]&96&&r!==(r=e[6].has(e[34].filename)))&&(l.checked=r),(!u||w[0]&32&&i!==(i="Select snapshot "+(e[34].title??e[34].filename)))&&s(l,"aria-label",i);const O={};w[0]&32&&(O.title=e[34].title),w[0]&32&&(O.type=e[34].type),w[0]&32&&(O.timestamp=e[34].timestamp),d.$set(O),(!u||w[0]&96)&&wt(n,"selected",e[6].has(e[34].filename))},i(b){u||(le(d.$$.fragment,b),u=!0)},o(b){ae(d.$$.fragment,b),u=!1},d(b){b&&R(n),nt(d),f=!1,h()}}}function io(t){let e,n;return{c(){e=S("p"),n=W(t[10]),s(e,"class","modal-error svelte-1w7vyt4")},m(o,l){C(o,e,l),_(e,n)},p(o,l){l[0]&1024&&$(n,o[10])},d(o){o&&R(e)}}}function so(t,e){let n,o,l=e[31].name+"",r,i=e[31].isCurrent?" (current)":"",p,m,d,c=e[31].snapshots.length+"",u,f,h=e[31].snapshots.length===1?"":"s",g,b,w,O,A,P;function v(){return e[21](e[31])}return{key:t,first:null,c(){n=S("button"),o=S("span"),r=W(l),p=W(i),m=B(),d=S("span"),u=W(c),f=W(" snapshot"),g=W(h),b=B(),w=S("span"),w.textContent="›",O=B(),s(o,"class","workspace-pick-name svelte-1w7vyt4"),s(w,"class","workspace-pick-chevron svelte-1w7vyt4"),s(d,"class","workspace-pick-meta svelte-1w7vyt4"),s(n,"class","workspace-pick-row svelte-1w7vyt4"),this.first=n},m(N,I){C(N,n,I),_(n,o),_(o,r),_(o,p),_(n,m),_(n,d),_(d,u),_(d,f),_(d,g),_(d,b),_(d,w),_(n,O),A||(P=oe(n,"click",v),A=!0)},p(N,I){e=N,I[0]&4&&l!==(l=e[31].name+"")&&$(r,l),I[0]&4&&i!==(i=e[31].isCurrent?" (current)":"")&&$(p,i),I[0]&4&&c!==(c=e[31].snapshots.length+"")&&$(u,c),I[0]&4&&h!==(h=e[31].snapshots.length===1?"":"s")&&$(g,h)},d(N){N&&R(n),A=!1,P()}}}function ao(t){let e,n,o=t[6].size+"",l,r,i,p,m,d,c,u=t[0]==="delete"&&t[8]?"Click again to confirm":`${t[13]} selected`,f,h,g,b;return{c(){e=S("div"),n=S("span"),l=W(o),r=W(" selected"),i=B(),p=S("div"),m=S("button"),m.textContent="Cancel",d=B(),c=S("button"),f=W(u),s(n,"class","modal-select-count svelte-1w7vyt4"),s(m,"class","modal-cancel-btn svelte-1w7vyt4"),s(c,"class","modal-selected-action svelte-1w7vyt4"),c.disabled=h=t[6].size===0||t[9],s(p,"class","modal-footer-actions svelte-1w7vyt4"),s(e,"class","modal-footer svelte-1w7vyt4")},m(w,O){C(w,e,O),_(e,n),_(n,l),_(n,r),_(e,i),_(e,p),_(p,m),_(p,d),_(p,c),_(c,f),g||(b=[oe(m,"click",t[16]),oe(c,"click",t[19])],g=!0)},p(w,O){O[0]&64&&o!==(o=w[6].size+"")&&$(l,o),O[0]&8449&&u!==(u=w[0]==="delete"&&w[8]?"Click again to confirm":`${w[13]} selected`)&&$(f,u),O[0]&576&&h!==(h=w[6].size===0||w[9])&&(c.disabled=h)},d(w){w&&R(e),g=!1,Ae(b)}}}function Xl(t){let e,n,o=t[1]&&oo(t);return{c(){o&&o.c(),e=it()},m(l,r){o&&o.m(l,r),C(l,e,r),n=!0},p(l,r){l[1]?o?(o.p(l,r),r[0]&2&&le(o,1)):(o=oo(l),o.c(),le(o,1),o.m(e.parentNode,e)):o&&(Qe(),ae(o,1,1,()=>{o=null}),$e())},i(l){n||(le(o),n=!0)},o(l){ae(o),n=!1},d(l){l&&R(e),o&&o.d(l)}}}function ql(t,e,n){let o,l,{mode:r}=e,{open:i=!1}=e,{workspaces:p=[]}=e,{loadError:m=null}=e;const d=yn();let c=1,u=null,f=new Set,h=!1,g=!1,b=!1,w=null,O=null,A=null,P=null,v=!1;function N(){n(10,w=null),n(11,O=null),n(9,b=!1),n(7,h=!1),n(8,g=!1),n(6,f=new Set),p.length===1?(n(5,u=p[0]),n(4,c=2)):(n(5,u=null),n(4,c=1))}function I(z){n(5,u=z),n(6,f=new Set),n(7,h=!1),n(8,g=!1),n(10,w=null),n(4,c=2)}function L(){p.length<=1||(n(4,c=1),n(5,u=null),n(6,f=new Set),n(10,w=null))}function T(){d("close")}function E(z){const re=new Set(f);re.has(z)?re.delete(z):re.add(z),n(6,f=re),n(8,g=!1)}function k(z){z==="whole"?n(7,h=!0):n(8,g=!0),A&&clearTimeout(A),A=setTimeout(()=>{n(7,h=!1),n(8,g=!1)},3e3)}function H(z){n(11,O=z),P&&clearTimeout(P),P=setTimeout(()=>d("close"),1200)}async function Q(){if(u){n(9,b=!0),n(10,w=null);try{if(r==="delete")await Fl(u.name),d("deleted"),H(`Deleted entire workspace "${u.name}"`);else{const z=u.snapshots.filter(re=>re.id!==void 0).map(re=>({workspace:u.name,id:re.id}));if(z.length===0)throw new Error("no exportable snapshots in this workspace");await eo(z),H(`Exported entire workspace "${u.name}"`)}}catch(z){n(10,w=z instanceof Error?z.message:"Request failed")}finally{n(9,b=!1)}}}async function ue(){if(!u||f.size===0)return;n(9,b=!0),n(10,w=null);const z=[...f];try{if(r==="delete")await zl(u.name,z),d("deleted"),H(`Deleted ${z.length} snapshot${z.length===1?"":"s"} from "${u.name}"`);else{const re=new Map(u.snapshots.map(j=>[j.filename,j.id])),me=z.map(j=>({workspace:u.name,id:re.get(j)})).filter(j=>j.id!==void 0);if(me.length===0)throw new Error("no exportable snapshots selected");await eo(me),H(`Exported ${z.length} snapshot${z.length===1?"":"s"} from "${u.name}"`)}}catch(re){n(10,w=re instanceof Error?re.message:"Request failed")}finally{n(9,b=!1)}}function x(){if(r==="delete"&&!h){k("whole");return}A&&clearTimeout(A),Q()}function Oe(){if(f.size!==0){if(r==="delete"&&!g){k("subset");return}A&&clearTimeout(A),ue()}}Gt(()=>{A&&clearTimeout(A),P&&clearTimeout(P)});const be=z=>I(z),ve=z=>E(z.filename);return t.$$set=z=>{"mode"in z&&n(0,r=z.mode),"open"in z&&n(1,i=z.open),"workspaces"in z&&n(2,p=z.workspaces),"loadError"in z&&n(3,m=z.loadError)},t.$$.update=()=>{t.$$.dirty[0]&1&&n(13,o=r==="delete"?"Delete":"Export"),t.$$.dirty[0]&20&&n(12,l=c===2&&p.length>1),t.$$.dirty[0]&1048578&&(i&&!v&&N(),n(20,v=i))},[r,i,p,m,c,u,f,h,g,b,w,O,l,o,I,L,T,E,x,Oe,v,be,ve]}class xl extends qe{constructor(e){super(),Xe(this,e,ql,Xl,ze,{mode:0,open:1,workspaces:2,loadError:3},null,[-1,-1])}}const dt=[];function Je(t,e=Y){let n;const o=new Set;function l(p){if(ze(t,p)&&(t=p,n)){const m=!dt.length;for(const d of o)d[1](),dt.push(d,t);if(m){for(let d=0;d<dt.length;d+=2)dt[d][0](dt[d+1]);dt.length=0}}}function r(p){l(p(t))}function i(p,m=Y){const d=[p,m];return o.add(d),o.size===1&&(n=e(l,r)||Y),p(t),()=>{o.delete(d),o.size===0&&n&&(n(),n=null)}}return{set:l,update:r,subscribe:i}}const Kl={presentation:null,driver:"static",placeholder:null,clickable:!1,nodeActions:void 0,nodeToFrameEnabled:!1};function Jl(t,e){if(e.action==="clear")return{presentation:null,driver:"static",placeholder:null,clickable:!1,nodeActions:void 0,nodeToFrameEnabled:!1};if(e.action==="replace"&&e.type==="step-frames-placeholder")return{...t,presentation:null,placeholder:{frameCount:e.frameCount,title:e.title},nodeToFrameEnabled:!1};if(e.action==="replace"){const o={cursor:0,frames:[{type:e.type,payload:e.payload,...e.frameLabel!==void 0?{label:e.frameLabel}:{}}],id:e.id,...e.title!==void 0?{title:e.title}:{}};return{...t,presentation:o,driver:e.total>1?"manual":"static",placeholder:null,currentFrame:e.cursor,totalFrames:e.total,viewport:e.viewport,nodeToFrame:e.nodeToFrame,nodeToFrameEnabled:e.nodeToFrame!==void 0}}return e.action==="set_node_actions"?{...t,clickable:e.enabled,nodeActions:e.enabled?e.node_actions??{}:void 0,nodeToFrameEnabled:e.enabled?!1:t.nodeToFrame!==void 0}:t}function Zl(){const{subscribe:t,update:e}=Je(Kl);return{subscribe:t,dispatch(n){e(o=>Jl(o,n))}}}const xo=Zl();function Ql(){const t=Je({armed:!1,sent:!1,error:!1});let e=null,n=null;function o(r){r.action==="set_done_armed"&&t.update(i=>({...i,armed:r.armed}))}async function l(){if(!je(t).sent){try{const r=await fetch("/user-done",{method:"POST"});if(!r.ok)throw new Error(`unexpected status ${r.status}`)}catch(r){console.error("handleDone: POST /user-done failed",r),t.update(i=>({...i,error:!0})),n&&clearTimeout(n),n=setTimeout(()=>t.update(i=>({...i,error:!1})),2e3);return}t.update(r=>({...r,sent:!0})),e&&clearTimeout(e),e=setTimeout(()=>t.update(r=>({...r,sent:!1})),2e3)}}return{subscribe:t.subscribe,dispatch:o,handleDone:l}}const kn=Ql();function $l(){const t=Je({mode:null,workspaces:[],loadError:null});async function e(o){const l=await Vo();l.ok?t.update(r=>({...r,workspaces:l.workspaces,loadError:null,mode:o})):t.update(r=>({...r,workspaces:[],loadError:l.error,mode:o}))}function n(){t.update(o=>({...o,mode:null}))}return{subscribe:t.subscribe,open:e,close:n}}const Bt=$l(),Ko="agent-whiteboard:theme";function er(){return localStorage.getItem(Ko)==="dark"?"dark":"light"}function tr(){const t=Je(er());t.subscribe(n=>{document.documentElement.setAttribute("data-theme",n),localStorage.setItem(Ko,n)});function e(){t.update(n=>n==="light"?"dark":"light")}return{subscribe:t.subscribe,toggle:e}}const Jo=tr();async function co(t){await fetch("/step",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({direction:t})})}const nr=["mermaid","svg","html","katex","vega-lite"],or=["replace","clear","set_node_actions","set_done_armed"];function lr(t){if(typeof t!="object"||t===null)return!1;const e=t.action;if(!or.includes(e))return!1;if(e!=="replace")return!0;const n=t.type;return n==="step-frames-placeholder"||nr.includes(n)}function rr(t){const e=location.protocol==="https:"?"wss":"ws",n=new WebSocket(`${e}://${location.host}/stream`);return n.addEventListener("message",o=>{let l;try{l=JSON.parse(o.data)}catch{console.error("ws: failed to parse message",o.data);return}if(!lr(l)){console.error("ws: received message with unrecognized action/type — ignoring",l);return}t(l)}),n.addEventListener("close",()=>{t({action:"clear"}),window.dispatchEvent(new CustomEvent("ws:disconnected"))}),n.addEventListener("open",()=>{window.dispatchEvent(new CustomEvent("ws:connected"))}),()=>n.close()}const En=Je(!1);function ir(t){xo.dispatch(t),kn.dispatch(t)}function uo(){En.set(!0)}function fo(){En.set(!1)}function sr(){const t=rr(ir);return window.addEventListener("ws:disconnected",uo),window.addEventListener("ws:connected",fo),()=>{t(),window.removeEventListener("ws:disconnected",uo),window.removeEventListener("ws:connected",fo)}}const ar="modulepreload",cr=function(t){return"/"+t},po={},Yt=function(e,n,o){if(!n||n.length===0)return e();const l=document.getElementsByTagName("link");return Promise.all(n.map(r=>{if(r=cr(r),r in po)return;po[r]=!0;const i=r.endsWith(".css"),p=i?'[rel="stylesheet"]':"";if(!!o)for(let c=l.length-1;c>=0;c--){const u=l[c];if(u.href===r&&(!i||u.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${p}`))return;const d=document.createElement("link");if(d.rel=i?"stylesheet":ar,i||(d.as="script",d.crossOrigin=""),d.href=r,document.head.appendChild(d),i)return new Promise((c,u)=>{d.addEventListener("load",c),d.addEventListener("error",()=>u(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>e()).catch(r=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r})},nn=.1,on=10,ur=.001,fr=.92,dr=800;function pr(t){const e=Je(1),n=Je(0),o=Je(0),l=Je(!1);let r=0,i=0,p=0,m=0,d=null;function c(v){const N=t.getWrapper();if(!N)return;const I=v.getAttribute("viewBox");let L,T;if(I){const ue=I.trim().split(/\s+/).map(Number);L=ue[2],T=ue[3]}else L=v.clientWidth||1,T=v.clientHeight||1;if(!L||!T)return;const E=N.clientWidth,k=N.clientHeight,H=Math.min(E/L,k/T)*fr,Q=Math.min(on,Math.max(nn,H));e.set(Q),n.set((E-L*Q)/2),o.set((k-T*Q)/2)}function u(v){const N=t.getWrapper();N&&(e.set(Math.min(on,Math.max(nn,v.scale))),n.set(v.positionX*N.clientWidth),o.set(v.positionY*N.clientHeight))}function f(){d&&clearTimeout(d),d=setTimeout(()=>{d=null,h()},dr)}function h(){const v=t.getSnapshotId(),N=t.getWrapper();if(!v||!N)return;const I=je(n)/N.clientWidth,L=je(o)/N.clientHeight;fetch("/viewport",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:v,frame:t.getCurrentFrame(),scale:je(e),positionX:I,positionY:L})}).catch(()=>{})}function g(){var N;const v=(N=t.getContainer())==null?void 0:N.querySelector("svg");v?c(v):(e.set(1),n.set(0),o.set(0)),f()}function b(v){v.preventDefault();const N=t.getWrapper();if(!N)return;const I=je(e),L=-v.deltaY*ur,T=Math.min(on,Math.max(nn,I+L*I)),E=N.getBoundingClientRect(),k=v.clientX-E.left,H=v.clientY-E.top,Q=je(n),ue=je(o);n.set(k-(k-Q)*(T/I)),o.set(H-(H-ue)*(T/I)),e.set(T),f()}function w(v){v.button===0&&(l.set(!0),r=v.clientX,i=v.clientY,p=je(n),m=je(o),v.preventDefault())}function O(v){je(l)&&(n.set(p+(v.clientX-r)),o.set(m+(v.clientY-i)),f())}function A(){l.set(!1)}function P(){d&&clearTimeout(d),d=null}return{scale:e,tx:n,ty:o,dragging:l,fitToView:c,applyViewport:u,resetTransform:g,onWheel:b,onMousedown:w,onMousemove:O,onMouseup:A,scheduleViewportReport:f,reportViewport:h,destroy:P}}function pt(t){t.stopPropagation()}async function ln(t){await fetch("/node-click",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).catch(()=>{})}function mr(t){async function e(c){var b;c.stopPropagation();const u=c.currentTarget.closest(".node")??c.currentTarget,f=t.extractNodeId(u)??u.id,h=t.extractNodeLabel(u),g=(b=t.getNodeActions())==null?void 0:b[f];if(g&&g.length>0){const w=c;t.onPopupRequest({x:w.clientX,y:w.clientY,nodeId:f,nodeLabel:h,actions:g});return}await ln({type:"node",id:f,label:h})}async function n(c){var g;c.stopPropagation();const u=c.currentTarget,f=t.extractEdgeId(u)??"",h=((g=u.textContent)==null?void 0:g.trim())??"";await ln({type:"edge",id:f,label:h})}let o=null;function l(){r();const c=t.getContainer();if(!c)return;const u=c.querySelector("svg");if(!u)return;const f=u.querySelectorAll(".node"),h=u.querySelectorAll(".edgeLabel");for(const g of f)g.addEventListener("click",e),g.addEventListener("mousedown",pt),g.style.cursor="pointer",g.classList.add("clickable-node");for(const g of h)g.addEventListener("click",n),g.addEventListener("mousedown",pt),g.style.cursor="pointer";o=()=>{for(const g of f)g.removeEventListener("click",e),g.removeEventListener("mousedown",pt),g.style.cursor="",g.classList.remove("clickable-node");for(const g of h)g.removeEventListener("click",n),g.removeEventListener("mousedown",pt),g.style.cursor=""}}function r(){o==null||o(),o=null}let i=null;function p(c){m();const u=t.getContainer();if(!u)return;const f=u.querySelector("svg");if(!f)return;const h=f.querySelectorAll(".node");for(const g of h){const b=t.extractNodeId(g);if(b===null||!(b in c))continue;const w=c[b],O=A=>{A.stopPropagation(),fetch("/seek",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({frame:w})}).catch(()=>{})};g.addEventListener("click",O),g.addEventListener("mousedown",pt),g.style.cursor="pointer",i=(A=>()=>{A==null||A(),g.removeEventListener("click",O),g.removeEventListener("mousedown",pt),g.style.cursor=""})(i)}}function m(){i==null||i(),i=null}async function d(c,u){await ln({type:"node",id:c.nodeId,label:c.nodeLabel,action:u})}return{attachClickListeners:l,detachClickListeners:r,attachNodeToFrameListeners:p,detachNodeToFrameListeners:m,selectAction:d}}function mo(t,e,n){const o=t.slice();return o[7]=e[n],o[9]=n,o}function ho(t){let e,n,o,l=[],r=new Map,i,p,m=Ve(t[0].actions);const d=c=>c[9];for(let c=0;c<m.length;c+=1){let u=mo(t,m,c),f=d(u);r.set(f,l[c]=_o(f,u))}return{c(){e=S("div"),n=B(),o=S("div");for(let c=0;c<l.length;c+=1)l[c].c();s(e,"class","popup-backdrop svelte-1lkjcuo"),s(o,"class","node-action-popup svelte-1lkjcuo"),Ye(o,"position","fixed"),Ye(o,"left",t[0].x+"px"),Ye(o,"top",t[0].y+"px")},m(c,u){C(c,e,u),C(c,n,u),C(c,o,u);for(let f=0;f<l.length;f+=1)l[f]&&l[f].m(o,null);i||(p=[oe(e,"click",t[3]),oe(o,"click",fl(_r)),bn(Tn.call(null,o,{onEscape:t[6]}))],i=!0)},p(c,u){u&7&&(m=Ve(c[0].actions),l=Ct(l,u,d,1,c,m,r,o,Yo,_o,null,mo)),u&1&&Ye(o,"left",c[0].x+"px"),u&1&&Ye(o,"top",c[0].y+"px")},d(c){c&&(R(e),R(n),R(o));for(let u=0;u<l.length;u+=1)l[u].d();i=!1,Ae(p)}}}function _o(t,e){let n,o=e[7]+"",l,r,i,p;function m(){return e[4](e[7])}function d(...c){return e[5](e[7],...c)}return{key:t,first:null,c(){n=S("div"),l=W(o),r=B(),s(n,"class","popup-item svelte-1lkjcuo"),s(n,"role","button"),s(n,"tabindex","0"),this.first=n},m(c,u){C(c,n,u),_(n,l),_(n,r),i||(p=[oe(n,"click",m),oe(n,"keydown",d)],i=!0)},p(c,u){e=c,u&1&&o!==(o=e[7]+"")&&$(l,o)},d(c){c&&R(n),i=!1,Ae(p)}}}function hr(t){let e,n=t[0]&&ho(t);return{c(){n&&n.c(),e=it()},m(o,l){n&&n.m(o,l),C(o,e,l)},p(o,[l]){o[0]?n?n.p(o,l):(n=ho(o),n.c(),n.m(e.parentNode,e)):n&&(n.d(1),n=null)},i:Y,o:Y,d(o){o&&R(e),n&&n.d(o)}}}const _r=()=>{};function gr(t,e,n){let{popup:o=null}=e;const l=yn();function r(c,u){c.key!=="Enter"&&c.key!==" "||(c.preventDefault(),l("select",u))}const i=()=>l("dismiss"),p=c=>l("select",c),m=(c,u)=>r(u,c),d=()=>l("dismiss");return t.$$set=c=>{"popup"in c&&n(0,o=c.popup)},[o,l,r,i,p,m,d]}class br extends qe{constructor(e){super(),Xe(this,e,gr,hr,ze,{popup:0})}}function go(t){let e,n;return{c(){e=S("pre"),n=W(t[2]),s(e,"class","render-error svelte-cgub0p")},m(o,l){C(o,e,l),_(e,n)},p(o,l){l[0]&4&&$(n,o[2])},d(o){o&&R(e)}}}function yr(t){let e,n,o,l,r,i,p,m,d,c,u,f=t[2]&&go(t);return m=new br({props:{popup:t[3]}}),m.$on("select",t[27]),m.$on("dismiss",t[13]),{c(){e=S("div"),n=S("div"),o=S("div"),l=B(),f&&f.c(),r=B(),i=S("div"),i.textContent="scroll to zoom · drag to pan · dbl-click to reset",p=B(),rt(m.$$.fragment),s(o,"class","mermaid-container svelte-cgub0p"),s(n,"class","mermaid-canvas svelte-cgub0p"),Ye(n,"transform",t[5]),Ye(n,"transform-origin","0 0"),s(i,"class","zoom-hint svelte-cgub0p"),s(e,"class","mermaid-wrapper svelte-cgub0p"),s(e,"title","Scroll to zoom · Drag to pan · Double-click to reset"),Ye(e,"cursor",t[4])},m(h,g){C(h,e,g),_(e,n),_(n,o),t[26](o),_(e,l),f&&f.m(e,null),_(e,r),_(e,i),_(e,p),tt(m,e,null),t[28](e),d=!0,c||(u=[oe(e,"wheel",t[11]),oe(e,"mousedown",t[12]),oe(e,"dblclick",t[10])],c=!0)},p(h,g){(!d||g[0]&32)&&Ye(n,"transform",h[5]),h[2]?f?f.p(h,g):(f=go(h),f.c(),f.m(e,r)):f&&(f.d(1),f=null);const b={};g[0]&8&&(b.popup=h[3]),m.$set(b),(!d||g[0]&16)&&Ye(e,"cursor",h[4])},i(h){d||(le(m.$$.fragment,h),d=!0)},o(h){ae(m.$$.fragment,h),d=!1},d(h){h&&R(e),t[26](null),f&&f.d(),nt(m),t[28](null),c=!1,Ae(u)}}}function wr(t){const e=t.id.match(/flowchart-(.+?)-\d+$/);return e?e[1]:null}function Tr(t){var n;return((n=(t.querySelector(".nodeLabel")??t.querySelector(".label")??t).textContent)==null?void 0:n.trim())??""}function kr(t){const e=t.closest("[id]");return e&&e.id||null}function Er(t,e,n){let o,l,r,i,p,m,{source:d}=e,{clickable:c=!1}=e,{nodeActions:u=void 0}=e,{nodeToFrame:f=void 0}=e,{snapshotId:h=void 0}=e,{viewport:g=void 0}=e,{currentFrame:b=0}=e,w,O,A=null,P=null,v=0,N;const I=pr({getWrapper:()=>w,getContainer:()=>O,getSnapshotId:()=>h,getCurrentFrame:()=>b}),{scale:L,tx:T,ty:E,dragging:k,fitToView:H,applyViewport:Q,resetTransform:ue,onWheel:x,onMousedown:Oe,onMousemove:be,onMouseup:ve}=I;Ke(t,L,U=>n(23,i=U)),Ke(t,T,U=>n(25,m=U)),Ke(t,E,U=>n(24,p=U)),Ke(t,k,U=>n(22,r=U));let z=null;const re=mr({getContainer:()=>O,extractNodeId:wr,extractNodeLabel:Tr,extractEdgeId:kr,getNodeActions:()=>u,onPopupRequest:U=>{n(3,z=U)}}),{attachClickListeners:me,detachClickListeners:j,attachNodeToFrameListeners:_e,detachNodeToFrameListeners:Ie}=re;function J(){n(3,z=null)}async function et(U){if(!z)return;const Se=z;n(3,z=null),await re.selectAction(Se,U)}let ee=null;function fe(){return ee||(ee=Yt(()=>import("./mermaid.core-9fc8f6d2.js").then(U=>U.aV),["assets/mermaid.core-9fc8f6d2.js","assets/step-171ad54a.js"]).then(U=>{const Se=U.default;return Se.initialize({startOnLoad:!1,theme:"default",securityLevel:"strict"}),Se})),ee}function V(){return h===void 0?!1:`${h}:${b}`!==N}async function Me(U,Se){const we=++v;if(n(2,A=null),j(),!U){O&&n(1,O.innerHTML="",O);return}try{const Z=await fe();if(we!==v)return;const M=`mermaid-${Date.now()}`,{svg:q}=await Z.render(M,U);if(we!==v)return;O&&n(1,O.innerHTML=q,O);const Re=O==null?void 0:O.querySelector("svg");if(Re){const Ce=Re.getAttribute("viewBox");if(Ce){const Te=Ce.trim().split(/\s+/).map(Number);Te[2]&&Te[3]&&(Re.setAttribute("width",String(Te[2])),Re.setAttribute("height",String(Te[3])))}}Se&&Re&&(g?Q(g):H(Re)),c?me():f&&_e(f)}catch(Z){if(we!==v)return;n(2,A=Z instanceof Error?Z.message:String(Z)),O&&n(1,O.innerHTML="",O)}}Rt(()=>{const U=V();h!==void 0&&(N=`${h}:${b}`),Me(d,U),P=d,window.addEventListener("mousemove",be),window.addEventListener("mouseup",ve)}),jt(()=>{if(d!==P){const U=V();h!==void 0&&(N=`${h}:${b}`),P=d,Me(d,U)}}),Gt(()=>{window.removeEventListener("mousemove",be),window.removeEventListener("mouseup",ve),j(),Ie(),I.destroy()});function ye(U){Ze[U?"unshift":"push"](()=>{O=U,n(1,O)})}const Le=U=>et(U.detail);function de(U){Ze[U?"unshift":"push"](()=>{w=U,n(0,w)})}return t.$$set=U=>{"source"in U&&n(15,d=U.source),"clickable"in U&&n(16,c=U.clickable),"nodeActions"in U&&n(17,u=U.nodeActions),"nodeToFrame"in U&&n(18,f=U.nodeToFrame),"snapshotId"in U&&n(19,h=U.snapshotId),"viewport"in U&&n(20,g=U.viewport),"currentFrame"in U&&n(21,b=U.currentFrame)},t.$$.update=()=>{t.$$.dirty[0]&65536&&(c?me():(j(),n(3,z=null))),t.$$.dirty[0]&262144&&(f?_e(f):Ie()),t.$$.dirty[0]&58720256&&n(5,o=`translate(${m}px, ${p}px) scale(${i})`),t.$$.dirty[0]&4194304&&n(4,l=r?"grabbing":"grab")},[w,O,A,z,l,o,L,T,E,k,ue,x,Oe,J,et,d,c,u,f,h,g,b,r,i,p,m,ye,Le,de]}class vr extends qe{constructor(e){super(),Xe(this,e,Er,yr,ze,{source:15,clickable:16,nodeActions:17,nodeToFrame:18,snapshotId:19,viewport:20,currentFrame:21},null,[-1,-1])}}/*! @license DOMPurify 3.4.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.7/LICENSE */function bo(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n<e;n++)o[n]=t[n];return o}function Sr(t){if(Array.isArray(t))return t}function Ar(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o,l,r,i,p=[],m=!0,d=!1;try{if(r=(n=n.call(t)).next,e!==0)for(;!(m=(o=r.call(n)).done)&&(p.push(o.value),p.length!==e);m=!0);}catch(c){d=!0,l=c}finally{try{if(!m&&n.return!=null&&(i=n.return(),Object(i)!==i))return}finally{if(d)throw l}}return p}}function Or(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Lr(t,e){return Sr(t)||Ar(t,e)||Rr(t,e)||Or()}function Rr(t,e){if(t){if(typeof t=="string")return bo(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?bo(t,e):void 0}}const Zo=Object.entries,yo=Object.setPrototypeOf,Cr=Object.isFrozen,Nr=Object.getPrototypeOf,Dr=Object.getOwnPropertyDescriptor;let Ee=Object.freeze,De=Object.seal,bt=Object.create,Qo=typeof Reflect<"u"&&Reflect,hn=Qo.apply,_n=Qo.construct;Ee||(Ee=function(e){return e});De||(De=function(e){return e});hn||(hn=function(e,n){for(var o=arguments.length,l=new Array(o>2?o-2:0),r=2;r<o;r++)l[r-2]=arguments[r];return e.apply(n,l)});_n||(_n=function(e){for(var n=arguments.length,o=new Array(n>1?n-1:0),l=1;l<n;l++)o[l-1]=arguments[l];return new e(...o)});const mt=ce(Array.prototype.forEach),Ir=ce(Array.prototype.lastIndexOf),wo=ce(Array.prototype.pop),ht=ce(Array.prototype.push),Mr=ce(Array.prototype.splice),ke=Array.isArray,At=ce(String.prototype.toLowerCase),rn=ce(String.prototype.toString),To=ce(String.prototype.match),_t=ce(String.prototype.replace),ko=ce(String.prototype.indexOf),Pr=ce(String.prototype.trim),Fr=ce(Number.prototype.toString),zr=ce(Boolean.prototype.toString),Eo=typeof BigInt>"u"?null:ce(BigInt.prototype.toString),vo=typeof Symbol>"u"?null:ce(Symbol.prototype.toString),ie=ce(Object.prototype.hasOwnProperty),vt=ce(Object.prototype.toString),he=ce(RegExp.prototype.test),St=Ur(TypeError);function ce(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var n=arguments.length,o=new Array(n>1?n-1:0),l=1;l<n;l++)o[l-1]=arguments[l];return hn(t,e,o)}}function Ur(t){return function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return _n(t,n)}}function G(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:At;if(yo&&yo(t,null),!ke(e))return t;let o=e.length;for(;o--;){let l=e[o];if(typeof l=="string"){const r=n(l);r!==l&&(Cr(e)||(e[o]=r),l=r)}t[l]=!0}return t}function Hr(t){for(let e=0;e<t.length;e++)ie(t,e)||(t[e]=null);return t}function ge(t){const e=bt(null);for(const o of Zo(t)){var n=Lr(o,2);const l=n[0],r=n[1];ie(t,l)&&(ke(r)?e[l]=Hr(r):r&&typeof r=="object"&&r.constructor===Object?e[l]=ge(r):e[l]=r)}return e}function Br(t){switch(typeof t){case"string":return t;case"number":return Fr(t);case"boolean":return zr(t);case"bigint":return Eo?Eo(t):"0";case"symbol":return vo?vo(t):"Symbol()";case"undefined":return vt(t);case"function":case"object":{if(t===null)return vt(t);const e=t,n=Ge(e,"toString");if(typeof n=="function"){const o=n(e);return typeof o=="string"?o:vt(o)}return vt(t)}default:return vt(t)}}function Ge(t,e){for(;t!==null;){const o=Dr(t,e);if(o){if(o.get)return ce(o.get);if(typeof o.value=="function")return ce(o.value)}t=Nr(t)}function n(){return null}return n}function Wr(t){try{return he(t,""),!0}catch{return!1}}const So=Ee(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),sn=Ee(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),an=Ee(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),jr=Ee(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),cn=Ee(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Gr=Ee(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Ao=Ee(["#text"]),Oo=Ee(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),un=Ee(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Lo=Ee(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Ut=Ee(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Yr=De(/{{[\w\W]*|^[\w\W]*}}/g),Vr=De(/<%[\w\W]*|^[\w\W]*%>/g),Xr=De(/\${[\w\W]*/g),qr=De(/^data-[\-\w.\u00B7-\uFFFF]+$/),xr=De(/^aria-[\-\w]+$/),Ro=De(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Kr=De(/^(?:\w+script|data):/i),Jr=De(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Zr=De(/^html$/i),Qr=De(/^[a-z][.\w]*(-[.\w]+)+$/i),We={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},$r=function(){return typeof window>"u"?null:window},ei=function(e,n){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let o=null;const l="data-tt-policy-suffix";n&&n.hasAttribute(l)&&(o=n.getAttribute(l));const r="dompurify"+(o?"#"+o:"");try{return e.createPolicy(r,{createHTML(i){return i},createScriptURL(i){return i}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}},Co=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function $o(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$r();const e=F=>$o(F);if(e.version="3.4.7",e.removed=[],!t||!t.document||t.document.nodeType!==We.document||!t.Element)return e.isSupported=!1,e;let n=t.document;const o=n,l=o.currentScript;t.DocumentFragment;const r=t.HTMLTemplateElement,i=t.Node,p=t.Element,m=t.NodeFilter,d=t.NamedNodeMap;d===void 0&&(t.NamedNodeMap||t.MozNamedAttrMap),t.HTMLFormElement;const c=t.DOMParser,u=t.trustedTypes,f=p.prototype,h=Ge(f,"cloneNode"),g=Ge(f,"remove"),b=Ge(f,"nextSibling"),w=Ge(f,"childNodes"),O=Ge(f,"parentNode"),A=Ge(f,"shadowRoot"),P=Ge(f,"attributes"),v=i&&i.prototype?Ge(i.prototype,"nodeType"):null,N=i&&i.prototype?Ge(i.prototype,"nodeName"):null;if(typeof r=="function"){const F=n.createElement("template");F.content&&F.content.ownerDocument&&(n=F.content.ownerDocument)}let I,L="";const T=n,E=T.implementation,k=T.createNodeIterator,H=T.createDocumentFragment,Q=T.getElementsByTagName,ue=o.importNode;let x=Co();e.isSupported=typeof Zo=="function"&&typeof O=="function"&&E&&E.createHTMLDocument!==void 0;const Oe=Yr,be=Vr,ve=Xr,z=qr,re=xr,me=Kr,j=Jr,_e=Qr;let Ie=Ro,J=null;const et=G({},[...So,...sn,...an,...cn,...Ao]);let ee=null;const fe=G({},[...Oo,...un,...Lo,...Ut]);let V=Object.seal(bt(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Me=null,ye=null;const Le=Object.seal(bt(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let de=!0,U=!0,Se=!1,we=!0,Z=!1,M=!0,q=!1,Re=!1,Ce=!1,Te=!1,Nt=!1,Dt=!1,vn=!0,Sn=!1;const An="user-content-";let Vt=!0,Tt=!1,st={},Ue=null;const Xt=G({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let On=null;const Ln=G({},["audio","video","img","source","image","track"]);let qt=null;const Rn=G({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),It="http://www.w3.org/1998/Math/MathML",Mt="http://www.w3.org/2000/svg",He="http://www.w3.org/1999/xhtml";let at=He,xt=!1,Kt=null;const el=G({},[It,Mt,He],rn);let Jt=G({},["mi","mo","mn","ms","mtext"]),Zt=G({},["annotation-xml"]);const tl=G({},["title","style","font","a","script"]);let kt=null;const nl=["application/xhtml+xml","text/html"],ol="text/html";let se=null,ct=null;const ll=n.createElement("form"),Cn=function(a){return a instanceof RegExp||a instanceof Function},Qt=function(){let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ct&&ct===a)return;(!a||typeof a!="object")&&(a={}),a=ge(a),kt=nl.indexOf(a.PARSER_MEDIA_TYPE)===-1?ol:a.PARSER_MEDIA_TYPE,se=kt==="application/xhtml+xml"?rn:At,J=ie(a,"ALLOWED_TAGS")&&ke(a.ALLOWED_TAGS)?G({},a.ALLOWED_TAGS,se):et,ee=ie(a,"ALLOWED_ATTR")&&ke(a.ALLOWED_ATTR)?G({},a.ALLOWED_ATTR,se):fe,Kt=ie(a,"ALLOWED_NAMESPACES")&&ke(a.ALLOWED_NAMESPACES)?G({},a.ALLOWED_NAMESPACES,rn):el,qt=ie(a,"ADD_URI_SAFE_ATTR")&&ke(a.ADD_URI_SAFE_ATTR)?G(ge(Rn),a.ADD_URI_SAFE_ATTR,se):Rn,On=ie(a,"ADD_DATA_URI_TAGS")&&ke(a.ADD_DATA_URI_TAGS)?G(ge(Ln),a.ADD_DATA_URI_TAGS,se):Ln,Ue=ie(a,"FORBID_CONTENTS")&&ke(a.FORBID_CONTENTS)?G({},a.FORBID_CONTENTS,se):Xt,Me=ie(a,"FORBID_TAGS")&&ke(a.FORBID_TAGS)?G({},a.FORBID_TAGS,se):ge({}),ye=ie(a,"FORBID_ATTR")&&ke(a.FORBID_ATTR)?G({},a.FORBID_ATTR,se):ge({}),st=ie(a,"USE_PROFILES")?a.USE_PROFILES&&typeof a.USE_PROFILES=="object"?ge(a.USE_PROFILES):a.USE_PROFILES:!1,de=a.ALLOW_ARIA_ATTR!==!1,U=a.ALLOW_DATA_ATTR!==!1,Se=a.ALLOW_UNKNOWN_PROTOCOLS||!1,we=a.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Z=a.SAFE_FOR_TEMPLATES||!1,M=a.SAFE_FOR_XML!==!1,q=a.WHOLE_DOCUMENT||!1,Te=a.RETURN_DOM||!1,Nt=a.RETURN_DOM_FRAGMENT||!1,Dt=a.RETURN_TRUSTED_TYPE||!1,Ce=a.FORCE_BODY||!1,vn=a.SANITIZE_DOM!==!1,Sn=a.SANITIZE_NAMED_PROPS||!1,Vt=a.KEEP_CONTENT!==!1,Tt=a.IN_PLACE||!1,Ie=Wr(a.ALLOWED_URI_REGEXP)?a.ALLOWED_URI_REGEXP:Ro,at=typeof a.NAMESPACE=="string"?a.NAMESPACE:He,Jt=ie(a,"MATHML_TEXT_INTEGRATION_POINTS")&&a.MATHML_TEXT_INTEGRATION_POINTS&&typeof a.MATHML_TEXT_INTEGRATION_POINTS=="object"?ge(a.MATHML_TEXT_INTEGRATION_POINTS):G({},["mi","mo","mn","ms","mtext"]),Zt=ie(a,"HTML_INTEGRATION_POINTS")&&a.HTML_INTEGRATION_POINTS&&typeof a.HTML_INTEGRATION_POINTS=="object"?ge(a.HTML_INTEGRATION_POINTS):G({},["annotation-xml"]);const y=ie(a,"CUSTOM_ELEMENT_HANDLING")&&a.CUSTOM_ELEMENT_HANDLING&&typeof a.CUSTOM_ELEMENT_HANDLING=="object"?ge(a.CUSTOM_ELEMENT_HANDLING):bt(null);if(V=bt(null),ie(y,"tagNameCheck")&&Cn(y.tagNameCheck)&&(V.tagNameCheck=y.tagNameCheck),ie(y,"attributeNameCheck")&&Cn(y.attributeNameCheck)&&(V.attributeNameCheck=y.attributeNameCheck),ie(y,"allowCustomizedBuiltInElements")&&typeof y.allowCustomizedBuiltInElements=="boolean"&&(V.allowCustomizedBuiltInElements=y.allowCustomizedBuiltInElements),Z&&(U=!1),Nt&&(Te=!0),st&&(J=G({},Ao),ee=bt(null),st.html===!0&&(G(J,So),G(ee,Oo)),st.svg===!0&&(G(J,sn),G(ee,un),G(ee,Ut)),st.svgFilters===!0&&(G(J,an),G(ee,un),G(ee,Ut)),st.mathMl===!0&&(G(J,cn),G(ee,Lo),G(ee,Ut))),Le.tagCheck=null,Le.attributeCheck=null,ie(a,"ADD_TAGS")&&(typeof a.ADD_TAGS=="function"?Le.tagCheck=a.ADD_TAGS:ke(a.ADD_TAGS)&&(J===et&&(J=ge(J)),G(J,a.ADD_TAGS,se))),ie(a,"ADD_ATTR")&&(typeof a.ADD_ATTR=="function"?Le.attributeCheck=a.ADD_ATTR:ke(a.ADD_ATTR)&&(ee===fe&&(ee=ge(ee)),G(ee,a.ADD_ATTR,se))),ie(a,"ADD_URI_SAFE_ATTR")&&ke(a.ADD_URI_SAFE_ATTR)&&G(qt,a.ADD_URI_SAFE_ATTR,se),ie(a,"FORBID_CONTENTS")&&ke(a.FORBID_CONTENTS)&&(Ue===Xt&&(Ue=ge(Ue)),G(Ue,a.FORBID_CONTENTS,se)),ie(a,"ADD_FORBID_CONTENTS")&&ke(a.ADD_FORBID_CONTENTS)&&(Ue===Xt&&(Ue=ge(Ue)),G(Ue,a.ADD_FORBID_CONTENTS,se)),Vt&&(J["#text"]=!0),q&&G(J,["html","head","body"]),J.table&&(G(J,["tbody"]),delete Me.tbody),a.TRUSTED_TYPES_POLICY){if(typeof a.TRUSTED_TYPES_POLICY.createHTML!="function")throw St('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof a.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw St('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');I=a.TRUSTED_TYPES_POLICY,L=I.createHTML("")}else I===void 0&&(I=ei(u,l)),I!==null&&typeof L=="string"&&(L=I.createHTML(""));(x.uponSanitizeElement.length>0||x.uponSanitizeAttribute.length>0)&&J===et&&(J=ge(J)),x.uponSanitizeAttribute.length>0&&ee===fe&&(ee=ge(ee)),Ee&&Ee(a),ct=a},Nn=G({},[...sn,...an,...jr]),Dn=G({},[...cn,...Gr]),rl=function(a){let y=O(a);(!y||!y.tagName)&&(y={namespaceURI:at,tagName:"template"});const D=At(a.tagName),K=At(y.tagName);return Kt[a.namespaceURI]?a.namespaceURI===Mt?y.namespaceURI===He?D==="svg":y.namespaceURI===It?D==="svg"&&(K==="annotation-xml"||Jt[K]):!!Nn[D]:a.namespaceURI===It?y.namespaceURI===He?D==="math":y.namespaceURI===Mt?D==="math"&&Zt[K]:!!Dn[D]:a.namespaceURI===He?y.namespaceURI===Mt&&!Zt[K]||y.namespaceURI===It&&!Jt[K]?!1:!Dn[D]&&(tl[D]||!Nn[D]):!!(kt==="application/xhtml+xml"&&Kt[a.namespaceURI]):!1},Pe=function(a){ht(e.removed,{element:a});try{O(a).removeChild(a)}catch{g(a)}},ot=function(a,y){try{ht(e.removed,{attribute:y.getAttributeNode(a),from:y})}catch{ht(e.removed,{attribute:null,from:y})}if(y.removeAttribute(a),a==="is")if(Te||Nt)try{Pe(y)}catch{}else try{y.setAttribute(a,"")}catch{}},In=function(a){let y=null,D=null;if(Ce)a="<remove></remove>"+a;else{const ne=To(a,/^[\r\n\t ]+/);D=ne&&ne[0]}kt==="application/xhtml+xml"&&at===He&&(a='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+a+"</body></html>");const K=I?I.createHTML(a):a;if(at===He)try{y=new c().parseFromString(K,kt)}catch{}if(!y||!y.documentElement){y=E.createDocument(at,"template",null);try{y.documentElement.innerHTML=xt?L:K}catch{}}const X=y.body||y.documentElement;return a&&D&&X.insertBefore(n.createTextNode(D),X.childNodes[0]||null),at===He?Q.call(y,q?"html":"body")[0]:q?y.documentElement:X},Mn=function(a){return k.call(a.ownerDocument||a,a,m.SHOW_ELEMENT|m.SHOW_COMMENT|m.SHOW_TEXT|m.SHOW_PROCESSING_INSTRUCTION|m.SHOW_CDATA_SECTION,null)},Pn=function(a){a.normalize();const y=k.call(a.ownerDocument||a,a,m.SHOW_TEXT|m.SHOW_COMMENT|m.SHOW_CDATA_SECTION|m.SHOW_PROCESSING_INSTRUCTION,null);let D=y.nextNode();for(;D;){let K=D.data;mt([Oe,be,ve],X=>{K=_t(K,X," ")}),D.data=K,D=y.nextNode()}},Pt=function(a){const y=N?N(a):null;return typeof y!="string"||se(y)!=="form"?!1:typeof a.nodeName!="string"||typeof a.textContent!="string"||typeof a.removeChild!="function"||a.attributes!==P(a)||typeof a.removeAttribute!="function"||typeof a.setAttribute!="function"||typeof a.namespaceURI!="string"||typeof a.insertBefore!="function"||typeof a.hasChildNodes!="function"||a.nodeType!==v(a)||a.childNodes!==w(a)},Et=function(a){if(!v||typeof a!="object"||a===null)return!1;try{return v(a)===We.documentFragment}catch{return!1}},Ft=function(a){if(!v||typeof a!="object"||a===null)return!1;try{return typeof v(a)=="number"}catch{return!1}};function xe(F,a,y){mt(F,D=>{D.call(e,a,y,ct)})}const Fn=function(a){let y=null;if(xe(x.beforeSanitizeElements,a,null),Pt(a))return Pe(a),!0;const D=se(a.nodeName);if(xe(x.uponSanitizeElement,a,{tagName:D,allowedTags:J}),M&&a.hasChildNodes()&&!Ft(a.firstElementChild)&&he(/<[/\w!]/g,a.innerHTML)&&he(/<[/\w!]/g,a.textContent)||M&&a.namespaceURI===He&&D==="style"&&Ft(a.firstElementChild)||a.nodeType===We.progressingInstruction||M&&a.nodeType===We.comment&&he(/<[/\w]/g,a.data))return Pe(a),!0;if(Me[D]||!(Le.tagCheck instanceof Function&&Le.tagCheck(D))&&!J[D]){if(!Me[D]&&Un(D)&&(V.tagNameCheck instanceof RegExp&&he(V.tagNameCheck,D)||V.tagNameCheck instanceof Function&&V.tagNameCheck(D)))return!1;if(Vt&&!Ue[D]){const X=O(a),ne=w(a);if(ne&&X){const Ne=ne.length;for(let Be=Ne-1;Be>=0;--Be){const Fe=h(ne[Be],!0);X.insertBefore(Fe,b(a))}}}return Pe(a),!0}return(v?v(a):a.nodeType)===We.element&&!rl(a)||(D==="noscript"||D==="noembed"||D==="noframes")&&he(/<\/no(script|embed|frames)/i,a.innerHTML)?(Pe(a),!0):(Z&&a.nodeType===We.text&&(y=a.textContent,mt([Oe,be,ve],X=>{y=_t(y,X," ")}),a.textContent!==y&&(ht(e.removed,{element:a.cloneNode()}),a.textContent=y)),xe(x.afterSanitizeElements,a,null),!1)},zn=function(a,y,D){if(ye[y]||vn&&(y==="id"||y==="name")&&(D in n||D in ll))return!1;const K=ee[y]||Le.attributeCheck instanceof Function&&Le.attributeCheck(y,a);if(!(U&&!ye[y]&&he(z,y))){if(!(de&&he(re,y))){if(!K||ye[y]){if(!(Un(a)&&(V.tagNameCheck instanceof RegExp&&he(V.tagNameCheck,a)||V.tagNameCheck instanceof Function&&V.tagNameCheck(a))&&(V.attributeNameCheck instanceof RegExp&&he(V.attributeNameCheck,y)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(y,a))||y==="is"&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&he(V.tagNameCheck,D)||V.tagNameCheck instanceof Function&&V.tagNameCheck(D))))return!1}else if(!qt[y]){if(!he(Ie,_t(D,j,""))){if(!((y==="src"||y==="xlink:href"||y==="href")&&a!=="script"&&ko(D,"data:")===0&&On[a])){if(!(Se&&!he(me,_t(D,j,"")))){if(D)return!1}}}}}}return!0},il=G({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Un=function(a){return!il[At(a)]&&he(_e,a)},Hn=function(a){xe(x.beforeSanitizeAttributes,a,null);const y=a.attributes;if(!y||Pt(a))return;const D={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ee,forceKeepAttr:void 0};let K=y.length;for(;K--;){const X=y[K],ne=X.name,Ne=X.namespaceURI,Be=X.value,Fe=se(ne),$t=Be;let pe=ne==="value"?$t:Pr($t);if(D.attrName=Fe,D.attrValue=pe,D.keepAttr=!0,D.forceKeepAttr=void 0,xe(x.uponSanitizeAttribute,a,D),pe=D.attrValue,Sn&&(Fe==="id"||Fe==="name")&&ko(pe,An)!==0&&(ot(ne,a),pe=An+pe),M&&he(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,pe)){ot(ne,a);continue}if(Fe==="attributename"&&To(pe,"href")){ot(ne,a);continue}if(D.forceKeepAttr)continue;if(!D.keepAttr){ot(ne,a);continue}if(!we&&he(/\/>/i,pe)){ot(ne,a);continue}Z&&mt([Oe,be,ve],Wn=>{pe=_t(pe,Wn," ")});const Bn=se(a.nodeName);if(!zn(Bn,Fe,pe)){ot(ne,a);continue}if(I&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!Ne)switch(u.getAttributeType(Bn,Fe)){case"TrustedHTML":{pe=I.createHTML(pe);break}case"TrustedScriptURL":{pe=I.createScriptURL(pe);break}}if(pe!==$t)try{Ne?a.setAttributeNS(Ne,ne,pe):a.setAttribute(ne,pe),Pt(a)?Pe(a):wo(e.removed)}catch{ot(ne,a)}}xe(x.afterSanitizeAttributes,a,null)},zt=function(a){let y=null;const D=Mn(a);for(xe(x.beforeSanitizeShadowDOM,a,null);y=D.nextNode();)if(xe(x.uponSanitizeShadowNode,y,null),Fn(y),Hn(y),Et(y.content)&&zt(y.content),(v?v(y):y.nodeType)===We.element){const X=A?A(y):y.shadowRoot;Et(X)&&(ut(X),zt(X))}xe(x.afterSanitizeShadowDOM,a,null)},ut=function(a){const y=v?v(a):a.nodeType;if(y===We.element){const X=A?A(a):a.shadowRoot;Et(X)&&(ut(X),zt(X))}const D=w?w(a):a.childNodes;if(!D)return;const K=[];mt(D,X=>{ht(K,X)});for(const X of K)ut(X);if(y===We.element){const X=N?N(a):null;if(typeof X=="string"&&se(X)==="template"){const ne=a.content;Et(ne)&&ut(ne)}}};return e.sanitize=function(F){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},y=null,D=null,K=null,X=null;if(xt=!F,xt&&(F="<!-->"),typeof F!="string"&&!Ft(F)&&(F=Br(F),typeof F!="string"))throw St("dirty is not a string, aborting");if(!e.isSupported)return F;if(Re||Qt(a),e.removed=[],typeof F=="string"&&(Tt=!1),Tt){const Be=N?N(F):F.nodeName;if(typeof Be=="string"){const Fe=se(Be);if(!J[Fe]||Me[Fe])throw St("root node is forbidden and cannot be sanitized in-place")}if(Pt(F))throw St("root node is clobbered and cannot be sanitized in-place");ut(F)}else if(Ft(F))y=In("<!---->"),D=y.ownerDocument.importNode(F,!0),D.nodeType===We.element&&D.nodeName==="BODY"||D.nodeName==="HTML"?y=D:y.appendChild(D),ut(D);else{if(!Te&&!Z&&!q&&F.indexOf("<")===-1)return I&&Dt?I.createHTML(F):F;if(y=In(F),!y)return Te?null:Dt?L:""}y&&Ce&&Pe(y.firstChild);const ne=Mn(Tt?F:y);for(;K=ne.nextNode();)Fn(K),Hn(K),Et(K.content)&&zt(K.content);if(Tt)return Z&&Pn(F),F;if(Te){if(Z&&Pn(y),Nt)for(X=H.call(y.ownerDocument);y.firstChild;)X.appendChild(y.firstChild);else X=y;return(ee.shadowroot||ee.shadowrootmode)&&(X=ue.call(o,X,!0)),X}let Ne=q?y.outerHTML:y.innerHTML;return q&&J["!doctype"]&&y.ownerDocument&&y.ownerDocument.doctype&&y.ownerDocument.doctype.name&&he(Zr,y.ownerDocument.doctype.name)&&(Ne="<!DOCTYPE "+y.ownerDocument.doctype.name+`>
3
+ `+Ne),Z&&mt([Oe,be,ve],Be=>{Ne=_t(Ne,Be," ")}),I&&Dt?I.createHTML(Ne):Ne},e.setConfig=function(){let F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Qt(F),Re=!0},e.clearConfig=function(){ct=null,Re=!1},e.isValidAttribute=function(F,a,y){ct||Qt({});const D=se(F),K=se(a);return zn(D,K,y)},e.addHook=function(F,a){typeof a=="function"&&ht(x[F],a)},e.removeHook=function(F,a){if(a!==void 0){const y=Ir(x[F],a);return y===-1?void 0:Mr(x[F],y,1)[0]}return wo(x[F])},e.removeHooks=function(F){x[F]=[]},e.removeAllHooks=function(){x=Co()},e}var ti=$o();function ni(t,e){return`@scope (${e.map(o=>`#${o}`).join(", ")}) {
4
+ ${t}
5
+ }`}function oi(t){let e;return{c(){e=S("div"),s(e,"class","html-renderer svelte-89qzxr"),s(e,"id","html-renderer-root")},m(n,o){C(n,e,o),t[3](e)},p:Y,i:Y,o:Y,d(n){n&&R(e),t[3](null)}}}const fn="bootstrap-house-style",li="html-renderer-root";function ri(t,e,n){let{source:o}=e,{type:l}=e,r,i=null,p=null;function m(){return p||(p=Yt(()=>import("./bootstrap.min-21652813.js"),[]).then(f=>f.default.replace(/:root/g,":scope"))),p}async function d(){if(document.getElementById(fn))return;const f=await m();if(document.getElementById(fn))return;const h=document.createElement("style");h.id=fn,h.textContent=ni(f,[li]),document.head.appendChild(h)}function c(f){if(!r)return;l==="html"&&d();const h=ti.sanitize(f,{USE_PROFILES:l==="svg"?{svg:!0,svgFilters:!0}:{html:!0}});n(0,r.innerHTML=h,r)}Rt(()=>{c(o),i=o}),jt(()=>{o!==i&&(i=o,c(o))});function u(f){Ze[f?"unshift":"push"](()=>{r=f,n(0,r)})}return t.$$set=f=>{"source"in f&&n(1,o=f.source),"type"in f&&n(2,l=f.type)},[r,o,l,u]}class No extends qe{constructor(e){super(),Xe(this,e,ri,oi,ze,{source:1,type:2})}}function Do(t){let e,n;return{c(){e=S("pre"),n=W(t[1]),s(e,"class","render-error svelte-619st6")},m(o,l){C(o,e,l),_(e,n)},p(o,l){l&2&&$(n,o[1])},d(o){o&&R(e)}}}function ii(t){let e,n,o,l=t[1]&&Do(t);return{c(){e=S("div"),n=S("div"),o=B(),l&&l.c(),s(e,"class","katex-renderer svelte-619st6")},m(r,i){C(r,e,i),_(e,n),t[3](n),_(e,o),l&&l.m(e,null)},p(r,[i]){r[1]?l?l.p(r,i):(l=Do(r),l.c(),l.m(e,null)):l&&(l.d(1),l=null)},i:Y,o:Y,d(r){r&&R(e),t[3](null),l&&l.d()}}}function si(t,e,n){let{source:o}=e,l,r=null,i=null,p=0,m=null;function d(){return m||(m=Yt(()=>import("./katex-4c9ea27f.js"),[]).then(f=>f.default)),m}async function c(f){if(!l)return;const h=++p;n(1,r=null);try{const g=await d();if(h!==p)return;g.render(f,l,{displayMode:!0,throwOnError:!0})}catch(g){if(h!==p)return;n(1,r=g instanceof Error?g.message:String(g)),n(0,l.innerHTML="",l)}}Rt(()=>{c(o),i=o}),jt(()=>{o!==i&&(i=o,c(o))});function u(f){Ze[f?"unshift":"push"](()=>{l=f,n(0,l)})}return t.$$set=f=>{"source"in f&&n(2,o=f.source)},[l,r,o,u]}class ai extends qe{constructor(e){super(),Xe(this,e,si,ii,ze,{source:2})}}function Io(t){let e,n;return{c(){e=S("pre"),n=W(t[1]),s(e,"class","render-error svelte-1bnxu2m")},m(o,l){C(o,e,l),_(e,n)},p(o,l){l&2&&$(n,o[1])},d(o){o&&R(e)}}}function ci(t){let e,n,o,l=t[1]&&Io(t);return{c(){e=S("div"),n=S("div"),o=B(),l&&l.c(),s(e,"class","vegalite-renderer svelte-1bnxu2m")},m(r,i){C(r,e,i),_(e,n),t[3](n),_(e,o),l&&l.m(e,null)},p(r,[i]){r[1]?l?l.p(r,i):(l=Io(r),l.c(),l.m(e,null)):l&&(l.d(1),l=null)},i:Y,o:Y,d(r){r&&R(e),t[3](null),l&&l.d()}}}function ui(t,e,n){let{source:o}=e,l,r=null,i=null,p=null,m=0,d=null;function c(){return d||(d=Yt(()=>import("./embed-2b4adf34.js"),["assets/embed-2b4adf34.js","assets/time-043b3464.js","assets/step-171ad54a.js","assets/linear-fed00341.js","assets/init-a5b10ee5.js","assets/defaultLocale-a8476f12.js","assets/range-6bc2a9a0.js","assets/ordinal-db88ae6f.js","assets/colors-98f238a0.js","assets/arc-4691b008.js","assets/index-a1656aec.js"]).then(h=>h.default)),d}async function u(h){if(!l)return;const g=++m;n(1,r=null),p==null||p(),p=null;try{const b=JSON.parse(h),w=await c();if(g!==m)return;const O=await w(l,b,{actions:!1,renderer:"svg"});if(g!==m){O.view.finalize();return}p=()=>O.view.finalize()}catch(b){if(g!==m)return;n(1,r=b instanceof Error?b.message:String(b))}}Rt(()=>{u(o),i=o}),jt(()=>{o!==i&&(i=o,u(o))}),Gt(()=>{p==null||p()});function f(h){Ze[h?"unshift":"push"](()=>{l=h,n(0,l)})}return t.$$set=h=>{"source"in h&&n(2,o=h.source)},[l,r,o,f]}class fi extends qe{constructor(e){super(),Xe(this,e,ui,ci,ze,{source:2})}}function di(t){let e,n,o,l;return{c(){e=S("p"),n=W("Building step-frames… "),o=W(t[0]),l=W(" frames"),s(e,"class","placeholder svelte-7z4kp7")},m(r,i){C(r,e,i),_(e,n),_(e,o),_(e,l)},p(r,[i]){i&1&&$(o,r[0])},i:Y,o:Y,d(r){r&&R(e)}}}function pi(t,e,n){let{frameCount:o}=e;return t.$$set=l=>{"frameCount"in l&&n(0,o=l.frameCount)},[o]}class mi extends qe{constructor(e){super(),Xe(this,e,pi,di,ze,{frameCount:0})}}function Mo(t){return({presentation:e})=>({source:e.frames[0].payload,type:t})}const Po={mermaid:{load:()=>Promise.resolve(vr),props:({presentation:t,clickable:e,nodeActions:n,nodeToFrameEnabled:o,nodeToFrame:l,viewport:r,currentFrame:i})=>({source:t.frames[0].payload,clickable:e,nodeActions:n,nodeToFrame:o?l:void 0,snapshotId:t.id,viewport:r,currentFrame:i})},svg:{load:()=>Promise.resolve(No),props:Mo("svg")},html:{load:()=>Promise.resolve(No),props:Mo("html")},katex:{load:()=>Promise.resolve(ai),props:({presentation:t})=>({source:t.frames[0].payload})},"vega-lite":{load:()=>Promise.resolve(fi),props:({presentation:t})=>({source:t.frames[0].payload})},"step-frames-placeholder":{load:()=>Promise.resolve(mi),props:({placeholder:t})=>({frameCount:t.frameCount})}};function Fo(t){let e;return{c(){e=S("div"),e.innerHTML='Server disconnected. Restart <code class="svelte-1m2dtiz">npm run dev</code>.',s(e,"class","banner svelte-1m2dtiz"),s(e,"role","alert"),s(e,"aria-live","assertive")},m(n,o){C(n,e,o)},d(n){n&&R(e)}}}function zo(t){let e,n=t[3].title+"",o;return{c(){e=S("header"),o=W(n),s(e,"class","canvas-title svelte-1m2dtiz")},m(l,r){C(l,e,r),_(e,o)},p(l,r){r[0]&8&&n!==(n=l[3].title+"")&&$(o,n)},d(l){l&&R(e)}}}function hi(t){let e,n,o;const l=[t[8]];var r=t[5];function i(p,m){let d={};for(let c=0;c<l.length;c+=1)d=jn(d,l[c]);return m!==void 0&&m[0]&256&&(d=jn(d,Vn(l,[Xn(p[8])]))),{props:d}}return r&&(e=Yn(r,i(t))),{c(){e&&rt(e.$$.fragment),n=it()},m(p,m){e&&tt(e,p,m),C(p,n,m),o=!0},p(p,m){if(m[0]&32&&r!==(r=p[5])){if(e){Qe();const d=e;ae(d.$$.fragment,1,0,()=>{nt(d,1)}),$e()}r?(e=Yn(r,i(p,m)),rt(e.$$.fragment),le(e.$$.fragment,1),tt(e,n.parentNode,n)):e=null}else if(r){const d=m[0]&256?Vn(l,[Xn(p[8])]):{};e.$set(d)}},i(p){o||(e&&le(e.$$.fragment,p),o=!0)},o(p){e&&ae(e.$$.fragment,p),o=!1},d(p){p&&R(n),e&&nt(e,p)}}}function _i(t){let e;return{c(){e=S("p"),e.textContent="Waiting for content…",s(e,"class","placeholder svelte-1m2dtiz")},m(n,o){C(n,e,o)},p:Y,i:Y,o:Y,d(n){n&&R(e)}}}function Uo(t){let e,n,o,l,r,i,p,m,d,c,u,f=t[3].frames[0].label&&Ho(t);return{c(){e=S("div"),n=S("button"),o=W("← Prev"),r=B(),f&&f.c(),i=B(),p=S("button"),m=W("Next →"),s(n,"class","step-btn svelte-1m2dtiz"),s(n,"aria-label","Previous frame"),n.disabled=l=t[1]===0,s(p,"class","step-btn svelte-1m2dtiz"),s(p,"aria-label","Next frame"),p.disabled=d=t[9]!==void 0&&t[1]===t[9]-1,s(e,"class","step-bar svelte-1m2dtiz")},m(h,g){C(h,e,g),_(e,n),_(n,o),_(e,r),f&&f.m(e,null),_(e,i),_(e,p),_(p,m),c||(u=[oe(n,"click",t[25]),oe(p,"click",t[26])],c=!0)},p(h,g){g[0]&2&&l!==(l=h[1]===0)&&(n.disabled=l),h[3].frames[0].label?f?f.p(h,g):(f=Ho(h),f.c(),f.m(e,i)):f&&(f.d(1),f=null),g[0]&514&&d!==(d=h[9]!==void 0&&h[1]===h[9]-1)&&(p.disabled=d)},d(h){h&&R(e),f&&f.d(),c=!1,Ae(u)}}}function Ho(t){let e,n=t[3].frames[0].label+"",o;return{c(){e=S("span"),o=W(n),s(e,"class","step-label svelte-1m2dtiz")},m(l,r){C(l,e,r),_(e,o)},p(l,r){r[0]&8&&n!==(n=l[3].frames[0].label+"")&&$(o,n)},d(l){l&&R(e)}}}function gi(t){let e,n;return{c(){e=te("svg"),n=te("path"),s(n,"d","M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"),s(e,"width","15"),s(e,"height","15"),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","2.2"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"aria-hidden","true")},m(o,l){C(o,e,l),_(e,n)},d(o){o&&R(e)}}}function bi(t){let e,n,o,l,r,i,p,m,d,c;return{c(){e=te("svg"),n=te("circle"),o=te("line"),l=te("line"),r=te("line"),i=te("line"),p=te("line"),m=te("line"),d=te("line"),c=te("line"),s(n,"cx","12"),s(n,"cy","12"),s(n,"r","4"),s(o,"x1","12"),s(o,"y1","2"),s(o,"x2","12"),s(o,"y2","4"),s(l,"x1","12"),s(l,"y1","20"),s(l,"x2","12"),s(l,"y2","22"),s(r,"x1","4.93"),s(r,"y1","4.93"),s(r,"x2","6.34"),s(r,"y2","6.34"),s(i,"x1","17.66"),s(i,"y1","17.66"),s(i,"x2","19.07"),s(i,"y2","19.07"),s(p,"x1","2"),s(p,"y1","12"),s(p,"x2","4"),s(p,"y2","12"),s(m,"x1","20"),s(m,"y1","12"),s(m,"x2","22"),s(m,"y2","12"),s(d,"x1","4.93"),s(d,"y1","19.07"),s(d,"x2","6.34"),s(d,"y2","17.66"),s(c,"x1","17.66"),s(c,"y1","6.34"),s(c,"x2","19.07"),s(c,"y2","4.93"),s(e,"width","15"),s(e,"height","15"),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","2.2"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"aria-hidden","true")},m(u,f){C(u,e,f),_(e,n),_(e,o),_(e,l),_(e,r),_(e,i),_(e,p),_(e,m),_(e,d),_(e,c)},d(u){u&&R(e)}}}function Bo(t){let e,n,o,l,r,i,p;function m(u,f){return u[14].sent?Ti:u[14].error?wi:yi}let d=m(t),c=d(t);return{c(){e=S("div"),n=B(),o=S("button"),c.c(),s(e,"class","panel-sep svelte-1m2dtiz"),s(o,"class","done-btn svelte-1m2dtiz"),o.disabled=l=t[14].sent,s(o,"title",r=t[14].error?"Failed to send — click to retry":"Done"),s(o,"aria-live","polite"),wt(o,"done-btn-error",t[14].error)},m(u,f){C(u,e,f),C(u,n,f),C(u,o,f),c.m(o,null),i||(p=oe(o,"click",kn.handleDone),i=!0)},p(u,f){d!==(d=m(u))&&(c.d(1),c=d(u),c&&(c.c(),c.m(o,null))),f[0]&16384&&l!==(l=u[14].sent)&&(o.disabled=l),f[0]&16384&&r!==(r=u[14].error?"Failed to send — click to retry":"Done")&&s(o,"title",r),f[0]&16384&&wt(o,"done-btn-error",u[14].error)},d(u){u&&(R(e),R(n),R(o)),c.d(),i=!1,p()}}}function yi(t){let e,n;return{c(){e=te("svg"),n=te("polyline"),s(n,"points","20 6 9 17 4 12"),s(e,"width","16"),s(e,"height","16"),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","2.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"aria-hidden","true")},m(o,l){C(o,e,l),_(e,n)},d(o){o&&R(e)}}}function wi(t){let e;return{c(){e=W("Failed ✗")},m(n,o){C(n,e,o)},d(n){n&&R(e)}}}function Ti(t){let e;return{c(){e=W("Sent ✓")},m(n,o){C(n,e,o)},d(n){n&&R(e)}}}function ki(t){let e,n,o,l,r,i,p,m,d,c,u,f,h,g,b,w,O,A,P,v,N,I,L,T,E,k,H,Q,ue,x,Oe,be,ve,z,re,me,j,_e,Ie,J;function et(M){t[23](M)}let ee={};t[6]!==void 0&&(ee.open=t[6]),e=new Ml({props:ee}),t[22](e),Ze.push(()=>wl(e,"open",et)),e.$on("close",t[24]),l=new xl({props:{mode:t[11].mode??"delete",open:t[11].mode!==null,workspaces:t[11].workspaces,loadError:t[11].loadError}}),l.$on("close",Bt.close),l.$on("deleted",t[15]);let fe=t[12]&&Fo(),V=t[3]!==null&&t[3].title&&zo(t);const Me=[_i,hi],ye=[];function Le(M,q){return M[3]===null&&M[2]===null?0:M[5]&&M[0]===M[4]?1:-1}~(u=Le(t))&&(f=ye[u]=Me[u](t));let de=t[3]!==null&&t[10]==="manual"&&Uo(t);function U(M,q){return M[13]==="dark"?bi:gi}let Se=U(t),we=Se(t),Z=(t[14].armed||t[14].sent||t[14].error)&&Bo(t);return{c(){rt(e.$$.fragment),o=B(),rt(l.$$.fragment),r=B(),i=S("main"),fe&&fe.c(),p=B(),m=S("div"),V&&V.c(),d=B(),c=S("div"),f&&f.c(),h=B(),de&&de.c(),g=B(),b=S("div"),w=S("button"),we.c(),v=B(),N=S("div"),I=B(),L=S("button"),T=te("svg"),E=te("line"),k=te("line"),H=te("line"),Q=te("line"),ue=te("line"),x=te("line"),Oe=B(),be=S("div"),ve=B(),z=S("button"),z.innerHTML='<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"></path><path d="M10 11v6"></path><path d="M14 11v6"></path><path d="M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2"></path></svg>',re=B(),me=S("button"),me.innerHTML='<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>',j=B(),Z&&Z.c(),s(c,"class","canvas svelte-1m2dtiz"),s(m,"class","canvas-frame svelte-1m2dtiz"),s(w,"class","panel-icon-btn svelte-1m2dtiz"),s(w,"aria-label",O=t[13]==="dark"?"Switch to light theme":"Switch to dark theme"),s(w,"aria-pressed",A=t[13]==="dark"),s(w,"title",P=t[13]==="dark"?"Switch to light theme":"Switch to dark theme"),s(N,"class","panel-sep svelte-1m2dtiz"),s(E,"x1","8"),s(E,"y1","6"),s(E,"x2","21"),s(E,"y2","6"),s(k,"x1","8"),s(k,"y1","12"),s(k,"x2","21"),s(k,"y2","12"),s(H,"x1","8"),s(H,"y1","18"),s(H,"x2","21"),s(H,"y2","18"),s(Q,"x1","3"),s(Q,"y1","6"),s(Q,"x2","3.01"),s(Q,"y2","6"),s(ue,"x1","3"),s(ue,"y1","12"),s(ue,"x2","3.01"),s(ue,"y2","12"),s(x,"x1","3"),s(x,"y1","18"),s(x,"x2","3.01"),s(x,"y2","18"),s(T,"width","15"),s(T,"height","15"),s(T,"viewBox","0 0 24 24"),s(T,"fill","none"),s(T,"stroke","currentColor"),s(T,"stroke-width","2.2"),s(T,"stroke-linecap","round"),s(T,"stroke-linejoin","round"),s(T,"aria-hidden","true"),s(L,"class","panel-icon-btn svelte-1m2dtiz"),s(L,"aria-label","Toggle history panel"),s(L,"aria-pressed",t[6]),s(L,"title","History"),s(be,"class","panel-sep svelte-1m2dtiz"),s(z,"class","panel-icon-btn delete-btn svelte-1m2dtiz"),s(z,"aria-label","Delete snapshots"),s(z,"title","Delete snapshots"),s(me,"class","panel-icon-btn export-btn svelte-1m2dtiz"),s(me,"aria-label","Export snapshots"),s(me,"title","Export snapshots to HTML"),s(b,"class","controls-panel svelte-1m2dtiz"),s(i,"class","svelte-1m2dtiz")},m(M,q){tt(e,M,q),C(M,o,q),tt(l,M,q),C(M,r,q),C(M,i,q),fe&&fe.m(i,null),_(i,p),_(i,m),V&&V.m(m,null),_(m,d),_(m,c),~u&&ye[u].m(c,null),_(i,h),de&&de.m(i,null),_(i,g),_(i,b),_(b,w),we.m(w,null),_(b,v),_(b,N),_(b,I),_(b,L),_(L,T),_(T,E),_(T,k),_(T,H),_(T,Q),_(T,ue),_(T,x),_(b,Oe),_(b,be),_(b,ve),_(b,z),_(b,re),_(b,me),_(b,j),Z&&Z.m(b,null),_e=!0,Ie||(J=[oe(w,"click",Jo.toggle),oe(L,"click",t[27]),oe(z,"click",t[28]),oe(me,"click",t[29])],Ie=!0)},p(M,q){const Re={};!n&&q[0]&64&&(n=!0,Re.open=M[6],gl(()=>n=!1)),e.$set(Re);const Ce={};q[0]&2048&&(Ce.mode=M[11].mode??"delete"),q[0]&2048&&(Ce.open=M[11].mode!==null),q[0]&2048&&(Ce.workspaces=M[11].workspaces),q[0]&2048&&(Ce.loadError=M[11].loadError),l.$set(Ce),M[12]?fe||(fe=Fo(),fe.c(),fe.m(i,p)):fe&&(fe.d(1),fe=null),M[3]!==null&&M[3].title?V?V.p(M,q):(V=zo(M),V.c(),V.m(m,d)):V&&(V.d(1),V=null);let Te=u;u=Le(M),u===Te?~u&&ye[u].p(M,q):(f&&(Qe(),ae(ye[Te],1,1,()=>{ye[Te]=null}),$e()),~u?(f=ye[u],f?f.p(M,q):(f=ye[u]=Me[u](M),f.c()),le(f,1),f.m(c,null)):f=null),M[3]!==null&&M[10]==="manual"?de?de.p(M,q):(de=Uo(M),de.c(),de.m(i,g)):de&&(de.d(1),de=null),Se!==(Se=U(M))&&(we.d(1),we=Se(M),we&&(we.c(),we.m(w,null))),(!_e||q[0]&8192&&O!==(O=M[13]==="dark"?"Switch to light theme":"Switch to dark theme"))&&s(w,"aria-label",O),(!_e||q[0]&8192&&A!==(A=M[13]==="dark"))&&s(w,"aria-pressed",A),(!_e||q[0]&8192&&P!==(P=M[13]==="dark"?"Switch to light theme":"Switch to dark theme"))&&s(w,"title",P),(!_e||q[0]&64)&&s(L,"aria-pressed",M[6]),M[14].armed||M[14].sent||M[14].error?Z?Z.p(M,q):(Z=Bo(M),Z.c(),Z.m(b,null)):Z&&(Z.d(1),Z=null)},i(M){_e||(le(e.$$.fragment,M),le(l.$$.fragment,M),le(f),_e=!0)},o(M){ae(e.$$.fragment,M),ae(l.$$.fragment,M),ae(f),_e=!1},d(M){M&&(R(o),R(r),R(i)),t[22](null),nt(e,M),nt(l,M),fe&&fe.d(),V&&V.d(),~u&&ye[u].d(),de&&de.d(),we.d(),Z&&Z.d(),Ie=!1,Ae(J)}}}function Ei(t,e,n){let o,l,r,i,p,m,d,c,u,f,h,g,b,w,O,A,P;Ke(t,xo,j=>n(21,b=j)),Ke(t,Bt,j=>n(11,w=j)),Ke(t,En,j=>n(12,O=j)),Ke(t,Jo,j=>n(13,A=j)),Ke(t,kn,j=>n(14,P=j));const v=new Map;let N,I,L=0;async function T(j){if(j===void 0){n(5,N=void 0),n(0,I=void 0);return}const _e=v.get(j);if(_e){n(5,N=_e),n(0,I=j);return}const Ie=++L,J=await Po[j].load();Ie===L&&(v.set(j,J),n(5,N=J),n(0,I=j))}let E=null;Rt(()=>{E=sr()}),Gt(()=>{E==null||E()});let k=!1,H;function Q(){k&&(H==null||H.fetchSnapshots())}function ue(j){Ze[j?"unshift":"push"](()=>{H=j,n(7,H)})}function x(j){k=j,n(6,k)}const Oe=()=>{n(6,k=!1)},be=()=>co("prev"),ve=()=>co("next"),z=()=>{n(6,k=!k)},re=()=>Bt.open("delete"),me=()=>Bt.open("export");return t.$$.update=()=>{var j;t.$$.dirty[0]&2097152&&n(3,{presentation:o,driver:l,placeholder:r,currentFrame:i,totalFrames:p,viewport:m,nodeToFrame:d,clickable:c,nodeActions:u,nodeToFrameEnabled:f}=b,o,(n(10,l),n(21,b)),(n(2,r),n(21,b)),(n(1,i),n(21,b)),(n(9,p),n(21,b)),(n(16,m),n(21,b)),(n(17,d),n(21,b)),(n(20,c),n(21,b)),(n(19,u),n(21,b)),(n(18,f),n(21,b))),t.$$.dirty[0]&12&&n(4,h=r!==null?"step-frames-placeholder":(j=o==null?void 0:o.frames[0])==null?void 0:j.type),t.$$.dirty[0]&16&&T(h),t.$$.dirty[0]&2031647&&n(8,g=I&&I===h?Po[I].props({presentation:o,placeholder:r,clickable:c,nodeActions:u,nodeToFrameEnabled:f,nodeToFrame:d,viewport:m,currentFrame:i??0}):{})},[I,i,r,o,h,N,k,H,g,p,l,w,O,A,P,Q,m,d,f,u,c,b,ue,x,Oe,be,ve,z,re,me]}class vi extends qe{constructor(e){super(),Xe(this,e,Ei,ki,ze,{},null,[-1,-1])}}new vi({target:document.getElementById("app")});export{Yt as _,ti as p};
@@ -0,0 +1 @@
1
+ function x(n){var e=0,i=n.children,r=i&&i.length;if(!r)e=1;else for(;--r>=0;)e+=i[r].value;n.value=e}function I(){return this.eachAfter(x)}function S(n,e){let i=-1;for(const r of this)n.call(e,r,++i,this);return this}function T(n,e){for(var i=this,r=[i],a,o,u=-1;i=r.pop();)if(n.call(e,i,++u,this),a=i.children)for(o=a.length-1;o>=0;--o)r.push(a[o]);return this}function V(n,e){for(var i=this,r=[i],a=[],o,u,c,s=-1;i=r.pop();)if(a.push(i),o=i.children)for(u=0,c=o.length;u<c;++u)r.push(o[u]);for(;i=a.pop();)n.call(e,i,++s,this);return this}function C(n,e){let i=-1;for(const r of this)if(n.call(e,r,++i,this))return r}function L(n){return this.eachAfter(function(e){for(var i=+n(e.data)||0,r=e.children,a=r&&r.length;--a>=0;)i+=r[a].value;e.value=i})}function b(n){return this.eachBefore(function(e){e.children&&e.children.sort(n)})}function D(n){for(var e=this,i=O(e,n),r=[e];e!==i;)e=e.parent,r.push(e);for(var a=r.length;n!==i;)r.splice(a,0,n),n=n.parent;return r}function O(n,e){if(n===e)return n;var i=n.ancestors(),r=e.ancestors(),a=null;for(n=i.pop(),e=r.pop();n===e;)a=n,n=i.pop(),e=r.pop();return a}function j(){for(var n=this,e=[n];n=n.parent;)e.push(n);return e}function z(){return Array.from(this)}function E(){var n=[];return this.eachBefore(function(e){e.children||n.push(e)}),n}function H(){var n=this,e=[];return n.each(function(i){i!==n&&e.push({source:i.parent,target:i})}),e}function*Z(){var n=this,e,i=[n],r,a,o;do for(e=i.reverse(),i=[];n=e.pop();)if(yield n,r=n.children)for(a=0,o=r.length;a<o;++a)i.push(r[a]);while(i.length)}function R(n,e){n instanceof Map?(n=[void 0,n],e===void 0&&(e=J)):e===void 0&&(e=G);for(var i=new A(n),r,a=[i],o,u,c,s;r=a.pop();)if((u=e(r.data))&&(s=(u=Array.from(u)).length))for(r.children=u,c=s-1;c>=0;--c)a.push(o=u[c]=new A(u[c])),o.parent=r,o.depth=r.depth+1;return i.eachBefore(P)}function F(){return R(this).eachBefore(K)}function G(n){return n.children}function J(n){return Array.isArray(n)?n[1]:null}function K(n){n.data.value!==void 0&&(n.value=n.data.value),n.data=n.data.data}function P(n){var e=0;do n.height=e;while((n=n.parent)&&n.height<++e)}function A(n){this.data=n,this.depth=this.height=0,this.parent=null}A.prototype=R.prototype={constructor:A,count:I,each:S,eachAfter:V,eachBefore:T,find:C,sum:L,sort:b,path:D,ancestors:j,descendants:z,leaves:E,links:H,copy:F,[Symbol.iterator]:Z};function nn(n){return n==null?null:q(n)}function q(n){if(typeof n!="function")throw new Error;return n}function _(){return 0}function B(n){return function(){return n}}function Q(n){n.x0=Math.round(n.x0),n.y0=Math.round(n.y0),n.x1=Math.round(n.x1),n.y1=Math.round(n.y1)}function U(n,e,i,r,a){for(var o=n.children,u,c=-1,s=o.length,v=n.value&&(r-e)/n.value;++c<s;)u=o[c],u.y0=i,u.y1=a,u.x0=e,u.x1=e+=u.value*v}function W(n,e,i,r,a){for(var o=n.children,u,c=-1,s=o.length,v=n.value&&(a-i)/n.value;++c<s;)u=o[c],u.x0=e,u.x1=r,u.y0=i,u.y1=i+=u.value*v}var X=(1+Math.sqrt(5))/2;function Y(n,e,i,r,a,o){for(var u=[],c=e.children,s,v,h=0,m=0,t=c.length,d,p,l=e.value,f,g,w,M,k,N,y;h<t;){d=a-i,p=o-r;do f=c[m++].value;while(!f&&m<t);for(g=w=f,N=Math.max(p/d,d/p)/(l*n),y=f*f*N,k=Math.max(w/y,y/g);m<t;++m){if(f+=v=c[m].value,v<g&&(g=v),v>w&&(w=v),y=f*f*N,M=Math.max(w/y,y/g),M>k){f-=v;break}k=M}u.push(s={value:f,dice:d<p,children:c.slice(h,m)}),s.dice?U(s,i,r,a,l?r+=p*f/l:o):W(s,i,r,l?i+=d*f/l:a,o),l-=f,h=m}return u}const $=function n(e){function i(r,a,o,u,c){Y(e,r,a,o,u,c)}return i.ratio=function(r){return n((r=+r)>1?r:1)},i}(X);function en(){var n=$,e=!1,i=1,r=1,a=[0],o=_,u=_,c=_,s=_,v=_;function h(t){return t.x0=t.y0=0,t.x1=i,t.y1=r,t.eachBefore(m),a=[0],e&&t.eachBefore(Q),t}function m(t){var d=a[t.depth],p=t.x0+d,l=t.y0+d,f=t.x1-d,g=t.y1-d;f<p&&(p=f=(p+f)/2),g<l&&(l=g=(l+g)/2),t.x0=p,t.y0=l,t.x1=f,t.y1=g,t.children&&(d=a[t.depth+1]=o(t)/2,p+=v(t)-d,l+=u(t)-d,f-=c(t)-d,g-=s(t)-d,f<p&&(p=f=(p+f)/2),g<l&&(l=g=(l+g)/2),n(t,p,l,f,g))}return h.round=function(t){return arguments.length?(e=!!t,h):e},h.size=function(t){return arguments.length?(i=+t[0],r=+t[1],h):[i,r]},h.tile=function(t){return arguments.length?(n=q(t),h):n},h.padding=function(t){return arguments.length?h.paddingInner(t).paddingOuter(t):h.paddingInner()},h.paddingInner=function(t){return arguments.length?(o=typeof t=="function"?t:B(+t),h):o},h.paddingOuter=function(t){return arguments.length?h.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):h.paddingTop()},h.paddingTop=function(t){return arguments.length?(u=typeof t=="function"?t:B(+t),h):u},h.paddingRight=function(t){return arguments.length?(c=typeof t=="function"?t:B(+t),h):c},h.paddingBottom=function(t){return arguments.length?(s=typeof t=="function"?t:B(+t),h):s},h.paddingLeft=function(t){return arguments.length?(v=typeof t=="function"?t:B(+t),h):v},h}export{A as N,B as a,U as b,_ as c,P as d,W as e,$ as f,R as h,nn as o,X as p,Q as r,Y as s,en as t};
@@ -0,0 +1 @@
1
+ :root,:root[data-theme=light]{--board-bg: #ffffff;--board-bg-panel: #fafafa;--board-bg-hover: #f0f0f0;--board-bg-row-hover: #f5f5f5;--board-canvas-bg: #ffffff;--board-border: #d8d8d8;--board-border-light: #e8e8e8;--board-border-mid: #cccccc;--board-border-faint: #e0e0e0;--board-text: #333333;--board-text-strong: #222222;--board-text-secondary: #555555;--board-text-muted: #888888;--board-text-faint: #999999;--board-text-subtle: #aaaaaa;--board-text-subtlest: #bbbbbb;--board-accent: #2980b9;--board-accent-bg: #e8f4fd;--board-accent-hover: #1f6699;--board-danger: #e74c3c;--board-danger-dark: #c0392b;--board-danger-bg: #fdf0f0;--board-success: #27ae60;--board-success-bg: #f0fff4;--board-warn-bg: #fff8e1;--board-divider: #eeeeee;--board-disabled-bg: #dddddd;--board-shadow-controls: rgba(0, 0, 0, .06);--board-shadow-panel: rgba(0, 0, 0, .08);--board-shadow-modal: rgba(0, 0, 0, .25);--board-overlay: rgba(0, 0, 0, .35)}:root[data-theme=dark]{--board-bg: #1a1a1a;--board-bg-panel: #242424;--board-bg-hover: #333333;--board-bg-row-hover: #2c2c2c;--board-canvas-bg: #d9d9d9;--board-border: #3d3d3d;--board-border-light: #333333;--board-border-mid: #4d4d4d;--board-border-faint: #454545;--board-text: #e6e6e6;--board-text-strong: #f5f5f5;--board-text-secondary: #b3b3b3;--board-text-muted: #999999;--board-text-faint: #888888;--board-text-subtle: #777777;--board-text-subtlest: #666666;--board-accent: #4ea3d8;--board-accent-bg: #1c3a4a;--board-accent-hover: #6bb8e8;--board-danger: #e74c3c;--board-danger-dark: #f1685a;--board-danger-bg: #3a2020;--board-success: #2ecc71;--board-success-bg: #16321f;--board-warn-bg: #4a3f1a;--board-divider: #333333;--board-disabled-bg: #3a3a3a;--board-shadow-controls: rgba(0, 0, 0, .4);--board-shadow-panel: rgba(0, 0, 0, .5);--board-shadow-modal: rgba(0, 0, 0, .6);--board-overlay: rgba(0, 0, 0, .6)}.snapshot-title.svelte-14g4p14{font-size:13px;color:var(--board-text-strong);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snapshot-meta.svelte-14g4p14{display:flex;align-items:center;gap:8px}.type-badge.svelte-14g4p14{font-size:11px;background:var(--board-accent-bg);color:var(--board-accent);padding:1px 6px;border-radius:10px;font-weight:500;flex-shrink:0}.snapshot-time.svelte-14g4p14{font-size:11px;color:var(--board-text-faint)}.history-panel.svelte-r3bne1.svelte-r3bne1{position:fixed;top:0;right:0;width:320px;height:100vh;background:var(--board-bg);border-left:1px solid var(--board-border);box-shadow:-2px 0 8px var(--board-shadow-panel);display:flex;flex-direction:column;z-index:100;box-sizing:border-box}.panel-header.svelte-r3bne1.svelte-r3bne1{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--board-border-light);background:var(--board-bg-panel);gap:4px}.panel-title.svelte-r3bne1.svelte-r3bne1{font-size:14px;font-weight:600;color:var(--board-text);flex:1}.header-actions.svelte-r3bne1.svelte-r3bne1{display:flex;align-items:center;gap:2px}.action-btn.svelte-r3bne1.svelte-r3bne1{background:none;border:1px solid transparent;cursor:pointer;color:var(--board-text-faint);padding:3px 5px;border-radius:3px;line-height:1;display:flex;align-items:center}.action-btn.svelte-r3bne1.svelte-r3bne1:hover{background:var(--board-bg-hover);color:var(--board-text-secondary)}.action-btn.locked.svelte-r3bne1.svelte-r3bne1{color:var(--board-accent);border-color:var(--board-accent);background:var(--board-accent-bg)}.header-sep.svelte-r3bne1.svelte-r3bne1{width:1px;height:18px;background:var(--board-border-mid);margin:0 4px;flex-shrink:0}.close-btn.svelte-r3bne1.svelte-r3bne1{background:none;border:none;cursor:pointer;font-size:14px;color:var(--board-text-muted);padding:2px 6px;border-radius:3px;line-height:1}.close-btn.svelte-r3bne1.svelte-r3bne1:hover{background:var(--board-bg-hover);color:var(--board-text)}.panel-body.svelte-r3bne1.svelte-r3bne1{flex:1;overflow-y:auto;padding:8px 0}.panel-message.svelte-r3bne1.svelte-r3bne1{color:var(--board-text-muted);font-size:13px;padding:16px;margin:0;text-align:center}.panel-error.svelte-r3bne1.svelte-r3bne1{color:var(--board-danger-dark)}.workspace-group.svelte-r3bne1.svelte-r3bne1{border-bottom:1px solid var(--board-border-light)}.workspace-group.svelte-r3bne1.svelte-r3bne1:last-child{border-bottom:none}.workspace-summary.svelte-r3bne1.svelte-r3bne1{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;background:var(--board-bg-panel);list-style:none;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:600;color:var(--board-text-secondary)}.workspace-summary.svelte-r3bne1.svelte-r3bne1:hover{background:var(--board-bg-hover)}.workspace-summary.svelte-r3bne1.svelte-r3bne1::-webkit-details-marker{display:none}.workspace-summary.svelte-r3bne1.svelte-r3bne1:before{content:"▶";font-size:9px;color:var(--board-text-faint);transition:transform .15s;display:inline-block;flex-shrink:0}details[open].svelte-r3bne1>.workspace-summary.svelte-r3bne1:before{transform:rotate(90deg)}.workspace-name.svelte-r3bne1.svelte-r3bne1{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-badge.svelte-r3bne1.svelte-r3bne1{font-size:10px;background:var(--board-accent-bg);color:var(--board-accent);padding:1px 6px;border-radius:10px;font-weight:500;flex-shrink:0}.snapshot-list.svelte-r3bne1.svelte-r3bne1{list-style:none;margin:0;padding:0}.snapshot-item.svelte-r3bne1.svelte-r3bne1{display:flex;align-items:center;border-bottom:1px solid var(--board-bg-hover);position:relative}.snapshot-row.svelte-r3bne1.svelte-r3bne1{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;padding:10px 8px;border:none;background:none;cursor:pointer;text-align:left;transition:background .1s}.snapshot-row.svelte-r3bne1.svelte-r3bne1:hover{background:var(--board-bg-row-hover)}.modal-overlay.svelte-1w7vyt4.svelte-1w7vyt4{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--board-overlay);display:flex;align-items:center;justify-content:center;z-index:300}.modal.svelte-1w7vyt4.svelte-1w7vyt4{background:var(--board-bg);width:420px;max-width:calc(100vw - 40px);max-height:80vh;border-radius:8px;box-shadow:0 8px 30px var(--board-shadow-modal);display:flex;flex-direction:column;overflow:hidden}.modal-header.svelte-1w7vyt4.svelte-1w7vyt4{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--board-border-light);border-top:3px solid var(--board-text-faint)}.modal.mode-delete.svelte-1w7vyt4 .modal-header.svelte-1w7vyt4{border-top-color:var(--board-danger)}.modal.mode-export.svelte-1w7vyt4 .modal-header.svelte-1w7vyt4{border-top-color:var(--board-accent)}.modal-back-btn.svelte-1w7vyt4.svelte-1w7vyt4{background:none;border:none;cursor:pointer;color:var(--board-text-muted);font-size:16px;padding:2px 4px;line-height:1;border-radius:3px}.modal-back-btn.svelte-1w7vyt4.svelte-1w7vyt4:hover{background:var(--board-bg-hover)}.modal-title.svelte-1w7vyt4.svelte-1w7vyt4{flex:1;font-size:14px;font-weight:600;color:var(--board-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-close-btn.svelte-1w7vyt4.svelte-1w7vyt4{background:none;border:none;cursor:pointer;font-size:14px;color:var(--board-text-muted);padding:2px 6px;border-radius:3px;line-height:1}.modal-close-btn.svelte-1w7vyt4.svelte-1w7vyt4:hover{background:var(--board-bg-hover);color:var(--board-text)}.modal-body.svelte-1w7vyt4.svelte-1w7vyt4{padding:14px 16px;overflow-y:auto;flex:1}.modal-step-hint.svelte-1w7vyt4.svelte-1w7vyt4{font-size:12px;color:var(--board-text-faint);margin:0 0 10px}.workspace-pick-row.svelte-1w7vyt4.svelte-1w7vyt4{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--board-border-faint);border-radius:6px;margin-bottom:8px;cursor:pointer;background:var(--board-bg);font:inherit;text-align:left}.workspace-pick-row.svelte-1w7vyt4.svelte-1w7vyt4:hover{background:var(--board-bg-row-hover);border-color:var(--board-border-mid)}.workspace-pick-name.svelte-1w7vyt4.svelte-1w7vyt4{font-size:13px;font-weight:600;color:var(--board-text)}.workspace-pick-meta.svelte-1w7vyt4.svelte-1w7vyt4{display:flex;align-items:center;gap:8px;color:var(--board-text-faint);font-size:12px}.workspace-pick-chevron.svelte-1w7vyt4.svelte-1w7vyt4{color:var(--board-text-subtlest)}.whole-workspace-action.svelte-1w7vyt4.svelte-1w7vyt4{width:100%;box-sizing:border-box;padding:10px 14px;border-radius:6px;border:none;color:#fff;font-size:13px;font-weight:600;cursor:pointer;margin-bottom:14px}.whole-workspace-action.svelte-1w7vyt4.svelte-1w7vyt4:disabled{opacity:.6;cursor:default}.mode-delete.svelte-1w7vyt4 .whole-workspace-action.svelte-1w7vyt4{background:var(--board-danger)}.mode-delete.svelte-1w7vyt4 .whole-workspace-action.svelte-1w7vyt4:hover:not(:disabled){background:var(--board-danger-dark)}.mode-export.svelte-1w7vyt4 .whole-workspace-action.svelte-1w7vyt4{background:var(--board-accent)}.mode-export.svelte-1w7vyt4 .whole-workspace-action.svelte-1w7vyt4:hover:not(:disabled){background:var(--board-accent-hover)}.modal-divider.svelte-1w7vyt4.svelte-1w7vyt4{display:flex;align-items:center;gap:10px;color:var(--board-text-subtle);font-size:11px;text-transform:uppercase;letter-spacing:.03em;margin:4px 0 10px}.modal-divider.svelte-1w7vyt4.svelte-1w7vyt4:before,.modal-divider.svelte-1w7vyt4.svelte-1w7vyt4:after{content:"";flex:1;height:1px;background:var(--board-divider)}.modal-snapshot-list.svelte-1w7vyt4.svelte-1w7vyt4{list-style:none;margin:0;padding:0;border:1px solid var(--board-border-light);border-radius:6px;overflow:hidden}.modal-snapshot-item.svelte-1w7vyt4.svelte-1w7vyt4{display:flex;align-items:center;border-bottom:1px solid var(--board-bg-hover)}.modal-snapshot-item.svelte-1w7vyt4.svelte-1w7vyt4:last-child{border-bottom:none}.modal-snapshot-item.selected.svelte-1w7vyt4.svelte-1w7vyt4{background:var(--board-warn-bg)}.modal-snapshot-item.svelte-1w7vyt4 label.svelte-1w7vyt4{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;flex:1;min-width:0}.modal-snapshot-row.svelte-1w7vyt4.svelte-1w7vyt4{display:flex;flex-direction:column;gap:2px;min-width:0}.modal-error.svelte-1w7vyt4.svelte-1w7vyt4{color:var(--board-danger-dark);font-size:12px;margin:10px 0 0}.modal-footer.svelte-1w7vyt4.svelte-1w7vyt4{box-sizing:border-box;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid var(--board-border-light);background:var(--board-bg-panel)}.modal-select-count.svelte-1w7vyt4.svelte-1w7vyt4{font-size:12px;color:var(--board-text-secondary)}.modal-footer-actions.svelte-1w7vyt4.svelte-1w7vyt4{display:flex;align-items:center;gap:8px}.modal-cancel-btn.svelte-1w7vyt4.svelte-1w7vyt4{background:none;color:var(--board-text-secondary);border:1px solid var(--board-border-mid);border-radius:4px;padding:6px 14px;font-size:13px;cursor:pointer}.modal-cancel-btn.svelte-1w7vyt4.svelte-1w7vyt4:hover{background:var(--board-bg-hover)}.modal-selected-action.svelte-1w7vyt4.svelte-1w7vyt4{border:none;border-radius:4px;padding:6px 14px;font-size:13px;font-weight:600;color:#fff;cursor:pointer}.modal-selected-action.svelte-1w7vyt4.svelte-1w7vyt4:disabled{background:var(--board-disabled-bg)!important;cursor:default}.mode-delete.svelte-1w7vyt4 .modal-selected-action.svelte-1w7vyt4{background:var(--board-danger)}.mode-delete.svelte-1w7vyt4 .modal-selected-action.svelte-1w7vyt4:hover:not(:disabled){background:var(--board-danger-dark)}.mode-export.svelte-1w7vyt4 .modal-selected-action.svelte-1w7vyt4{background:var(--board-accent)}.mode-export.svelte-1w7vyt4 .modal-selected-action.svelte-1w7vyt4:hover:not(:disabled){background:var(--board-accent-hover)}.modal-confirm.svelte-1w7vyt4.svelte-1w7vyt4{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px 16px;color:var(--board-text);font-size:14px;text-align:center}.modal-confirm.svelte-1w7vyt4 .check-circle.svelte-1w7vyt4{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.mode-delete.svelte-1w7vyt4 .check-circle.svelte-1w7vyt4{background:var(--board-danger)}.mode-export.svelte-1w7vyt4 .check-circle.svelte-1w7vyt4{background:var(--board-accent)}.popup-backdrop.svelte-1lkjcuo.svelte-1lkjcuo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.node-action-popup.svelte-1lkjcuo.svelte-1lkjcuo{z-index:100;background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 4px 16px #0000001f;min-width:140px;overflow:hidden;transform:translate(4px,4px)}.popup-item.svelte-1lkjcuo.svelte-1lkjcuo{padding:9px 16px;font-size:13px;color:#222;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.popup-item.svelte-1lkjcuo.svelte-1lkjcuo:hover{background:#f0f5ff;color:#1a6ec7}.popup-item.svelte-1lkjcuo+.popup-item.svelte-1lkjcuo{border-top:1px solid #f0f0f0}.mermaid-wrapper.svelte-cgub0p{width:100%;height:100%;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none}.mermaid-canvas.svelte-cgub0p{position:absolute;top:0;left:0}.render-error.svelte-cgub0p{position:absolute;bottom:40px;left:50%;transform:translate(-50%);color:#c0392b;background:#fdf2f2;border:1px solid #e74c3c;border-radius:4px;padding:12px 16px;font-family:monospace;font-size:13px;white-space:pre-wrap;word-break:break-word;max-width:80%;z-index:10}.zoom-hint.svelte-cgub0p{position:absolute;bottom:8px;right:12px;font-size:11px;color:#666;pointer-events:none;-webkit-user-select:none;user-select:none}.mermaid-container svg .node.clickable-node rect,.mermaid-container svg .node.clickable-node circle,.mermaid-container svg .node.clickable-node polygon{outline:2px solid #3498db;outline-offset:2px}.html-renderer.svelte-89qzxr{width:100%;height:100%;overflow:auto}.html-renderer.svelte-89qzxr svg{max-width:100%;height:auto}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-0cdd387c.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-30da91e8.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-68534840.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-de7701e4.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-1ae6bd74.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-07d8e303.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-5d53e70a.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-3398dd02.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-ed0b7437.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-74444efd.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-9be7ceb8.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-9163df9c.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-51814d27.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-5e28753b.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-1e6f9579.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-0f60d1b8.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-c76c5d69.woff) format("woff"),url(/assets/KaTeX_Main-Bold-138ac28d.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-99cd42a3.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-a6f7ec0d.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-70ee1f64.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-97479ca6.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-f1d6ef86.woff) format("woff"),url(/assets/KaTeX_Main-Italic-0d85ae7c.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-c2342cd8.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-c6368d87.woff) format("woff"),url(/assets/KaTeX_Main-Regular-d0332f52.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-dc47344d.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-850c0af5.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-f9377ab0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-7af58c5e.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-8a8d2445.woff) format("woff"),url(/assets/KaTeX_Math-Italic-08ce98e5.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-e99ae511.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-ece03cfd.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-1ece03f7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-00b26ac8.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-91ee6750.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-3931dd81.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-68e8c73e.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-11e4dc8a.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-f36ea897.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-036d4e95.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-d96cdf2b.woff) format("woff"),url(/assets/KaTeX_Script-Regular-1c67f068.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-6b47c401.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-c943cc98.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-95b6d2f1.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-d04c5421.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-2014c523.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-a6b2099f.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-6ab6b62e.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-500e04d5.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-a4af7d41.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-99f9c675.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-c647367d.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-71d517d6.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-e14fed02.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-f01f3e87.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.katex-renderer.svelte-619st6{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.render-error.svelte-619st6{color:#c0392b;background:#fdf2f2;border:1px solid #e74c3c;border-radius:4px;padding:12px 16px;font-family:monospace;font-size:13px;white-space:pre-wrap;word-break:break-word;max-width:80%;margin-top:12px}.vegalite-renderer.svelte-1bnxu2m{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.render-error.svelte-1bnxu2m{color:#c0392b;background:#fdf2f2;border:1px solid #e74c3c;border-radius:4px;padding:12px 16px;font-family:monospace;font-size:13px;white-space:pre-wrap;word-break:break-word;max-width:80%;margin-top:12px}.placeholder.svelte-7z4kp7{color:#666;font-size:16px;-webkit-user-select:none;user-select:none}body{margin:0;background:var(--board-bg);font-family:sans-serif}main.svelte-1m2dtiz.svelte-1m2dtiz{display:flex;flex-direction:column;height:100vh;padding:20px;box-sizing:border-box}.banner.svelte-1m2dtiz.svelte-1m2dtiz{background:#c0392b;color:#fff;padding:10px 16px;font-size:14px;text-align:center;margin-bottom:12px;border-radius:4px}.banner.svelte-1m2dtiz code.svelte-1m2dtiz{background:rgba(255,255,255,.2);padding:2px 6px;border-radius:3px}.canvas-frame.svelte-1m2dtiz.svelte-1m2dtiz{flex:1;display:flex;flex-direction:column;border:1px solid var(--board-border);border-radius:6px;overflow:hidden;min-height:0}.canvas-title.svelte-1m2dtiz.svelte-1m2dtiz{padding:10px 20px;font-size:15px;font-weight:600;color:var(--board-text);border-bottom:1px solid var(--board-border-light);background:var(--board-bg-panel);-webkit-user-select:none;user-select:none}.canvas.svelte-1m2dtiz.svelte-1m2dtiz{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--board-canvas-bg)}.placeholder.svelte-1m2dtiz.svelte-1m2dtiz{color:var(--board-text-secondary);font-size:16px;-webkit-user-select:none;user-select:none}.step-bar.svelte-1m2dtiz.svelte-1m2dtiz{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 16px;background:var(--board-bg-panel);border-top:1px solid var(--board-border-faint)}.step-btn.svelte-1m2dtiz.svelte-1m2dtiz{padding:6px 16px;border:1px solid var(--board-border-mid);border-radius:4px;background:var(--board-bg);color:var(--board-text);cursor:pointer;font-size:14px}.step-btn.svelte-1m2dtiz.svelte-1m2dtiz:hover:not(:disabled){background:var(--board-bg-hover)}.step-btn.svelte-1m2dtiz.svelte-1m2dtiz:disabled{color:var(--board-text-subtlest);border-color:var(--board-border-faint);cursor:default}.step-label.svelte-1m2dtiz.svelte-1m2dtiz{font-size:14px;color:var(--board-text-secondary);flex:1;text-align:center}.controls-panel.svelte-1m2dtiz.svelte-1m2dtiz{position:fixed;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;padding:10px 8px;background:var(--board-bg);border:1px solid var(--board-border);border-right:none;border-radius:6px 0 0 6px;box-shadow:-2px 0 8px var(--board-shadow-controls);z-index:50}.panel-icon-btn.svelte-1m2dtiz.svelte-1m2dtiz{padding:6px 8px;border:1px solid var(--board-border-mid);border-radius:4px;background:var(--board-bg);cursor:pointer;font-size:16px;color:var(--board-text-secondary);transition:background .1s;line-height:1;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.panel-icon-btn.svelte-1m2dtiz.svelte-1m2dtiz:hover{background:var(--board-bg-hover)}.panel-icon-btn[aria-pressed=true].svelte-1m2dtiz.svelte-1m2dtiz{background:var(--board-accent-bg);border-color:var(--board-accent);color:var(--board-accent)}.panel-icon-btn.delete-btn.svelte-1m2dtiz.svelte-1m2dtiz:hover{background:var(--board-danger-bg);border-color:var(--board-danger);color:var(--board-danger)}.panel-icon-btn.export-btn.svelte-1m2dtiz.svelte-1m2dtiz:hover{background:var(--board-accent-bg);border-color:var(--board-accent);color:var(--board-accent)}.panel-sep.svelte-1m2dtiz.svelte-1m2dtiz{height:1px;background:var(--board-border-light);margin:2px}.done-btn.svelte-1m2dtiz.svelte-1m2dtiz{padding:6px 8px;border:1px solid var(--board-success);border-radius:4px;background:var(--board-bg);color:var(--board-success);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;transition:background .1s;min-width:32px;min-height:32px}.done-btn.svelte-1m2dtiz.svelte-1m2dtiz:hover:not(:disabled){background:var(--board-success-bg)}.done-btn.svelte-1m2dtiz.svelte-1m2dtiz:disabled{border-color:var(--board-text-subtle);color:var(--board-text-subtle);cursor:default}.done-btn-error.svelte-1m2dtiz.svelte-1m2dtiz{border-color:var(--board-danger);color:var(--board-danger)}.done-btn-error.svelte-1m2dtiz.svelte-1m2dtiz:hover:not(:disabled){background:var(--board-danger-bg)}
@@ -0,0 +1 @@
1
+ import{I as a,c}from"./mermaid-parser.core-7ee09942.js";import"./index-4abf3da0.js";export{a as InfoModule,c as createInfoServices};
@@ -0,0 +1,2 @@
1
+ import{_ as e,l as s,H as n,k as i}from"./mermaid.core-9fc8f6d2.js";import{p}from"./mermaid-parser.core-7ee09942.js";import"./index-4abf3da0.js";import"./step-171ad54a.js";var g={parse:e(async r=>{const a=await p("info",r);s.debug(a)},"parse")},v={version:"11.15.0"},d=e(()=>v.version,"getVersion"),m={getVersion:d},c=e((r,a,o)=>{s.debug(`rendering info diagram
2
+ `+r);const t=n(a);i(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${o}`)},"draw"),l={draw:c},w={parser:g,db:m,renderer:l};export{w as diagram};
@@ -0,0 +1 @@
1
+ function a(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function s(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}export{s as a,a as i};
@@ -0,0 +1,70 @@
1
+ import{_ as o,t as ut,e as dt,d as ot,n as it,g as yt,s as ft,b as pt,c as gt,o as kt,O as mt,H as wt,a3 as _t,k as bt}from"./mermaid.core-9fc8f6d2.js";import"./index-4abf3da0.js";import"./step-171ad54a.js";var tt=function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],x=[1,6,7,11,13,14],N={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,u,p,n,v){var w=n.length-1;switch(p){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:f,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(x,[2,8]),e(x,[2,9]),e(x,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(x,[2,11]),e(x,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],u=[],p=[null],n=[],v=this.table,w="",I=0,S=0,L=2,E=1,R=n.slice.call(arguments,1),b=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);b.setInput(t,C.yy),C.yy.lexer=b,C.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var T=b.yylloc;n.push(T);var D=b.options&&b.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(P){i.length=i.length-2*P,p.length=p.length-P,n.length=n.length-P}o(j,"popStack");function z(){var P;return P=u.pop()||b.lex()||E,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=s.symbols_[P]||P),P}o(z,"lex");for(var A,W,B,q,H={},X,V,et,Y;;){if(W=i[i.length-1],this.defaultActions[W]?B=this.defaultActions[W]:((A===null||typeof A>"u")&&(A=z()),B=v[W]&&v[W][A]),typeof B>"u"||!B.length||!B[0]){var Q="";Y=[];for(X in v[W])this.terminals_[X]&&X>L&&Y.push("'"+this.terminals_[X]+"'");b.showPosition?Q="Parse error on line "+(I+1)+`:
2
+ `+b.showPosition()+`
3
+ Expecting `+Y.join(", ")+", got '"+(this.terminals_[A]||A)+"'":Q="Parse error on line "+(I+1)+": Unexpected "+(A==E?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(Q,{text:b.match,token:this.terminals_[A]||A,line:b.yylineno,loc:T,expected:Y})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+A);switch(B[0]){case 1:i.push(A),p.push(b.yytext),n.push(b.yylloc),i.push(B[1]),A=null,S=b.yyleng,w=b.yytext,I=b.yylineno,T=b.yylloc;break;case 2:if(V=this.productions_[B[1]][1],H.$=p[p.length-V],H._$={first_line:n[n.length-(V||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(V||1)].first_column,last_column:n[n.length-1].last_column},D&&(H._$.range=[n[n.length-(V||1)].range[0],n[n.length-1].range[1]]),q=this.performAction.apply(H,[w,S,I,C.yy,B[1],p,n].concat(R)),typeof q<"u")return q;V&&(i=i.slice(0,-1*V*2),p=p.slice(0,-1*V),n=n.slice(0,-1*V)),i.push(this.productions_[B[1]][0]),p.push(H.$),n.push(H._$),et=v[i[i.length-2]][i[i.length-1]],i.push(et);break;case 3:return!0}}return!0},"parse")},O=function(){var M={EOF:1,parseError:o(function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},"parseError"),setInput:o(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var s=t.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:o(function(t){var s=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(t){this.unput(this.match.slice(t))},"less"),pastInput:o(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+`
5
+ `+s+"^"},"showPosition"),test_match:o(function(t,s){var i,u,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),u=t[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,s,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var n in p)this[n]=p[n];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var t,s,i,u;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),n=0;n<p.length;n++)if(i=this._input.match(this.rules[p[n]]),i&&(!s||i[0].length>s[0].length)){if(s=i,u=n,this.options.backtrack_lexer){if(t=this.test_match(i,p[n]),t!==!1)return t;if(this._backtrack){s=!1;continue}else return!1}else if(!this.options.flex)break}return s?(t=this.test_match(s,p[u]),t!==!1?t:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var s=this.next();return s||this.lex()},"lex"),begin:o(function(s){this.conditionStack.push(s)},"begin"),popState:o(function(){var s=this.conditionStack.length-1;return s>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(s){return s=this.conditionStack.length-1-Math.abs(s||0),s>=0?this.conditionStack[s]:"INITIAL"},"topState"),pushState:o(function(s){this.begin(s)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(s,i,u,p){switch(u){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return M}();N.lexer=O;function $(){this.yy={}}return o($,"Parser"),$.prototype=N,N.Parser=$,new $}();tt.parser=tt;var xt=tt,Z,vt=(Z=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,ut()}getRoot(){return this.root}addNode(h,r){const a=dt.sanitizeText(r,ot());if(!this.root){this.root={text:a,children:[]},this.stack=[{level:0,node:this.root}],it(a);return}this.baseLevel??(this.baseLevel=h);let l=h-this.baseLevel+1;for(l<=0&&(l=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=l;)this.stack.pop();const y=this.stack[this.stack.length-1].node,f={text:a,children:[]};y.children.push(f),this.stack.push({level:l,node:f})}getAccTitle(){return yt()}setAccTitle(h){ft(h)}getAccDescription(){return pt()}setAccDescription(h){gt(h)}getDiagramTitle(){return kt()}setDiagramTitle(h){it(h)}},o(Z,"IshikawaDB"),Z),St=14,G=250,$t=30,Et=60,At=5,ht=82*Math.PI/180,st=Math.cos(ht),nt=Math.sin(ht),at=o((e,h,r)=>{const a=e.node().getBBox(),l=a.width+h*2,y=a.height+h*2;bt(e,y,l,r),e.attr("viewBox",`${a.x-h} ${a.y-h} ${l} ${y}`)},"applyPaddedViewBox"),It=o((e,h,r,a)=>{var C,F;const y=a.db.getRoot();if(!y)return;const f=ot(),{look:d,handDrawnSeed:m,themeVariables:c}=f,k=mt(f.fontSize)[0]??St,g=d==="handDrawn",_=y.children??[],x=((C=f.ishikawa)==null?void 0:C.diagramPadding)??20,N=((F=f.ishikawa)==null?void 0:F.useMaxWidth)??!1,O=wt(h),$=O.append("g").attr("class","ishikawa"),M=g?_t.svg(O.node()):void 0,t=M?{roughSvg:M,seed:m??0,lineColor:(c==null?void 0:c.lineColor)??"#333",fillColor:(c==null?void 0:c.mainBkg)??"#fff"}:void 0,s=`ishikawa-arrow-${h}`;g||$.append("defs").append("marker").attr("id",s).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let i=0,u=G;const p=g?void 0:U($,i,u,i,u,"ishikawa-spine");if(Lt($,i,u,y.text,k,t),!_.length){g&&U($,i,u,i,u,"ishikawa-spine",t),at(O,x,N);return}i-=20;const n=_.filter((T,D)=>D%2===0),v=_.filter((T,D)=>D%2===1),w=rt(n),I=rt(v),S=w.total+I.total;let L=G,E=G;if(S>0){const T=G*2,D=G*.3;L=Math.max(D,T*(w.total/S)),E=Math.max(D,T*(I.total/S))}const R=k*2;L=Math.max(L,w.max*R),E=Math.max(E,I.max*R),u=Math.max(L,G),p&&p.attr("y1",u).attr("y2",u),$.select(".ishikawa-head-group").attr("transform",`translate(0,${u})`);const b=Math.ceil(_.length/2);for(let T=0;T<b;T++){const D=$.append("g").attr("class","ishikawa-pair");for(const[j,z,A]of[[_[T*2],-1,L],[_[T*2+1],1,E]])j&&Pt(D,j,i,u,z,A,k,t);i=D.selectAll("text").nodes().reduce((j,z)=>Math.min(j,z.getBBox().x),1/0)}if(g)U($,i,u,0,u,"ishikawa-spine",t);else{p.attr("x1",i);const T=`url(#${s})`;$.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",T)}at(O,x,N)},"draw"),rt=o(e=>{const h=o(r=>r.children.reduce((a,l)=>a+1+h(l),0),"countDescendants");return e.reduce((r,a)=>{const l=h(a);return r.total+=l,r.max=Math.max(r.max,l),r},{total:0,max:0})},"sideStats"),Lt=o((e,h,r,a,l,y)=>{const f=Math.max(6,Math.floor(110/(l*.6))),d=e.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${h},${r})`),m=K(d,ct(a,f),0,0,"ishikawa-head-label","start",l),c=m.node().getBBox(),k=Math.max(60,c.width+6),g=Math.max(40,c.height*2+40),_=`M 0 ${-g/2} L 0 ${g/2} Q ${k*2.4} 0 0 ${-g/2} Z`;if(y){const x=y.roughSvg.path(_,{roughness:1.5,seed:y.seed,fill:y.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:y.lineColor,strokeWidth:2});d.insert(()=>x,":first-child").attr("class","ishikawa-head")}else d.insert("path",":first-child").attr("class","ishikawa-head").attr("d",_);m.attr("transform",`translate(${(k-c.width)/2-c.x+3},${-c.y-c.height/2})`)},"drawHead"),Tt=o((e,h)=>{const r=[],a=[],l=o((y,f,d)=>{const m=h===-1?[...y].reverse():y;for(const c of m){const k=r.length,g=c.children??[];r.push({depth:d,text:ct(c.text,15),parentIndex:f,childCount:g.length}),d%2===0?(a.push(k),g.length&&l(g,k,d+1)):(g.length&&l(g,k,d+1),a.push(k))}},"walk");return l(e,-1,2),{entries:r,yOrder:a}},"flattenTree"),Mt=o((e,h,r,a,l,y,f)=>{const d=e.append("g").attr("class","ishikawa-label-group"),c=K(d,h,r,a+11*l,"ishikawa-label cause","middle",y).node().getBBox();if(f){const k=f.roughSvg.rectangle(c.x-20,c.y-2,c.width+40,c.height+4,{roughness:1.5,seed:f.seed,fill:f.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:f.lineColor,strokeWidth:2});d.insert(()=>k,":first-child").attr("class","ishikawa-label-box")}else d.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",c.x-20).attr("y",c.y-2).attr("width",c.width+40).attr("height",c.height+4)},"drawCauseLabel"),J=o((e,h,r,a,l,y)=>{const f=Math.sqrt(a*a+l*l);if(f===0)return;const d=a/f,m=l/f,c=6,k=-m*c,g=d*c,_=h,x=r,N=`M ${_} ${x} L ${_-d*c*2+k} ${x-m*c*2+g} L ${_-d*c*2-k} ${x-m*c*2-g} Z`,O=y.roughSvg.path(N,{roughness:1,seed:y.seed,fill:y.lineColor,fillStyle:"solid",stroke:y.lineColor,strokeWidth:1});e.append(()=>O)},"drawArrowMarker"),Pt=o((e,h,r,a,l,y,f,d)=>{const m=h.children??[],c=y*(m.length?1:.2),k=-st*c,g=nt*c*l,_=r+k,x=a+g;if(U(e,r,a,_,x,"ishikawa-branch",d),d&&J(e,r,a,r-_,a-x,d),Mt(e,h.text,_,x,l,f,d),!m.length)return;const{entries:N,yOrder:O}=Tt(m,l),$=N.length,M=new Array($);for(const[p,n]of O.entries())M[n]=a+g*((p+1)/($+1));const t=new Map;t.set(-1,{x0:r,y0:a,x1:_,y1:x,childCount:m.length,childrenDrawn:0});const s=-st,i=nt*l,u=l<0?"ishikawa-label up":"ishikawa-label down";for(const[p,n]of N.entries()){const v=M[p],w=t.get(n.parentIndex),I=e.append("g").attr("class","ishikawa-sub-group");let S=0,L=0,E=0;if(n.depth%2===0){const R=w.y1-w.y0;S=lt(w.x0,w.x1,R?(v-w.y0)/R:.5),L=v,E=S-(n.childCount>0?Et+n.childCount*At:$t),U(I,S,v,E,v,"ishikawa-sub-branch",d),d&&J(I,S,v,1,0,d),K(I,n.text,E,v,"ishikawa-label align","end",f)}else{const R=w.childrenDrawn++;S=lt(w.x0,w.x1,(w.childCount-R)/(w.childCount+1)),L=w.y0,E=S+s*((v-L)/i),U(I,S,L,E,v,"ishikawa-sub-branch",d),d&&J(I,S,L,S-E,L-v,d),K(I,n.text,E,v,u,"end",f)}n.childCount>0&&t.set(p,{x0:S,y0:L,x1:E,y1:v,childCount:n.childCount,childrenDrawn:0})}},"drawBranch"),Bt=o(e=>e.split(/<br\s*\/?>|\n/),"splitLines"),ct=o((e,h)=>{if(e.length<=h)return e;const r=[];for(const a of e.split(/\s+/)){const l=r.length-1;l>=0&&r[l].length+1+a.length<=h?r[l]+=" "+a:r.push(a)}return r.join(`
7
+ `)},"wrapText"),K=o((e,h,r,a,l,y,f)=>{const d=Bt(h),m=f*1.05,c=e.append("text").attr("class",l).attr("text-anchor",y).attr("x",r).attr("y",a-(d.length-1)*m/2);for(const[k,g]of d.entries())c.append("tspan").attr("x",r).attr("dy",k===0?0:m).text(g);return c},"drawMultilineText"),lt=o((e,h,r)=>e+(h-e)*r,"lerp"),U=o((e,h,r,a,l,y,f)=>{if(f){const d=f.roughSvg.line(h,r,a,l,{roughness:1.5,seed:f.seed,stroke:f.lineColor,strokeWidth:2});e.append(()=>d).attr("class",y);return}return e.append("line").attr("class",y).attr("x1",h).attr("y1",r).attr("x2",a).attr("y2",l)},"drawLine"),Nt={draw:It},Dt=o(e=>`
8
+ .ishikawa .ishikawa-spine,
9
+ .ishikawa .ishikawa-branch,
10
+ .ishikawa .ishikawa-sub-branch {
11
+ stroke: ${e.lineColor};
12
+ stroke-width: 2;
13
+ fill: none;
14
+ }
15
+
16
+ .ishikawa .ishikawa-sub-branch {
17
+ stroke-width: 1;
18
+ }
19
+
20
+ .ishikawa .ishikawa-arrow {
21
+ fill: ${e.lineColor};
22
+ }
23
+
24
+ .ishikawa .ishikawa-head {
25
+ fill: ${e.mainBkg};
26
+ stroke: ${e.lineColor};
27
+ stroke-width: 2;
28
+ }
29
+
30
+ .ishikawa .ishikawa-label-box {
31
+ fill: ${e.mainBkg};
32
+ stroke: ${e.lineColor};
33
+ stroke-width: 2;
34
+ }
35
+
36
+ .ishikawa text {
37
+ font-family: ${e.fontFamily};
38
+ font-size: ${e.fontSize};
39
+ fill: ${e.textColor};
40
+ }
41
+
42
+ .ishikawa .ishikawa-head-label {
43
+ font-weight: 600;
44
+ text-anchor: middle;
45
+ dominant-baseline: middle;
46
+ font-size: 14px;
47
+ }
48
+
49
+ .ishikawa .ishikawa-label {
50
+ text-anchor: end;
51
+ }
52
+
53
+ .ishikawa .ishikawa-label.cause {
54
+ text-anchor: middle;
55
+ dominant-baseline: middle;
56
+ }
57
+
58
+ .ishikawa .ishikawa-label.align {
59
+ text-anchor: end;
60
+ dominant-baseline: middle;
61
+ }
62
+
63
+ .ishikawa .ishikawa-label.up {
64
+ dominant-baseline: baseline;
65
+ }
66
+
67
+ .ishikawa .ishikawa-label.down {
68
+ dominant-baseline: hanging;
69
+ }
70
+ `,"getStyles"),Ot=Dt,Wt={parser:xt,get db(){return new vt},renderer:Nt,styles:Ot};export{Wt as diagram};