isorite 0.5.0 → 0.7.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 (226) hide show
  1. package/README.md +4 -3
  2. package/dist/main.js +466 -99
  3. package/docs/setup-for-agents.md +5 -1
  4. package/docs/setup.md +18 -4
  5. package/package.json +1 -1
  6. package/plugin/server.ts +1 -1
  7. package/web/_app/immutable/assets/0.BKnIhFWM.css +1 -0
  8. package/web/_app/immutable/assets/NoteEditor.8wWtZK_A.css +1 -0
  9. package/web/_app/immutable/chunks/0M1khDs2.js +2 -0
  10. package/web/_app/immutable/chunks/2b4Gb5sE.js +1 -0
  11. package/web/_app/immutable/chunks/62dhNtvj.js +673 -0
  12. package/web/_app/immutable/chunks/84nbDH0I.js +1 -0
  13. package/web/_app/immutable/chunks/8H7HVH4w.js +1 -0
  14. package/web/_app/immutable/chunks/8wVGBFSs.js +45 -0
  15. package/web/_app/immutable/chunks/AF4Hwhju.js +1 -0
  16. package/web/_app/immutable/chunks/{C1xA2mdF.js → B3dCo0od.js} +1 -1
  17. package/web/_app/immutable/chunks/B45xgp2S.js +1 -0
  18. package/web/_app/immutable/chunks/B78wSQJQ.js +1 -0
  19. package/web/_app/immutable/chunks/B7GA1FFB.js +1 -0
  20. package/web/_app/immutable/chunks/B85D_PlV.js +5 -0
  21. package/web/_app/immutable/chunks/B9NhS7L_.js +1 -0
  22. package/web/_app/immutable/chunks/B9YLdnR_.js +1 -0
  23. package/web/_app/immutable/chunks/BEHa2uNW.js +1 -0
  24. package/web/_app/immutable/chunks/BEMVcqjs.js +1 -0
  25. package/web/_app/immutable/chunks/BEjRio4Q.js +1 -0
  26. package/web/_app/immutable/chunks/BEn0Cwpx.js +1 -0
  27. package/web/_app/immutable/chunks/BGbXxNFa.js +2 -0
  28. package/web/_app/immutable/chunks/BGfruO1u.js +1 -0
  29. package/web/_app/immutable/chunks/BHEdbvp9.js +1 -0
  30. package/web/_app/immutable/chunks/BKJx4mf9.js +1 -0
  31. package/web/_app/immutable/chunks/BL3mLym4.js +5 -0
  32. package/web/_app/immutable/chunks/BLp5-jwC.js +1 -0
  33. package/web/_app/immutable/chunks/BN6xhG8e.js +1 -0
  34. package/web/_app/immutable/chunks/BNjH_DUx.js +1 -0
  35. package/web/_app/immutable/chunks/BOVgKnng.js +1 -0
  36. package/web/_app/immutable/chunks/BPTmHmyx.js +1 -0
  37. package/web/_app/immutable/chunks/BPW39P52.js +1 -0
  38. package/web/_app/immutable/chunks/BRKS-CCX.js +5 -0
  39. package/web/_app/immutable/chunks/BRsoo5mP.js +1 -0
  40. package/web/_app/immutable/chunks/BSzj6Xyz.js +1 -0
  41. package/web/_app/immutable/chunks/BUZw3wgd.js +1 -0
  42. package/web/_app/immutable/chunks/BV0c4Hdn.js +1 -0
  43. package/web/_app/immutable/chunks/BVIeWmwY.js +1 -0
  44. package/web/_app/immutable/chunks/BWonG38x.js +1 -0
  45. package/web/_app/immutable/chunks/BXxG0Yva.js +1 -0
  46. package/web/_app/immutable/chunks/BZmnMkFw.js +1 -0
  47. package/web/_app/immutable/chunks/BZyAS7I4.js +1 -0
  48. package/web/_app/immutable/chunks/B_1Jd8HM.js +1 -0
  49. package/web/_app/immutable/chunks/Bbt0DTmZ.js +1 -0
  50. package/web/_app/immutable/chunks/Bffqt7tx.js +9 -0
  51. package/web/_app/immutable/chunks/BflJGmDX.js +1 -0
  52. package/web/_app/immutable/chunks/BgczuZKA.js +4 -0
  53. package/web/_app/immutable/chunks/BguXRgvc.js +2 -0
  54. package/web/_app/immutable/chunks/BkSkiI9m.js +1 -0
  55. package/web/_app/immutable/chunks/BoNMG-YE.js +1 -0
  56. package/web/_app/immutable/chunks/Bq5hCPe1.js +2 -0
  57. package/web/_app/immutable/chunks/BrGmYbJT.js +2 -0
  58. package/web/_app/immutable/chunks/BrqJKzQU.js +2 -0
  59. package/web/_app/immutable/chunks/Brxvm_b1.js +4 -0
  60. package/web/_app/immutable/chunks/BsLNwr5A.js +2 -0
  61. package/web/_app/immutable/chunks/Bsdphhtm.js +1 -0
  62. package/web/_app/immutable/chunks/Bt6PBEDR.js +1 -0
  63. package/web/_app/immutable/chunks/BthdM_4N.js +1 -0
  64. package/web/_app/immutable/chunks/Bu8mWwtz.js +1 -0
  65. package/web/_app/immutable/chunks/BunrC_8P.js +4 -0
  66. package/web/_app/immutable/chunks/BwTct_5T.js +1 -0
  67. package/web/_app/immutable/chunks/BxTFtVqu.js +13 -0
  68. package/web/_app/immutable/chunks/BzI3yqBQ.js +3 -0
  69. package/web/_app/immutable/chunks/C-dfcq9W.js +7 -0
  70. package/web/_app/immutable/chunks/C2OyD2Y6.js +1 -0
  71. package/web/_app/immutable/chunks/C2dAgh7P.js +1 -0
  72. package/web/_app/immutable/chunks/C357ku5U.js +1 -0
  73. package/web/_app/immutable/chunks/C4jVoHG1.js +1 -0
  74. package/web/_app/immutable/chunks/C6Btt2Xs.js +1 -0
  75. package/web/_app/immutable/chunks/C9zpzAZU.js +1 -0
  76. package/web/_app/immutable/chunks/CDAjAYjS.js +1 -0
  77. package/web/_app/immutable/chunks/CETSRtnV.js +2 -0
  78. package/web/_app/immutable/chunks/CEufJyoj.js +1 -0
  79. package/web/_app/immutable/chunks/CHbKgHy3.js +1 -0
  80. package/web/_app/immutable/chunks/CKSRTWxH.js +2 -0
  81. package/web/_app/immutable/chunks/CLVUDRRk.js +2 -0
  82. package/web/_app/immutable/chunks/CLVgA2GD.js +1 -0
  83. package/web/_app/immutable/chunks/CO2Y5y64.js +2 -0
  84. package/web/_app/immutable/chunks/CPF5uNy5.js +1 -0
  85. package/web/_app/immutable/chunks/CQadubS9.js +2 -0
  86. package/web/_app/immutable/chunks/CQfgDRfP.js +1 -0
  87. package/web/_app/immutable/chunks/CRIvE37b.js +2 -0
  88. package/web/_app/immutable/chunks/CRzLMJPS.js +1 -0
  89. package/web/_app/immutable/chunks/CTIncYxj.js +1 -0
  90. package/web/_app/immutable/chunks/CTscJvp6.js +2 -0
  91. package/web/_app/immutable/chunks/CUpZ7dEl.js +1 -0
  92. package/web/_app/immutable/chunks/CVbgxz8Y.js +1 -0
  93. package/web/_app/immutable/chunks/CWmfjLLv.js +1 -0
  94. package/web/_app/immutable/chunks/CX-xckzu.js +4 -0
  95. package/web/_app/immutable/chunks/CXXgtw0p.js +1 -0
  96. package/web/_app/immutable/chunks/CYNZ4aV_.js +1 -0
  97. package/web/_app/immutable/chunks/CZ8wTb_M.js +8 -0
  98. package/web/_app/immutable/chunks/C_eisQCp.js +1 -0
  99. package/web/_app/immutable/chunks/CdY1YAit.js +2 -0
  100. package/web/_app/immutable/chunks/Ce_hS451.js +1 -0
  101. package/web/_app/immutable/chunks/CgA1WoRv.js +1 -0
  102. package/web/_app/immutable/chunks/CggtIYAM.js +1 -0
  103. package/web/_app/immutable/chunks/ChfNwlCY.js +1 -0
  104. package/web/_app/immutable/chunks/ChtP43wD.js +1 -0
  105. package/web/_app/immutable/chunks/CiVjR8gq.js +3 -0
  106. package/web/_app/immutable/chunks/CjI9Y6RI.js +1 -0
  107. package/web/_app/immutable/chunks/ClOhbFR7.js +1 -0
  108. package/web/_app/immutable/chunks/Cn-vtDpV.js +1 -0
  109. package/web/_app/immutable/chunks/CnaYoQib.js +1 -0
  110. package/web/_app/immutable/chunks/Co3PbHdE.js +1 -0
  111. package/web/_app/immutable/chunks/CoyQYage.js +1 -0
  112. package/web/_app/immutable/chunks/Cp5ooBfH.js +1 -0
  113. package/web/_app/immutable/chunks/Cp_JbuGh.js +2 -0
  114. package/web/_app/immutable/chunks/Cq5C893B.js +1 -0
  115. package/web/_app/immutable/chunks/CqHI_q-D.js +1 -0
  116. package/web/_app/immutable/chunks/CqftRsjg.js +1 -0
  117. package/web/_app/immutable/chunks/Cshzl8qu.js +1 -0
  118. package/web/_app/immutable/chunks/Cx3rYX2g.js +1 -0
  119. package/web/_app/immutable/chunks/CxDmU1I4.js +1 -0
  120. package/web/_app/immutable/chunks/CygcOYNo.js +1 -0
  121. package/web/_app/immutable/chunks/CzMBulkp.js +1 -0
  122. package/web/_app/immutable/chunks/D1ij_kNL.js +1 -0
  123. package/web/_app/immutable/chunks/D2Q8cUp1.js +1 -0
  124. package/web/_app/immutable/chunks/D4SKbj9K.js +6 -0
  125. package/web/_app/immutable/chunks/D4c0_ac3.js +1 -0
  126. package/web/_app/immutable/chunks/D4fLEcOQ.js +8 -0
  127. package/web/_app/immutable/chunks/D5EjA2JK.js +1 -0
  128. package/web/_app/immutable/chunks/D5jiJvOU.js +1 -0
  129. package/web/_app/immutable/chunks/D6QVYUu9.js +1 -0
  130. package/web/_app/immutable/chunks/D6RzAl64.js +1 -0
  131. package/web/_app/immutable/chunks/D6Vzg2HD.js +6 -0
  132. package/web/_app/immutable/chunks/D8WpQPaX.js +1 -0
  133. package/web/_app/immutable/chunks/D9f6rSsU.js +1 -0
  134. package/web/_app/immutable/chunks/D9qYN0V5.js +1 -0
  135. package/web/_app/immutable/chunks/DCl_8MCW.js +1 -0
  136. package/web/_app/immutable/chunks/DECNRCf2.js +1 -0
  137. package/web/_app/immutable/chunks/DHLQUbN7.js +1 -0
  138. package/web/_app/immutable/chunks/DHfKGggc.js +1 -0
  139. package/web/_app/immutable/chunks/DIGvaVgJ.js +2 -0
  140. package/web/_app/immutable/chunks/DKB6_1j6.js +1 -0
  141. package/web/_app/immutable/chunks/DKNOMI4Y.js +1 -0
  142. package/web/_app/immutable/chunks/DLa7NjNO.js +1 -0
  143. package/web/_app/immutable/chunks/DMAYXnpq.js +13 -0
  144. package/web/_app/immutable/chunks/DNzd62Q_.js +1 -0
  145. package/web/_app/immutable/chunks/DPCEkfD_.js +1 -0
  146. package/web/_app/immutable/chunks/DTF72YNO.js +1 -0
  147. package/web/_app/immutable/chunks/DTdlqvEb.js +12 -0
  148. package/web/_app/immutable/chunks/DTszW0OQ.js +1 -0
  149. package/web/_app/immutable/chunks/DWkQyNnU.js +1 -0
  150. package/web/_app/immutable/chunks/DXiLM1-G.js +1 -0
  151. package/web/_app/immutable/chunks/DZYaqCwi.js +1 -0
  152. package/web/_app/immutable/chunks/D_19S_Iu.js +1 -0
  153. package/web/_app/immutable/chunks/D_aBVMvK.js +11 -0
  154. package/web/_app/immutable/chunks/DciMwFJ1.js +1 -0
  155. package/web/_app/immutable/chunks/De_zI4J0.js +1 -0
  156. package/web/_app/immutable/chunks/DgAKBe0r.js +1 -0
  157. package/web/_app/immutable/chunks/DjVOVvNP.js +1 -0
  158. package/web/_app/immutable/chunks/DkvLWnSd.js +1 -0
  159. package/web/_app/immutable/chunks/Dp_KdFgX.js +1 -0
  160. package/web/_app/immutable/chunks/Ds8Pkiic.js +1 -0
  161. package/web/_app/immutable/chunks/{D4Jg9Smi.js → DsBJWNWe.js} +1 -1
  162. package/web/_app/immutable/chunks/DtbnBenW.js +1 -0
  163. package/web/_app/immutable/chunks/DuQMFDvy.js +1 -0
  164. package/web/_app/immutable/chunks/DwuoZtxw.js +1 -0
  165. package/web/_app/immutable/chunks/DxLkKbK2.js +5 -0
  166. package/web/_app/immutable/chunks/Dz-mlCAC.js +1 -0
  167. package/web/_app/immutable/chunks/EQVRMnZU.js +2 -0
  168. package/web/_app/immutable/chunks/GwMd3KmG.js +1 -0
  169. package/web/_app/immutable/chunks/K_3X9lyC.js +23 -0
  170. package/web/_app/immutable/chunks/PPSTk1ow.js +1 -0
  171. package/web/_app/immutable/chunks/S7ucR4pR.js +1 -0
  172. package/web/_app/immutable/chunks/TuFg0KqZ.js +4 -0
  173. package/web/_app/immutable/chunks/VlUiK86J.js +1 -0
  174. package/web/_app/immutable/chunks/WBFggAXs.js +1 -0
  175. package/web/_app/immutable/chunks/_rHYGvON.js +1 -0
  176. package/web/_app/immutable/chunks/bcQIrid8.js +1 -0
  177. package/web/_app/immutable/chunks/gfMMiTNf.js +1 -0
  178. package/web/_app/immutable/chunks/gpDK5sbt.js +1 -0
  179. package/web/_app/immutable/chunks/kS471soi.js +1 -0
  180. package/web/_app/immutable/chunks/mbLqADPr.js +1 -0
  181. package/web/_app/immutable/chunks/nMarIA7J.js +3 -0
  182. package/web/_app/immutable/chunks/oBAE_ms0.js +1 -0
  183. package/web/_app/immutable/chunks/p9eYesGn.js +1 -0
  184. package/web/_app/immutable/chunks/qgSLujhx.js +1 -0
  185. package/web/_app/immutable/chunks/spNKdrPy.js +3 -0
  186. package/web/_app/immutable/chunks/tLWDfEkZ.js +1 -0
  187. package/web/_app/immutable/chunks/u8YMmbU0.js +1 -0
  188. package/web/_app/immutable/chunks/vk5Wkr31.js +1 -0
  189. package/web/_app/immutable/chunks/wCTXGvXm.js +2 -0
  190. package/web/_app/immutable/chunks/wj7G6pU5.js +5 -0
  191. package/web/_app/immutable/chunks/xvONpD0Z.js +1 -0
  192. package/web/_app/immutable/chunks/yxd8jSz3.js +1 -0
  193. package/web/_app/immutable/entry/app.Dt52eXt2.js +2 -0
  194. package/web/_app/immutable/entry/start.mjqIl2PI.js +1 -0
  195. package/web/_app/immutable/nodes/0.DIhIOwuo.js +26 -0
  196. package/web/_app/immutable/nodes/1.B5qkcrvB.js +1 -0
  197. package/web/_app/immutable/nodes/2.CK3q7brK.js +1 -0
  198. package/web/_app/immutable/nodes/3.CrUewa31.js +1 -0
  199. package/web/_app/immutable/nodes/4.BhNJiqT-.js +2 -0
  200. package/web/_app/immutable/nodes/5.DXTbGemS.js +5 -0
  201. package/web/_app/immutable/nodes/6.BZWaFgFP.js +1 -0
  202. package/web/_app/immutable/nodes/7.BxQaF3lD.js +1 -0
  203. package/web/_app/version.json +1 -1
  204. package/web/index.html +22 -18
  205. package/web/_app/immutable/assets/0.DNvf5eFW.css +0 -1
  206. package/web/_app/immutable/assets/NoteEditor.BCjOff8L.css +0 -1
  207. package/web/_app/immutable/chunks/-7PsQOY4.js +0 -3
  208. package/web/_app/immutable/chunks/B9vLu37F.js +0 -1
  209. package/web/_app/immutable/chunks/BAVeNK5c.js +0 -20
  210. package/web/_app/immutable/chunks/CQqNkDRK.js +0 -1
  211. package/web/_app/immutable/chunks/Cs9sQ8Oa.js +0 -1
  212. package/web/_app/immutable/chunks/DG2llOXe.js +0 -666
  213. package/web/_app/immutable/chunks/DqVFJWdL.js +0 -1
  214. package/web/_app/immutable/chunks/HCrXwzvD.js +0 -1
  215. package/web/_app/immutable/chunks/MjV3DsQW.js +0 -1
  216. package/web/_app/immutable/chunks/uID4v_1K.js +0 -1
  217. package/web/_app/immutable/entry/app.CR9ubCCo.js +0 -2
  218. package/web/_app/immutable/entry/start.D4DOZCP6.js +0 -1
  219. package/web/_app/immutable/nodes/0.BYXv43VP.js +0 -26
  220. package/web/_app/immutable/nodes/1.DGP71l35.js +0 -1
  221. package/web/_app/immutable/nodes/2.CxspTYRG.js +0 -1
  222. package/web/_app/immutable/nodes/3.ZTzs6oEI.js +0 -1
  223. package/web/_app/immutable/nodes/4.CeIGu2c2.js +0 -2
  224. package/web/_app/immutable/nodes/5.k1DmYkGm.js +0 -5
  225. package/web/_app/immutable/nodes/6.Q0yGno8p.js +0 -1
  226. package/web/_app/immutable/nodes/7.BJRu312o.js +0 -1
@@ -0,0 +1,26 @@
1
+ import{$ as e,A as t,B as n,C as r,D as i,F as a,G as o,H as s,I as c,J as l,K as u,L as d,M as f,N as p,P as m,Q as h,S as g,T as _,U as v,V as y,X as b,Y as x,Z as S,_ as C,at as w,b as T,c as E,ct as D,d as O,dt as k,et as A,f as j,ft as M,g as N,gt as P,h as F,i as I,j as L,k as R,l as z,m as B,mt as V,n as H,ot as ee,p as U,pt as te,q as W,rt as ne,s as re,tt as G,u as K,ut as ie,v as ae,w as oe,x as se,z as ce}from"../chunks/nMarIA7J.js";import{o as le,t as ue}from"../chunks/BNjH_DUx.js";import"../chunks/xihTtKlq.js";import{O as de,d as q,f as fe,g as pe,h as J,i as me,m as Y,p as he,t as ge}from"../chunks/62dhNtvj.js";import{i as _e,t as ve}from"../chunks/CVbgxz8Y.js";import{r as ye,t as X}from"../chunks/DkvLWnSd.js";import{i as Z,n as be,r as xe,t as Se}from"../chunks/B3dCo0od.js";import{t as Ce}from"../chunks/DsBJWNWe.js";import{t as we}from"../chunks/CYNZ4aV_.js";import{i as Te,n as Ee,r as De,t as Oe}from"../chunks/DZYaqCwi.js";var ke={name:`openrouter`,url:`https://openrouter.ai/api/v1`,cacheMarks:!0,tiers:{low:`anthropic/claude-haiku-4.5`,mid:`anthropic/claude-sonnet-5.5`,max:`anthropic/claude-opus-5.5`},prices:{},auth:`https://openrouter.ai/auth`},Ae={type:`string`};({...Ae}),{...Ae},{...Ae},{...Ae},{...Ae};var je={type:`string`};({...je}),{...je},{...je},{...je},{...je},{...je},{...je},{...je},{...je},{...je},{...je},{...je},{...je};var Me=`The change is written at once, under your name: the person sees your words marked in the note, and can undo it from the browser. Use this, never edit or write, for any note of the knowledge base.`;`${Me}`,`${Me}`;var Ne=`physics`,Pe=`integrators`,Fe=`algorithms`,Ie=`simulation`,Le=(e,t)=>`${e}/${t}`;Le(Ne,`newtons-law-of-gravitation`),Le(Ne,`the-n-body-problem`),Le(Ne,`units`),Le(Ne,`energy-conservation`),Le(Ne,`softening`),Le(Pe,`eulers-method`),Le(Pe,`leapfrog`),Le(Pe,`symplectic-integrators`),Le(Pe,`choosing-the-timestep`),Le(Fe,`direct-summation`),Le(Fe,`centre-of-mass`),Le(Fe,`the-quadtree`),Le(Fe,`barnes-hut`),Le(Fe,`cost-and-accuracy`),Le(Ie,`the-main-loop`),Le(Ie,`initial-conditions`),Le(Ie,`diagnostics`),Le(Ie,`two-galaxies-colliding`);var Re=`$F = G m_1 m_2 / d^2 = 1 \\cdot \\tfrac12 \\cdot \\tfrac12 / 1 = \\tfrac14$.
2
+
3
+ Each accelerates at $a = F/m = \\tfrac14 / \\tfrac12$.
4
+
5
+ So each accelerates at $\\tfrac12$, towards the other.`,ze=`$M = 1 + 2 + 1 = 4$.
6
+
7
+ $\\mathbf{R} = (1 \\cdot (0,0) + 2 \\cdot (3,0) + 1 \\cdot (0,4)) / 4 = (6, 4)/4$.
8
+
9
+ So $\\mathbf{R} = (1.5, 1)$, with $M = 4$.`,Be=`The drift falls as $\\Delta t^2$; at $T/100$ it is a few parts in a million.
10
+
11
+ So $\\Delta t = 2\\pi/100 \\approx 0.06$ is enough.
12
+
13
+ Check: record $E$ every 100 steps and plot the drift; halve $\\Delta t$ and it should fall by four.`;[20,17,12,5,2].map(e=>({day:e,working:Re})),[6,4,2,1].map(e=>({day:e,working:ze})),[11,7].map(e=>({day:e,working:Be}));var Ve=`surfaces`,He=`curvature`,Ue=`global`,Q=(e,t)=>`${e}/${t}`;Q(Ve,`regular-surfaces`),Q(Ve,`first-ff`),Q(Ve,`second-ff`),Q(Ve,`orientable`),Q(He,`gaussian-curvature`),Q(He,`egregium`),Q(He,`gauss-equation`),Q(He,`geodesic-curvature`),Q(Ue,`euler`);var We=Q(Ue,`gauss-bonnet`);Q(Ue,`triangulations`);var Ge=Q(Ue,`where-is-compactness-used`);Q(Ve,`why-ii-changes-sign`),Q(He,`derivatives-when-f-is-zero`),Q(Ue,`kg-at-the-corners`);var Ke=Q(Ue,`total-curvature-of-the-torus`),qe=Q(Ue,`angles-of-a-geodesic-triangle`);Q(Ue,`gauss-bonnet-and-the-mobius-band`),Q(He,`curvature-of-a-sphere`),Q(He,`curvature-of-the-saddle`),Q(He,`the-cylinder-and-the-plane`),Q(He,`k-from-e-and-g-alone`),Q(He,`catenoid-and-helicoid`),Q(Ue,`chi-of-a-surface-of-genus-g`),`${We}${Ke}${We}${Ge}${qe}`;var Je=P({load:()=>Ye});async function Ye(){return await X.load(),{}}var Xe=/\]\(\/([^)\s#]+)\.md(?:#[^)\s]*)?(?:\s+"[^"]*")?\)/g,Ze=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),Qe=e=>e.split(`/`).map(encodeURIComponent).join(`/`);function $e(e){let t=[];for(let n of e.matchAll(Xe)){let e=decodeURIComponent(n[1]);t.includes(e)||t.push(e)}return t}function et(e,t,n){let r=e.replace(/\s+$/,``),i=RegExp(`^\\[[^\\]\\n]*\\]\\(/[^)\\n]*\\.md\\)$`);return`${r}${!r||r.endsWith(`---`)?`
14
+
15
+ `:i.test(r.split(`
16
+ `).at(-1))?`
17
+ `:`
18
+
19
+ `}[${n.replace(/[[\]]/g,``)}](/${Qe(t)}.md)\n`}function tt(e,t){let n=`\\[[^\\]\\n]*\\]\\(/${Ze(Qe(t))}\\.md\\)`,r=e.split(`
20
+ `),i=r.filter(e=>!RegExp(`^${n}$`).test(e.trim()));return i.length===r.length||$e(i.join(`
21
+ `)).includes(t)?null:i.join(`
22
+ `).replace(/\n{3,}/g,`
23
+
24
+ `).replace(/\s+$/,``)+`
25
+ `}function nt(e){return(/^title:[ \t]*(.*)$/m.exec(e.split(/^---\s*$/m)[1]??``)?.[1]??``).trim().replace(/^(["'])(.*)\1$/,`$2`)}var rt=e=>e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`,it=`isorite.atlas.drafts`,at=()=>{try{return JSON.parse(localStorage.getItem(it)??`{}`)}catch{return{}}},ot=e=>at()[e]??null;function st(e,t,n){for(let r=1;;r++){let i=r===1?t:`${t}-${r}`;if(n([e,i].filter(Boolean).join(`/`)))return{slug:i,n:r}}}async function ct(e,t){let n=X.listing.notes.map(e=>e.id),r=t.split(`/`).slice(0,-1).join(`/`),i=st(r,`untitled-${e}`,e=>!n.includes(e)),a=[r,i.slug].filter(Boolean).join(`/`),o=`Untitled ${e}${i.n===1?``:` ${i.n}`}`;return await X.api.createNote(a,`---\ntype: ${e===`question`?`Question`:`Problem`}\ntitle: ${JSON.stringify(o)}\n${e===`question`?`about`:`uses`}: [${t}]\n---\n\n`),await X.refresh(),Z.fresh=a,await Z.open(a,!0),a}var lt=L(`<li class="svelte-1a0w8ls"><b class="num svelte-1a0w8ls"> </b><span class="t svelte-1a0w8ls"> </span><span class="faint"> </span></li>`),ut=L(`<span class="label over svelte-1a0w8ls"> </span>`),dt=L(`<div class="dock svelte-1a0w8ls" role="region" aria-label="Notes linked to the note for Iso"><i class="dia open" aria-hidden="true"></i> <div class="what svelte-1a0w8ls"><span class="name svelte-1a0w8ls"> </span> <span class="label" role="status"> </span></div> <ol class="grow svelte-1a0w8ls"></ol> <!> <a class="btn primary tall svelte-1a0w8ls">back to it</a></div>`);function ft(e,t){ee(t,!0);let n=I(t,`notice`,3,``),r=G(()=>t.picked.reduce((e,t)=>e+t.tokens,0)),a=G(()=>d(r)>t.budget),o=G(()=>[`${t.picked.length} linked`,t.picked.length?`${rt(d(r))} tokens`:``,d(a)?`over ${rt(t.budget)}`:``,n()].filter(Boolean).join(` · `));var c=dt(),l=b(W(c),2),u=W(l),f=x(u,!0),p=b(u,2),m=x(p,!0);k(l);var h=b(l,2);g(h,23,()=>t.picked,e=>e.id,(e,t,n)=>{var r=lt(),a=W(r),o=x(a,!0),c=b(a),l=x(c,!0),u=b(c),f=x(u,!0);k(r),s(e=>{i(o,d(n)+1),i(l,d(t).title),i(f,e)},[()=>rt(d(t).tokens)]),R(e,r)}),k(h);var v=b(h,2),y=e=>{var n=ut(),r=x(n);s(e=>i(r,`over ${e??``}: the last are cut short, or left for Iso to read itself`),[()=>rt(t.budget)]),R(e,n)};_(v,e=>{d(a)&&e(y)});var S=b(v,2);k(c),s(()=>{i(f,t.title||`a new note`),i(m,d(o)),j(S,`href`,t.href)}),R(e,c),w()}var $=new class{#e=e(``);get id(){return d(this.#e)}set id(e){h(this.#e,e,!0)}#t=e([]);get turns(){return d(this.#t)}set turns(e){h(this.#t,e)}#n=e(``);get streaming(){return d(this.#n)}set streaming(e){h(this.#n,e,!0)}#r=e(null);get retrying(){return d(this.#r)}set retrying(e){h(this.#r,e)}#i=e(``);get problem(){return d(this.#i)}set problem(e){h(this.#i,e,!0)}#a=e(null);get report(){return d(this.#a)}set report(e){h(this.#a,e)}#o=e(`chat`);get view(){return d(this.#o)}set view(e){h(this.#o,e,!0)}#s=e([]);get off(){return d(this.#s)}set off(e){h(this.#s,e)}#c=e(!1);get summing(){return d(this.#c)}set summing(e){h(this.#c,e,!0)}async toggle(e){if(this.problem=``,/^[rtb]:/.test(e.key)){if(!this.id)return;try{await X.api.setContext(this.id,e.key,!e.on)}catch(e){this.problem=e.message}}else this.off=this.off.includes(e.key)?this.off.filter(t=>t!==e.key):[...this.off,e.key];this.measure()}takeOut(e){let t=e.given;if(!t)return;let n=Y.parts.find(e=>e.kind===t.kind&&e.id===t.id&&(t.kind!==`passage`||e.kind===`passage`&&e.text===t.text));n&&Y.remove(n),this.off=this.off.filter(t=>t!==e.key)}async compact(){if(!(!this.id||this.running||this.summing)){this.problem=``,this.summing=!0;try{await X.api.compact(this.id)}catch(e){this.problem=e.message}finally{this.summing=!1}this.measure()}}async branch(){if(!(!this.id||this.running||this.summing)){this.problem=``,this.summing=!0;try{let{conversation:e}=await X.api.branch(this.id);this.id=e,this.turns=[],this.streaming=``,this.off=this.off.filter(e=>!/^[rtb]:/.test(e))}catch(e){this.problem=e.message}finally{this.summing=!1}this.measure()}}sizeOf(e){let t=this.report?.given?.find(t=>t.kind===e.kind&&t.id===e.id&&(e.kind!==`passage`||t.text===e.text));return t?t.tokens:null}started=!1;timer;get running(){let e=this.turns.at(-1);return e?.state===`running`?e:null}start(){!this.started&&X.api&&(this.started=!0,X.api.conversation().then(e=>{e&&!this.id&&this.show(e)},()=>void 0),X.on(e=>this.follow(e)),this.measure())}async again(e){if(this.problem=``,this.running||e.state!==`failed`)return!1;this.off=this.off.includes(e.id)?this.off:[...this.off,e.id];try{let{conversation:t}=await X.api.converse({conversation:e.conversation,mode:e.mode,asked:e.asked,given:e.given,tier:e.tier,off:this.off});return this.id=t,!0}catch(e){return this.problem=e.message,!1}}show(e){this.id=e.id,this.turns=e.turns}fresh(){this.running||(this.id=``,this.turns=[],this.streaming=``,this.off=[],this.measure())}async send(e){if(this.problem=``,!e.trim()||this.running)return!1;try{let t=Y.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id}),{conversation:n}=await X.api.converse({...this.id?{conversation:this.id}:{},mode:Z.mode,asked:e.trim(),given:t,tier:he.tier,...this.off.length?{off:this.off}:{}});return this.id=n,!0}catch(e){return this.problem=e.message,!1}}async stop(){let e=this.running;e&&await X.api.stop(e.id)}async undo(e){this.problem=``;try{await X.api.undoTurn(this.id,e)}catch(e){this.problem=e.message}}async take(e,t){this.problem=``;try{await X.api.takeItem(this.id,e,t)}catch(e){this.problem=e.message}}async answer(e,t){let n=this.running;n&&await X.api.answer(n.id,e,t)}follow(e){if(e.type===`iso-start`&&e.place.form===`turn`){if(this.id&&e.place.conversation!==this.id)return;this.id=e.place.conversation,this.streaming=``,this.turns=[...this.turns.filter(t=>t.id!==e.request),{id:e.request,conversation:e.place.conversation,at:new Date().toISOString(),mode:e.place.mode,asked:e.asked,given:e.place.given,tier:e.tier,items:[],state:`running`}];return}if(!(`request`in e)){(e.type===`note-changed`||e.type===`journal`||e.type===`context`&&e.conversation===this.id)&&this.measure();return}let t=this.turns.findIndex(t=>t.id===e.request);if(t<0)return;let n=this.turns[t],r=e=>{this.turns=this.turns.map((n,r)=>r===t?e:n)};e.type===`iso-retry`?this.retrying={retry:e.retry,of:e.of}:(this.retrying=null,e.type===`iso-text`?this.streaming=e.again?e.delta:this.streaming+e.delta:e.type===`iso-item`?(e.item.kind===`text`&&(this.streaming=``),r({...n,items:[...n.items,e.item]})):e.type===`iso-taken`?r({...n,items:n.items.map(t=>t.kind===`question`&&t.id===e.item?{...t,made:e.note}:t.kind===`offer`&&t.id===e.item?{...t,taken:!0}:t)}):e.type===`iso-answer`?r({...n,items:n.items.map(t=>t.kind===`permission`&&t.id===e.permission?{...t,answer:e.decision}:t)}):e.type===`iso-done`?(r({...n,state:`done`,cost:e.cost}),this.streaming=``,this.measure()):e.type===`iso-stopped`?(r({...n,state:`stopped`,...this.streaming?{items:[...n.items,{kind:`text`,text:this.streaming}]}:{}}),this.streaming=``):e.type===`iso-failed`&&(r({...n,state:`failed`,message:e.message}),this.streaming=``))}measure(){clearTimeout(this.timer),this.timer=setTimeout(()=>{if(!X.api)return;let e=Y.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});X.api.turnContext({...this.id?{conversation:this.id}:{},mode:Z.mode,given:e,tier:he.tier,...this.off.length?{off:this.off}:{}}).then(e=>this.report=e,()=>void 0)},250)}},pt=4.5,mt=.04;function ht(e){let t=e.items.map(t=>{let n=[];for(let r=t.parent;r>=0;r=e.items[r].parent)n.push(r);return n}),n=e.items.map(()=>0);e.items.forEach((e,r)=>{if(e.kind===`note`)for(let e of t[r])n[e]++});let r=(t,n)=>{for(;e.items[t].parent!==n;)t=e.items[t].parent;return t},i=new Map(e.trunks.map((e,t)=>[`${e.a}|${e.b}`,t])),a=e.links.some(e=>e.s>=3)?3:2,o=e.trunks.map(()=>!1);for(let t of e.links){let e=t.s>=a?i.get(`${r(t.a,t.level)}|${r(t.b,t.level)}`):void 0;e!==void 0&&(o[e]=!0)}return{up:t,noteCount:n,strong:o,at:new Map(e.items.flatMap((e,t)=>e.kind===`note`?[[e.ref,t]]:[])),trunkAt:i,feederAt:new Map(e.feeders.map((e,t)=>[`${e.trunk}|${e.folder}|${e.item}`,t])),ownPath:new Map(e.trunks.flatMap(e=>e.pts?[[`${e.a}|${e.b}`,e.pts]]:[]))}}var gt=new WeakMap;function _t(e){let t=gt.get(e);return t||gt.set(e,t={...e,trunks:e.highways.trunks,feeders:e.highways.feeders}),t}function vt(e,t){let n=[];return e.items.forEach((r,i)=>{let a=r.parent<0||n[r.parent]===`o`;n[i]=a?r.kind===`folder`&&e.cell*t>=1.2&&Math.max(r.w,r.h)*e.cell*t>=53?`o`:`s`:`-`}),n.join(``)}function yt(e,t,n){let r=e.up[n];for(let e=r.length-1;e>=0;e--)if(t[r[e]]!==`o`)return r[e];return n}function bt(e,t,n=[],r=!1){let i=e=>t[e]!==`-`,a=[];return e.trunks.forEach((t,r)=>{let o=e.items[t.a].kind===`folder`&&e.items[t.b].kind===`folder`;t.pts&&!t.implied&&i(t.a)&&i(t.b)&&a.push({key:`t`+r,pts:t.pts,lane:0,count:t.count,feed:!o,strong:n[r]??!0})}),e.feeders.forEach((o,s)=>{let c=e.trunks[o.trunk];(r||!o.leaf)&&!c.implied&&t[o.folder]===`o`&&i(o.item)&&i(c.a)&&i(c.b)&&a.push({key:`f`+s,pts:o.pts,lane:o.lane,count:o.count,feed:!0,strong:n[o.trunk]??!0})}),a}var xt=(e,t)=>Math.abs(e[0]-t[0])<1e-6&&Math.abs(e[1]-t[1])<1e-6;function St(e,t,n,r){let i=new Set(t.up[r]),a=t.up[n].find(e=>i.has(e))??-1,o=e=>{let n=[e];for(let r of t.up[e]){if(r===a)break;n.push(r)}return n},s=o(n),c=o(r),l=t.trunkAt.get(`${s.at(-1)}|${c.at(-1)}`);if(l===void 0||!e.trunks[l].pts||s.length<2&&c.length<2)return null;let u=(t,n=0)=>{let r=e.feeders[t];if(r.via<0||n>40)return r.pts;let i=u(r.via,n+1),a=i.findIndex(e=>xt(e,r.pts.at(-1)));return a<0?r.pts:[...r.pts,...i.slice(a+1)]},d=e=>{let n=[];for(let r=0;r+1<e.length;r++){let i=t.feederAt.get(`${l}|${e[r+1]}|${e[r]}`);if(i===void 0)return null;n=n.concat(u(i))}return n},f=d(c),p=d(s);if(!f||!p)return null;let m=[...f,...e.trunks[l].pts,...p.reverse()];return m.filter((e,t)=>!t||!xt(e,m[t-1]))}var Ct=[`uses`,`builds`,`requires`,`iso`];function wt(e,t=!1){let n=e=>`${Math.round(e[0]*100)},${Math.round(e[1]*100)}`,r=new Map,i=new Map;for(let t of e){let e=Ct.indexOf(t.kind??`requires`),a=new Set;for(let o=1;o<t.pts.length;o++){let[s,c]=t.pts[o-1],[l,u]=t.pts[o],d=Math.max(1,Math.round(Math.max(Math.abs(l-s),Math.abs(u-c))*2));for(let o=0;o<d;o++){let f=[s+(l-s)*o/d,c+(u-c)*o/d],p=[s+(l-s)*(o+1)/d,c+(u-c)*(o+1)/d],m=n(f),h=n(p),g=m<h?m+`|`+h:h+`|`+m;if(m===h||a.has(g))continue;a.add(g);let _=r.get(g);if(!_){_=m<h?{a:m,b:h,A:f,B:p,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]}:{a:h,b:m,A:p,B:f,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]},r.set(g,_);for(let e of[_.a,_.b]){let t=i.get(e);t?t.push(g):i.set(e,[g])}}_.count+=t.count??1,_.strong||=t.strong??!0,_.trunk||=t.feed===!1,_.kind=Math.max(_.kind,e),(m===_.a?_.fwd:_.back)[e]+=1}}}let a=e=>t?`${e.kind}|${e.count}`:`${e.count}|${e.strong}|${e.trunk}`,o=(e,n)=>{let r=e.fwd[e.kind],i=e.back[e.kind];return!t||r&&i?0:(r?1:-1)*(n===e.a?1:-1)},s=(e,t)=>t===e.a?e.b:e.a,c=(e,t)=>t===e.a?e.A:e.B,l=(e,t,n)=>{let r=s(e,t);return a(e)===a(n)&&o(e,t)===o(n,r)},u=new Set,d=[],f=new Set,p=(e,t)=>{let p=e,m=t,h=r.get(m),g=[c(h,p)],_=o(h,p);for(;;){u.add(m);let e=s(h,p);g.push(c(h,e));let t=i.get(e).filter(e=>e!==m);if(t.length!==1||u.has(t[0])||!l(h,p,r.get(t[0])))break;p=e,m=t[0],h=r.get(m)}_<0&&g.reverse();let v=`${n(g[0])}>${n(g.at(-1))}:${a(h)}`;for(let e=2;f.has(v);e++)v=`${v.split(`#`)[0]}#${e}`;f.add(v),d.push({key:v,pts:g,count:h.count,strong:h.strong,trunk:h.trunk,kind:Ct[h.kind],flow:+!!_})};for(let[e,t]of i)if(t.length!==2||!l(r.get(t[0]),s(r.get(t[0]),e),r.get(t[1])))for(let n of t)u.has(n)||p(e,n);for(let[e,t]of r)u.has(e)||p(t.a,e);return d}function Tt(e,t,n,r){let i=[],a=[],o=new Set;for(let{a:s,b:c,kind:l}of r){let r=yt(t,n,s),u=yt(t,n,c),d=`${l}:${r}|${u}`;if(r===u||o.has(d))continue;o.add(d);let f=(n,i)=>r===s&&u===c?t.ownPath.get(`${n}|${i}`)??St(e,t,n,i):t.ownPath.get(`${n}|${i}`)??null,p=f(r,u)??f(u,r)?.slice().reverse()??null;p?i.push({key:d,kind:l,pts:p}):a.push({key:d,kind:l,a:r,b:u})}return{fixed:i,asks:a}}function Et(e,t){if(!t)return e;let n=(e,t)=>{let n=t[0]-e[0],r=t[1]-e[1],i=Math.hypot(n,r)||1;return n/=i,r/=i,(n<-1e-6||Math.abs(n)<1e-6&&r<0)&&(n=-n,r=-r),[-r,n]};return e.map((r,i)=>{let a=i>0?n(e[i-1],r):n(r,e[i+1]),o=i<e.length-1?n(r,e[i+1]):a,s=1+a[0]*o[0]+a[1]*o[1];return s<.2?[r[0]+a[0]*t,r[1]+a[1]*t]:[r[0]+(a[0]+o[0])/s*t,r[1]+(a[1]+o[1])/s*t]})}function Dt(e,t=0,n=7){let r=Et(e.map(([e,t])=>[e*n,t*n]),t*2.2),i=Math.min(n,10.5)*.9,a=r.filter((e,t)=>t===0||t===r.length-1||Math.abs((e[0]-r[t-1][0])*(r[t+1][1]-e[1])-(e[1]-r[t-1][1])*(r[t+1][0]-e[0]))>.001),o=e=>String(Math.round(e*10)/10),s=`M${o(a[0][0])} ${o(a[0][1])}`;for(let e=1;e<a.length-1;e++){let t=a[e-1],n=a[e],r=a[e+1],c=Math.hypot(n[0]-t[0],n[1]-t[1])||1,l=Math.hypot(r[0]-n[0],r[1]-n[1])||1;if(!(Math.abs((n[0]-t[0])*(r[0]-n[0])+(n[1]-t[1])*(r[1]-n[1]))<.001*c*l)){s+=`L${o(n[0])} ${o(n[1])}`;continue}let u=Math.min(i,c/2,l/2);s+=`L${o(n[0]-(n[0]-t[0])/c*u)} ${o(n[1]-(n[1]-t[1])/c*u)}L${o(n[0]+(r[0]-n[0])/l*u)} ${o(n[1]+(r[1]-n[1])/l*u)}`}let c=a.at(-1);return s+`L${o(c[0])} ${o(c[1])}`}function Ot(e,t,n){let r=n?t[0]-e[0]:t[1]-e[1],i=n?t[1]-e[1]:t[0]-e[0],a=Math.abs(r),o=Math.abs(i),s=Math.sign(r),c=Math.sign(i),l=(t,r)=>n?[e[0]+t,e[1]+r]:[e[0]+r,e[1]+t];if(a>=o){let e=(a-o)/2;return[l(0,0),l(s*e,0),l(s*(e+o),c*o),l(r,i)]}let u=a/2;return[l(0,0),l(s*u,c*u),l(s*u,c*(o-u)),l(r,i)]}function kt(e,t,n,r=3,i=7){let a=Math.max(mt,Math.min(r,.96*Math.min(t/((e.w+4)*i),n/((e.h+4)*i))));return{k:a,x:t/2-a*(e.gx+e.w/2)*i,y:n/2-a*(e.gy+e.h/2)*i}}function At(e,t,n,r){let i=Math.max(mt,Math.min(3,e.k*t)),a=i/e.k;return{k:i,x:n-(n-e.x)*a,y:r-(r-e.y)*a}}function jt(e,t){let n=new Set,r=e=>({...e,children:e.children.flatMap(e=>e.kind===`dir`?[r(e)]:t(e.ref)?(n.add(e.ref),[]):[e])}),i=r(e.root);return n.size?{root:i,edges:e.edges.filter(([e,t])=>!n.has(e)&&!n.has(t))}:e}var Mt=1;function Nt(e,t,n){if(!n.web&&!n.code)return[];let r=[];for(let i of e){let e=(t[i.ref]?.links??[]).filter(e=>n[e.kind]),a=Math.max(1,Math.floor((i.h+Mt)/4));e.forEach((e,t)=>{let n=Math.floor(t/a),o=t%a;r.push({key:`${i.ref} ${e.href}`,kind:e.kind,href:e.href,text:e.text,broken:!!e.broken,gx:i.gx+i.w+Mt+n*4,gy:i.gy+o*4})})}return r}var Pt=2;function Ft(e){let{W:t,H:n,items:r}=e,i=new Int8Array(t*n),a=new Uint8Array(t*n),o=new Int32Array(t*n).fill(-1),s=new Int32Array(t*n).fill(-1),c=r.map((e,t)=>t).filter(e=>r[e].kind===`folder`).sort((e,t)=>r[e].depth-r[t].depth||e-t);for(let e of c){let n=r[e];for(let r=n.gy;r<n.gy+n.h;r++)for(let a=n.gx;a<n.gx+n.w;a++)i[r*t+a]=n.depth,o[r*t+a]=e}r.forEach((e,n)=>{if(e.kind===`note`)for(let r=e.gy;r<e.gy+e.h;r++)for(let i=e.gx;i<e.gx+e.w;i++)a[r*t+i]=1,s[r*t+i]=n});let l=new Uint8Array(t*n),u=e.keep??Pt,d=(e,r,i,a)=>{for(let o=Math.max(0,r);o<Math.min(n,a);o++)for(let n=Math.max(0,e);n<Math.min(t,i);n++)l[o*t+n]=1};for(let e of r)e.kind===`note`?d(e.gx-u,e.gy-u,e.gx+e.w+u,e.gy+e.h+u):(d(e.gx-u,e.gy-u,e.gx+e.w+u,e.gy+u),d(e.gx-u,e.gy+e.h-u,e.gx+e.w+u,e.gy+e.h+u),d(e.gx-u,e.gy-u,e.gx+u,e.gy+e.h+u),d(e.gx+e.w-u,e.gy-u,e.gx+e.w+u,e.gy+e.h+u));return{W:t,H:n,elev:i,blocked:a,owner:o,noteAt:s,close:l}}function It(e,t){let n=e[t].kind===`folder`?[t]:[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n}var Lt={bend:4,flow:1,area:.01,aspect:1,shape:1,effort:1e3,seed:0,cross:20,stay:5};function Rt(e,t,n,r,i={}){let{bend:a,flow:o,area:s,aspect:c,shape:l,effort:u,seed:d,cross:f,stay:p}={...Lt,...i},m=e.length,h=e.map(e=>e[0]),g=e.map(e=>e[1]);if(!m)return{x:[],y:[],w:0,h:0};let _=Array.from({length:m},(e,t)=>Array.from({length:m},(e,r)=>n(t,r))),v=new Float64Array(m),y=new Float64Array(m),b=[...Array(m).keys()],x=[...b],S=new Int32Array(m),C=new Int32Array(m),w=0,T=0,E=()=>{b.forEach((e,t)=>{S[e]=t}),x.forEach((e,t)=>{C[e]=t}),w=0,T=0;for(let e=0;e<m;e++){let t=b[e],n=0,r=0;for(let i=0;i<e;i++){let e=b[i];C[e]<C[t]?n=Math.max(n,v[e]+h[e]+_[e][t]):r=Math.max(r,y[e]+g[e]+_[e][t])}v[t]=n,y[t]=r,w=Math.max(w,n+h[t]),T=Math.max(T,r+g[t])}},D=e=>[v[e]+h[e]/2,y[e]+g[e]/2],O=()=>{E();let e=0;for(let[n,i,s]of t){let t=Math.max(0,v[i]-v[n]-h[n],v[n]-v[i]-h[i]),c=Math.max(0,y[i]-y[n]-g[n],y[n]-y[i]-g[i]);e+=s*(Math.max(t,c)+.414*Math.min(t,c)+(t>0&&c>0?a:0));let l=r===`right`?v[n]+h[n]/2-(v[i]+h[i]/2):y[i]+g[i]/2-(y[n]+g[n]/2);l>0&&(e+=o*s*l)}if(f)for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let[i,a,o]=t[n],[s,c,l]=t[r];i!==s&&i!==c&&a!==s&&a!==c&&Bt(D(i),D(a),D(s),D(c))&&(e+=f*Math.min(o,l))}if(A)for(let t=0;t<m;t++)for(let n=t+1;n<m;n++)(S[t]<S[n]!=A[0][t]<A[0][n]||C[t]<C[n]!=A[1][t]<A[1][n])&&(e+=p);let n=Math.log(w/T/l);return e+s*w*T*(1+c*n*n)},k=zt(m,t);if(b.sort((e,t)=>k[e]-k[t]),x.splice(0,m,...b),r===`up`&&b.reverse(),i.pair)return b.splice(0,m,...i.pair[0]),x.splice(0,m,...i.pair[1]),E(),{x:[...v],y:[...y],w,h:T,pair:i.pair};let A=null;i.start&&(b.splice(0,m,...i.start[0]),x.splice(0,m,...i.start[1]),A=[new Int32Array(m),new Int32Array(m)],b.forEach((e,t)=>{A[0][e]=t}),x.forEach((e,t)=>{A[1][e]=t}));let j=O(),M=j,N=[...b],P=[...x];if(m<2)return E(),{x:[...v],y:[...y],w,h:T,pair:[[...b],[...x]]};let F=Ht(Vt(e,t)^d),I=u*m,L=i.start?Math.max(.5,j*.002):Math.max(1,j*.05),R=.001**(1/I);for(let e=0;e<I;e++,L*=R){let e=Math.floor(F()*m),t=(e+1+Math.floor(F()*(m-1)))%m,n=F(),r=n=>{let r=n[e];n[e]=n[t],n[t]=r};if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}let i=O();if(i<=j||F()<Math.exp((j-i)/L))j=i,j<M&&(M=j,N=[...b],P=[...x]);else if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}}return b.splice(0,m,...N),x.splice(0,m,...P),E(),{x:[...v],y:[...y],w,h:T,cost:M,pair:[N,P]}}function zt(e,t){let n=Array(e).fill(0);for(let[e,r,i]of t)n[e]+=i,n[r]-=i;let r=[...Array(e).keys()].sort((e,t)=>n[t]-n[e]||e-t),i=Array(e);return r.forEach((e,t)=>{i[e]=t}),i}function Bt(e,t,n,r){let i=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]);return i(e,t,n)*i(e,t,r)<0&&i(n,r,e)*i(n,r,t)<0}function Vt(e,t){let n=2166136261;for(let r of[...e.flat(),...t.flat()])n^=r|0,n=Math.imul(n,16777619);return n>>>0}function Ht(e){return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}var Ut={cell:7,note:[18,11],gap:6,gapFolders:8,channel:6,channelFolders:8,pad:6,head:2,margin:8,minFolder:12,slant:8,keep:2},Wt={fine:Ut,coarse:{cell:14,note:[9,6],gap:3,gapFolders:6,channel:3,channelFolders:6,pad:3,head:1,margin:6,minFolder:6,slant:4,keep:1},coarser:{cell:18,note:[7,4],gap:2,gapFolders:5,channel:2,channelFolders:5,pad:2,head:1,margin:5,minFolder:5,slant:3,keep:1}};Ut.pad;var Gt=1.4,Kt=8,qt=12,Jt=Ut.note,Yt=0,Xt=0,Zt=0,Qt=0,$t=0,en=0,tn=0,nn=0,rn=0,an=2,on=0,sn=0;function cn(e){({note:Jt,gap:Yt,gapFolders:Xt,channel:Zt,channelFolders:Qt,head:$t,margin:en,minFolder:tn,slant:nn,pad:rn,keep:an}=e),on=Jt[0]+Yt,sn=3*on}function ln(e,{flow:t=`up`,grain:n=`fine`,plan:r=!1,planCosts:i={},planned:a=null,from:o=null}={}){let s=Wt[n]??Ut;cn(s);let c=e=>e.kind===`dir`,l=new Map,u=new Map,d=[e.root];for(let e=0;e<d.length;e++)for(let t of d[e].children||[])l.set(t,d[e]),c(t)?d.push(t):u.set(t.ref,t);let f=e=>{let t=[];for(let n=e;n;n=l.get(n))t.push(n);return t.reverse()},p=new Map(d.map(e=>[e,new Map])),m=new Map;for(let e of d){m.set(e,m.size);for(let t of e.children||[])c(t)||m.set(t,m.size)}let h=new Map(u);if(e.code)for(let t of d)t!==e.root&&!h.has(t.ref)&&h.set(t.ref,t);for(let[t,n,r]of e.edges){if(r<2)continue;let e=h.get(t),i=h.get(n);if(!e||!i||e===i)continue;let a=f(e),o=f(i),s=0;for(;a[s+1]&&a[s+1]===o[s+1];)s++;if(!a[s+1]||!o[s+1])continue;let c=p.get(a[s]),l=o[s+1],u=a[s+1],d=m.get(l)+`|`+m.get(u),g=c.get(d)||{p:l,q:u,weight:0,count:0};g.weight+=r,g.count++,c.set(d,g)}let g=new Map,_=new Map,v={},y=new Map,b=e=>e===`up`?`right`:`up`,x=(t,n)=>{let r=t.children||[];for(let e of r)c(e)?x(e,b(n)):g.set(e,{w:Jt[0],h:Jt[1]});let i=r.length?S(t,r,n):{w:0,h:0};g.set(t,t===e.root?i:r.length?{w:Math.max(tn,i.w+2*rn),h:i.h+rn+$t+rn}:{w:tn,h:$t+2*rn})};function S(e,t,n){if(r&&t.some(c))return C(e,t,n);let i=new Map(t.map(e=>[e,e])),a=e=>{for(;i.get(e)!==e;)e=i.get(e);return e};for(let t of p.get(e).values()){let e=a(t.p),n=a(t.q);e!==n&&i.set(n,e)}let o=new Map,s=new Set([...p.get(e).values()].flatMap(e=>[e.p,e.q]));for(let e of t){let t=s.has(e)?a(e):null;o.set(t,[...o.get(t)||[],e])}if(o.size<2){let r=w(e,t,n);return y.set(e,r.out),{w:r.w,h:r.h}}let l=[...o].map(([t,r],i)=>({list:r,loose:t===null,k:i,...w(e,r,n)}));l.sort((e,t)=>e.loose-t.loose||t.w*t.h-e.w*e.h||e.k-t.k);let u=t.some(c)?Xt:Yt,d=l.reduce((e,t)=>e+(t.w+u)*(t.h+u),0),f=Math.max(Math.ceil(Math.sqrt(d*Gt)),...l.map(e=>e.w)),m=0,h=0,_=0,v=0,b=[];for(let e of l){m&&m+e.w>f&&(m=0,h+=_+u,_=0);for(let t of e.list){let e=g.get(t);e.x+=m,e.y+=h}for(let t of e.out)b.push({...t,pts:t.pts&&t.pts.map(([e,t])=>[e+m,t+h])});v=Math.max(v,m+e.w),_=Math.max(_,e.h),m+=e.w+u}return y.set(e,b),{w:v,h:h+_}}function C(t,n,r){let s=new Map(n.map((e,t)=>[e,t])),l=[...p.get(t).values()].filter(e=>s.has(e.p)&&s.has(e.q)),u=t===e.root?``:t.ref,d=a?.get(u),f=(e,t)=>d?.wider.get([n[e].ref,n[t].ref].sort().join(`|`))??0,m=(e,t)=>(c(n[e])||c(n[t])?Xt:Yt)+f(e,t),h=n.map(e=>[g.get(e).w,g.get(e).h]),b=t===e.root&&r===`up`?1/Lt.shape:Lt.shape,x,S=!d&&o?.[u];if(S){let e=new Map(n.map((e,t)=>[e.ref,t])),t=n.map((e,t)=>t).filter(e=>!S[0].includes(n[e].ref));x=S.map(n=>[...n.filter(t=>e.has(t)).map(t=>e.get(t)),...t])}let C=Rt(h,l.map(e=>[s.get(e.p),s.get(e.q),e.count]),m,r,{shape:b,...i,pair:d?.pair,start:x});_.set(u,C.pair),v[u]=C.pair.map(e=>e.map(e=>n[e].ref)),n.forEach((e,t)=>Object.assign(g.get(e),{x:C.x[t],y:C.y[t]}));let w=e=>r===`right`?C.x[e]+h[e][0]/2:-(C.y[e]+h[e][1]/2),T=new Map;for(let e of l)T.set(e.p,[...T.get(e.p)||[],e.q]);let E=(e,t)=>{let n=new Set,r=(T.get(e)||[]).filter(e=>e!==t);for(;r.length;){let e=r.pop();if(e===t)return!0;n.has(e)||(n.add(e),r.push(...T.get(e)||[]))}return!1};return y.set(t,l.map(e=>({p:e.p,q:e.q,count:e.count,back:w(s.get(e.p))>w(s.get(e.q)),implied:!c(e.p)&&!c(e.q)&&E(e.p,e.q),pts:null}))),{w:C.w,h:C.h}}function w(e,t,n){let r=t.length,i=new Map(t.map((e,t)=>[e,t])),a=n===`up`,o=t.some(c)?Xt:Yt,s=t.map(e=>a?g.get(e).h:g.get(e).w),l=t.map(e=>a?g.get(e).w:g.get(e).h),u=[...p.get(e).values()].filter(e=>i.has(e.p)&&i.has(e.q)).map(e=>({...e,p:i.get(e.p),q:i.get(e.q)})),d=dn(r,u.map(e=>[e.p,e.q,e.weight]));for(let e of u)e.back=d[e.p]>d[e.q],e.u=e.back?e.q:e.p,e.v=e.back?e.p:e.q;let f=u.filter(e=>!e.back),m=Array(r).fill(0),h=t.map(()=>[]),_=t.map(()=>[]);for(let e of u)h[e.v].push(e.u),_[e.u].push(e.v);let v=t.map(()=>[]);for(let e of f)v[e.p].push(e.q);for(let e of[...Array(r).keys()].sort((e,t)=>d[e]-d[t]))for(let t of h[e])m[e]=Math.max(m[e],m[t]+1);for(let e=0;e<r;e++)!h[e].length&&_[e].length&&(m[e]=Math.min(..._[e].map(e=>m[e]))-1);let y=(e,t,n)=>{let r=new Set,i=v[e].filter(e=>e!==n);for(;i.length;){let e=i.pop();if(e===t)return!0;r.has(e)||(r.add(e),i.push(...v[e]))}return!1};for(let e of f)e.implied=!c(t[e.p])&&!c(t[e.q])&&y(e.p,e.q,e.q);let b=u.filter(e=>!e.implied).sort((e,t)=>t.weight-e.weight||e.p-t.p||e.q-t.q),x=t.reduce((e,t,n)=>e+(l[n]+o)*(s[n]+Zt),0),S=Math.max(Math.ceil(Math.sqrt(a?x*Gt:x/Gt)),...l),C=[],w=Array(r),T=Array(r).fill(!1);for(let e of u)T[e.p]=!0,T[e.q]=!0;let E=T.some(Boolean)&&T.some(e=>!e),D=e=>{let t=e.reduce((e,t)=>e+l[t]+o,0),n=Math.max(1,Math.ceil((t-o)/S)),r=t/n,i=null,a=0;for(let t of e)(!i||a+l[t]>S||C.length-O<n&&a>=r)&&(i=[],C.push(i),a=0),w[t]=C.length-1,i.push(t),a+=l[t]+o},O=0,k=e=>h[e].length?+!!_[e].length:2,A=e=>e.length?e.reduce((e,t)=>e+d[t],0)/e.length:0;for(let e=0;e<=Math.max(...m);e++){let t=[...Array(r).keys()].filter(t=>m[t]===e&&(T[t]||!E));t.reduce((e,t)=>e+l[t]+o,0)-o>S&&t.sort((e,t)=>k(e)-k(t)||A(h[e])-A(h[t])||e-t),O=C.length,D(t)}E&&(O=C.length,D([...Array(r).keys()].filter(e=>!T[e])));let j=[...l],M=t.map(()=>[]),N=t.map(()=>[]),P=new Map,F=new Map,I=[],L=new Set,R=new Map;for(let e of b){let t=[e.u];for(let n=w[e.u]+1;n<w[e.v];n++){let r=e.u+`|`+n;P.has(r)||(P.set(r,j.length),F.set(j.length,e.u),j.push(1),M.push([]),N.push([]),w.push(n),C[n].push(j.length-1)),t.push(P.get(r))}t.push(e.v);for(let e=1;e<t.length;e++){let n=t[e-1],r=t[e];L.has(n+`|`+r)||(L.add(n+`|`+r),I.push([n,r]),N[n].push(r),M[r].push(n))}R.set(e,t)}let z=e=>e>=r,B=Array(j.length);C.forEach(e=>e.forEach((e,t)=>{B[e]=t}));let V=(e,t)=>{let n=new Map(C[e].map(e=>[e,t[e].length?t[e].reduce((e,t)=>e+B[t],0)/t[e].length:B[e]]));C[e].sort((e,t)=>n.get(e)-n.get(t)||B[e]-B[t]),C[e].forEach((e,t)=>{B[e]=t})},H=()=>{let e=0;for(let t=0;t<C.length-1;t++){let n=[];for(let e of C[t])for(let t of N[e])n.push([B[e],B[t]]);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++)(n[t][0]-n[r][0])*(n[t][1]-n[r][1])<0&&e++}return e},ee=()=>{let e=(e,t,n)=>{let r=0;for(let i of n[e])for(let e of n[t])r+=B[i]>B[e]?1:B[i]<B[e]?-1:0;return r};for(let t=!0,n=0;t&&n<Kt;n++){t=!1;for(let n of C)for(let r=0;r+1<n.length;r++){let i=n[r],a=n[r+1];e(i,a,M)+e(i,a,N)>0&&(n[r]=a,n[r+1]=i,B[i]=r+1,B[a]=r,t=!0)}}},U=C.map(e=>[...e]),te=(e,t)=>(z(e)?d[F.get(e)]:d[e])-(z(t)?d[F.get(t)]:d[t])||e-t,W=null,ne=1/0;for(let e of[e=>e,e=>[...e].sort(te),e=>[...e].reverse()]){C.forEach((t,n)=>{t.splice(0,t.length,...e(U[n])),t.forEach((e,t)=>{B[e]=t})});let t=1/0,n=0;for(let e=0;e<24&&n<4&&ne>0;e++,n++){if(e%2==0)for(let e=1;e<C.length;e++)V(e,M);else for(let e=C.length-2;e>=0;e--)V(e,N);ee();let r=H();r<t&&(t=r,n=0),r<ne&&(ne=r,W=C.map(e=>[...e]))}}W&&C.forEach((e,t)=>{e.splice(0,e.length,...W[t]),e.forEach((e,t)=>{B[e]=t})});let re=(e,t)=>z(e)&&z(t)?1:z(e)||z(t)?an:o,G=Array(j.length).fill(0);for(let e of C){let t=0;e.forEach((n,r)=>{r&&(t+=re(e[r-1],n)),G[n]=t,t+=j[n]})}let K=e=>e.length?G[e[e.length-1]]+j[e[e.length-1]]:0,ie=Math.max(...C.map(K));for(let e of C){let t=(ie-K(e))/2;for(let n of e)G[n]+=t}let ae=e=>G[e]+j[e]/2;for(let e=0;e<qt;e++)for(let t of e%2?[...C].reverse():C){if(!t.length)continue;let e=t.map(e=>{let t=[...M[e],...N[e]];return(t.length?t.reduce((e,t)=>e+ae(t),0)/t.length:ae(e))-j[e]/2}),n=[],r=[];t.forEach((r,i)=>{n[i]=i?Math.max(e[i],n[i-1]+j[t[i-1]]+re(t[i-1],r)):e[i]});for(let n=t.length-1;n>=0;n--)r[n]=n<t.length-1?Math.min(e[n],r[n+1]-j[t[n]]-re(t[n],t[n+1])):e[n];t.forEach((e,t)=>{G[e]=(n[t]+r[t])/2})}let oe=e=>Math.floor((j[e]-1)/2),se=Array(j.length).fill(-1),ce=Array(j.length).fill(-1);for(let e of[!0,!1])for(let t=1;t<C.length;t++){let n=C[t].filter(e=>se[e]>=0).map(e=>[B[se[e]],B[e]]);for(let r of C[t]){if(se[r]>=0||!M[r].length)continue;let t=[...M[r]].sort((e,t)=>B[e]-B[t]),i=(t.length-1)/2,a=t.map((e,t)=>[e,Math.abs(t-i)]).filter(([t])=>ce[t]<0&&(!e||z(t)&&z(r))&&Math.abs(G[t]+oe(t)-G[r]-oe(r))<=(e?sn:on)).sort((e,t)=>e[1]-t[1]||B[e[0]]-B[t[0]]);for(let[e]of a)if(!n.some(([t,n])=>t<B[e]!=n<B[r])){se[r]=e,ce[e]=r,n.push([B[e],B[r]]);break}}}let le=Array(j.length).fill(-1),ue=0;for(let e=0;e<j.length;e++)if(se[e]<0){for(let t=e;t>=0;t=ce[t])le[t]=ue;ue++}let de=Array.from({length:ue},()=>[]);le.forEach((e,t)=>de[e].push(t));let q=(e,t)=>j[e]-oe(e)+re(e,t)+oe(t),fe=Array(j.length).fill(-1),pe=Array(j.length).fill(-1);for(let e of C)e.forEach((t,n)=>{n&&(fe[t]=e[n-1],pe[e[n-1]]=t)});let J=Array(ue).fill(0),me=!1;for(let e=0;e<=ue&&!me;e++){me=!0;for(let e of C)for(let t=1;t<e.length;t++){let n=J[le[e[t-1]]]+q(e[t-1],e[t]);J[le[e[t]]]<n&&(J[le[e[t]]]=n,me=!1)}}if(me){let e=de.map(e=>Math.round(e.reduce((e,t)=>e+G[t]+oe(t),0)/e.length)),t=Math.min(...e.map((e,t)=>e-J[t])),n=[...Array(ue).keys()].sort((t,n)=>e[n]-e[t]||t-n);for(let r=0;r<24;r++){let i=!1;for(let a of r%2?[...n].reverse():n){let n=-1/0,r=1/0;for(let e of de[a])fe[e]>=0&&(n=Math.max(n,J[le[fe[e]]]+q(fe[e],e))),pe[e]>=0&&(r=Math.min(r,J[le[pe[e]]]-q(e,pe[e])));let o=Math.max(n,Math.min(r,e[a]-t));o!==J[a]&&(J[a]=o,i=!0)}if(!i)break}for(let e=0;e<j.length;e++)G[e]=J[le[e]]-oe(e)}else for(let e of C)e.forEach((t,n)=>{G[t]=n?Math.max(Math.round(G[t]),G[e[n-1]]+j[e[n-1]]+re(e[n-1],t)):Math.round(G[t])});let Y=Math.min(...G);for(let e=0;e<G.length;e++)G[e]-=Y;let he=Math.max(...G.map((e,t)=>e+j[t])),ge=e=>G[e]+Math.floor((j[e]-1)/2)+.5,_e=new Map;for(let e=0;e<j.length;e++){let t=[...M[e]].sort((e,t)=>ge(e)-ge(t)),n=G[e]+.5,r=G[e]+j[e]-.5;if(t.length>j[e]){t.forEach((r,i)=>_e.set(r+`|`+e,n+Math.min(j[e]-1,Math.floor(i*j[e]/t.length))));continue}let i=t.map(e=>Math.max(n,Math.min(r,ge(e))));for(let e=1;e<i.length;e++)i[e]=Math.max(i[e],i[e-1]+1);for(let e=i.length-1;e>=0;e--)i[e]=Math.min(i[e],e===i.length-1?r:i[e+1]-1);t.forEach((t,n)=>_e.set(t+`|`+e,i[n]))}let ve=(e,t)=>{let n=_e.get(e+`|`+t);return n>=G[e]+.5&&n<=G[e]+j[e]-.5},ye=Array(j.length);for(let e=0;e<j.length;e++){let t=N[e].filter(t=>!ve(e,t)).map(t=>_e.get(e+`|`+t)).sort((e,t)=>e-t);ye[e]=t.length?Math.max(G[e]+.5,Math.min(G[e]+j[e]-.5,t[t.length-1>>1])):ge(e)}let X=(e,t)=>ve(e,t)?_e.get(e+`|`+t):ye[e],Z=(e,t)=>{let n=X(e,t),r=_e.get(e+`|`+t);return[Math.min(n,r),Math.max(n,r)]},be=new Set,xe=C.map(()=>0);for(let[e,t]of I){if(ve(e,t))continue;let[n,r]=Z(e,t),i=_e.get(e+`|`+t)>ye[e];r-n>nn||I.every(([a,o])=>{if(w[a]!==w[e]||a===e&&o===t)return!0;let[s,c]=Z(a,o);return a===e?i?c<=n:s>=r:c<n-1||s>r+1})&&(be.add(e+`|`+t),xe[w[e]]=Math.max(xe[w[e]],r-n))}let Se=new Map;for(let[e,t]of I){if(ve(e,t)||be.has(e+`|`+t))continue;let n=_e.get(e+`|`+t),r=Se.get(e)||{u:e,lo:ye[e],hi:ye[e],track:0};r.lo=Math.min(r.lo,n),r.hi=Math.max(r.hi,n),Se.set(e,r)}let Ce=C.map(()=>0);C.forEach((e,t)=>{let n=[...Se.values()].filter(e=>w[e.u]===t&&e.hi>e.lo).sort((e,t)=>e.lo-t.lo||e.hi-t.hi||e.u-t.u),r=n.map(e=>N[e.u].filter(t=>!ve(e.u,t)&&!be.has(e.u+`|`+t)).map(t=>_e.get(e.u+`|`+t))),i=(e,t)=>!(n[e].hi<n[t].lo-1||n[t].hi<n[e].lo-1),a=(e,t)=>+(ye[n[t].u]>n[e].lo&&ye[n[t].u]<n[e].hi)+r[e].filter(e=>e>n[t].lo&&e<n[t].hi).length,o=[];for(let e=0;e<n.length;e++)for(let t=e+1;t<n.length;t++){if(!i(e,t))continue;let n=a(t,e)-a(e,t);n>0?o.push([e,t,n]):n<0&&o.push([t,e,-n])}let s=dn(n.length,o),c=[];for(let e of[...n.keys()].sort((e,t)=>s[e]-s[t]))n[e].track=Math.max(0,...c.filter(t=>i(e,t)).map(e=>n[e].track+1)),c.push(e);Ce[t]=Math.max(0,...n.map(e=>e.track+1))});let we=C.map(e=>Math.max(0,...e.filter(e=>!z(e)).map(e=>s[e]))),Te=[],Ee=[],De=[],Oe=0;C.forEach((e,n)=>{Te[n]=Oe,Oe+=we[n];let r=Math.max(t.some(c)?Qt:Zt,Ce[n]+2*an,xe[n]+2);Ee[n]=Oe+Math.max(an,Math.floor((r-Ce[n])/2));let i=Oe;De[n]=e=>i+Math.floor((r-e)/2),n<C.length-1&&(Oe+=r)});let ke=Oe,Ae=e=>Te[w[e]]+Math.floor((we[w[e]]-s[e])/2),je=(e,t)=>a?[t,ke-e]:[e,t];t.forEach((e,t)=>Object.assign(g.get(e),a?{x:G[t],y:ke-Ae(t)-s[t]}:{x:Ae(t),y:G[t]}));let Me=[];for(let e of u){let n=R.get(e),r=null;if(n){r=[je(Ae(e.u)+s[e.u],X(e.u,n[1]))];for(let e=1;e<n.length;e++){let t=n[e-1],i=n[e],a=_e.get(t+`|`+i);if(be.has(t+`|`+i)){let e=Math.abs(a-ye[t]),n=De[w[t]](e);r.push(je(n,ye[t]),je(n+e,a));continue}let o=Ee[w[t]]+(Se.get(t)?.track||0)+.5;r.push(je(o,X(t,i)),je(o,a))}r.push(je(Ae(e.v),_e.get(n[n.length-2]+`|`+e.v))),r=r.filter((e,t)=>!t||e[0]!==r[t-1][0]||e[1]!==r[t-1][1]),e.back&&r.reverse()}Me.push({p:t[e.p],q:t[e.q],count:e.count,back:e.back,implied:!!e.implied,pts:r})}return a?{w:he,h:ke,out:Me}:{w:ke,h:he,out:Me}}x(e.root,t);let T=[],E=new Map,D=new Map([[e.root,[en,en]]]);for(let t of d){let[n,r]=D.get(t),i=t===e.root?-1:E.get(t),a=f(t).length;for(let e of t.children||[]){let t=g.get(e);E.set(e,T.length),T.push({id:e.id,ref:e.ref,kind:c(e)?`folder`:`note`,parent:i,depth:a,gx:n+t.x,gy:r+t.y,w:t.w,h:t.h}),c(e)&&D.set(e,[n+t.x+rn,r+t.y+$t+rn])}}let O=[],k=new Set;for(let e of d){let[t,n]=D.get(e);for(let r of y.get(e)||[]){let e=E.get(r.q),i=E.get(r.p);r.back&&k.add(e+`|`+i),O.push({a:e,b:i,count:r.count,back:r.back,implied:r.implied,pts:r.pts&&r.pts.map(([e,r])=>[e+t,r+n])})}}let A=un(T,e.edges,new Map([...u].map(([e,t])=>[e,E.get(t)]))),j=(e,t)=>{for(;T[e].parent!==t;)e=T[e].parent;return e};for(let e of A)e.placed=e.s>=2&&!k.has(j(e.a,e.level)+`|`+j(e.b,e.level));let M=g.get(e.root);return{W:M.w+2*en,H:M.h+2*en,flow:t,cell:s.cell,keep:s.keep,margin:en,items:T,links:A,trunks:O,pairs:_,orders:v}}function un(e,t,n){let r=t=>{let n=[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n},i=[];for(let[e,a,o]of t){let t=n.get(e),s=n.get(a);if(t===void 0||s===void 0||t===s)continue;let c=new Set(r(s));i.push({a:t,b:s,s:o,level:r(t).find(e=>c.has(e))??-1,placed:!1})}return i}function dn(e,t){let n=Array.from({length:e},()=>new Map),r=Array.from({length:e},()=>new Map);for(let[e,i,a]of t)e!==i&&(n[e].set(i,(n[e].get(i)||0)+a),r[i].set(e,(r[i].get(e)||0)+a));let i=e=>{let t=0;for(let n of e.values())t+=n;return t},a=new Set([...Array(e).keys()]),o=[],s=[],c=(e,t)=>{a.delete(e),t.push(e);for(let t of n[e].keys())r[t].delete(e);for(let t of r[e].keys())n[t].delete(e)};for(;a.size;){let e=!0;for(;e;){e=!1;for(let t of[...a])r[t].size?n[t].size||(c(t,s),e=!0):(c(t,o),e=!0)}if(!a.size)break;let t=-1,l=-1/0;for(let e of a){let a=i(n[e])-i(r[e]);a>l&&(l=a,t=e)}c(t,o)}let l=Array(e);return[...o,...s.reverse()].forEach((e,t)=>{l[e]=t}),l}var fn={climb:5,turn45:1.5,turn90:3,foreign:2.5,crowd:.2,near:0,hug:2.5,haste:3.2},pn=[1,1,0,-1,-1,-1,0,1],mn=[0,1,1,1,0,-1,-1,-1],hn=3,gn=8;function _n(e,t,n={}){let{climb:r,turn45:i,turn90:a,foreign:o,crowd:s,near:c,hug:l,haste:u}={...fn,...n},{W:d,H:f,elev:p,blocked:m,owner:h}=t,g=t.close||new Uint8Array(d*f),_=d*f,v=e.items,y=new Uint16Array(_),b=new Uint16Array(_),x=new Float32Array(_*9),S=new Int32Array(_*9),C=new Uint32Array(_*9),w=new Uint32Array(v.length),T=_*9,E=0,D=new Float32Array(4096),O=new Float32Array(4096),k=new Int32Array(4096),A=0,j=(e,t,n)=>{if(A===D.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};D=e(D,Float32Array),O=e(O,Float32Array),k=e(k,Int32Array)}let r=A++;for(;r>0;){let t=r-1>>1;if(D[t]<=e)break;D[r]=D[t],O[r]=O[t],k[r]=k[t],r=t}D[r]=e,O[r]=t,k[r]=n},M=()=>{N=O[0],P=k[0];let e=D[--A],t=O[A],n=k[A],r=0;for(;;){let t=2*r+1;if(t>=A||(t+1<A&&D[t+1]<D[t]&&t++,D[t]>=e))break;D[r]=D[t],O[r]=O[t],k[r]=k[t],r=t}D[r]=e,O[r]=t,k[r]=n},N=0,P=0,F=(e,t)=>{y[e]+=t;let n=e%d,r=e/d|0;for(let e=Math.max(0,r-1);e<=Math.min(f-1,r+1);e++)for(let i=Math.max(0,n-1);i<=Math.min(d-1,n+1);i++)(i!==n||e!==r)&&(b[e*d+i]+=t)},I=e=>{let t=[],n=(e,n,r,i)=>{e>=0&&n>=0&&e<d&&n<f&&!m[n*d+e]&&t.push([n*d+e,r,i])};for(let t=e.gx;t<e.gx+e.w;t++)n(t,e.gy-1,t+.5,e.gy),n(t,e.gy+e.h,t+.5,e.gy+e.h);for(let t=e.gy;t<e.gy+e.h;t++)n(e.gx-1,t,e.gx,t+.5),n(e.gx+e.w,t,e.gx+e.w,t+.5);return t};function L(e,t,n,f,_,D,O=null){E++,A=0;for(let t of It(v,e))w[t]=E;if(O){w[O.folder]=E;for(let e of It(v,O.folder))w[e]=E}else for(let e of It(v,t))w[e]=E;let k=v[e],L=O?null:v[t],R=O?O.ends:new Map(I(L).map(e=>[e[0],e])),z,B,V,H;if(O?.toward!==void 0)z=B=O.toward%d,V=H=O.toward/d|0;else if(O){z=V=1/0,B=H=-1/0;for(let e of R.keys()){let t=e%d,n=e/d|0;z=Math.min(z,t),B=Math.max(B,t),V=Math.min(V,n),H=Math.max(H,n)}}else z=L.gx-1,B=L.gx+L.w,V=L.gy-1,H=L.gy+L.h;let ee=(e,t)=>{let n=Math.max(z-e,e-B,0),r=Math.max(V-t,t-H,0);return u*(Math.max(n,r)+.414*Math.min(n,r))},U=new Map;for(let e of I(k)){let t=e[0],n=t*9+gn,r=Math.fround(1+s*Math.min(y[t],hn));C[n]===E&&x[n]<=r||(C[n]=E,x[n]=r,S[n]=-1,j(r+ee(t%d,t/d|0),r,n),U.set(t,e))}let te=!!O?.strict,W=-1;for(;A;){M();let e=P,t=N;if(e>=T){W=e-T;break}if(t!==x[e])continue;let u=e/9|0,v=e%9,k=R.get(u);if(k){if(!k[3]){W=e;break}j(Math.fround(t+k[3]),Math.fround(t+k[3]),T+e)}let A=u%d,F=u/d|0;for(let T=0;T<8;T++){let k=A+pn[T],M=F+mn[T];if(k<n||M<f||k>_||M>D)continue;let N=M*d+k;if(m[N]||te&&h[N]!==O.folder)continue;if(pn[T]&&mn[T]){let e=F*d+k,t=M*d+A;if(m[e]||m[t]||p[e]!==p[u]||p[t]!==p[u]||p[N]!==p[u])continue}let P=(pn[T]&&mn[T]?1.414:1)*(1+s*Math.min(y[N],hn)+c*Math.min(b[N],hn))+r*Math.abs(p[N]-p[u]);if(v!==gn&&v!==T){let e=Math.min((T-v+8)%8,(v-T+8)%8);P+=e===1?i:a*(e>=3?2:1)}h[N]>=0&&w[h[N]]!==E&&(P+=o),g[N]&&(P+=l);let I=N*9+T,L=Math.fround(t+P);C[I]===E&&x[I]<=L||(C[I]=E,x[I]=L,S[I]=e,j(L+ee(k,M),L,I))}}if(W<0)return null;let ne=[];for(let e=W;e!==-1;e=S[e])ne.push(e/9|0);ne.reverse();for(let e of ne)F(e,1);let re=U.get(ne[0]),G=R.get(ne[ne.length-1]),K=[[re[1],re[2]]];for(let e of ne)K.push([e%d+.5,(e/d|0)+.5]);return K.push([G[1],G[2]]),{cells:Int32Array.from(ne),pts:K}}function R(e,t){let n=v[e],r=v[t],i=Math.max(Math.abs(n.gx-r.gx),Math.abs(n.gy-r.gy)),a=Math.max(12,Math.ceil(i*.4)),o=Math.max(0,Math.min(n.gx,r.gx)-a),s=Math.max(0,Math.min(n.gy,r.gy)-a),c=Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+a),l=Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+a);return L(e,t,o,s,c,l)||(o||s||c<d-1||l<f-1?L(e,t,0,0,d-1,f-1):null)}function z(e,t){return v[e],v[t.folder],B(e,{...t,strict:!0})||B(e,t)}function B(e,t){let n=v[e],r=v[t.folder];return L(e,-1,Math.max(0,Math.min(n.gx,r.gx)-2),Math.max(0,Math.min(n.gy,r.gy)-2),Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+2),Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+2),t)}function V(e){let t=new Set;for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++){let n=Math.floor(r+(a-r)*e/s),c=Math.floor(i+(o-i)*e/s);n<0||c<0||n>=d||c>=f||m[c*d+n]||t.has(c*d+n)||(t.add(c*d+n),F(c*d+n,1))}}}return{route:R,routeTo:z,occupy:V,release:e=>{for(let t of e.cells)F(t,-1)},hold:e=>{for(let t of e.cells)F(t,1)}}}var vn=[0,1,-1,2,-2,3,-3];function yn(e,t){let n=new Map;e.forEach((e,r)=>{e.edges=new Set;for(let i=1;i<e.cells.length;i++){let a=e.cells[i-1],o=e.cells[i],s=a<o?a*t+o:o*t+a;e.edges.add(s),n.has(s)||n.set(s,[]),n.get(s).push(r)}}),e.forEach((t,r)=>{let i=new Set;for(let a of t.edges)for(let t of n.get(a))t<r&&i.add(e[t].lane);t.lane=vn.find(e=>!i.has(e))??0,delete t.edges})}var bn=(e,t,n,r)=>{let i=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]);return i(e,t,n)*i(e,t,r)<0&&i(n,r,e)*i(n,r,t)<0};function xn(e,t){let n=new Map;e.forEach((e,t)=>{for(let r of e.cells)n.has(r)||n.set(r,new Set),n.get(r).add(t)});let r=0,i=0;e.forEach((e,a)=>{for(let o of e.cells){r++;let e=!1,s=o%t;for(let r=-1;r<=1&&!e;r++)for(let i=-1;i<=1&&!e;i++){if(s+i<0||s+i>=t)continue;let c=n.get(o+r*t+i);if(c){for(let t of c)if(t!==a){e=!0;break}}}e||i++}});let a=e.map((e,t)=>{let n=[t*.618%1*.02-.01,t*.414%1*.02-.01],r=e.pts;return r.filter((e,t)=>t===0||t===r.length-1||Math.abs((e[0]-r[t-1][0])*(r[t+1][1]-e[1])-(e[1]-r[t-1][1])*(r[t+1][0]-e[0]))>1e-6).map(e=>[e[0]+n[0],e[1]+n[1]])}),o=0;for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++){let r=e[t],i=e[n];if(r.a!==i.a&&r.a!==i.b&&r.b!==i.a&&r.b!==i.b)for(let e=1;e<a[t].length;e++)for(let r=1;r<a[n].length;r++)bn(a[t][e-1],a[t][e],a[n][r-1],a[n][r])&&o++}return{routes:e.length,crossings:o,length:r,beside:r?1-i/r:0}}function Sn(e,t,n,r,i=t.length<=100?2:+(t.length<=300)){let a=t.map(({a:t,b:n})=>{let r=e.route(t,n);return r&&{a:t,b:n,...r}});for(let t=0;t<i;t++)a.forEach((t,n)=>{if(!t)return;e.release(t);let r=e.route(t.a,t.b);r?Object.assign(t,r):e.hold(t)});let o=a.filter(Boolean);yn(o,n*r);let s={...xn(o,n),lost:a.length-o.length};for(let t of o)e.release(t);return{routes:a.map(e=>e&&{pts:e.pts,lane:e.lane}),measures:s}}var Cn=[1,1,0,-1,-1,-1,0,1],wn=[0,1,1,1,0,-1,-1,-1],Tn=8,En={turn45:1.5,turn90:3,diag:1.3,hug:1,share:.35,centre:.3,gather:224};function Dn(e,t=Ft(e),n={}){let{turn45:r,turn90:i,diag:a,hug:o,share:s,centre:c,gather:l}={...En,...n},{items:u,trunks:d}=e,{W:f,H:p,blocked:m,owner:h}=t,g=f*p,_=Math.max(2,Math.round(28/(e.cell??7))),v=Ln(t,_),y=_,b=new Uint8Array(g),x=10/(e.cell??7),S=(e,t)=>e>=0&&t>=0&&e<f&&t<p,C=(e,t,n)=>S(e,t)&&!m[t*f+e]&&h[t*f+e]===n;function w(e,t,n){let[r,i]=e,[a,o]=t,s=n?a-r:o-i,c=n?o-i:a-r,l=Math.sign(s),u=Math.sign(c),d=Math.abs(s),f=Math.abs(c),p=[];if(d>=f){let e=Math.floor((d-f)/2);for(let t=0;t<e;t++)p.push([l,0]);for(let e=0;e<f;e++)p.push([l,u]);for(let t=0;t<d-f-e;t++)p.push([l,0])}else{let e=Math.floor(d/2);for(let t=0;t<e;t++)p.push([l,u]);for(let e=0;e<f-d;e++)p.push([0,u]);for(let t=0;t<d-e;t++)p.push([l,u])}let m=[[r,i]],h=r,g=i;for(let[e,t]of p)n?(h+=e,g+=t):(h+=t,g+=e),m.push([h,g]);return m}function T(e,t,n,r,i){let a=Math.max(e.gx-(t.gx+t.w),t.gx-(e.gx+e.w)),o=Math.max(e.gy-(t.gy+t.h),t.gy-(e.gy+e.h)),s=a>=o;if((s?a:o)<1)return null;let[c,l]=s?t.gx<e.gx?[3,2]:[2,3]:t.gy<e.gy?[1,0]:[0,1];if(i&&i.side!==c||r&&r.side!==l)return null;let u=In(t)[c],d=In(e)[l],p=s?Math.max(e.gy,t.gy):Math.max(e.gx,t.gx),m=s?Math.min(e.gy+e.h,t.gy+t.h):Math.min(e.gx+e.w,t.gx+t.w),h=e=>Math.floor(e.mid-.5+1e-9),g=e=>e>=p&&e<m,b=r||i?[[i?i.t:g(r.t)?r.t:h(u),r?r.t:g(i.t)?i.t:h(d),0]]:m-p>=1?Rn(p,m).map(e=>[e,e,Math.abs(e+.5-(p+m)/2)]):[[h(u),h(d),0]],S=null;for(let[r,i,a]of b){if(On(t,c,r,x)||On(e,l,i,x))continue;let o=w(s?[c===3?t.gx+t.w:t.gx-1,r]:[r,c===1?t.gy+t.h:t.gy-1],s?[l===2?e.gx-1:e.gx+e.w,i]:[i,l===0?e.gy-1:e.gy+e.h],s);if(!o.every(([e,t])=>C(e,t,n)))continue;let u=o.slice(_,o.length-_),d=u.length?Math.min(...u.map(([e,t])=>v[t*f+e])):_;d<y||(!S||d>S.least||d===S.least&&a<S.off)&&(S={least:d,off:a,tb:r,ta:i,way:o})}return S?[u.wall(S.tb),...S.way.map(([e,t])=>[e+.5,t+.5]),d.wall(S.ta)]:null}let E=new Float32Array(g+1),D=new Int32Array(g+1),O=new Uint8Array(g+1),k=new Uint32Array(g+1),A=0,j=[],M=(e,t)=>{j.push([e,t]);let n=j.length-1;for(;n>0;){let t=n-1>>1;if(j[t][0]<=e)break;[j[t],j[n]]=[j[n],j[t]],n=t}},N=()=>{let e=j[0],t=j.pop();if(j.length){j[0]=t;let e=0;for(;;){let t=2*e+1;if(t>=j.length||(t+1<j.length&&j[t+1][0]<j[t][0]&&t++,j[t][0]>=j[e][0]))break;[j[t],j[e]]=[j[e],j[t]],e=t}}return e},P=(e,t)=>{if(e===Tn||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?r:i*(n>=3?2:1)};function F(e,t,n,r,i){A++,j.length=0;let l=g,u=new Map,d=(e,t,n)=>!e||e.side===t&&e.t===n;if(In(e).forEach((t,i)=>t.cells.forEach(([a,o])=>{let s=t.dir===6||t.dir===2?a:o;C(a,o,n)&&d(r,i,s)&&!On(e,i,s,x)&&u.set(o*f+a,[(t.dir+4)%8,c*Math.abs(s+.5-t.mid),t.wall(s)])})),!r)for(let t of kn(e,x))C(...t.out,n)&&u.set(t.out[1]*f+t.out[0],[(t.dir+4)%8,c*Math.min(e.w,e.h)/2,t.pt]);if(!u.size)return null;let p=e.gx-1,m=e.gx+e.w,h=e.gy-1,y=e.gy+e.h,S=(e,t)=>{let n=Math.max(p-e,e-m,0),r=Math.max(h-t,t-y,0);return Math.max(n,r)+.414*Math.min(n,r)},w=new Map,T=(e,t,n,r)=>{k[e]===A&&E[e]<=t||(k[e]=A,E[e]=t,D[e]=-1,O[e]=n,w.set(e,r),M(t+S(e%f,e/f|0),e))};if(In(t).forEach((e,r)=>e.cells.forEach(([a,o])=>{let s=e.dir===6||e.dir===2?a:o;C(a,o,n)&&d(i,r,s)&&!On(t,r,s,x)&&T(o*f+a,c*Math.abs(s+.5-e.mid),e.dir,e.wall(s))})),!i)for(let e of kn(t,x))C(...e.out,n)&&T(e.out[1]*f+e.out[0],c*Math.min(t.w,t.h)/2,e.dir,e.pt);for(;j.length;){let[e,t]=N();if(t===l)break;let r=E[t];if(e-S(t%f,t/f|0)>r+1e-4)continue;let i=u.get(t);if(i){let e=r+i[1]+P(O[t],i[0]);(k[l]!==A||e<E[l])&&(k[l]=A,E[l]=e,D[l]=t,M(e,l))}let c=t%f,d=t/f|0;for(let e=0;e<8;e++){let i=c+Cn[e],l=d+wn[e];if(!C(i,l,n)||Cn[e]&&wn[e]&&(!C(i,d,n)||!C(c,l,n)))continue;let u=l*f+i,p=r+(Cn[e]&&wn[e]?Math.SQRT2*a:1)*(b[u]?1-s:1)+o*(_-v[u])+P(O[t],e);k[u]===A&&E[u]<=p||(k[u]=A,E[u]=p,D[u]=t,O[u]=e,M(p+S(i,l),u))}}if(k[l]!==A)return null;let F=[];for(let e=D[l];e!==-1;e=D[e])F.push(e);return F.reverse(),[w.get(F[0]),...F.map(e=>[e%f+.5,Math.floor(e/f)+.5]),u.get(F.at(-1))[2]]}let I=d.map((e,t)=>t).sort((e,t)=>d[t].count-d[e].count||e-t),L=d.map(e=>({a:e.a,b:e.b,count:e.count,back:e.back,implied:e.implied})),R=e=>Mn(e,(e,t)=>{S(e,t)&&!m[t*f+e]&&(b[t*f+e]=1)}),z=(e,t,n)=>{let r=d[e],i=u[r.a],a=u[r.b];return T(i,a,i.parent,t,n)??F(i,a,i.parent,t,n)};for(let e of I){let t=z(e);t&&(L[e].pts=t,R(t))}let B=l/(e.cell??7),V=new Map;L.forEach((e,t)=>{if(e.pts)for(let[n,r,i]of[[`b`,e.b,e.pts[0]],[`a`,e.a,e.pts.at(-1)]]){let a=u[r];if(a.kind!==`folder`||!An(a,i))continue;let o=jn(a,i),s=`${r}|${o}`;V.set(s,[...V.get(s)||[],{k:t,end:n,t:Math.floor(o<2?i[0]:i[1]),count:e.count}])}});let H=new Map;for(let[e,t]of V){let[n,r]=e.split(`|`).map(Number),i=u[n];In(i)[r],r<2?i.gx:i.gy,t.sort((e,t)=>e.t-t.t);for(let e=0;e<t.length;){let n=e+1;for(;n<t.length&&t[n].t-t[n-1].t<=B;)n++;let a=t.slice(e,n);if(e=n,a.length<2||a.every(e=>e.t===a[0].t))continue;let o=new Map;for(let e of a)o.set(e.t,(o.get(e.t)||0)+e.count);let s=(a[0].t+a.at(-1).t)/2,c=[...o].filter(([e])=>!On(i,r,e,x)).reduce((e,t)=>t[1]>e[1]||t[1]===e[1]&&Math.abs(t[0]-s)<Math.abs(e[0]-s)?t:e)[0];for(let e of a)e.t!==c&&H.set(e.k,{...H.get(e.k),[e.end]:{side:r,t:c}})}}if(H.size){b.fill(0),L.forEach((e,t)=>{e.pts&&!H.has(t)&&R(e.pts)});for(let e of I){let t=H.get(e);if(!t)continue;let n=L[e],r=(e,t)=>{if(!An(u[e],t))return;let n=jn(u[e],t);return{side:n,t:Math.floor(n<2?t[0]:t[1])}},i=z(e,t.a??r(n.a,n.pts.at(-1)),t.b??r(n.b,n.pts[0]));i&&(L[e].pts=i),R(L[e].pts)}}return L}function On(e,t,n,r){if(e.kind!==`folder`)return!1;let i=t<2?e.gx:e.gy,a=i+(t<2?e.w:e.h);return n+.5-i<r||a-(n+.5)<r}function kn(e,t){return e.kind===`folder`?[[e.gx,e.gy,1,1,5],[e.gx+e.w,e.gy,-1,1,7],[e.gx+e.w,e.gy+e.h,-1,-1,1],[e.gx,e.gy+e.h,1,-1,3]].map(([e,n,r,i,a])=>({out:[Math.floor(e-r*.5),Math.floor(n-i*.5)],in:[Math.floor(e+r*.5),Math.floor(n+i*.5)],dir:a,pt:[e+r*t/2,n+i*t/2]})):[]}function An(e,[t,n]){let r=(e,t)=>Math.abs(e-t)<1e-6;return(r(t,e.gx)||r(t,e.gx+e.w))&&n>=e.gy-1e-6&&n<=e.gy+e.h+1e-6||(r(n,e.gy)||r(n,e.gy+e.h))&&t>=e.gx-1e-6&&t<=e.gx+e.w+1e-6}function jn(e,[t,n]){let r=(e,t)=>Math.abs(e-t)<1e-6;return r(n,e.gy)?0:r(n,e.gy+e.h)?1:r(t,e.gx)?2:3}function Mn(e,t){for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++)t(Math.floor(r+(a-r)*e/s),Math.floor(i+(o-i)*e/s))}}var Nn={turn45:1.5,turn90:3,diag:1.3,hug:1,centre:1,join:.5,cross:1,haste:1.5,hasteNote:4};function Pn(e,t,n=Ft(e),r={}){let{turn45:i,turn90:a,diag:o,hug:s,centre:c,join:l,cross:u,haste:d,hasteNote:f}={...Nn,...r},{items:p,links:m}=e,{W:h,H:g,blocked:_,owner:v}=n,y=h*g,b=Math.max(2,Math.round(28/(e.cell??7))),x=Ln(n,b),S=10/(e.cell??7),C=new Uint8Array(y);for(let e of t)e.pts&&Mn(e.pts,(e,t)=>{e>=0&&t>=0&&e<h&&t<g&&(C[t*h+e]=1)});let w=(e,t)=>e>=0&&t>=0&&e<h&&t<g,T=(e,t)=>{for(;p[e].parent!==t;)e=p[e].parent;return e},E=(e,[t,n])=>{let r=(e,t)=>Math.abs(e-t)<1e-6;if(!An(e,[t,n])){let i=kn(e,S).find(e=>r(e.pt[0],t)&&r(e.pt[1],n));if(i)return[...i.in,i.dir]}return r(t,e.gx)?[e.gx,Math.floor(n),4]:r(t,e.gx+e.w)?[e.gx+e.w-1,Math.floor(n),0]:r(n,e.gy)?[Math.floor(t),e.gy,6]:[Math.floor(t),e.gy+e.h-1,2]},D=(e,t)=>(Cn[e]&&wn[e]?Math.SQRT2*o:1)+s*(b-x[t]),O=(e,t)=>{if(e===Tn||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?i:a*(n>=3?2:1)},k=new Float32Array(y*9+1),A=new Int32Array(y*9+1),j=new Uint32Array(y*9+1),M=y*9,N=0,P=new Float64Array(4096),F=new Float64Array(4096),I=new Int32Array(4096),L=0,R=0,z=0,B=(e,t,n)=>{if(L===P.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};P=e(P,Float64Array),F=e(F,Float64Array),I=e(I,Int32Array)}let r=L++;for(;r>0;){let t=r-1>>1;if(P[t]<=e)break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n},V=()=>{P[0],R=F[0],z=I[0];let e=P[--L],t=F[L],n=I[L],r=0;for(;;){let t=2*r+1;if(t>=L||(t+1<L&&P[t+1]<P[t]&&t++,P[t]>=e))break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n};function H(e,t,n,r,i){N++,L=0;let a=(e,t)=>w(e,t)&&!_[t*h+e]&&v[t*h+e]===n,o=r%h,d=r/h|0,f=(e,t)=>{let n=Math.abs(e-o),r=Math.abs(t-d);return i*(1-l)*(Math.max(n,r)+.414*Math.min(n,r))},p=new Map;if(e.kind===`folder`)for(let t of kn(e,S)){let[n,r]=t.out;if(!a(n,r))continue;let i=r*h+n,o=i*9+t.dir,l=Math.fround(c*Math.min(e.w,e.h)/2+s*(b-x[i]));j[o]===N&&k[o]<=l||(j[o]=N,k[o]=l,A[o]=-1,p.set(i,t.pt),B(l+f(n,r),l,o))}for(In(e).forEach((t,n)=>t.cells.forEach(([r,i])=>{if(!a(r,i)||On(e,n,t.dir===6||t.dir===2?r:i,S))return;let o=t.dir===6||t.dir===2?r:i,l=i*h+r,u=l*9+t.dir,d=Math.fround(c*Math.abs(o+.5-t.mid)+s*(b-x[l]));j[u]===N&&k[u]<=d||(j[u]=N,k[u]=d,A[u]=-1,p.set(l,t.wall(o)),B(d+f(r,i),d,u))}));L;){V();let e=z,n=R;if(e===M)break;if(n!==k[e])continue;let r=e/9|0,i=e%9,o=r%h,s=r/h|0,c=t.get(r);if(c){let t=n+c.rest+O(i,c.dir);(j[M]!==N||t<k[M])&&(j[M]=N,k[M]=t,A[M]=e,B(t,t,M))}for(let t=0;t<8;t++){let r=o+Cn[t],c=s+wn[t];if(!a(r,c)||Cn[t]&&wn[t]&&(!a(r,s)||!a(o,c)))continue;let l=c*h+r,d=l*9+t,p=Math.fround(n+D(t,l)+(C[l]?u:0)+O(i,t));j[d]===N&&k[d]<=p||(j[d]=N,k[d]=p,A[d]=e,B(p+f(r,c),p,d))}}if(j[M]!==N)return null;let m=[];for(let e=A[M];e!==-1;e=A[e])m.push(e/9|0);return m.reverse(),{cells:m,pts:[p.get(m[0]),...m.map(e=>[e%h+.5,Math.floor(e/h)+.5]),t.get(m.at(-1)).pt]}}let ee=[];t.forEach((e,t)=>{if(!e.pts)return;let n=p[e.a].parent,r=m.filter(t=>t.s>=2&&t.level===n&&T(t.a,n)===e.a&&T(t.b,n)===e.b);p[e.a].kind===`folder`&&ee.push({folder:e.a,at:e.pts[e.pts.length-1],notes:r.map(e=>e.a),trunk:t}),p[e.b].kind===`folder`&&ee.push({folder:e.b,at:e.pts[0],notes:r.map(e=>e.b),trunk:t})});let U=[],te=e=>p[e].kind===`note`,W=new Map;for(let e=0;e<ee.length;e++){let{folder:t,at:n,notes:r,trunk:i}=ee[e],[a,c,u]=E(p[t],n);if(!w(a,c)||_[c*h+a])continue;let m=c*h+a,g={dir:u,rest:0,pt:n};W.has(m)||W.set(m,{ends:new Map([[m,g]]),endsAny:new Map([[m,g]]),owners:new Map([[m,-1]]),exits:new Map});let{ends:v,endsAny:y,owners:S,exits:C}=W.get(m),D=new Map;for(let e of r){let n=T(e,t);D.set(n,[...D.get(n)||[],e])}for(let[e,n]of[...D].sort((e,t)=>te(e[0])-te(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=te(e),a=C.get(e),c=r?y:v,u=a&&c.has(a.cell)?{cells:[a.cell],pts:[a.wall,c.get(a.cell).pt,c.get(a.cell).pt]}:H(p[e],c,t,m,r?f:d);if(!u)continue;a||C.set(e,{cell:u.cells[0],wall:u.pts[0]});let g=U.length,_=u.cells.at(-1);U.push({item:e,folder:t,trunk:i,count:n.length,pts:u.pts,cells:u.cells,leaf:r,via:S.get(_)??-1});let w=new Float32Array(u.cells.length);w[w.length-1]=y.get(_).rest;for(let e=u.cells.length-2;e>=0;e--){let t=u.cells[e],n=u.cells[e+1],r=t%h!==n%h&&Math.floor(t/h)!==Math.floor(n/h);w[e]=w[e+1]+(1-l)*((r?Math.SQRT2*o:1)+s*(b-x[n]))}for(let[e,t]of u.cells.entries()){if(y.has(t))continue;let n=u.cells[e+1],i={dir:n===void 0?y.get(_).dir:Fn(n%h-t%h,Math.floor(n/h)-Math.floor(t/h)),rest:w[e],pt:[t%h+.5,Math.floor(t/h)+.5]};y.set(t,i),S.set(t,g),r||v.set(t,i)}r||ee.push({folder:e,at:u.pts[0],notes:n,trunk:i})}}return yn(U,y),U.map(({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s})=>({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s}))}var Fn=(e,t)=>Cn.findIndex((n,r)=>n===Math.sign(e)&&wn[r]===Math.sign(t));function In(e){return[{dir:6,cells:Rn(e.gx,e.gx+e.w).map(t=>[t,e.gy-1]),mid:e.gx+e.w/2,wall:t=>[t+.5,e.gy]},{dir:2,cells:Rn(e.gx,e.gx+e.w).map(t=>[t,e.gy+e.h]),mid:e.gx+e.w/2,wall:t=>[t+.5,e.gy+e.h]},{dir:4,cells:Rn(e.gy,e.gy+e.h).map(t=>[e.gx-1,t]),mid:e.gy+e.h/2,wall:t=>[e.gx,t+.5]},{dir:0,cells:Rn(e.gy,e.gy+e.h).map(t=>[e.gx+e.w,t]),mid:e.gy+e.h/2,wall:t=>[e.gx+e.w,t+.5]}]}function Ln({W:e,H:t,blocked:n,owner:r},i){let a=e*t,o=new Uint8Array(a).fill(i),s=new Int32Array(a),c=0,l=0;for(let i=0;i<a;i++){if(n[i]){o[i]=0;continue}let a=i%e,c=i/e|0;for(let u=0;u<8;u++){let d=a+Cn[u],f=c+wn[u];if(d<0||f<0||d>=e||f>=t)continue;let p=f*e+d;if(n[p]||r[p]!==r[i]){o[i]=1,s[l++]=i;break}}}for(;c<l;){let a=s[c++],u=a%e,d=a/e|0;if(!(o[a]+1>=i))for(let i=0;i<8;i++){let c=u+Cn[i],f=d+wn[i];if(c<0||f<0||c>=e||f>=t)continue;let p=f*e+c;o[p]>o[a]+1&&!n[p]&&r[p]===r[a]&&(o[p]=o[a]+1,s[l++]=p)}}return o}var Rn=(e,t)=>Array.from({length:Math.max(0,t-e)},(t,n)=>e+n);function zn(e,t){let n=10/(e.cell??7),r=e.items.filter(e=>e.kind===`folder`),i=(e,t)=>Math.abs(e-t)<1e-6,a=(e,t)=>{for(let a of r){let r=i(e[0],a.gx)||i(e[0],a.gx+a.w),o=i(e[1],a.gy)||i(e[1],a.gy+a.h);if(!(r&&e[1]>=a.gy-1e-6&&e[1]<=a.gy+a.h+1e-6)&&!(o&&e[0]>=a.gx-1e-6&&e[0]<=a.gx+a.w+1e-6))continue;let s=e[0]-a.gx<a.w/2?1:-1,c=e[1]-a.gy<a.h/2?1:-1,l=s>0?a.gx:a.gx+a.w,u=c>0?a.gy:a.gy+a.h;if(Math.abs(e[0]-l)+Math.abs(e[1]-u)>=n-1e-6)return null;let d=[l+s*n/2,u+c*n/2],f=t[0]>a.gx&&t[0]<a.gx+a.w&&t[1]>a.gy&&t[1]<a.gy+a.h?[s,c]:[-s,-c],p=t[0]-d[0],m=t[1]-d[1];if(Math.abs(Math.abs(p)-Math.abs(m))<1e-6&&p*f[0]>0)return[d];let h=[p/f[0],m/f[1]].filter(e=>e>1e-6).sort((e,t)=>e-t);return h.length?[d,[d[0]+f[0]*h[0],d[1]+f[1]*h[0]]]:null}return null};for(let e of t){if(!e.pts||e.pts.length<2)continue;let t=a(e.pts[0],e.pts[1]);t&&(e.pts=[...t,...e.pts.slice(1)]);let n=a(e.pts.at(-1),e.pts.at(-2));n&&(e.pts=[...e.pts.slice(0,-1),...n.reverse()])}return t}function Bn(e,t=!1){let n=e=>e.kind===`dir`?{kind:`dir`,id:e.id,ref:e.ref,children:e.children.map(n)}:{kind:e.kind,id:e.id,ref:e.ref,weight:e.weight,rank:e.rank||0};if(t){let t=[],r=e=>{e.kind===`dir`?e.children.forEach(r):t.push(n(e))};return r(e.root),{root:{kind:`dir`,id:e.root.id,ref:e.root.ref,children:t},edges:e.edges,code:!1}}return{root:n(e.root),edges:e.edges,code:!!e.code}}function Vn(e,t){let n={flow:t.gridFlow===`right`?`right`:`up`,grain:Kn(t),plan:!!t.blocks,from:t.from??null},r=ln(e,n);if(t.blocks){let t=Hn(r,Dn(r,Ft(r)));[...t.values()].some(e=>e.wider.size)&&(r=ln(e,{...n,planned:t}))}r.feeders=Un(r);let i=Ft(r),a=Dn(r,i),o=Pn(r,a,i);return zn(r,[...a,...o]),r.highways={trunks:a,feeders:o},r}function Hn(e,t){let{items:n}=e,r=e.cell>7?2:3,i=new Map;for(let[a,o]of e.pairs??[]){let e=a===``?-1:n.findIndex(e=>e.kind===`folder`&&e.ref===a),s=n.map((e,t)=>t).filter(t=>n[t].parent===e),c=t.filter(t=>t.pts&&n[t.a].parent===e),l=new Map;for(let e of s)for(let t of s){if(e>=t)continue;let i=n[e],a=n[t],[o,s]=i.gx<=a.gx?[i,a]:[a,i],[u,d]=i.gy<=a.gy?[i,a]:[a,i],f=s.gx-(o.gx+o.w),p=d.gy-(u.gy+u.h),m=null,h=!1;if(f>0&&f<=16&&Math.min(i.gy+i.h,a.gy+a.h)-Math.max(i.gy,a.gy)>=4?(m=[o.gx+o.w,Math.max(i.gy,a.gy),s.gx,Math.min(i.gy+i.h,a.gy+a.h)],h=!0):p>0&&p<=16&&Math.min(i.gx+i.w,a.gx+a.w)-Math.max(i.gx,a.gx)>=4&&(m=[Math.max(i.gx,a.gx),u.gy+u.h,Math.min(i.gx+i.w,a.gx+a.w),d.gy]),!m)continue;let g=new Map;for(let e of c)for(let t=1;t<e.pts.length;t++){let[n,r]=e.pts[t-1],[i,a]=e.pts[t],o=Math.max(1,Math.ceil(Math.max(Math.abs(i-n),Math.abs(a-r))));for(let e=0;e<=o;e++){let t=Math.floor(n+(i-n)*e/o),s=Math.floor(r+(a-r)*e/o);if(t<m[0]||t>=m[2]||s<m[1]||s>=m[3])continue;let c=h?t:s;g.has(c)||g.set(c,new Set),g.get(c).add(h?s:t)}}let _=[...g.values()].filter(e=>e.size>=4).length;_>1&&l.set([i.ref,a.ref].sort().join(`|`),r*(_-1))}i.set(a,{pair:o,wider:l})}return i}function Un(e,t=e.trunks){let{items:n,links:r,W:i}=e;if(!t.some(e=>e.pts&&(n[e.a].kind===`folder`||n[e.b].kind===`folder`)))return[];let a=Ft(e),o=_n(e,a,{crowd:1,haste:1.5});for(let e of t)e.pts&&o.occupy(e.pts);let s=(e,t)=>{for(;n[e].parent!==t;)e=n[e].parent;return e},c=(e,[t,r])=>{let i=n[e],a=(e,t)=>Math.abs(e-t)<1e-6;return a(t,i.gx)?[i.gx,Math.floor(r)]:a(t,i.gx+i.w)?[i.gx+i.w-1,Math.floor(r)]:a(r,i.gy)?[Math.floor(t),i.gy]:[Math.floor(t),i.gy+i.h-1]},l=[];t.forEach((e,t)=>{if(!e.pts)return;let i=n[e.a].parent,a=r.filter(t=>t.s>=2&&t.level===i&&s(t.a,i)===e.a&&s(t.b,i)===e.b);n[e.a].kind===`folder`&&l.push({folder:e.a,at:e.pts[e.pts.length-1],notes:a.map(e=>e.a),trunk:t}),n[e.b].kind===`folder`&&l.push({folder:e.b,at:e.pts[0],notes:a.map(e=>e.b),trunk:t})});let u=[];for(let e=0;e<l.length;e++){let{folder:t,at:r,notes:d,trunk:f}=l[e],[p,m]=c(t,r);if(p<0||m<0||p>=i||a.blocked[m*i+p])continue;let h=new Map;for(let e of d){let n=s(e,t);h.set(n,[...h.get(n)||[],e])}let g=m*i+p,_=e=>n[e].kind===`note`,v=new Map([[g,[g,r[0],r[1]]]]),y=new Map(v),b=new Map([[g,-1]]);for(let[e,n]of[...h].sort((e,t)=>_(e[0])-_(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=_(e),s=o.routeTo(e,{ends:r?y:v,folder:t,toward:g});if(!s)continue;let c=u.length;u.push({item:e,folder:t,trunk:f,count:n.length,pts:s.pts,cells:s.cells,leaf:r,via:b.get(s.cells[s.cells.length-1])??-1});let d=new Float32Array(s.cells.length);d[d.length-1]=y.get(s.cells[s.cells.length-1])?.[3]??0;for(let e=s.cells.length-2;e>=0;e--){let t=s.cells[e],n=s.cells[e+1];d[e]=d[e+1]+(t%i!==n%i&&Math.floor(t/i)!==Math.floor(n/i)?Math.SQRT2:1)+(a.close[n]?fn.hug:0)}for(let[e,t]of s.cells.entries()){if(y.has(t))continue;let n=[t,t%i+.5,Math.floor(t/i)+.5,d[e]];y.set(t,n),b.set(t,c),r||v.set(t,n)}r||l.push({folder:e,at:s.pts[0],notes:n,trunk:f})}}return yn(u,a.W*a.H),u.map(({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s})=>({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s}))}function Wn(e){let t=Ft(e),n=_n(e,t);return e=>Sn(n,e,t.W,t.H)}function Gn(e){let t=3735928559,n=1103547991;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,2654435761),n=Math.imul(n^i,1597334677)}return t=Math.imul(t^t>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(t^t>>>13,3266489909),(4294967296*(2097151&n)+(t>>>0)).toString(36)}var Kn=e=>e.grain===`coarse`||e.grain===`coarser`?e.grain:`fine`;function qn(e,t={}){return Gn(JSON.stringify([14,t.gridFlow===`right`?`right`:`up`,Kn(t),!!t.blocks,e]))}var Jn,Yn=1,Xn=new Map;function Zn(e){if(Jn===void 0)try{Jn=new Worker(new URL(new URL(`../workers/worker-CWkpeSVG.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),Jn.onmessage=({data:e})=>{let t=Xn.get(e.id);Xn.delete(e.id),e.error===void 0?t?.resolve(e.result):t?.reject(Error(e.error))},Jn.onerror=()=>{for(let e of Xn.values())e.reject(Error(`the layout worker stopped`));Xn.clear(),Jn=null}}catch{Jn=null}if(!Jn)return Promise.reject(Error(`no worker`));let t=Yn++;return new Promise((n,r)=>{Xn.set(t,{resolve:n,reject:r}),Jn.postMessage({id:t,...e})})}var Qn=new Map,$n=new Map,er=``;async function tr(e,t){let n=Bn(e),r=qn(n,t),i=Qn.get(r);return i||(i=await Zn({layout:{model:n,o:t}}).catch(()=>Vn(n,t)),Qn.size>=6&&Qn.delete(Qn.keys().next().value),Qn.set(r,i)),{key:r,layout:i}}async function nr(e,t,n){if(!n.length)return[];let r=()=>{let r=$n.get(e);return r||($n.clear(),$n.set(e,r=Wn(t))),r(n)},i=er!==e;return er=e,(await Zn({routes:{key:e,layout:i?t:null,asks:n}}).catch(()=>Zn({routes:{key:e,layout:t,asks:n}})).catch(r)).routes.map(e=>e?.pts??null)}var rr=f(`<path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9" class="svelte-m50bdg"></path><path d="M8 12v1.2" class="svelte-m50bdg"></path>`,1),ir=f(`<path d="M8 2.5l5.8 10.5H2.2z" class="svelte-m50bdg"></path>`),ar=f(`<svg class="notch svelte-m50bdg" viewBox="0 0 16 16" aria-hidden="true"><!></svg>`),or=L(`<b class="num svelte-m50bdg"> </b>`),sr=L(`<b class="order svelte-m50bdg" aria-hidden="true"> </b>`),cr=L(`<i class="dia svelte-m50bdg" aria-hidden="true"></i>`),lr=L(`<a><!><span class="t svelte-m50bdg"> </span><!><!><!></a>`);function ur(e,t){ee(t,!0);let n=I(t,`kind`,3,``),r=I(t,`done`,3,!1),o=I(t,`behind`,3,`var(--ground-0)`),l=I(t,`mark`,3,``),u=I(t,`far`,3,0),d=I(t,`num`,3,0),f=I(t,`iso`,3,``),p=I(t,`linked`,3,!1),m=I(t,`dim`,3,!1),h=I(t,`moment`,3,``),g=I(t,`given`,3,!1),v=I(t,`held`,3,``),y=I(t,`changed`,3,!1),S=I(t,`pointed`,3,``),C=I(t,`order`,3,0),T=I(t,`here`,3,!1);var E=lr();let D;var O=W(E),A=e=>{var t=ar(),i=W(t),a=e=>{var t=rr();ie(),R(e,t)},o=e=>{var t=ir();s(()=>j(t,`fill`,r()?`currentColor`:`none`)),R(e,t)};_(i,e=>{n()===`question`?e(a):e(o,-1)}),k(t),R(e,t)};_(O,e=>{n()&&e(A)});var M=b(O),N=x(M,!0),P=b(M),L=e=>{var t=or(),n=x(t,!0);s(()=>i(n,d())),R(e,t)};_(P,e=>{d()&&e(L)});var z=b(P),V=e=>{var t=sr(),n=x(t,!0);s(()=>i(n,C())),R(e,t)};_(z,e=>{C()&&e(V)});var H=b(z),U=e=>{var t=cr();R(e,t)};_(H,e=>{y()&&e(U)}),k(E),s(e=>{D=F(E,1,`n ${h()?`mo-${h()}`:``} ${f()?`p-${f()}`:``} ${l()??``} ${n()??``}`,`svelte-m50bdg`,D,{done:r(),linked:p(),dim:m()&&!d()&&!f()&&!p()&&!g(),far:u()>1,pick:d()>0,given:g(),held:v()===`on`,aside:v()===`aside`,changed:y(),pointed:!!S(),here:T()}),j(E,`aria-current`,T()?`page`:void 0),j(E,`href`,t.href),j(E,`aria-label`,d()?`${t.title}: linked, number ${d()}`:`${n()===`question`?`Question: `:n()===`problem`?`Problem${r()?`, solved`:``}: `:``}${t.title}${g()?`: in Iso's context`:v()===`on`?`: read by Iso, in hand`:v()===`aside`?`: read by Iso, set aside`:``}${y()?`, changed by Iso`:``}${S()?`, Iso points to it: ${S()}`:``}`),j(E,`title`,S()||(g()?`In Iso's context: shift+click takes it back`:v()===`on`?`Read by Iso, in hand: shift+click sets it aside`:v()===`aside`?`Read by Iso, set aside: shift+click puts it in hand again`:void 0)),j(E,`data-note`,t.item.ref),B(E,`--x:${t.item.gx??``};--y:${t.item.gy??``};--w:${t.item.w??``};--h:${t.item.h??``};--lit:${e??``}%;--behind:${o()??``}`),i(N,t.title)},[()=>Math.max(34,100-(u()-1)*20)]),a(`click`,E,function(...e){t.onpick?.apply(this,e)}),c(`pointerenter`,E,e=>{e.pointerType===`mouse`&&t.onpoint(!0)}),c(`pointerleave`,E,e=>{e.pointerType===`mouse`&&t.onpoint(!1)}),c(`focus`,E,()=>t.onpoint(!0)),c(`blur`,E,()=>t.onpoint(!1)),R(e,E),w()}m([`click`]);var dr=L(`<button class="frame-title svelte-ywp27z" type="button"> </button>`),fr=L(`<span class="frame-title held svelte-ywp27z"> </span>`),pr=L(`<div><!> <!></div>`),mr=L(`<button type="button"><span class="inner svelte-ywp27z"><span class="name svelte-ywp27z"> </span><span class="label svelte-ywp27z"> </span></span></button>`);function hr(e,n){ee(n,!0);let r=I(n,`titled`,3,!0),o=I(n,`held`,19,()=>({req:0,bld:0})),c=I(n,`dim`,3,!1),u=I(n,`given`,3,!1),f=I(n,`here`,3,!1),p=I(n,`moment`,3,``),m=G(()=>n.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),h=G(()=>n.item.depth%2?`var(--ground-0)`:`var(--ground-1)`),g=G(()=>o().req?`req`:o().bld?`bld`:``),v=G(()=>[o().req?`${o().req} required here`:``,o().bld?`${o().bld} ${o().bld===1?`builds`:`build`} on it`:``].filter(Boolean).join(` · `)),y=G(()=>`--x:${n.item.gx};--y:${n.item.gy};--w:${n.item.w};--h:${n.item.h}`);var S=t(),C=l(S),T=e=>{var t=pr();let o;var c=W(t),l=e=>{var t=dr(),r=x(t,!0);s(()=>{j(t,`title`,u()?`In Iso's context: shift+click takes it back`:void 0),i(r,n.name)}),a(`click`,t,function(...e){n.onpick?.apply(this,e)}),R(e,t)};_(c,e=>{r()&&e(l)});var f=b(c,2),S=e=>{var t=fr(),n=x(t,!0);s(()=>i(n,d(v))),R(e,t)};_(f,e=>{d(v)&&e(S)}),k(t),s(()=>{o=F(t,1,`folder frame ${d(g)??``} ${p()?`mo-${p()}`:``}`,`svelte-ywp27z`,o,{given:u()}),j(t,`data-folder`,n.item.ref),B(t,`${d(y)??``};--inside:${d(m)??``};--behind:${d(h)??``};--ground-here:${d(m)??``}`)}),R(e,t)},E=e=>{var t=mr();let r;var o=W(t),l=W(o),m=x(l,!0),h=b(l),_=x(h,!0);k(o),k(t),s(()=>{r=F(t,1,`folder frame closed ${d(g)??``} ${p()?`mo-${p()}`:``}`,`svelte-ywp27z`,r,{dim:c(),given:u(),here:f()}),j(t,`aria-current`,f()?`page`:void 0),j(t,`data-folder`,n.item.ref),B(t,d(y)),j(t,`title`,u()?`In Iso's context: shift+click takes it back`:void 0),i(m,n.name),i(_,d(v)||`${n.count} ${n.count===1?`note`:`notes`}`)}),a(`click`,t,function(...e){n.onpick?.apply(this,e)}),R(e,t)};_(C,e=>{n.open?e(T):e(E,-1)}),R(e,S),w()}m([`click`]);var gr=f(`<path pathLength="1"></path>`),_r=f(`<path></path>`),vr=f(`<path class="sent svelte-k96fgh"></path>`),yr=f(`<!><!><!>`,1),br=f(`<path class="grown svelte-k96fgh" pathLength="1"></path>`),xr=f(`<svg class="routes svelte-k96fgh" aria-hidden="true"><g class="svelte-k96fgh"><!><!></g></svg>`);function Sr(e,n){ee(n,!0);let r=I(n,`sent`,19,()=>[]),i=I(n,`grown`,19,()=>[]),a=I(n,`beat`,3,``),o=I(n,`retracting`,19,()=>[]),c=e=>`${(e.strong?e.trunk?3:1.5:e.trunk?2:1)/n.k}px`;var u=xr(),f=W(u),p=W(f),m=e=>{var n=t(),r=l(n);g(r,17,o,e=>e.key,(e,t)=>{var n=gr();let r,i;s(e=>{r=F(n,0,`along retract ${d(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,r,{trunk:d(t).trunk}),j(n,`d`,d(t).d),i=B(n,``,i,{"stroke-width":e})},[()=>c(d(t))]),R(e,n)}),R(e,n)},h=e=>{var r=t(),i=l(r);g(i,17,()=>n.rest,e=>e.key,(e,t)=>{var n=gr();let r,i;s(e=>{r=F(n,0,`along draw ${d(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,r,{trunk:d(t).trunk}),j(n,`d`,d(t).d),i=B(n,``,i,{"stroke-width":e})},[()=>c(d(t))]),R(e,n)}),R(e,r)},v=e=>{var t=yr(),i=l(t);g(i,17,()=>n.rest,e=>e.key,(e,t)=>{var n=_r();let r;s(()=>{r=F(n,0,N(d(t).strong?`base`:`base weak`),`svelte-k96fgh`,r,{trunk:d(t).trunk}),j(n,`d`,d(t).d)}),R(e,n)});var a=b(i);g(a,17,r,e=>e.key,(e,t)=>{var n=vr();s(()=>j(n,`d`,d(t).d)),R(e,n)});var o=b(a);g(o,17,()=>n.hot,e=>e.key,(e,t)=>{var n=_r();let r;s(()=>{r=F(n,0,`lit ${d(t).kind??``}`,`svelte-k96fgh`,r,{still:d(t).still}),j(n,`d`,d(t).d)}),R(e,n)}),R(e,t)};_(p,e=>{a()===`retract`?e(m):a()===`draw`?e(h,1):a()===``&&e(v,2)});var y=b(p);g(y,17,i,e=>e.key,(e,t)=>{var r=br();let i;s(()=>{j(r,`d`,d(t).d),i=B(r,``,i,{"stroke-width":`${3/n.k}px`})}),R(e,r)}),k(f),k(u),s(()=>{j(u,`data-requires`,n.counts.requires),j(u,`data-builds`,n.counts.builds),j(u,`data-uses`,n.counts.uses),j(f,`transform`,`scale(${n.k??``})`)}),R(e,u),w()}var Cr=L(`<p class="said svelte-14y1y1z"> </p>`),wr=L(`<p class="said faint svelte-14y1y1z">There are no notes yet. The map draws itself as you write them.</p>`),Tr=L(`<span> </span>`),Er=L(`<a class="sat web svelte-14y1y1z" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><circle cx="8" cy="8" r="5.5"></circle><path d="M2.5 8h11M8 2.5c-2 2.8-2 8.2 0 11M8 2.5c2 2.8 2 8.2 0 11"></path></svg></a>`),Dr=L(`<span role="img"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path></svg></span>`),Or=L(`<a class="eph svelte-14y1y1z"><span class="t svelte-14y1y1z"> </span></a>`),kr=L(`Iso is reading <span class="c-gold svelte-14y1y1z"> </span>`,1),Ar=L(`<svg class="loader svelte-14y1y1z" aria-hidden="true"><path d="M0 1H1000" class="svelte-14y1y1z"></path></svg> <p class="doing svelte-14y1y1z" role="status"><i class="dia svelte-14y1y1z" aria-hidden="true"></i><!></p>`,1),jr=L(`<div><!> <!></div>`),Mr=f(`<path d="M1.5 5.5h6l2 2.5h9v12.5h-17z" class="svelte-14y1y1z"></path>`),Nr=f(`<path d="M3.5 1.5h9l4.5 4.5v16.5h-13.5z M12.5 1.5v4.5h4.5" class="svelte-14y1y1z"></path><path class="ln svelte-14y1y1z" d="M6.5 11h7.5M6.5 14.5h7.5M6.5 18h5"></path>`,1),Pr=L(`<div><svg viewBox="0 0 20 24" width="20" height="24" aria-hidden="true" class="svelte-14y1y1z"><!></svg> <span class="svelte-14y1y1z"> </span></div>`),Fr=L(`<button type="button"><svg viewBox="0 0 12 12" width="12" height="12" aria-hidden="true" class="svelte-14y1y1z"><path d="M2 2l8 4-8 4z" class="svelte-14y1y1z"></path></svg></button>`),Ir=L(`<p class="notice svelte-14y1y1z" role="alert"> </p>`),Lr=L(`<p class="given svelte-14y1y1z" role="status"> </p>`),Rr=L(`<p class="legend svelte-14y1y1z" aria-hidden="true"><span class="svelte-14y1y1z"><i class="k g svelte-14y1y1z"></i>you gave it</span><span class="svelte-14y1y1z"><i class="k h svelte-14y1y1z"></i>Iso read it</span><span class="svelte-14y1y1z"><i class="k d svelte-14y1y1z"></i>Iso changed it</span><span class="svelte-14y1y1z"><i class="k p svelte-14y1y1z"></i>Iso points to it</span><span class="svelte-14y1y1z"><i class="k n svelte-14y1y1z">1</i>read, in order</span></p>`),zr=L(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◇</i>Take back from Iso</button>`),Br=L(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◆</i>Give to Iso</button>`),Vr=L(`<div class="offer frame svelte-14y1y1z" role="menu"><!> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">▣</i>Open</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i class="q svelte-14y1y1z" aria-hidden="true">?</i>A question about it</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">△</i>A problem using it</button></div>`),Hr=L(`<div aria-hidden="true"> </div>`),Ur=L(`<!> <div><div class="scaled svelte-14y1y1z"></div> <!> <!> <div class="scaled svelte-14y1y1z"><!> <!></div> <!> <!></div> <!> <!> <!> <!> <!> <!>`,1),Wr=L(`<div role="application" aria-label="The atlas: the map of the base" tabindex="0"><div class="ground dots svelte-14y1y1z" aria-hidden="true"></div> <!></div>`);function Gr(r,o){ee(o,!0);let u=I(o,`pick`,3,``),f=e(null),m=e(null),y=``,C=e(``),T=e({x:0,y:0,k:1}),E=e(1),D;v(()=>{let e=d(T).k;clearTimeout(D),Math.abs(Math.log(e/d(E)))>.35?h(E,e,!0):e!==d(E)&&(D=setTimeout(()=>h(E,e,!0),150))});let O=e=>{h(T,e),h(E,e.k,!0)},A=e({w:0,h:0}),M=e(``),N=e([]),P=G(()=>d(N).at(-1)??``),L=e(void 0),z=[`fine`,`coarse`,`coarser`],V=e(S(z.find(e=>e===ne(`isorite.atlas.grain`))??`fine`)),H=e(ne(`isorite.atlas.leaves`)===`on`),U=!1,te=window.innerWidth>=window.innerHeight?`right`:`up`;function ne(e){try{return localStorage.getItem(e)}catch{return null}}function K(){h(V,z[(z.indexOf(d(V))+1)%z.length],!0),U=!1;try{localStorage.setItem(`isorite.atlas.grain`,d(V))}catch{}oe()}function ae(e){h(H,e,!0);try{localStorage.setItem(`isorite.atlas.leaves`,e?`on`:`off`)}catch{}}async function oe(){try{let e=await X.api.map(),t={...e,model:jt(e.model,t=>{let n=e.notes[t];return n?.kind===`question`?!Z.on.questions||!!n.done:n?.kind===`problem`&&!Z.on.problems})},n=`${te}|${d(V)}`,r=d(m)&&y===n?d(m).layout.orders??null:null,i=await tr(t.model,{gridFlow:te,grain:d(V),blocks:!0,from:r});y=n;let a=!!d(m)&&d(m).key!==i.key,o=d(m)&&d(q)?{refs:new Set(d(q).items.map(e=>e.ref)),edges:new Set(d(f).model.edges.map(([e,t])=>`${e}>${t}`))}:null,s=!d(m)||d(m).key!==i.key&&!U,c=++we,l=matchMedia(`(prefers-reduced-motion: reduce)`).matches,u=!!o&&a&&!l;if(u){if(h(Se,d(je)),h(xe,`retract`),await be(ge),c!==we)return;h(Se,[]),h(xe,`move`)}if(h(f,t),h(m,i),h(C,``),o&&a&&De(o),s&&d(A).w&&O(he()),u){if(await be(_e),c!==we)return;h(xe,`draw`),await be(ve),c===we&&h(xe,``)}}catch(e){h(C,e.message,!0)}}let se=``;v(()=>{let e=`${Z.on.questions}|${Z.on.problems}`;se&&se!==e&&oe(),se=e}),v(()=>{oe();let e,t=X.on(t=>{(t.type===`note-changed`||t.type===`record`)&&(clearTimeout(e),e=setTimeout(()=>{oe()},400))});return()=>{t(),clearTimeout(e)}});let q=G(()=>d(m)?_t(d(m).layout):null),J=G(()=>d(q)?ht(d(q)):null),me=G(()=>d(q)?vt(d(q),d(E)):``),he=()=>{let e=(d(q)?.margin??0)/2,t={gx:e,gy:e,w:(d(q)?.W??1)-2*e,h:(d(q)?.H??1)-2*e},n=d(Lt)?.draft?d(Lt):null;if(n&&d(q)){let e=Math.max(t.gx+t.w,n.gx+Math.max(n.w,240/d(q).cell)+2),r=Math.max(t.gy+t.h,n.gy+n.h+70/d(q).cell);t.gx=Math.min(t.gx,n.gx-2),t.gy=Math.min(t.gy,n.gy-2),t.w=e-t.gx,t.h=r-t.gy}return kt(t,d(A).w,d(A).h,1,d(q)?.cell)},ge=220,_e=520,ve=340,be=e=>new Promise(t=>setTimeout(t,e)),xe=e(``),Se=e([]),we=0,Te=e(!1),Ee=e([]);async function De(e){if(h(Te,!0),setTimeout(()=>h(Te,!1),700),await ce(),!d(q)||!d(J)||!d(f))return;let t=matchMedia(`(prefers-reduced-motion: reduce)`).matches;for(let n of d(q).items)e.refs.has(n.ref)||n.ref.startsWith(`@`)||(d(L)?.querySelector(n.kind===`folder`?`[data-folder="${CSS.escape(n.ref)}"]`:`[data-note="${CSS.escape(n.ref)}"]`))?.animate([{opacity:0},{opacity:0,offset:t?0:.45},{opacity:1}],{duration:t?200:1e3,easing:`ease-out`});let n=d(f).model.edges.filter(([t,n])=>!e.edges.has(`${t}>${n}`)&&!t.startsWith(`@`)&&!n.startsWith(`@`)&&e.refs.has(t)&&e.refs.has(n));h(Ee,n.flatMap(([e,t])=>{let n=d(J).at.get(e),r=d(J).at.get(t);return n===void 0||r===void 0?[]:[{key:`${e}>${t}`,d:Oe(d(q).items[yt(d(J),d(me),n)],d(q).items[yt(d(J),d(me),r)])}]})),d(Ee).length&&setTimeout(()=>h(Ee,[]),5600)}function Oe(e,t){let n=t.gx+t.w/2-(e.gx+e.w/2),r=t.gy+t.h/2-(e.gy+e.h/2),i=11/18*Math.abs(n)>=Math.abs(r);return Dt(Ot(i?[n<0?e.gx:e.gx+e.w,e.gy+e.h/2]:[e.gx+e.w/2,r<0?e.gy:e.gy+e.h],i?[n<0?t.gx+t.w:t.gx,t.gy+t.h/2]:[t.gx+t.w/2,r<0?t.gy+t.h:t.gy],i),0,d(q).cell)}v(()=>{if(!d(L))return;let e=new ResizeObserver(([e])=>{let{width:t,height:n}=e.contentRect,r=!d(A).w,i=d(A);h(A,{w:t,h:n}),r&&d(q)?O(he()):!r&&t&&n&&h(T,{...d(T),x:d(T).x+(t-i.w)/2,y:d(T).y+(n-i.h)/2})});return e.observe(d(L)),()=>e.disconnect()});let ke=G(()=>d(q)?d(q).items.flatMap((e,t)=>e.kind===`folder`&&d(me)[t]!==`-`?[{item:e,i:t,open:d(me)[t]===`o`}]:[]):[]),Ae=G(()=>d(q)?d(q).items.flatMap((e,t)=>e.kind===`note`&&d(me)[t]===`s`?[{item:e,i:t}]:[]):[]),je=G(()=>d(q)?wt(bt(d(q),d(me),d(J).strong,d(H))).map(e=>({key:e.key,pts:e.pts,d:Dt(e.pts,0,d(q).cell),count:e.count,strong:e.strong,trunk:e.trunk,...Me(e)})).map((e,t,n)=>({...e,label:e.label&&!n.some((n,r)=>r!==t&&n.label&&n.count===e.count&&Math.hypot(n.mid[0]-e.mid[0],n.mid[1]-e.mid[1])<10&&(n.length>e.length||n.length===e.length&&r<t))})):[]);function Me(e){let t=e.pts[0],n=t,r=0;for(let i=1,a=0;i<e.pts.length;i++){let o=e.pts[i-1],s=e.pts[i],c=e.pts[i+1];if(c&&Math.abs((s[0]-o[0])*(c[1]-s[1])-(s[1]-o[1])*(c[0]-s[0]))<1e-6&&(s[0]-o[0])*(c[0]-s[0])+(s[1]-o[1])*(c[1]-s[1])>0)continue;let l=e.pts[a],u=Math.hypot(s[0]-l[0],s[1]-l[1]);u>r&&(r=u,t=l,n=s),a=i}return{label:e.trunk&&e.count>1&&r>=3,mid:[(t[0]+n[0])/2,(t[1]+n[1])/2],side:Math.abs(t[0]-n[0])<1e-6?`right`:`above`,length:r}}let Ne=G(()=>u()?``:d(P)||d(M)),Pe=G(()=>d(Ne)&&d(f)&&d(J)?.at.has(d(Ne))?pe(d(f).model,d(Ne)):null),Fe=G(()=>{let e=new Map;if(!d(Pe))return e;for(let t of d(Pe).also)e.set(t,{mark:`also`,far:0});for(let t of d(Pe).uses)e.set(t,{mark:`use`,far:0});for(let t of d(Pe).builds)e.set(t,{mark:`bld`,far:0});for(let t of d(Pe).requires)e.set(t,{mark:`req`,far:d(Pe).depth[t]??1});for(let t of d(N))e.set(t,{mark:`req`,far:1});return e.set(d(Ne),{mark:`at`,far:0}),e}),Ie=G(()=>{if(!d(Pe))return[];let e=d(N).slice(1).map((e,t)=>({from:d(N)[t],to:e,kind:`requires`})),t=d(N).at(-2);return[...e,...d(Pe).links.filter(e=>e.kind===`requires`?e.from===d(Ne):e.kind!==`builds`||e.from!==t)]}),Le=G(()=>{let e=new Map;if(!d(Pe)||!d(J))return e;let t=new Set(d(J).up[d(J).at.get(d(Ne))]),n=(n,r)=>{for(let i of n)for(let n of d(J).up[d(J).at.get(i)??-1]??[]){if(t.has(n))break;let i=e.get(n)??{req:0,bld:0};i[r]++,e.set(n,i)}};return n(d(Pe).requires,`req`),n(d(Pe).builds,`bld`),e}),Re=(e,t)=>{let n=d(Le).get(e),r=d(q).items[e].parent;return n&&(!t||r<0||!d(Le).has(r))?n:{req:0,bld:0}},ze=e([]),Be=e({requires:0,builds:0,uses:0});function Ve(e,t){if(!e.length||!d(q)||!d(J)||!d(m)){t([],[]);return}let n=e.flatMap(e=>{let t=d(J).at.get(e.from),n=d(J).at.get(e.to);return t===void 0||n===void 0?[]:[{a:t,b:n,kind:e.kind}]}),{fixed:r,asks:i}=Tt(d(q),d(J),d(me),n),a=e=>t(wt(e,!0).map(e=>({key:e.key,kind:e.kind,d:Dt(e.pts,0,d(q).cell),count:e.count,still:!e.flow})),e);if(a(r),!i.length)return;let o=!1;return nr(d(m).key,d(q),i.map(({a:e,b:t})=>({a:e,b:t}))).then(e=>{o||a([...r,...i.flatMap((t,n)=>e[n]?[{key:t.key,kind:t.kind,pts:[...e[n]].reverse()}]:[])])}).catch(()=>void 0),()=>{o=!0}}v(()=>Ve(d(Ie),(e,t)=>{h(ze,e),h(Be,{requires:t.filter(e=>e.kind===`requires`).length,builds:t.filter(e=>e.kind===`builds`).length,uses:t.filter(e=>e.kind===`uses`).length})}));let He=G(()=>Ce.route.id===`/n/[...id]`?Ce.params.id??``:``);function Ue(e,t=!1){if(!d(q)||!d(J)||!e)return-1;let n=t?d(q).items.findIndex(t=>t.kind===`folder`&&t.ref.replace(/\/$/,``)===e):d(J).at.get(e)??-1;return n<0?-1:yt(d(J),d(me),n)}let Q=G(()=>Ue(d(He))),We=G(()=>fe.elsewhere),Ge=G(()=>d(We)?Ue(d(We).id,d(We).folder):-1),Ke=G(()=>{if(!d(We)||d(We).folder||!d(He)||d(We).id===d(He)||!d(f))return[];let e=d(f).model.edges.find(([e,t])=>e===d(He)&&t===d(We).id||e===d(We).id&&t===d(He));return e?[{from:e[0],to:e[1],kind:e[2]>=de.requires?`requires`:`uses`}]:[]}),qe=e([]);v(()=>Ve(d(Ke),e=>{h(qe,e.map(e=>({...e,key:`there:${e.key}`})))}));let Je=``;v(()=>{let e=d(He);n(()=>{if(e&&e!==Je&&d(P)&&d(P)===Je&&d(J)?.at.has(e)){let t=[];if(d(Pe)&&d(Pe).depth[e])for(let n=e;n&&n!==d(P);n=d(Pe).via[n])t.unshift(n);h(N,d(N).includes(e)?d(N).slice(0,d(N).indexOf(e)+1):t.length?[...d(N),...t]:[e])}Je=e})});function Ye(e){if(!d(q)||e<0||!d(A).w)return null;let t=d(q).items[e],n=d(q).cell*d(T).k,r=d(T).x+t.gx*n,i=d(T).y+t.gy*n,a=r+t.w*n,o=i+t.h*n;if(a>0&&r<d(A).w&&o>0&&i<d(A).h)return null;let s=d(A).w/2,c=d(A).h/2,l=(r+a)/2-s,u=(i+o)/2-c,f=Math.min((s-14)/Math.max(Math.abs(l),1e-6),(c-14)/Math.max(Math.abs(u),1e-6));return{x:s+l*f,y:c+u*f,angle:Math.atan2(u,l)}}let Xe=G(()=>u()?null:Ye(d(Q))),Ze=G(()=>u()||d(Ge)===d(Q)?null:Ye(d(Ge)));function Qe(e){if(!d(q))return;let t=d(q).items[e],n=d(q).cell*d(T).k;U=!0,mn({k:d(T).k,x:d(A).w/2-(t.gx+t.w/2)*n,y:d(A).h/2-(t.gy+t.h/2)*n})}let rt=G(()=>u()?null:X.iso),it=G(()=>d(rt)?.state===`reading`||d(rt)?.state===`writing`),at=G(()=>{let e=new Map;for(let t of d(rt)?.steps??[])t.opened&&!t.failed&&!e.has(t.opened)&&e.set(t.opened,t.how);return e}),lt=G(()=>Z.on.context||!!u()),ut=G(()=>new Set(Y.parts.filter(e=>e.kind===`note`).map(e=>e.id))),dt=G(()=>new Set(Y.parts.filter(e=>e.kind===`folder`).map(e=>e.id))),gt=G(()=>new Map(($.report?.rows??[]).filter(e=>e.kind===`read`).map(e=>[e.key.slice(2),e]))),xt=G(()=>$.turns.at(-1)),St=G(()=>new Set($.turns.filter(e=>!e.items.some(e=>e.kind===`undone`)).flatMap(e=>e.items.flatMap(e=>e.kind===`change`&&e.why!==`delete`?[e.why===`move`?e.to:e.note]:[])))),Ct=G(()=>new Map((d(xt)?.items??[]).flatMap(e=>e.kind===`point`?[[e.note,e.why]]:[]))),Et=G(()=>{let e=new Map;for(let t of d(xt)?.items??[])t.kind===`look`&&t.step.opened&&!t.step.failed&&!e.has(t.step.opened)&&e.set(t.step.opened,e.size+1);return e}),Mt=G(()=>d(it)?d(rt).steps.findLast(e=>e.opened&&!e.failed)?.opened??``:``),Pt=G(()=>(d(rt)?.steps??[]).flatMap(e=>e.how===`link`&&e.from&&e.opened&&!e.failed?[{from:e.from,to:e.opened,kind:`iso`}]:[])),Ft=e([]);v(()=>Ve(d(Pt),e=>{h(Ft,e.map(e=>({...e,key:`iso:${e.key}`})))}));let It=e(null);v(()=>{let e=d(rt)?.note??``;if(h(It,null),!e.startsWith(`@draft/`))return;let t=!1;return X.api.readNote(e).then(e=>{t||h(It,e)},()=>void 0),()=>{t=!0}});let Lt=G(()=>{if(!d(rt)||!d(q)||!d(J))return null;if(!d(rt).note.startsWith(`@draft/`)){let e=d(J).at.get(d(rt).note);if(e===void 0)return null;let t=d(q).items[yt(d(J),d(me),e)];return{gx:t.gx,gy:t.gy,w:t.w,h:t.h,draft:!1,title:dn(d(rt).note)}}let e=Math.round(126/d(q).cell),t=Math.round(77/d(q).cell),n=d(It)?nt(d(It).text)||`a new note`:``,r=ot(d(rt).note),i=r?{gx:Math.round(r.gx*7/d(q).cell),gy:Math.round(r.gy*7/d(q).cell)}:null;if(i&&!d(q).items.some(n=>n.kind===`note`&&i.gx<n.gx+n.w+1&&n.gx<i.gx+e+1&&i.gy<n.gy+n.h+1&&n.gy<i.gy+t+1))return{...i,w:e,h:t,draft:!0,title:n};let a=d(q).items.filter(e=>e.parent<0),o=Math.max(...a.map(e=>e.gx+e.w)),s=Math.max(...a.map(e=>e.gy+e.h)),c=Math.round(84/d(q).cell);return te===`right`?{gx:o+c,gy:Math.round((d(q).H-t)/2),w:e,h:t,draft:!0,title:n}:{gx:Math.round((d(q).W-e)/2),gy:s+c,w:e,h:t,draft:!0,title:n}}),Rt=G(()=>d(It)?$e(d(It).text).filter(e=>d(f)?.notes[e]):[]),zt=G(()=>!d(Lt)?.draft||!d(q)||!d(J)?[]:d(Rt).flatMap(e=>{let t=d(J).at.get(e);return t===void 0?[]:[{key:e,d:Oe(d(Lt),d(q).items[yt(d(J),d(me),t)])}]})),Bt=e=>{if(!d(lt))return``;if(e===d(Mt))return`used`;let t=d(at).get(e);return t===`keyword`?`key`:t===`meaning`?`sem`:t?`link`:``};v(()=>{let e=d(rt);e&&e.request===X.watching&&e.state!==`reading`&&e.state!==`writing`&&(X.watching=``,e.state===`done`&&ue(le(`/draft/[id]`,{id:e.note.slice(7)})))});let Vt=``;v(()=>{d(Lt)?.draft&&d(rt)&&Vt!==d(rt).request&&d(A).w&&(Vt=d(rt).request,U||h(T,he()))});let Ht=e(null),Ut=e(``);v(()=>{if(h(Ht,null),h(Ut,``),!u())return;let e=!1;return X.api.readNote(u()).then(t=>{e||h(Ht,t)},()=>{e||h(Ut,`that note for Iso is not here any more`)}),()=>{e=!0}});let Wt=G(()=>d(Ht)?$e(d(Ht).text).filter(e=>d(f)?.notes[e]&&!e.startsWith(`@`)):[]),Gt=Promise.resolve();function Kt(e){Gt=Gt.then(async()=>{if(!d(Ht)||e.startsWith(`@`))return;let t=t=>$e(t).includes(e)?tt(t,e):et(t,e,dn(e)),n=t(d(Ht).text);if(n===null)h(Ut,`linked in what you wrote: take it out there`);else{h(Ut,``);try{h(Ht,await X.api.saveNote(u(),{base:d(Ht).version,text:n}))}catch{try{let e=await X.api.readNote(u()),n=t(e.text);h(Ht,n===null?e:await X.api.saveNote(u(),{base:e.version,text:n}))}catch(e){h(Ut,`not linked: ${e.message}`)}}}})}let qt=e(null),Jt=null,Yt=!1,Xt,Zt;function Qt(){clearTimeout(Xt),clearTimeout(Zt),Xt=Zt=void 0,Jt=null,Yt||h(qt,null)}function $t(e,t){let n=null;for(let r of d(q).items)r.kind===`folder`&&!r.ref.startsWith(`@`)&&e>=r.gx&&e<r.gx+r.w&&t>=r.gy&&t<r.gy+r.h&&(!n||r.depth>n.depth)&&(n={ref:r.ref,depth:r.depth});return n?.ref??``}function en(e,t){if(Qt(),d(nn)&&!(e.target instanceof Element&&e.target.closest(`.offer`))&&h(nn,null),u()||Yt||!d(q)||!d(J)||!(e.target instanceof Element)||e.target.closest(`button, .dock`))return;let n=e.target.closest(`[data-note]`)?.dataset.note??``;if(n.startsWith(`@`))return;if(n){let r=e.pointerType!==`mouse`;Zt=setTimeout(()=>{Zt=void 0,hn=!0,r?h(nn,{ref:n,x:t.x,y:t.y}):on(n)},650);return}let r=d(q).cell*d(T).k,i=Math.round((t.x-d(T).x)/r),a=Math.round((t.y-d(T).y)/r),o={dir:$t(i,a),gx:i,gy:a,w:0,h:0,folder:!1};Xt=setTimeout(()=>{h(qt,o)},180),Zt=setTimeout(()=>{Zt=void 0,hn=!0,Jt=t,h(qt,o),d(L)?.setPointerCapture(e.pointerId)},650)}function tn(e){Jt&&d(qt)&&!d(qt).folder&&Math.hypot(e.x-Jt.x,e.y-Jt.y)>=24&&h(qt,{...d(qt),folder:!0})}let nn=e(null),rn=e(``),an;function on(e,t=`note`){let n=Y.add({kind:t,id:e,title:t===`note`?dn(e):fn(e)});h(rn,n?`${t===`note`?dn(e):fn(e)} is in Iso's context`:`${t===`note`?dn(e):fn(e)} is in Iso's context already`,!0),clearTimeout(an),an=setTimeout(()=>h(rn,``),2200)}function sn(e,t=`note`){let n=t===`note`&&!Y.has(`note`,e)?d(gt).get(e):void 0;if(n){$.toggle(n),h(rn,`${dn(e)} is ${n.on?`set aside`:`in Iso's hand again`}`),clearTimeout(an),an=setTimeout(()=>h(rn,``),2200);return}if(!Y.has(t,e)){on(e,t);return}let r=t===`note`?dn(e):fn(e);Y.remove({kind:t,id:e,title:r}),h(rn,`${r} is out of Iso's context`),clearTimeout(an),an=setTimeout(()=>h(rn,``),2200)}function cn(){Jt&&d(qt)&&(Jt=null,ln(d(qt)))}async function ln(e){Yt=!0;let t=X.listing.notes.map(e=>e.id),n=e.dir;if(e.folder){let r=st(e.dir,`untitled-folder`,e=>!t.some(t=>t.startsWith(`${e}/`)));n=[e.dir,r.slug].filter(Boolean).join(`/`)}let r=st(n,`untitled-note`,e=>!t.includes(e)),i=[n,r.slug].filter(Boolean).join(`/`),a=r.n===1?`Untitled note`:`Untitled note ${r.n}`;try{await X.api.createNote(i,`---\ntype: Concept\ntitle: ${JSON.stringify(a)}\n---\n\n`),await X.refresh(),Z.fresh=i,await Z.open(i)}catch(e){h(Ut,e.message,!0)}finally{Yt=!1,h(qt,null)}}async function un(e,t){try{await ct(e,t)}catch(e){h(Ut,e.message,!0)}}let dn=e=>d(f)?.notes[e]?.title??e.split(`/`).at(-1)??e,fn=e=>e.split(`/`).at(-1)||X.session?.name||`the base`,pn=0;function mn(e){if(cancelAnimationFrame(pn),jn(),matchMedia(`(prefers-reduced-motion: reduce)`).matches){h(T,e);return}let t=d(T),n=performance.now(),r=i=>{let a=Math.min(1,(i-n)/320),o=1-(1-a)**3,s=t.k*(e.k/t.k)**o,c=d(A).w/2,l=d(A).h/2,u=(c-t.x)/t.k*(1-o)+(c-e.x)/e.k*o,f=(l-t.y)/t.k*(1-o)+(l-e.y)/e.k*o;h(T,a===1?e:{k:s,x:c-u*s,y:l-f*s}),a<1&&(pn=requestAnimationFrame(r))};pn=requestAnimationFrame(r)}let hn=!1,gn=new Map,_n=null;function vn(){let e=[...gn.values()];if(!e.length){_n=null;return}let t=e.reduce((e,t)=>e+t.x,0)/e.length,n=e.reduce((e,t)=>e+t.y,0)/e.length;_n={view:d(T),x:t,y:n,span:e.length>1?Math.hypot(e[0].x-e[1].x,e[0].y-e[1].y):0}}let yn=e=>{let t=d(L).getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},bn=null,xn=e(S({x:0,y:0}));function Sn(e){if(u()||!(e.target instanceof Element))return null;let t=e.target.closest(`[data-note]`)?.dataset.note;if(t)return t.startsWith(`@`)?null:{kind:`note`,id:t,title:dn(t)};let n=(e.target.closest(`.frame-title`)?.closest(`[data-folder]`)??e.target.closest(`button[data-folder]`))?.dataset.folder;return n&&!n.startsWith(`@`)?{kind:`folder`,id:n,title:fn(n)}:null}function Cn(e){if(!bn||e.pointerType!==`mouse`)return;h(xn,{x:e.clientX,y:e.clientY},!0);let t=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-pane="iso"]`)!=null;Y.carrying={part:bn,over:t}}function wn(e){(e.pointerType!==`mouse`||e.button===0)&&(cancelAnimationFrame(pn),jn(),gn.size||(hn=!1,bn=Sn(e)),gn.set(e.pointerId,yn(e)),vn(),gn.size===1?en(e,yn(e)):Qt())}function Tn(e){if(!gn.has(e.pointerId)||!_n)return;if(gn.set(e.pointerId,yn(e)),Jt){tn(yn(e));return}let t=[...gn.values()],n=t.reduce((e,t)=>e+t.x,0)/t.length,r=t.reduce((e,t)=>e+t.y,0)/t.length;if(!hn&&t.length===1&&Math.hypot(n-_n.x,r-_n.y)<5)return;if(hn||(hn=!0,Qt(),d(L).setPointerCapture(e.pointerId)),t.length===1&&bn){Cn(e);return}U=!0;let i=t.length>1?Math.hypot(t[0].x-t[1].x,t[0].y-t[1].y):0,a=_n.span&&i?At(_n.view,i/_n.span,_n.x,_n.y):_n.view;h(T,{k:a.k,x:a.x+n-_n.x,y:a.y+r-_n.y})}function En(e){if(gn.delete(e.pointerId)){if(Y.carrying){let{part:e,over:t}=Y.carrying;Y.carrying=null,t&&(e.kind===`note`||e.kind===`folder`)&&on(e.id,e.kind)}bn=null,Jt?cn():Zt!==void 0&&Qt(),vn()}}let Dn=null,On=0;function kn(e){e.preventDefault(),cancelAnimationFrame(pn),U=!0;let t=yn(e),n=e.deltaMode===1?16:1,r=Math.exp(-e.deltaY*n*(e.ctrlKey?.01:.0015)),i=Math.min(3,Math.max(mt,(Dn?.k??d(T).k)*r));matchMedia(`(prefers-reduced-motion: reduce)`).matches?h(T,At(d(T),i/d(T).k,t.x,t.y)):(Dn={k:i,x:t.x,y:t.y},On||=requestAnimationFrame(An))}function An(){if(On=0,!Dn)return;let e=Dn.k/d(T).k;Math.abs(Math.log(e))<.004?(h(T,At(d(T),e,Dn.x,Dn.y)),Dn=null):(h(T,At(d(T),e**.3,Dn.x,Dn.y)),On=requestAnimationFrame(An))}function jn(){cancelAnimationFrame(On),On=0,Dn=null}v(()=>{if(!d(L))return;let e=d(L);return e.addEventListener(`wheel`,kn,{passive:!1}),()=>e.removeEventListener(`wheel`,kn)});function Mn(e,t){if(e.metaKey||e.ctrlKey||(e.preventDefault(),e.stopPropagation(),hn))return;if(u()){Kt(t);return}if(e.shiftKey){t.startsWith(`@`)||sn(t);return}if(d(P)===t){Z.open(t);return}let n=[];if(d(Pe)&&d(Ne)===d(P)&&d(Pe).depth[t])for(let e=t;e&&e!==d(P);e=d(Pe).via[e])n.unshift(e);h(N,d(N).includes(t)?d(N).slice(0,d(N).indexOf(t)+1):n.length?[...d(N),...n]:[t])}function Nn(e,t){if(hn||!d(q))return;let n=d(q).items[e].ref;if(t?.shiftKey){n.startsWith(`@`)||sn(n,`folder`);return}U=!0;let r=kt(d(q).items[e],d(A).w,d(A).h,1.5,d(q).cell),i=Math.abs(r.k-d(T).k)<.01*r.k&&Math.hypot(r.x-d(T).x,r.y-d(T).y)<4,a=d(q).items[e].parent;mn(i?a<0?he():kt(d(q).items[a],d(A).w,d(A).h,1.5,d(q).cell):r)}function Pn(e){if(hn||!(e.target instanceof Element)||e.target.closest(`.dock, .key`))return;let t=e.target.closest(`[data-folder]`);e.target.closest(`a, button`)||(d(P)?h(N,[]):d(rt)&&!d(it)?X.iso=null:t&&d(q)?Nn(d(q).items.findIndex(e=>e.kind===`folder`&&e.ref===t.dataset.folder),e):mn(he()))}function Fn(e){if(e.key===`Escape`){h(N,[]),h(M,``);return}if(e.key===`c`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){K();return}if(e.key===`l`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){ae(!d(H));return}if(e.target!==d(L))return;let t={x:d(A).w/2,y:d(A).h/2};if(e.key===`+`||e.key===`=`)h(T,At(d(T),1.25,t.x,t.y));else if(e.key===`-`)h(T,At(d(T),.8,t.x,t.y));else if(e.key===`0`)mn(he());else if(e.key===`ArrowLeft`)h(T,{...d(T),x:d(T).x+80});else if(e.key===`ArrowRight`)h(T,{...d(T),x:d(T).x-80});else if(e.key===`ArrowUp`)h(T,{...d(T),y:d(T).y+80});else if(e.key===`ArrowDown`)h(T,{...d(T),y:d(T).y-80});else return;e.preventDefault(),U=!0}let In=G(()=>{if(!d(q)||!d(A).w||d(T).k<=he().k*1.05)return-1;let e=d(q).cell*d(T).k,t=(d(A).w/2-d(T).x)/e,n=(d(A).h/2-d(T).y)/e,r=-1;return d(q).items.forEach((i,a)=>{i.kind!==`folder`||d(me)[a]!==`o`||t<i.gx||t>i.gx+i.w||n<i.gy||n>i.gy+i.h||(i.w*e>=.6*d(A).w||i.h*e>=.6*d(A).h)&&(r<0||d(q).items[r].depth<i.depth)&&(r=a)}),r});function Ln(){if(!d(q))return;U=!0;let e=d(In)<0?-1:d(q).items[d(In)].parent;mn(e<0?he():kt(d(q).items[e],d(A).w,d(A).h,1.5,d(q).cell))}let Rn=G(()=>12*d(E)>=pt),zn=G(()=>d(q)&&d(f)?Nt(d(Ae).map(e=>e.item),d(f).notes,{web:Z.on.web,code:Z.on.code}):[]),Bn=e=>e>=0&&d(q).items[e].depth%2?`var(--ground-1)`:`var(--ground-0)`;v(()=>(X.atlas={chosen:d(P)?dn(d(P)):``,chosenId:d(P),steps:d(N).length-1,pick:!!u(),here:d(In)<0?``:fn(d(q).items[d(In)].ref),out:Ln,fit:()=>{U=!1,mn(he())}},()=>{X.atlas=null}));var Vn=Wr();let Hn;var Un=W(Vn),Wn=b(Un,2),Gn=e=>{var t=Cr(),n=x(t);s(()=>i(n,`The map could not be drawn: ${d(C)??``}`)),R(e,t)},Kn=e=>{var n=Ur(),r=l(n),o=e=>{var t=wr();R(e,t)};_(r,e=>{d(q).items.length||e(o)});var c=b(r,2);let m;var v=W(c);g(v,21,()=>d(ke),e=>e.item.id,(e,t)=>{{let n=G(()=>fn(d(t).item.ref)),r=G(()=>d(t).item.parent<0||(d(t).item.gy-d(q).items[d(t).item.parent].gy)*d(q).cell*d(E)>=18),i=G(()=>Re(d(t).i,d(t).open)),a=G(()=>!!d(Pe)&&!d(t).open&&!d(Le).has(d(t).i)),o=G(()=>d(lt)&&d(dt).has(d(t).item.ref)),s=G(()=>!d(t).open&&d(Q)===d(t).i),c=G(()=>d(Ge)===d(t).i?d(We).who:``);hr(e,{get item(){return d(t).item},get name(){return d(n)},get count(){return d(J).noteCount[d(t).i]},get open(){return d(t).open},get titled(){return d(r)},get held(){return d(i)},get dim(){return d(a)},get given(){return d(o)},get here(){return d(s)},get moment(){return d(c)},onpick:e=>Nn(d(t).i,e)})}}),k(v);var y=b(v,2);{let e=G(()=>[...d(lt)?d(Ft):[],...d(ze),...d(qe)]);Sr(y,{get k(){return d(E)},get rest(){return d(je)},get hot(){return d(e)},get counts(){return d(Be)},get sent(){return d(zt)},get grown(){return d(Ee)},get beat(){return d(xe)},get retracting(){return d(Se)}})}var S=b(y,2),C=e=>{var n=t(),r=l(n);g(r,17,()=>d(je),e=>e.key,(e,n)=>{var r=t(),a=l(r),o=e=>{var t=Tr(),r=x(t,!0);s(()=>{F(t,1,`count ${d(n).side??``}`,`svelte-14y1y1z`),B(t,`--x:${d(n).mid[0]??``};--y:${d(n).mid[1]??``}`),i(r,d(n).count)}),R(e,t)};_(a,e=>{d(n).label&&e(o)}),R(e,r)}),R(e,n)};_(S,e=>{d(Rn)&&!d(xe)&&e(C)});var w=b(S,2),D=W(w);g(D,17,()=>d(Ae),e=>e.item.id,(e,t)=>{let n=G(()=>d(Fe).get(d(t).item.ref)),r=G(()=>d(n)?.mark??``);{let i=G(()=>dn(d(t).item.ref)),a=G(()=>d(f).notes[d(t).item.ref]?.kind??``),o=G(()=>!!d(f).notes[d(t).item.ref]?.done),s=G(()=>Bn(d(t).item.parent)),c=G(()=>d(n)?.far??0),l=G(()=>d(Wt).indexOf(d(t).item.ref)+1),u=G(()=>Bt(d(t).item.ref)),p=G(()=>d(Rt).includes(d(t).item.ref)),m=G(()=>d(lt)&&d(ut).has(d(t).item.ref)),g=G(()=>d(lt)&&!d(ut).has(d(t).item.ref)?d(gt).get(d(t).item.ref)?.on?`on`:d(gt).has(d(t).item.ref)?`aside`:``:``),_=G(()=>d(lt)&&d(St).has(d(t).item.ref)),v=G(()=>d(lt)?d(Ct).get(d(t).item.ref)??``:``),y=G(()=>d(lt)?d(Et).get(d(t).item.ref)??0:0),b=G(()=>d(Ge)===d(t).i?d(We).who:``),x=G(()=>d(Q)===d(t).i),S=G(()=>!!d(Pe)&&!d(r)),C=G(()=>ye(d(t).item.ref));ur(e,{get item(){return d(t).item},get title(){return d(i)},get kind(){return d(a)},get done(){return d(o)},get behind(){return d(s)},get mark(){return d(r)},get far(){return d(c)},get num(){return d(l)},get iso(){return d(u)},get linked(){return d(p)},get given(){return d(m)},get held(){return d(g)},get changed(){return d(_)},get pointed(){return d(v)},get order(){return d(y)},get moment(){return d(b)},get here(){return d(x)},get dim(){return d(S)},get href(){return d(C)},onpick:e=>Mn(e,d(t).item.ref),onpoint:e=>{h(M,e?d(t).item.ref:d(M)===d(t).item.ref?``:d(M),!0),fe.onAtlas=d(M)}})}});var O=b(D,2);g(O,17,()=>d(zn),e=>e.key,(e,n)=>{var r=t(),i=l(r),o=e=>{var t=Er();s(()=>{j(t,`href`,d(n).href),j(t,`title`,`${d(n).text} · ${d(n).href}`),j(t,`aria-label`,d(n).text),j(t,`data-sat`,d(n).key),B(t,`--x:${d(n).gx??``};--y:${d(n).gy??``}`)}),a(`click`,t,e=>{hn&&e.preventDefault(),e.stopPropagation()}),R(e,t)},c=e=>{var t=Dr();let r;s(e=>{r=F(t,1,`sat code svelte-14y1y1z`,null,r,{broken:d(n).broken}),j(t,`title`,e),j(t,`aria-label`,`${d(n).text}${d(n).broken?`, not in the repository`:``}`),j(t,`data-sat`,d(n).key),B(t,`--x:${d(n).gx??``};--y:${d(n).gy??``}`)},[()=>`${d(n).text} · ${d(n).href.slice(5)}${d(n).broken?` · not in the repository`:``}`]),R(e,t)};_(i,e=>{d(n).kind===`web`?e(o):e(c,-1)}),R(e,r)}),k(w);var N=b(w,2),P=e=>{var t=jr();let n;var r=W(t),a=e=>{var t=Or(),n=W(t),r=x(n,!0);k(t),s(e=>{j(t,`href`,e),j(t,`aria-label`,`${d(Lt).title??``}: your note for Iso`),i(r,d(Lt).title)},[()=>le(`/draft/[id]`,{id:d(rt).note.slice(7)})]),R(e,t)};_(r,e=>{d(Lt).draft&&e(a)});var o=b(r,2),c=e=>{var t=Ar(),n=b(l(t),2),r=b(W(n)),a=e=>{var t=p(`Iso is writing`);R(e,t)},o=e=>{var t=kr(),n=b(l(t)),r=x(n,!0);s(e=>i(r,e),[()=>dn(d(Mt))]),R(e,t)},c=e=>{var t=p(`Iso is thinking`);R(e,t)};_(r,e=>{d(rt).state===`writing`?e(a):d(Mt)?e(o,1):e(c,-1)}),k(n),R(e,t)};_(o,e=>{d(it)&&e(c)}),k(t),s(()=>{n=F(t,1,`asker svelte-14y1y1z`,null,n,{draft:d(Lt).draft}),B(t,`--x:${d(Lt).gx??``};--y:${d(Lt).gy??``};--w:${d(Lt).w??``};--h:${d(Lt).h??``}`)}),R(e,t)};_(N,e=>{d(Lt)&&e(P)});var I=b(N,2),L=e=>{var t=Pr();let n;var r=W(t),a=W(r),o=e=>{var t=Mr();R(e,t)},c=e=>{var t=Nr();ie(),R(e,t)};_(a,e=>{d(qt).folder?e(o):e(c,-1)}),k(r);var l=b(r,2),u=x(l);k(t),s(()=>{n=F(t,1,`grasp svelte-14y1y1z`,null,n,{folder:d(qt).folder}),B(t,`--x:${d(qt).gx??``};--y:${d(qt).gy??``}`),i(u,`${d(qt).folder?`a new folder`:`a new note`}${d(qt).dir?` in ${d(qt).dir}`:``}`)}),R(e,t)};_(I,e=>{d(qt)&&e(L)}),k(c);var z=b(c,2);g(z,17,()=>[{p:d(Xe),i:d(Q),who:`here`},{p:d(Ze),i:d(Ge),who:d(We)?.who??`you`}],e=>e.who===`here`?`here`:`there`,(e,n)=>{var r=t(),i=l(r),o=e=>{var t=Fr();s((e,r)=>{F(t,1,`pip ${d(n).who??``}`,`svelte-14y1y1z`),B(t,`left:${d(n).p.x??``}px;top:${d(n).p.y??``}px;--a:${d(n).p.angle??``}rad`),j(t,`data-pip`,d(n).who===`here`?`here`:`there`),j(t,`aria-label`,`Bring ${e??``} into view`),j(t,`title`,`${r??``}${d(n).who===`here`?`: open in the Note pane`:``}`)},[()=>dn(d(q).items[d(n).i].ref),()=>dn(d(q).items[d(n).i].ref)]),a(`click`,t,e=>{e.stopPropagation(),Qe(d(n).i)}),R(e,t)};_(i,e=>{d(n).p&&e(o)}),R(e,r)});var V=b(z,2),H=e=>{{let t=G(()=>d(Ht)?nt(d(Ht).text):``),n=G(()=>d(Wt).map(e=>({id:e,title:dn(e),tokens:d(f).notes[e]?.tokens??0}))),r=G(()=>le(`/draft/[id]`,{id:u().slice(7)}));ft(e,{get title(){return d(t)},get picked(){return d(n)},budget:8e3,get notice(){return d(Ut)},get href(){return d(r)}})}},ee=e=>{var t=Ir(),n=x(t,!0);s(()=>i(n,d(Ut))),R(e,t)};_(V,e=>{u()?e(H):d(Ut)&&e(ee,1)});var U=b(V,2),te=e=>{var t=Lr(),n=x(t);s(()=>i(n,`◆ ${d(rn)??``}`)),R(e,t)};_(U,e=>{d(rn)&&e(te)});var ne=b(U,2),re=e=>{var t=Rr();R(e,t)};_(ne,e=>{Z.on.context&&!u()&&!d(rn)&&Z.settings===`atlas`&&e(re)});var K=b(ne,2),ae=e=>{let t=G(()=>d(nn));var n=Vr(),r=W(n),i=e=>{var n=zr();a(`click`,n,e=>{e.stopPropagation(),sn(d(t).ref),h(nn,null)}),R(e,n)},o=G(()=>Y.has(`note`,d(t).ref)),c=e=>{var n=Br();a(`click`,n,e=>{e.stopPropagation(),on(d(t).ref),h(nn,null)}),R(e,n)};_(r,e=>{d(o)?e(i):e(c,-1)});var l=b(r,2),u=b(l,2),f=b(u,2);k(n),s((e,r)=>{j(n,`aria-label`,e),B(n,`left:${r??``}px;top:${d(t).y+14}px`)},[()=>dn(d(t).ref),()=>Math.min(d(t).x,d(A).w-170)]),a(`click`,l,e=>{e.stopPropagation(),h(nn,null),Z.open(d(t).ref,!0)}),a(`click`,u,e=>{e.stopPropagation(),h(nn,null),un(`question`,d(t).ref)}),a(`click`,f,e=>{e.stopPropagation(),h(nn,null),un(`problem`,d(t).ref)}),R(e,n)};_(K,e=>{d(nn)&&e(ae)});var oe=b(K,2),se=e=>{var t=Hr();let n;var r=x(t);s(()=>{n=F(t,1,`carried svelte-14y1y1z`,null,n,{over:Y.carrying.over}),B(t,`left:${d(xn).x??``}px;top:${d(xn).y??``}px`),i(r,`${Y.carrying.part.kind===`folder`?`▭`:`▣`} ${Y.carrying.part.title??``}`)}),R(e,t)};_(oe,e=>{Y.carrying&&e(se)}),s(()=>{m=F(c,1,`atlas-world svelte-14y1y1z`,null,m,{labels:d(Rn),shifting:d(Te)}),j(c,`data-open`,d(me)),B(c,`transform: translate(${d(T).x??``}px, ${d(T).y??``}px) scale(${d(T).k/d(E)}); --u: ${(d(q)?.cell??7)*d(E)}px; --k: ${d(E)??``}`),B(v,`transform: scale(${d(E)??``}); --u: ${d(q).cell??``}px; --px: ${1/d(E)}px; --ik: ${1/d(E)}`),B(w,`transform: scale(${d(E)??``}); --u: ${d(q).cell??``}px; --px: ${1/d(E)}px; --ik: ${1/d(E)}`)}),R(e,n)};_(Wn,e=>{d(C)?e(Gn):d(q)&&d(f)&&e(Kn,1)}),k(Vn),re(Vn,e=>h(L,e),()=>d(L)),s(()=>{Hn=F(Vn,1,`atlas svelte-14y1y1z`,null,Hn,{lit:!!d(Pe)}),B(Un,`transform: translate(${(d(T).x%24+24)%24}px, ${(d(T).y%24+24)%24}px)`)}),a(`pointerdown`,Vn,wn),a(`pointermove`,Vn,Tn),a(`pointerup`,Vn,En),c(`pointercancel`,Vn,En),a(`click`,Vn,Pn),a(`keydown`,Vn,Fn),c(`dragstart`,Vn,e=>e.preventDefault()),a(`contextmenu`,Vn,e=>{(d(qt)||Xt!==void 0||Zt!==void 0||d(nn))&&e.preventDefault()}),R(r,Vn),w()}m([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`,`contextmenu`]);var Kr=L(`<div class="side svelte-nwxyyl"><button class="icon svelte-nwxyyl" type="button" aria-label="this session's timeline" title="this session's timeline"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M8 1v14" stroke="currentColor" stroke-width="1.2" fill="none"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor"></path><rect x="5.5" y="12" width="5" height="3" fill="none" stroke="currentColor" stroke-width="1.2"></rect></svg></button> <!></div>`),qr=L(`<div class="map svelte-nwxyyl"><!> <!></div>`);function Jr(t,n){ee(n,!0);let r=G(()=>Ce.url.searchParams.get(`pick`)??new URLSearchParams(Ce.url.hash.split(`?`)[1]??``).get(`pick`)??``),i=e(S((()=>{try{return localStorage.getItem(`isorite.timeline`)===`1`}catch{return!1}})())),o=e([]),c=e(null),l=e=>X.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),u=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`);async function f(){try{h(o,(await X.api.timeline()).filter(e=>!e.note.startsWith(`@draft/`)))}catch{}}v(()=>{if(!d(i))return;f();let e,t=X.on(t=>{t.type===`journal`&&(clearTimeout(e),e=setTimeout(()=>{f()},300))});return()=>{t(),clearTimeout(e)}});function p(e){ue(`${ye(e.note)}?at=${encodeURIComponent(_e(e))}`)}v(()=>{let e=d(c);fe.set(`timeline`,e?{id:e.note,folder:!1,who:u(e)?`iso`:`you`}:null)});function m(){h(i,!d(i)),h(c,null);try{localStorage.setItem(`isorite.timeline`,d(i)?`1`:`0`)}catch{}}var g=qr(),y=W(g);{let e=G(()=>d(r)?`@draft/${d(r)}`:``);Gr(y,{get pick(){return d(e)}})}var x=b(y,2),C=e=>{var t=Kr(),n=W(t),r=b(n,2),u=e=>{ve(e,{get moments(){return d(o)},at:null,get pointed(){return d(c)},leftward:!0,name:`This session's timeline`,label:e=>l(e.note),point:e=>h(c,e),pick:e=>p(e)})};_(r,e=>{d(i)&&e(u)}),k(t),s(()=>j(n,`aria-pressed`,d(i))),a(`click`,n,m),R(e,t)};_(x,e=>{d(r)||e(C)}),k(g),R(t,g),w()}m([`click`]);var Yr=new class{#e=e(null);get value(){return d(this.#e)}set value(e){h(this.#e,e)}started=!1;start(){!this.started&&X.api&&(this.started=!0,this.refresh(),X.on(e=>{(e.type===`iso-done`||e.type===`record`)&&this.refresh()}))}async refresh(){try{this.value=await X.api.spend()}catch{}}},Xr=new class{#e=e(null);get view(){return d(this.#e)}set view(e){h(this.#e,e)}#t=e(``);get problem(){return d(this.#t)}set problem(e){h(this.#t,e,!0)}started=!1;get connected(){return!!this.view?.connected}get running(){return!!this.view?.busy||this.view?.turns.at(-1)?.state===`running`}get api(){return X.api?.terminal??null}start(){!this.started&&X.api&&(this.started=!0,this.api?(this.api.view().then(e=>this.show(e),()=>Z.setTerminal(!1)),X.on(e=>{e.type===`terminal`&&this.show(e.terminal)})):Z.setTerminal(!1))}show(e){let t=this.connected;this.view=e,Z.setTerminal(e.connected);for(let t of e.asking)this.refused.has(t.id)||(/^(shell|bash)$/.test(t.action)?!Z.on.run:/^(edit|write|patch)$/.test(t.action)&&!Z.on.files)&&(this.refused.add(t.id),this.reply(t.id,`reject`));t&&e.connected&&Z.focus!==`iso`&&e.turns.length>(this.seen??e.turns.length)&&Z.unseen++,this.seen=e.turns.length}seen=null;refused=new Set;async send(e){if(this.problem=``,!e.trim()||!this.api)return!1;try{let t=Y.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});return await this.api.prompt(e.trim(),t),!0}catch(e){return this.problem=e.message,!1}}async stop(){try{await this.api?.stop()}catch(e){this.problem=e.message}}async reply(e,t){try{await this.api?.reply(e,t)}catch(e){this.problem=e.message}}},Zr=L(`<span class="d svelte-po8nwq"> </span>`),Qr=L(`<button type="button" class="x svelte-po8nwq" aria-label="The turns it sums up" title="The turns it sums up"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path></path></svg></button>`),$r=L(`<button type="button" class="x svelte-po8nwq" title="Take it out"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button>`),ei=L(`<li><button type="button" class="r svelte-po8nwq" role="switch"><span aria-hidden="true"> </span> <span class="t svelte-po8nwq"> </span> <!> <span class="num svelte-po8nwq"> </span> <i class="bar svelte-po8nwq"></i></button> <!></li>`),ti=L(`<li class="row svelte-po8nwq"><span class="r svelte-po8nwq"><span class="mk svelte-po8nwq" aria-hidden="true">◆</span><span class="t svelte-po8nwq"> </span></span> <button type="button" class="x svelte-po8nwq"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button></li>`),ni=L(`<h2 class="label svelte-po8nwq">notes</h2> <ul class="rows svelte-po8nwq" aria-label="What you gave Iso" title="Sent with your next message to the terminal's agent: notes and folders by name, passages as they are"></ul>`,1),ri=L(`<span class="acts svelte-po8nwq"><button class="icon svelte-po8nwq" type="button" aria-label="Sum up the earlier turns" title="Sum up the earlier turns, all but the last, into a briefing sent instead of them"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M3 3.5h10M3 6.5h10M5 10l3 3 3-3"></path></svg></button> <button class="icon svelte-po8nwq" type="button" aria-label="A new conversation from here" title="A new conversation that starts from a briefing of this one"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M4 2.5v6a3 3 0 0 0 3 3h5"></path><path d="M9.5 9l2.5 2.5L9.5 14"></path></svg></button></span>`),ii=L(`<!> <!>`,1),ai=L(`<h2 class="label svelte-po8nwq"><span> </span> <!></h2> <ul class="rows svelte-po8nwq"></ul>`,1),oi=L(`<p class="total svelte-po8nwq"><span> </span><span class="faint"> </span></p> <!>`,1),si=L(`<p class="bad svelte-po8nwq" role="alert"> </p>`),ci=L(`<div class="context svelte-po8nwq" role="region" aria-label="What Iso is sent"><!> <!></div>`);function li(n,r){ee(r,!0);let o=(e,t=te,n)=>{let r=A(()=>M(n?.(),!1)),o=G(()=>d(p)?Math.min(1,t().tokens/d(p).limit):0);var l=ei();let u;var m=W(l),g=W(m);let S;var w=x(g,!0),T=b(g,2),E=x(T,!0),D=b(T,2),O=e=>{var n=Zr(),r=x(n,!0);s(()=>i(r,t().detail)),R(e,n)};_(D,e=>{t().detail&&e(O)});var N=b(D,2),P=x(N,!0),I=b(N,2);let L;k(m);var z=b(m,2),V=e=>{var n=Qr(),r=W(n),i=x(r);k(n),s((e,t)=>{j(n,`aria-expanded`,e),j(i,`d`,t)},[()=>d(v).includes(t().key),()=>d(v).includes(t().key)?`M4 10l4-4 4 4`:`M4 6l4 4 4-4`]),a(`click`,n,()=>h(v,d(v).includes(t().key)?d(v).filter(e=>e!==t().key):[...d(v),t().key],!0)),R(e,n)},H=e=>{var n=$r();s(()=>j(n,`aria-label`,`Take ${t().title??``} out of Iso's context`)),a(`click`,n,()=>$.takeOut(t())),R(e,n)};_(z,e=>{t().kind===`briefing`?e(V):t().given&&e(H,1)}),k(l),s((e,n,a,o)=>{u=F(l,1,`row svelte-po8nwq`,null,u,{off:!t().on,under:d(r)}),j(l,`data-key`,t().key),j(m,`aria-checked`,t().on),j(m,`aria-label`,`Send: ${t().title??``}`),j(m,`title`,e),m.disabled=n,S=F(g,1,`mk svelte-po8nwq`,null,S,{iso:t().by===`iso`,q:t().kind===`question`}),i(w,f[t().kind]),i(E,t().kind===`passage`?`“${t().given?.kind===`passage`?t().given.text:t().title}”`:t().title),i(P,a),L=B(I,``,L,{"--w":o})},[()=>C(t()),()=>y(t()),()=>c(t().tokens),()=>`${(d(o)*100).toFixed(2)??``}%`]),a(`click`,m,()=>void $.toggle(t())),R(e,l)},c=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),u=[`notes`,`conversation`,`fixed`],f={note:`◆`,folder:`▭`,passage:`“`,understanding:`◇`,read:`◇`,question:`?`,turn:`›`,briefing:`≡`,instructions:``,agents:``,message:``},p=G(()=>$.report),m=G(()=>Z.mode===`build`),v=e(S([])),y=e=>e.kind===`instructions`||e.kind===`message`,C=e=>e.kind===`read`?e.aged?`Read by Iso, and set aside: not used for 3 turns. Iso is told it can read it again. Click to send it again.`:e.on?`Read by Iso, and kept in hand so it is not read again. Click to set it aside.`:`Read by Iso, and set aside. Click to send it again.`:e.kind===`turn`?e.on?`An earlier turn, sent whole. Click to leave it out.`:e.under?`Summed up in the briefing above. Click to send it whole as well.`:`Left out. Click to send it again.`:e.kind===`briefing`?e.on?`Earlier turns, summed up: sent instead of them. Click to send the turns instead.`:`Not sent: the turns it sums up are sent instead. Click to send it again.`:e.kind===`agents`?`AGENTS.md: your instructions for this base, sent with every turn. Click to leave it out.`:e.kind===`question`?`An open question about a note you gave. Click to leave it out.`:y(e)?e.kind===`instructions`?`What Iso is told, and its tools`:`What you are writing`:e.on?`You gave it. Click to leave it out for now; ✕ takes it out.`:`Left out for now. Click to send it again.`;var T=ci(),E=W(T),D=e=>{var t=ni(),n=b(l(t),2);g(n,21,()=>Y.sent,e=>Y.keyOf(e),(e,t)=>{var n=ti(),r=W(n),o=b(W(r)),c=x(o,!0);k(r);var l=b(r,2);k(n),s(()=>{i(c,d(t).kind===`passage`?`“${d(t).text}”`:d(t).title),j(l,`aria-label`,`Take ${d(t).title??``} out of Iso's context`)}),a(`click`,l,()=>Y.remove(d(t))),R(e,n)}),k(n),R(e,t)},O=e=>{var n=oi(),r=l(n),f=W(r),m=x(f,!0),h=b(f),y=x(h);k(r);var S=b(r,2);g(S,16,()=>u,e=>e,(e,n)=>{let r=G(()=>d(p).rows.filter(e=>e.group===n&&!e.under));var c=t(),u=l(c),f=e=>{var c=ai(),u=l(c),f=W(u),m=x(f,!0),h=b(f,2),y=e=>{var t=ri(),n=W(t),r=b(n,2);k(t),s(e=>{n.disabled=e,r.disabled=$.summing||!!$.running||!$.turns.length},[()=>$.summing||!!$.running||d(p).rows.filter(e=>e.kind===`turn`&&e.on).length<2]),a(`click`,n,()=>void $.compact()),a(`click`,r,()=>void $.branch()),R(e,t)};_(h,e=>{n===`conversation`&&e(y)}),k(u);var S=b(u,2);g(S,21,()=>d(r),e=>e.key,(e,n)=>{var r=ii(),i=l(r);o(i,()=>d(n));var a=b(i,2),s=e=>{var r=t(),i=l(r);g(i,17,()=>d(p).rows.filter(e=>e.under===d(n).key),e=>e.key,(e,t)=>{o(e,()=>d(t),()=>!0)}),R(e,r)},c=G(()=>d(n).kind===`briefing`&&d(v).includes(d(n).key));_(a,e=>{d(c)&&e(s)}),R(e,r)}),k(S),s(()=>{i(m,n),j(S,`aria-label`,n===`notes`?`The notes Iso has`:n===`conversation`?`The conversation`:`Always sent`)}),R(e,c)};_(u,e=>{(d(r).length||n===`notes`)&&e(f)}),R(e,c)}),s((e,t)=>{j(r,`title`,d(p).counted?`As the provider counted the last turn`:`Estimated: counted after the first turn`),i(m,e),i(y,`of ${t??``}${d(p).counted?``:` ~`}`)},[()=>c(d(p).tokens),()=>c(d(p).limit)]),R(e,n)};_(E,e=>{d(m)?e(D):d(p)?.rows&&e(O,1)});var N=b(E,2),P=e=>{var t=si(),n=x(t,!0);s(()=>i(n,$.problem)),R(e,t)};_(N,e=>{$.problem&&e(P)}),k(T),R(n,T),w()}m([`click`]);var ui=L(`<div class="permit svelte-17377q0" role="group" aria-label="The terminal's agent asks before it does this"><p>OpenCode wants to <code class="svelte-17377q0"> </code>.</p> <p class="acts svelte-17377q0"><button type="button" class="svelte-17377q0">Allow once</button><button type="button" class="svelte-17377q0">Always allow this</button><button type="button" class="no svelte-17377q0">Don't allow</button></p></div>`),di=L(`<div class="said prose svelte-17377q0"></div>`),fi=L(`<button type="button" class="note-link svelte-17377q0"> </button>`),pi=L(`<code class="q svelte-17377q0"> </code>`),mi=L(`<span class="n svelte-17377q0"><span class="add svelte-17377q0"> </span> <span class="del svelte-17377q0"> </span></span>`),hi=L(`<span> </span>`),gi=L(`<pre class="diff svelte-17377q0"></pre>`),_i=L(`<pre class="out svelte-17377q0"> </pre>`),vi=L(`<details><summary class="svelte-17377q0"><span class="v svelte-17377q0"> </span><!><!></summary> <!></details>`),yi=L(`<p class="line svelte-17377q0"><span class="v svelte-17377q0"> </span><!></p>`),bi=L(`<div class="tool svelte-17377q0"><!> <!></div>`),xi=L(`<p class="doing svelte-17377q0" role="status"><i class="spin svelte-17377q0" aria-hidden="true"></i>OpenCode is at work</p>`),Si=L(`<p class="faint end svelte-17377q0">stopped</p>`),Ci=L(`<p class="bad svelte-17377q0" role="alert">The turn failed; the terminal says why.</p>`),wi=L(`<article class="turn svelte-17377q0"><div class="you svelte-17377q0"><p class="asked svelte-17377q0"> </p><span class="from svelte-17377q0"> </span></div> <!> <!></article>`),Ti=L(`<p class="title faint svelte-17377q0"> </p>`),Ei=L(`<p class="faint">The terminal's session shows here: what is asked there or here, what OpenCode does, and what it asks before doing.</p>`),Di=L(`<div class="chat svelte-17377q0" role="log" aria-label="The terminal's session" aria-live="polite"><!> <!> <!> <!></div>`);function Oi(n,o){ee(o,!0);let c=(e,t=te)=>{var n=ui(),r=W(n),o=b(W(r)),c=x(o,!0);ie(),k(r);var l=b(r,2),u=W(l),d=b(u),f=b(d);k(l),k(n),s(e=>i(c,e),[()=>A(t())]),a(`click`,u,()=>void Xr.reply(t().id,`once`)),a(`click`,d,()=>void Xr.reply(t().id,`always`)),a(`click`,f,()=>void Xr.reply(t().id,`reject`)),R(e,n)},u=(e,n=te)=>{var o=t(),u=l(o),f=e=>{var t=di();se(t,()=>me(n().text),!0),k(t),C(t,(e,t)=>ge?.(e,t),()=>({given:n().text,copy:!0})),R(e,t)},p=e=>{var t=bi(),o=W(t),l=e=>{var t=vi(),o=W(t),c=W(o),l=x(c,!0),u=b(c),f=e=>{var t=fi(),r=x(t,!0);s(e=>i(r,e),[()=>y(n().note)]),a(`click`,t,e=>{e.preventDefault(),E(n().name,n().note)}),R(e,t)},p=e=>{var t=pi(),r=x(t,!0);s(()=>i(r,n().title)),R(e,t)};_(u,e=>{n().note?e(f):e(p,-1)});var m=b(u),h=e=>{var t=mi(),r=W(t),a=x(r),o=b(r,2),c=x(o);k(t),s((e,t)=>{i(a,`+${e??``}`),i(c,`−${t??``}`)},[()=>n().diff.filter(e=>e.startsWith(`+`)).length,()=>n().diff.filter(e=>e.startsWith(`-`)).length]),R(e,t)};_(m,e=>{n().diff&&e(h)}),k(o);var v=b(o,2),S=e=>{var t=gi();g(t,21,()=>n().diff,r,(e,t)=>{var n=hi();let r;var a=x(n,!0);s((e,o)=>{r=F(n,1,`svelte-17377q0`,null,r,{add:e,del:o}),i(a,d(t))},[()=>d(t).startsWith(`+`),()=>d(t).startsWith(`-`)]),R(e,n)}),k(t),R(e,t)},C=e=>{var t=_i(),r=x(t,!0);s(()=>i(r,n().output)),R(e,t)};_(v,e=>{n().diff?e(S):e(C,-1)}),k(t),s(e=>i(l,e),[()=>D(n().name)]),R(e,t)},u=e=>{var t=yi(),r=W(t),o=x(r,!0),c=b(r),l=e=>{var t=fi(),r=x(t,!0);s(e=>i(r,e),[()=>y(n().note)]),a(`click`,t,()=>E(n().name,n().note)),R(e,t)},u=e=>{var t=pi(),r=x(t,!0);s(()=>i(r,n().title)),R(e,t)};_(c,e=>{n().note?e(l):e(u,-1)}),k(t),s(e=>i(o,e),[()=>D(n().name)]),R(e,t)};_(o,e=>{n().output||n().diff?e(l):e(u,-1)});var f=b(o,2);g(f,17,()=>M(n().id),e=>e.id,(e,t)=>{c(e,()=>d(t))}),k(t),s(()=>j(t,`data-status`,n().status)),R(e,t)};_(u,e=>{n().kind===`text`?e(f):e(p,-1)}),R(e,o)},f=(e,t=te)=>{var n=wi(),a=W(n),o=W(a),c=x(o,!0),l=b(o),f=x(l,!0);k(a);var p=b(a,2);g(p,17,()=>t().items,r,(e,t)=>{u(e,()=>d(t))});var m=b(p,2),h=e=>{var t=xi();R(e,t)},v=e=>{var t=Si();R(e,t)},y=e=>{var t=Ci();R(e,t)};_(m,e=>{t().state===`running`?e(h):t().state===`stopped`?e(v,1):t().state===`failed`&&e(y,2)}),k(n),s(()=>{j(n,`data-state`,t().state),i(c,t().asked),i(f,t().from===`here`?`from here`:`in the terminal`)}),R(e,n)},p=e(void 0),m=G(()=>Xr.view),y=e=>X.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,S={shell:`ran`,bash:`ran`,read:`read`,write:`wrote`,edit:`edited`,glob:`found`,grep:`searched`,webfetch:`fetched`,websearch:`searched the web`,search_notes:`searched`,find_similar:`by meaning`,outline_note:`outlined`,read_note:`read`,brief_base:`looked over`,edit_note:`changed`,write_note:`wrote`},T=new Set([`edit_note`,`write_note`]);function E(e,t){T.has(e)&&Z.flip(`provenance`,!0),Z.open(t,!0)}let D=e=>S[e]??e.replaceAll(`_`,` `),O={shell:`run`,edit:`edit`,write:`write`,read:`read`,webfetch:`fetch`,external_directory:`reach outside the project`},A=e=>`${O[e.action]??e.action} ${e.resources.join(`, `)}`.trim(),M=e=>d(m)?.asking.filter(t=>t.tool===e)??[],N=G(()=>d(m)?.asking.filter(e=>!e.tool||!d(m).turns.some(t=>t.items.some(t=>t.kind===`tool`&&t.id===e.tool)))??[]);v(()=>{d(m),ce().then(()=>{d(p)&&(d(p).scrollTop=d(p).scrollHeight)})});var P=Di(),I=W(P),L=e=>{var t=Ti(),n=x(t,!0);s(()=>i(n,d(m).title)),R(e,t)};_(I,e=>{d(m)?.title&&e(L)});var z=b(I,2);g(z,17,()=>d(m)?.turns??[],e=>e.id,(e,t)=>{f(e,()=>d(t))});var B=b(z,2);g(B,17,()=>d(N),e=>e.id,(e,t)=>{c(e,()=>d(t))});var V=b(B,2),H=e=>{var t=Ei();R(e,t)};_(V,e=>{d(m)?.turns.length||e(H)}),k(P),re(P,e=>h(p,e),()=>d(p)),R(n,P),w()}m([`click`]);var ki=e=>{var t=Mi();R(e,t)},Ai=L(`<span><span class="k svelte-d2jxoz" aria-hidden="true"> </span><span class="t svelte-d2jxoz"> </span></span>`),ji=L(`<span class="gave svelte-d2jxoz"></span>`),Mi=f(`<svg class="qm svelte-d2jxoz" viewBox="0 0 16 16" width="13" height="13" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9"></path><path d="M8 12v1.2"></path></svg>`),Ni=L(`<div class="said prose svelte-d2jxoz"></div>`),Pi=L(`<button type="button" class="note-link svelte-d2jxoz"> </button>`),Fi=L(`<span class="n svelte-d2jxoz"> </span>`),Ii=L(`<span class="q svelte-d2jxoz"> </span><!>`,1),Li=L(`<p><span class="v svelte-d2jxoz"> </span> <!></p>`),Ri=L(`<span class="q"> </span>`),zi=L(`<span class="n"><span class="add svelte-d2jxoz"> </span> <span class="del svelte-d2jxoz"> </span></span>`),Bi=L(`<p class="change svelte-d2jxoz"><span class="v svelte-d2jxoz"> </span> <!> <!></p>`),Vi=L(`<p class="faint"> </p>`),Hi=L(`<p class="acts svelte-d2jxoz"><button type="button" class="svelte-d2jxoz">Allow once</button><button type="button" class="svelte-d2jxoz">Always allow this</button><button type="button" class="no svelte-d2jxoz">Don't allow</button></p>`),Ui=L(`<div class="permit svelte-d2jxoz" role="group" aria-label="Iso asks before it does this"><p> </p> <!></div>`),Wi=L(`<p class="faint undone svelte-d2jxoz"> </p>`),Gi=L(`<span class="why svelte-d2jxoz"> </span>`),Ki=L(`<p class="point svelte-d2jxoz"><span class="dia svelte-d2jxoz" aria-hidden="true">◆</span><span class="v svelte-d2jxoz">look at</span><button type="button" class="note-link svelte-d2jxoz"> </button><!></p>`),qi=L(`<span class="qt svelte-d2jxoz"> </span> <button class="icon plus svelte-d2jxoz" type="button"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M8 3v10M3 8h10"></path></svg></button>`,1),Ji=L(`<p class="qb svelte-d2jxoz"> </p>`),Yi=L(`<div class="asks svelte-d2jxoz"><p class="svelte-d2jxoz"><!><!></p> <!></div>`),Xi=L(`<span title="Your instructions for this base, in Iso's settings">AGENTS.md</span>`),Zi=f(`<svg class="in svelte-d2jxoz" viewBox="0 0 16 16" width="14" height="14" role="img" aria-label="Inserted" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 8.5l3 3 7-7"></path></svg>`),Qi=L(`<button class="icon svelte-d2jxoz" type="button"><svg viewBox="0 0 16 16" width="15" height="15" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M13 3v6H4"></path><path d="M7 6L4 9l3 3"></path></svg></button>`),$i=L(`<div class="offer svelte-d2jxoz"><div class="prose yours svelte-d2jxoz"></div> <p class="for svelte-d2jxoz"><!> <!></p></div>`),ea=L(`<span class="tmode svelte-d2jxoz" title="Iso could edit the notes"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 13.5l2.5-2.5M5 11c.6-4.2 3.6-7.4 8.5-8.5C12.6 7.2 9.4 10.4 5 11zM7.2 8.8l2.6-.3M8.8 6.6l2.4-.4"></path></svg><span class="hidden-label">write</span></span>`),ta=L(`<!> <p class="doing svelte-d2jxoz" role="status"><i class="spin svelte-d2jxoz" aria-hidden="true"></i> </p>`,1),na=L(`<p class="undo svelte-d2jxoz"><button class="icon svelte-d2jxoz" type="button" aria-label="Undo this turn's changes" title="Put back every note this turn changed"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M3.2 9.5A5 5 0 1 0 4.6 4.3"></path><path d="M3 1.8v3.4h3.4"></path></svg></button></p>`),ra=L(`<p class="undo svelte-d2jxoz"><button class="icon svelte-d2jxoz" type="button" aria-label="Send it again" title="Send it again, with what was given"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M12.8 9.5A5 5 0 1 1 11.4 4.3"></path><path d="M13 1.8v3.4H9.6"></path></svg></button></p>`),ia=L(`<p class="bad svelte-d2jxoz" role="alert"> </p> <!>`,1),aa=L(`<p class="faint end svelte-d2jxoz">stopped</p>`),oa=L(`<article class="turn svelte-d2jxoz"><div class="you svelte-d2jxoz"><p class="asked svelte-d2jxoz"> </p><!><!></div> <!> <!> <!></article>`),sa=L(`<div class="chat svelte-d2jxoz" role="log" aria-label="The conversation with Iso" aria-live="polite"></div>`),ca=L(`<button class="corner stop svelte-d2jxoz" type="button" title="Stop (Escape)"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true"><rect x="4" y="4" width="8" height="8" fill="currentColor"></rect></svg></button>`),la=L(`<button class="corner send svelte-d2jxoz" type="button" aria-label="Send" title="Send (Enter)"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M3 8h10M9 4l4 4-4 4"></path></svg></button>`),ua=L(`<p class="bad svelte-d2jxoz" role="alert"> </p>`),da=L(`<div><!> <div class="composer svelte-d2jxoz"><div class="box svelte-d2jxoz"><label class="hidden-label" for="iso-box">Message Iso</label> <textarea id="iso-box" rows="2" class="svelte-d2jxoz"></textarea> <!></div> <!></div></div>`);function fa(n,o){ee(o,!0);let u=(e,n=te)=>{var a=t(),o=l(a),c=e=>{var t=ji();g(t,21,()=>n().given,r,(e,t)=>{var n=Ai();let r;var a=W(n),o=x(a,!0),c=b(a),l=x(c,!0);k(n),s(e=>{r=F(n,1,`chip svelte-d2jxoz`,null,r,{u:d(t).kind===`understanding`}),i(o,p[d(t).kind]),i(l,e)},[()=>d(t).kind===`passage`?d(t).text:d(t).kind===`folder`?d(t).id||`the base`:m(d(t).id)]),R(e,n)}),k(t),R(e,t)};_(o,e=>{n().given.length&&e(c)}),R(e,a)},f=(e,n=te,r=te)=>{var o=t(),c=l(o),u=e=>{var t=Ni();se(t,()=>me(r().text),!0),k(t),C(t,(e,t)=>ge?.(e,t),()=>({given:r().text,copy:!0})),R(e,t)},d=e=>{var t=Li();let n;var o=W(t),c=x(o,!0),u=b(o,2),d=e=>{var t=Pi(),n=x(t);s(e=>{j(t,`data-to`,r().step.opened),i(n,`${e??``}${r().step.section?` · ${r().step.section}`:``}`)},[()=>m(r().step.opened)]),a(`click`,t,()=>L(r().step.opened)),R(e,t)},f=e=>{var t=Ii(),n=l(t),a=x(n,!0),o=b(n),c=e=>{var t=Fi(),n=x(t);s(()=>i(n,`${r().step.notes.length??``} found`)),R(e,t)};_(o,e=>{r().step.notes.length&&e(c)}),s(()=>i(a,r().step.query?`“${r().step.query}”`:r().step.said)),R(e,t)};_(u,e=>{r().step.opened?e(d):e(f,-1)}),k(t),s(()=>{n=F(t,1,`look svelte-d2jxoz`,null,n,{failed:r().step.failed}),i(c,y[r().step.how])}),R(e,t)},f=e=>{var t=Bi(),n=W(t),o=x(n,!0),c=b(n,2),l=e=>{var t=Ri(),n=x(t,!0);s(()=>i(n,r().title)),R(e,t)},u=e=>{var t=Pi(),n=x(t,!0);s(e=>{j(t,`data-to`,r().why===`move`?r().to:r().note),i(n,e)},[()=>r().why===`move`?`${r().title} → ${r().to}`:r().note.startsWith(`@`)?r().title:m(r().note)]),a(`click`,t,()=>z(r().why===`move`?r().to:r().note)),R(e,t)};_(c,e=>{r().why===`delete`?e(l):e(u,-1)});var d=b(c,2),f=e=>{var t=zi(),n=W(t),a=x(n),o=b(n,2),c=x(o);k(t),s(()=>{i(a,`+${r().added??``}`),i(c,`−${r().removed??``}`)}),R(e,t)};_(d,e=>{(r().added||r().removed)&&e(f)}),k(t),s(e=>i(o,e),[()=>r().note.startsWith(`@understanding/`)?`wrote`:r().why===`create`?`made`:r().why===`delete`?`deleted`:r().why===`move`?`moved`:`changed`]),R(e,t)},p=e=>{var t=Ui(),n=W(t),o=x(n),c=b(n,2),l=e=>{var t=Vi(),n=x(t,!0);s(()=>i(n,r().answer===`reject`?`Not allowed.`:r().answer===`always`?`Allowed, and from now on in this conversation.`:`Allowed once.`)),R(e,t)},u=e=>{var t=Hi(),n=W(t),i=b(n),o=b(i);k(t),a(`click`,n,()=>void $.answer(r().id,`once`)),a(`click`,i,()=>void $.answer(r().id,`always`)),a(`click`,o,()=>void $.answer(r().id,`reject`)),R(e,t)};_(c,e=>{r().answer?e(l):e(u,-1)}),k(t),s(()=>i(o,`Iso wants to ${r().what??``}.`)),R(e,t)},h=e=>{var t=Wi(),n=x(t);s((e,t)=>i(n,`${e??``}${t??``}`),[()=>r().notes.length?`Undone: ${r().notes.map(m).join(`, `)} put back.`:`Nothing was put back.`,()=>r().left.length?` Left as they are, changed since: ${r().left.map(m).join(`, `)}.`:``]),R(e,t)},g=e=>{var t=Ki(),n=b(W(t),2),o=x(n,!0),c=b(n),l=e=>{var t=Gi(),n=x(t,!0);s(()=>i(n,r().why)),R(e,t)};_(c,e=>{r().why&&e(l)}),k(t),s(e=>{j(n,`data-to`,r().note),i(o,e)},[()=>m(r().note)]),a(`click`,n,()=>L(r().note)),R(e,t)},v=e=>{var t=Yi(),o=W(t),c=W(o);ki(c);var u=b(c),d=e=>{var t=Pi(),n=x(t,!0);s(()=>{j(t,`data-to`,r().made),i(n,r().title)}),a(`click`,t,()=>L(r().made)),R(e,t)},f=e=>{var t=qi(),o=l(t),c=x(o,!0),u=b(o,2);s(e=>{i(c,r().title),j(u,`aria-label`,`Keep “${r().title??``}” as an open question`),j(u,`title`,`Keep as an open question about ${e??``}`)},[()=>r().about.map(m).join(`, `)]),a(`click`,u,()=>void $.take(n().id,r().id)),R(e,t)};_(u,e=>{r().made?e(d):e(f,-1)}),k(o);var p=b(o,2),h=e=>{var t=Ji(),n=x(t,!0);s(()=>i(n,r().text)),R(e,t)};_(p,e=>{r().text&&e(h)}),k(t),s(()=>j(t,`data-question`,r().id)),R(e,t)},S=e=>{var t=$i(),o=W(t);se(o,()=>me(r().text),!0),k(o),C(o,(e,t)=>ge?.(e,t),()=>r().text);var c=b(o,2),l=W(c),u=e=>{var t=Xi();R(e,t)},d=e=>{var t=Pi(),n=x(t,!0);s(e=>{j(t,`data-to`,r().note),i(n,e)},[()=>m(r().note)]),a(`click`,t,()=>L(r().note)),R(e,t)};_(l,e=>{r().note===`AGENTS.md`?e(u):e(d,-1)});var f=b(l,2),p=e=>{var t=Zi();R(e,t)},h=e=>{var t=Qi();s((e,n)=>{j(t,`aria-label`,`Insert into ${e??``} as yours`),j(t,`title`,`Insert at the end of ${n??``}, as yours`)},[()=>m(r().note),()=>m(r().note)]),a(`click`,t,()=>void $.take(n().id,r().id)),R(e,t)};_(f,e=>{r().taken?e(p):e(h,-1)}),k(c),k(t),s(()=>j(t,`data-offer`,r().id)),R(e,t)};_(c,e=>{r().kind===`text`?e(u):r().kind===`look`?e(d,1):r().kind===`change`?e(f,2):r().kind===`permission`?e(p,3):r().kind===`undone`?e(h,4):r().kind===`point`?e(g,5):r().kind===`question`?e(v,6):r().kind===`offer`&&e(S,7)}),R(e,o)},p={note:`▣`,folder:`▭`,passage:`“`,understanding:`◇`},m=e=>X.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,y={keyword:`searched`,meaning:`by meaning`,link:`followed`,read:`read`};function S(e){if(e.pointerType!==`mouse`||!(e.target instanceof Element))return;let t=e.target.closest(`[data-to], a[href]`),n=t?.dataset.to?{id:t.dataset.to,folder:!1}:t instanceof HTMLAnchorElement?q(t.getAttribute(`href`)??``):null;fe.set(`iso`,n?{...n,who:`you`}:null)}let T=e(``),E=e(void 0),D=G(()=>Z.mode===`build`),O=G(()=>$.running),A=G(()=>d(D)?Xr.running:!!d(O)),M=G(()=>{if(!d(O))return``;if($.retrying)return`Iso's provider did not answer: asking again (${$.retrying.retry} of ${$.retrying.of})`;if($.streaming)return`Iso is writing`;let e=d(O).items.findLast(e=>e.kind===`look`);return e?.step.opened?`Iso is reading ${m(e.step.opened)}`:`Iso is thinking`});H(()=>{$.start(),Xr.start(),Yr.start()}),v(()=>{Y.sent,Z.mode,he.tier,$.measure()}),v(()=>{$.turns,$.streaming,ce().then(()=>{d(E)&&(d(E).scrollTop=d(E).scrollHeight)})});async function N(){let e=d(T);await(d(D)?Xr.send(e):$.send(e))&&h(T,``)}let P=()=>d(D)?Xr.stop():$.stop();function I(e){e.key===`Enter`&&!e.shiftKey&&!e.isComposing?(e.preventDefault(),N()):e.key===`Escape`&&d(A)&&(e.preventDefault(),P())}function L(e){Z.open(e,!0)}function z(e){e.startsWith(`@understanding/`)?B(e.slice(15)):(Z.flip(`provenance`,!0),Z.showUnderstanding(!1),Z.open(e,!0))}function B(e){Z.showUnderstanding(!0),Z.open(e,!0)}let V=e=>e.items.some(e=>e.kind===`change`)&&!e.items.some(e=>e.kind===`undone`);var U=da();let ie;var ae=W(U),oe=e=>{li(e,{})},le=e=>{Oi(e,{})},ue=e=>{var t=sa();g(t,21,()=>$.turns,e=>e.id,(e,t)=>{var n=oa(),o=W(n),c=W(o),p=x(c,!0),m=b(c);u(m,()=>d(t));var h=b(m),v=e=>{var t=ea();R(e,t)};_(h,e=>{d(t).mode===`write`&&e(v)}),k(o);var y=b(o,2);g(y,17,()=>d(t).items,r,(e,n)=>{f(e,()=>d(t),()=>d(n))});var S=b(y,2),w=e=>{var t=ta(),n=l(t),r=e=>{var t=Ni();se(t,()=>me($.streaming),!0),k(t),C(t,(e,t)=>ge?.(e,t),()=>$.streaming),R(e,t)};_(n,e=>{$.streaming&&e(r)});var a=b(n,2),o=b(W(a),1,!0);k(a),s(()=>i(o,d(M))),R(e,t)},T=e=>{var n=na(),r=x(n);a(`click`,r,()=>void $.undo(d(t).id)),R(e,n)},E=G(()=>V(d(t)));_(S,e=>{d(t).state===`running`?e(w):d(E)&&e(T,1)});var D=b(S,2),O=e=>{var n=ia(),r=l(n),o=x(r),c=b(r,2),u=e=>{var n=ra(),r=x(n);a(`click`,r,()=>void $.again(d(t))),R(e,n)},f=G(()=>d(t)===$.turns.at(-1));_(c,e=>{d(f)&&e(u)}),s(()=>i(o,`Iso could not answer: ${d(t).message??``}`)),R(e,n)},A=e=>{var t=aa();R(e,t)};_(D,e=>{d(t).state===`failed`?e(O):d(t).state===`stopped`&&e(A,1)}),k(n),s(()=>{j(n,`data-state`,d(t).state),i(p,d(t).asked)}),R(e,n)}),k(t),re(t,e=>h(E,e),()=>d(E)),a(`pointerover`,t,S),c(`pointerleave`,t,()=>fe.set(`iso`,null)),R(e,t)};_(ae,e=>{$.view===`context`?e(oe):d(D)?e(le,1):e(ue,-1)});var de=b(ae,2),pe=W(de),J=b(W(pe),2);ne(J);var _e=b(J,2),ve=e=>{var t=ca();s(()=>j(t,`aria-label`,d(D)?`Stop the terminal's agent`:`Stop Iso`)),a(`click`,t,()=>void P()),R(e,t)},ye=e=>{var t=la();a(`click`,t,()=>void N()),R(e,t)},be=G(()=>d(T).trim());_(_e,e=>{d(A)?e(ve):d(be)&&e(ye,1)}),k(pe);var xe=b(pe,2),Se=e=>{var t=ua(),n=x(t,!0);s(()=>i(n,d(D)?Xr.problem:$.problem)),R(e,t)};_(xe,e=>{(d(D)?Xr.problem:$.problem)&&e(Se)}),k(de),k(U),s(()=>{ie=F(U,1,`iso svelte-d2jxoz`,null,ie,{drop:Y.carrying?.over}),j(J,`placeholder`,d(D)?`Ask in the terminal's session`:`Ask Iso`)}),a(`keydown`,J,I),K(J,()=>d(T),e=>h(T,e)),R(n,U),w()}m([`click`,`pointerover`,`keydown`]);var pa=f(`<rect x="2.5" y="2.5" width="11" height="11"></rect><path d="M8 2.5v11"></path><rect x="8.6" y="3.1" width="4.3" height="9.8" fill="currentColor" stroke="none"></rect>`,1),ma=f(`<path d="M8 1v14" stroke-width="1.2"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor" stroke="none"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor" stroke="none"></path><rect x="5.5" y="12" width="5" height="3" stroke-width="1.2"></rect>`,1),ha=f(`<path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9"></path><path d="M8 12v1.2"></path>`,1),ga=f(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),_a=f(`<circle cx="8" cy="8" r="5.5"></circle><path d="M2.5 8h11M8 2.5c-2 2.8-2 8.2 0 11M8 2.5c2 2.8 2 8.2 0 11"></path>`,1),va=f(`<path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path>`),ya=f(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path><path d="M8 5.5l2.5 2.5L8 10.5 5.5 8z" fill="currentColor" stroke="none"></path>`,1),ba=f(`<path d="M2.5 13.5l2.5-2.5M5 11c.6-4.2 3.6-7.4 8.5-8.5C12.6 7.2 9.4 10.4 5 11zM7.2 8.8l2.6-.3M8.8 6.6l2.4-.4"></path>`),xa=f(`<path d="M3.5 2.5h5.5l3.5 3.5v7.5h-9z"></path><path d="M9 2.5V6h3.5"></path>`,1),Sa=f(`<path d="M3 4.5l3 3.5-3 3.5M7.5 12h5.5"></path>`),Ca=L(`<button type="button" class="sw svelte-ubc5lw"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><!></svg></button>`),wa=L(`<button class="icon gear svelte-ubc5lw" type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M2.5 4.5h11M2.5 8h11M2.5 11.5h11"></path><rect x="9" y="3" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect><rect x="4.5" y="6.5" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect><rect x="10" y="10" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect></svg></button>`),Ta=L(`<div class="frame settings svelte-ubc5lw" role="dialog" tabindex="-1"><span class="frame-title"> </span> <div class="inner svelte-ubc5lw"><!></div></div>`),Ea=L(`<header class="phead svelte-ubc5lw"><span class="pname svelte-ubc5lw"> </span> <span class="switches svelte-ubc5lw" role="group"></span> <span class="grow svelte-ubc5lw"></span> <!> <!></header> <!>`,1);function Da(t,n){ee(n,!0);let r={provenance:`Provenance: whose words are whose (Alt+P)`,timeline:`Timeline (Alt+T)`,context:`Iso's context: what it is sent, what it read and changed (Alt+C)`,questions:`Open questions (Alt+Q)`,problems:`Problems (Alt+B)`,web:`Links to the web (Alt+W)`,code:`Links to code (Alt+K)`,notes:`Iso may edit the notes (Alt+N)`,files:`Iso may edit the project's files (Alt+F)`,run:`Iso may run commands (Alt+R)`},o={provenance:`growth`,timeline:`lattice`,questions:`rose`,problems:`text`,web:`lattice`,code:`lattice`,context:`growth`,notes:`growth`,files:`growth`,run:`growth`},f=G(()=>xe[n.pane].filter(e=>e!==`files`&&e!==`run`||Z.terminal)),p=G(()=>Z.settings===n.pane),m=e(void 0);v(()=>{d(p)&&d(m)?.focus()});function y(e){d(p)&&e.target instanceof Element&&(d(m)?.contains(e.target)||e.target.closest(`[data-settings="${n.pane}"]`)||(Z.settings=null))}var S=Ea();c(`pointerdown`,u,y),c(`keydown`,u,e=>{d(p)&&e.key===`Escape`&&(Z.settings=null)});var C=l(S),E=W(C),D=x(E,!0),O=b(E,2);g(O,20,()=>d(f),e=>e,(e,t)=>{var n=Ca();let i;var c=W(n),l=W(c),u=e=>{var t=pa();ie(2),R(e,t)},d=e=>{var t=ma();ie(3),R(e,t)},f=e=>{var t=ha();ie(),R(e,t)},p=e=>{var t=ga();R(e,t)},m=e=>{var t=_a();ie(),R(e,t)},h=e=>{var t=va();R(e,t)},g=e=>{var t=ya();ie(),R(e,t)},v=e=>{var t=ba();R(e,t)},y=e=>{var t=xa();ie(),R(e,t)},b=e=>{var t=Sa();R(e,t)};_(l,e=>{t===`provenance`?e(u):t===`timeline`?e(d,1):t===`questions`?e(f,2):t===`problems`?e(p,3):t===`web`?e(m,4):t===`code`?e(h,5):t===`context`?e(g,6):t===`notes`?e(v,7):t===`files`?e(y,8):e(b,-1)}),k(c),k(n),s(e=>{j(n,`data-switch`,t),j(n,`aria-pressed`,Z.on[t]),j(n,`aria-label`,e),j(n,`title`,r[t]),i=B(n,``,i,{"--c":`var(--${o[t]??``})`})},[()=>r[t].replace(/ \(Alt\+.\)$/,``)]),a(`click`,n,()=>Z.flip(t)),R(e,n)}),k(O);var A=b(O,4);T(A,()=>n.tools??te);var M=b(A,2),N=e=>{var t=wa();s(()=>{j(t,`data-settings`,n.pane),j(t,`aria-label`,`${n.name??``} settings`),j(t,`aria-expanded`,d(p)),j(t,`title`,`${n.name??``} settings`)}),a(`click`,t,()=>Z.settings=d(p)?null:n.pane),R(e,t)};_(M,e=>{n.settings&&e(N)}),k(C);var P=b(C,2),F=e=>{var t=Ta(),r=W(t),a=x(r,!0),o=b(r,2),c=W(o);T(c,()=>n.settings),k(o),k(t),re(t,e=>h(m,e),()=>d(m)),s(e=>{j(t,`aria-label`,`${n.name??``} settings`),i(a,e)},[()=>n.name.toLowerCase()]),R(e,t)};_(P,e=>{n.settings&&d(p)&&e(F)}),s(()=>{i(D,n.name),j(O,`aria-label`,`${n.name??``}'s switches`)}),R(t,S),w()}m([`click`]);var Oa=L(`<button type="button" class="gauge svelte-1cyuk5c"><i></i> <i></i></button>`);function ka(e,t){ee(t,!0);let n=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),r=e=>`$${e.toFixed(e>0&&e<.1?3:2)}`,i={day:`today`,week:`this week`,month:`this month`,total:`in all`},o=G(()=>$.report),c=G(()=>Z.mode===`build`),l=G(()=>Xr.view),u=G(()=>!d(c)&&d(o)?Math.min(1,d(o).tokens/d(o).limit):0),f=G(()=>!d(c)&&!!d(o)&&d(o).tokens>=Math.min(1e5,d(o).limit/2)),p=G(()=>!d(c)&&!!d(o)&&d(o).tokens>d(o).limit),m=G(()=>Yr.value),h=G(()=>d(m)&&d(m).cap?Math.min(1,d(m).usd/d(m).cap):0),g=G(()=>d(h)>.8),_=G(()=>d(c)?`${d(l)?.model||`OpenCode`}${d(l)?`, ${n(d(l).tokens.input+d(l).tokens.output)} tokens`:``}${d(l)?.cost?`, ${r(d(l).cost)}`:``}`:d(o)?`Context: ${n(d(o).tokens)} of ${n(d(o).limit)} tokens${d(p)?`: more than the model takes; switch parts off in the Context view`:d(f)?`: long enough to drift; summing up the earlier turns may help`:``}`:`Context: not measured yet`),v=G(()=>d(m)?d(m).source===`key`?`Spend: ${r(d(m).usd)} of the key's ${r(d(m).cap)} limit, ${i[d(m).per]}`:d(m).source===`setting`?`Spend: ${r(d(m).usd)} of ${r(d(m).cap)} this month (the cap set in settings)`:d(m).cap?`Spend: ${r(d(m).usd)} this month; the most in any month is ${r(d(m).cap)}`:`Spend: ${r(d(m).usd)} this month; no cap is set`:`Spend: not known yet`);var y=Oa(),x=W(y);let S,C;var T=b(x,2);let E,D;k(y),s(()=>{j(y,`aria-label`,`${d(_)??``}. ${d(v)??``}`),j(y,`title`,`${d(_)??``}
26
+ ${d(v)??``}`),S=F(x,1,`bar ctx svelte-1cyuk5c`,null,S,{long:d(f),full:d(p)}),C=B(x,``,C,{"--fill":d(u)}),E=F(T,1,`bar usd svelte-1cyuk5c`,null,E,{over:d(g)}),D=B(T,``,D,{"--fill":d(h)})}),a(`click`,y,()=>$.view=$.view===`context`?`chat`:`context`),R(e,y),w()}m([`click`]);var Aa=L(`<button type="button" role="radio" class="svelte-xdo8"> </button>`),ja=L(`<span class="tiers wide svelte-xdo8" role="radiogroup" aria-label="How able a model"></span> <button type="button" class="tiers narrow svelte-xdo8"> </button>`,1);function Ma(t,n){ee(n,!0);let r=[`low`,`mid`,`max`],o={low:`quick`,mid:`Iso's default`,max:`the most able`},c=e(null);v(()=>{X.api&&!d(c)&&X.api.settings().then(e=>h(c,e.tiers),()=>void 0)});let u=e=>d(c)?.[e]??``,f=e=>`${e}: ${o[e]}${u(e)?`, ${u(e)}`:``}`,p=()=>he.setTier(r[(r.indexOf(he.tier)+1)%r.length]);var m=ja(),_=l(m);g(_,20,()=>r,e=>e,(e,t)=>{var n=Aa(),r=x(n,!0);s(e=>{j(n,`aria-checked`,he.tier===t),j(n,`title`,e),i(r,t)},[()=>f(t)]),a(`click`,n,()=>he.setTier(t)),R(e,n)}),k(_);var y=b(_,2),S=x(y,!0);s(e=>{j(y,`aria-label`,`How able a model: ${he.tier??``}`),j(y,`title`,`${e??``}: click for the next`),i(S,he.tier[0])},[()=>f(he.tier)]),a(`click`,y,p),R(t,m),w()}m([`click`]);var Na=L(`<div class="row svelte-fl4w36"><input class="field name svelte-fl4w36" placeholder="name" autocomplete="off" spellcheck="false"/> <input class="field grow svelte-fl4w36" autocomplete="off" spellcheck="false"/> <button class="icon svelte-fl4w36" type="button" title="remove"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" class="svelte-fl4w36"><path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.3" class="svelte-fl4w36"></path></svg></button></div>`),Pa=L(`<!> <button class="icon svelte-fl4w36" type="button"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" class="svelte-fl4w36"><path d="M8 3v10M3 8h10" stroke="currentColor" stroke-width="1.3" class="svelte-fl4w36"></path></svg></button>`,1),Fa=L(`<button class="icon svelte-fl4w36" type="button" aria-label="keep" title="keep it, in use at once (config.toml is written again, without its comments: the first time, the file as it was is kept beside it as config.toml.bak). A running isorite term takes new models when it is next started"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" class="svelte-fl4w36"><path d="M3 8.5l3.2 3L13 4.5" stroke="currentColor" stroke-width="1.4" fill="none" class="svelte-fl4w36"></path></svg></button>`),Ia=L(`<div class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" aria-label="The gateway's address" placeholder="https://… /v1" title="its address, as an OpenAI-compatible client is given it (…/v1)" autocomplete="off" spellcheck="false"/> <input class="field name svelte-fl4w36" aria-label="Its name" placeholder="name" title="what to call it" autocomplete="off" spellcheck="false"/></div>`),La=L(`<input class="field svelte-fl4w36" type="password" aria-label="A key for this address" title="the key goes with the address: the one held now is forgotten when this is kept, unless another is given" autocomplete="off" spellcheck="false"/>`),Ra=L(`<button class="btn svelte-fl4w36" type="button">forget it</button>`),za=L(`<button class="btn svelte-fl4w36" type="button">sign in for a key</button>`),Ba=L(`<p role="status"> </p>`),Va=L(`<form class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" type="password" aria-label="Provider key" title="kept in this device's configuration, never in a base, and not shown again" autocomplete="off" spellcheck="false"/> <button class="btn primary svelte-fl4w36" type="submit">hold it</button> <!> <!></form> <!>`,1),Ha=L(`<details class="svelte-fl4w36"><summary class="label svelte-fl4w36">what else it asks for</summary> <div class="more svelte-fl4w36"><input class="field svelte-fl4w36" aria-label="The header the key goes in" placeholder="the key's header" title="the header the key goes in (key_header), as api-key; left empty, Authorization: Bearer" autocomplete="off" spellcheck="false"/> <h3 class="label svelte-fl4w36">headers</h3> <!> <h3 class="label svelte-fl4w36">query</h3> <!> <h3 class="label svelte-fl4w36">client certificate</h3> <div class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" aria-label="The .pfx file" placeholder="~/… .pfx" title="a .pfx (or .p12) on this machine: the certificate and its key" autocomplete="off" spellcheck="false"/> <input class="field name svelte-fl4w36" type="password" aria-label="The .pfx's password" title="the .pfx's password: held, not shown" autocomplete="off"/></div> <div class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" aria-label="The certificate" placeholder="or a certificate" title="instead of a .pfx: the certificate (cert, a .pem)" autocomplete="off" spellcheck="false"/> <input class="field grow svelte-fl4w36" aria-label="The certificate's key" placeholder="and its key" title="and its private key (cert_key, a .pem)" autocomplete="off" spellcheck="false"/></div> <input class="field svelte-fl4w36" aria-label="The authority" placeholder="an authority" title="the authority the gateway's own certificate is signed by (ca, a .pem), added to those trusted: for a gateway whose certificate the company signs" autocomplete="off" spellcheck="false"/> <div class="row svelte-fl4w36"><label class="soft check svelte-fl4w36" title="some gateways refuse stream_options: then the gauge can't count what Iso costs"><input type="checkbox" class="svelte-fl4w36"/> reports usage</label> <input class="field name svelte-fl4w36" type="number" min="1" step="1" aria-label="max_tokens" placeholder="max_tokens" title="the most a reply may be, for models that think at length"/></div></div></details>`),Ua=L(`<label class="label svelte-fl4w36"> </label> <input class="field svelte-fl4w36" list="setup-models" autocomplete="off" spellcheck="false"/>`,1),Wa=L(`<option class="svelte-fl4w36"></option>`),Ga=L(`<li><span class="mark svelte-fl4w36"> </span><span class="svelte-fl4w36"> </span><span class="faint said svelte-fl4w36"> </span></li>`),Ka=L(`<ul class="checks svelte-fl4w36" aria-label="The check"></ul>`),qa=L(`<pre class="report svelte-fl4w36" aria-label="The report"> </pre>`),Ja=L(`<fieldset class="svelte-fl4w36"><div class="kinds svelte-fl4w36" role="radiogroup" aria-label="The provider"><label class="svelte-fl4w36"><input type="radio" class="svelte-fl4w36"/> OpenRouter</label> <label class="svelte-fl4w36"><input type="radio" class="svelte-fl4w36"/> a gateway of your own</label></div> <!></fieldset> <!> <fieldset class="svelte-fl4w36"><!> <div class="tiers svelte-fl4w36"><!> <datalist id="setup-models" class="svelte-fl4w36"></datalist></div></fieldset> <!> <!>`,1),Ya=L(`<p class="bad svelte-fl4w36" role="alert"> </p>`),Xa=L(`<div class="head svelte-fl4w36"><h2 class="label svelte-fl4w36">the provider</h2> <span class="grow svelte-fl4w36"></span> <button class="icon svelte-fl4w36" type="button" aria-label="check"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" class="svelte-fl4w36"><path d="M1.5 8.5h3l1.8-4.5 3 8 1.9-3.5h3.3" stroke="currentColor" stroke-width="1.3" fill="none" class="svelte-fl4w36"></path></svg></button> <!> <button class="icon svelte-fl4w36" type="button" aria-label="copy the report" title="copy isorite doctor's report, its secrets hidden, to paste to someone helping (it checks the provider too)"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" class="svelte-fl4w36"><rect x="3.5" y="2.5" width="9" height="11.5" rx="1" stroke="currentColor" stroke-width="1.2" fill="none" class="svelte-fl4w36"></rect><path d="M6 2.5V1.5h4v1M5.8 6.5h4.4M5.8 9h4.4M5.8 11.5h2.6" stroke="currentColor" stroke-width="1.2" fill="none" class="svelte-fl4w36"></path></svg></button></div> <p class="soft svelte-fl4w36"> </p> <!> <!>`,1);function Za(t,n){ee(n,!0);let o=[],u=(e,t=te,n=te)=>{var i=Pa(),o=l(i);g(o,17,t,r,(e,r,i)=>{var o=Na(),c=W(o);O(c);var l=b(c,2);O(l);var u=b(l,2);k(o),s(e=>{j(c,`aria-label`,`${n()??``} name`),j(l,`type`,e),j(l,`aria-label`,`${n()??``} value`),j(l,`placeholder`,d(r).held?`held`:`value, or $NAME`),j(l,`title`,d(r).held?`held, not shown: type another to replace it`:`a value, or $NAME for an environment variable`),j(u,`aria-label`,`remove ${(d(r).name||n())??``}`)},[()=>J(d(r))?`password`:`text`]),K(c,()=>d(r).name,e=>d(r).name=e),K(l,()=>d(r).value,e=>d(r).value=e),a(`click`,u,()=>t().splice(i,1)),R(e,o)});var c=b(o,2);s(()=>{j(c,`aria-label`,`add a ${n()??``}`),j(c,`title`,`add a ${n()??``}`)}),a(`click`,c,()=>pe(t())),R(e,i)},f=[`low`,`mid`,`max`],p={ok:`✓`,warn:`!`,fail:`✗`,skip:`–`},m=e(null),y=e(null),S=e(``),C=e(``),T=e(``),A=e(null),M=e(null),P=e(``),I=e(``),L=e(``),B=e=>e.trim().replace(/\/+$/,``),V=e=>{h(m,e),h(y,structuredClone(e.setup),!0),h(S,``),h(C,``)};v(()=>{n.api.view().then(V,e=>h(L,e.message,!0))});let H=e=>e.kind===`gateway`?B(e.url):ke.url,ne=G(()=>!!(d(y)&&d(m)&&H(d(y))!==H(d(m).setup))),re=G(()=>!!(d(y)&&d(m)&&(JSON.stringify(d(y))!==JSON.stringify(d(m).setup)||d(S)||d(C)))),ae=G(()=>d(m)?.local??!1);function oe(){let e=D(d(y));return d(ne)&&d(S).trim()&&(e.key=d(S).trim()),d(C)&&(e.passphrase=d(C)),e}async function se(e,t){h(L,``),h(P,e,!0);try{return await t()}catch(e){h(L,e.message,!0);return}finally{h(P,``)}}let ce=()=>se(`check`,async()=>{h(A,await n.api.check(d(ae)&&d(re)?oe():null))}),le=()=>se(`keep`,async()=>{V(await n.api.keep(oe())),h(A,null),h(M,null),n.onsettings(await X.api.settings())});async function ue(){if(!d(M)){h(M,[]);try{h(M,await n.api.models(d(ae)&&d(re)?oe():null))}catch{}}}let de=()=>se(`report`,async()=>{h(I,await n.api.report(),!0);try{await navigator.clipboard.writeText(d(I)),h(I,``)}catch{}});async function q(e){h(L,``),X.signIn=null;try{n.onsettings(await X.api.setKey(e)),h(T,``),V(await n.api.view())}catch(e){h(L,e.message,!0)}}async function fe(){h(L,``),X.signIn=null;try{await X.startSignIn()}catch(e){h(L,e.message,!0)}}let pe=e=>e.push({name:``,value:``}),J=e=>e.held||/key|token|secret|pass|auth|cookie/i.test(e.name)&&!/^\$[A-Za-z_]\w*$/.test(e.value);var me=Xa(),Y=l(me),he=b(W(Y),4),ge=b(he,2),_e=e=>{var t=Fa();s(()=>{t.disabled=!d(re)||d(P)!==``,j(t,`aria-busy`,d(P)===`keep`)}),a(`click`,t,le),R(e,t)};_(ge,e=>{d(ae)&&e(_e)});var ve=b(ge,2);k(Y);var ye=b(Y,2),Z=x(ye),be=b(ye,2),xe=e=>{var t=Ja(),m=l(t),v=W(m),w=W(v),D=W(w);O(D),D.value=D.__value=`openrouter`,ie(),k(w);var P=b(w,2),L=W(P);O(L),L.value=L.__value=`gateway`,ie(),k(P),k(v);var B=b(v,2),V=e=>{var t=Ia(),n=W(t);O(n);var r=b(n,2);O(r),k(t),K(n,()=>d(y).url,e=>d(y).url=e),K(r,()=>d(y).name,e=>d(y).name=e),R(e,t)};_(B,e=>{d(y).kind===`gateway`&&e(V)}),k(m);var H=b(m,2),ee=e=>{var t=La();O(t),s(()=>{t.disabled=!d(ae),j(t,`placeholder`,d(y).kind===`gateway`?`a key for this address`:`a key from OpenRouter`)}),K(t,()=>d(S),e=>h(S,e)),R(e,t)},te=e=>{var t=Va(),r=l(t),o=W(r);O(o);var u=b(o,2),f=b(u,2),p=e=>{var t=Ra();a(`click`,t,()=>q(null)),R(e,t)};_(f,e=>{n.settings.key&&e(p)});var m=b(f,2),g=e=>{var t=za();s(()=>j(t,`title`,`you sign in at ${n.settings.provider??``}, and the key it makes comes straight here; a spending limit for it is set on its page of keys`)),a(`click`,t,fe),R(e,t)};_(m,e=>{n.settings.connect&&e(g)}),k(r);var v=b(r,2),y=e=>{var t=Ba(),n=x(t,!0);s(()=>{F(t,1,N(X.signIn.ok?`soft`:`bad`),`svelte-fl4w36`),i(n,X.signIn.message)}),R(e,t)};_(v,e=>{X.signIn&&e(y)}),s(e=>{j(o,`placeholder`,n.settings.key?`held: paste another to replace it`:`paste a key`),u.disabled=e},[()=>!d(T).trim()]),c(`submit`,r,e=>{e.preventDefault(),d(T).trim()&&q(d(T))}),K(o,()=>d(T),e=>h(T,e)),R(e,t)};_(H,e=>{d(ne)?e(ee):e(te,-1)});var re=b(H,2),G=W(re),oe=e=>{var t=Ha(),n=b(W(t),2),r=W(n);O(r);var i=b(r,4);u(i,()=>d(y).headers,()=>`header`);var o=b(i,4);u(o,()=>d(y).query,()=>`query value`);var c=b(o,4),l=W(c);O(l);var f=b(l,2);O(f),k(c);var p=b(c,2),m=W(p);O(m);var g=b(m,2);O(g),k(p);var _=b(p,2);O(_);var v=b(_,2),x=W(v),S=W(x);O(S),ie(),k(x);var w=b(x,2);O(w),k(v),k(n),k(t),s(()=>{j(f,`placeholder`,d(y).passphraseHeld?`password held`:`its password`),U(w,d(y).maxTokens??``)}),K(r,()=>d(y).keyHeader,e=>d(y).keyHeader=e),K(l,()=>d(y).pfx,e=>d(y).pfx=e),K(f,()=>d(C),e=>h(C,e)),K(m,()=>d(y).cert,e=>d(y).cert=e),K(g,()=>d(y).certKey,e=>d(y).certKey=e),K(_,()=>d(y).ca,e=>d(y).ca=e),E(S,()=>d(y).streamUsage,e=>d(y).streamUsage=e),a(`input`,w,e=>{let t=Number(e.currentTarget.value);d(y).maxTokens=t>0?Math.floor(t):null}),R(e,t)};_(G,e=>{d(y).kind===`gateway`&&e(oe)});var se=b(G,2),ce=W(se);g(ce,16,()=>f,e=>e,(e,t)=>{var n=Ua(),r=l(n),a=x(r,!0),o=b(r,2);O(o),s(()=>{j(r,`for`,`tier-${t??``}`),i(a,t),j(o,`id`,`tier-${t??``}`),j(o,`title`,`the ${t??``} tier's model: one the provider lists, or its name typed`)}),c(`focus`,o,ue),K(o,()=>d(y).tiers[t],e=>d(y).tiers[t]=e),R(e,n)});var le=b(ce,2);g(le,20,()=>d(M)??[],e=>e,(e,t)=>{var n=Wa(),r={};s(()=>{r!==(r=t)&&(n.value=(n.__value=r)??``)}),R(e,n)}),k(le),k(se),k(re);var de=b(re,2),pe=e=>{var t=Ka();g(t,21,()=>d(A),r,(e,t)=>{var n=Ga(),r=W(n),a=x(r,!0),o=b(r),c=x(o,!0),l=b(o),u=x(l,!0);k(n),s(()=>{F(n,1,N(d(t).outcome),`svelte-fl4w36`),i(a,p[d(t).outcome]),i(c,d(t).step),i(u,d(t).said)}),R(e,n)}),k(t),R(e,t)};_(de,e=>{d(A)&&e(pe)});var J=b(de,2),me=e=>{var t=qa(),n=x(t,!0);s(()=>i(n,d(I))),R(e,t)};_(J,e=>{d(I)&&e(me)}),s(()=>{m.disabled=!d(ae),j(m,`title`,d(ae)?void 0:`changed only from this machine (localhost): the key goes where this says`),re.disabled=!d(ae),j(re,`title`,d(ae)?void 0:`changed only from this machine (localhost)`)}),z(o,[],D,()=>d(y).kind,e=>d(y).kind=e),z(o,[],L,()=>d(y).kind,e=>d(y).kind=e),R(e,t)};_(be,e=>{d(y)&&d(m)&&e(xe)});var Se=b(be,2),Ce=e=>{var t=Ya(),n=x(t,!0);s(()=>i(n,d(L))),R(e,t)};_(Se,e=>{d(L)&&e(Ce)}),s(()=>{j(he,`title`,d(ae)&&d(re)?`check this setup before keeping it: its models, a few words from each, a tool call (a few hundred tokens)`:`check the setup kept: its models, a few words from each, a tool call (a few hundred tokens)`),he.disabled=d(P)!==``,j(he,`aria-busy`,d(P)===`check`),ve.disabled=d(P)!==``,j(ve,`aria-busy`,d(P)===`report`),i(Z,`Asked through ${n.settings.provider??``}. ${n.settings.key?`A key is held on this device.`:`No key is held yet.`}`)}),a(`click`,he,ce),a(`click`,ve,de),R(t,me),w()}m([`click`,`input`]);var Qa=L(`<button class="btn" type="button">forget it</button>`),$a=L(`<button class="btn" type="button">sign in for a key</button>`),eo=L(`<p role="status"> </p>`),to=L(`<dt> </dt><dd class="faint svelte-1c4xnzk"> </dd>`,1),no=L(`<h2 class="label svelte-1c4xnzk">the provider</h2> <p class="soft"> </p> <form class="row svelte-1c4xnzk"><label class="hidden-label" for="key">Provider key</label> <input id="key" class="field grow" type="password" title="kept in this device's configuration, never in a base, and not shown again" autocomplete="off" spellcheck="false"/> <button class="btn primary" type="submit">hold it</button> <!> <!></form> <!> <dl class="tiers svelte-1c4xnzk"></dl>`,1),ro=L(`<button class="btn" type="button">no cap</button>`),io=L(`<form class="row svelte-1c4xnzk"><label class="hidden-label" for="cap">Monthly spend cap in dollars</label> <input id="cap" class="field grow" type="number" min="0.01" step="any" autocomplete="off"/> <button class="btn" type="submit">set it</button> <!></form>`),ao=L(`<h2 class="label svelte-1c4xnzk">AGENTS.md</h2> <label class="hidden-label" for="agents">AGENTS.md: your instructions for this base</label> <textarea id="agents" class="agents svelte-1c4xnzk" rows="6" spellcheck="true" placeholder="notation, level, language, how notes are named" title="Your instructions for this base: sent with every turn, to Iso and to the terminal's agent. Kept at the top of your notes, as AGENTS.md."></textarea>`,1),oo=L(`<p class="bad svelte-1c4xnzk" role="alert"> </p>`),so=L(`<section class="svelte-1c4xnzk"><!> <!> <!> <!></section>`);function co(t,n){ee(n,!0);let r=e(null),o=X.api?.setup??null,u=e(``),f=e(``),p=e(``),m=e(null),y=``;v(()=>{X.api.agents().then(e=>{h(m,e.text??``,!0),y=d(m)},()=>void 0)});async function S(){if(d(m)!==null&&d(m)!==y){h(f,``);try{await X.api.saveAgents(d(m)),y=d(m),$.measure()}catch(e){h(f,e.message,!0)}}}v(()=>{X.api.settings().then(e=>h(r,e),e=>h(f,e.message,!0))}),v(()=>()=>{X.signIn=null});async function C(e){h(f,``),X.signIn=null;try{h(r,await X.api.setKey(e)),h(u,``)}catch(e){h(f,e.message,!0)}}async function T(e){h(f,``);try{h(r,await X.api.setSpendCap(e)),h(p,``),Yr.refresh()}catch(e){h(f,e.message,!0)}}async function E(){h(f,``),X.signIn=null;try{await X.startSignIn()}catch(e){h(f,e.message,!0)}}var D=so(),A=W(D),M=e=>{Za(e,{get api(){return o},get settings(){return d(r)},onsettings:e=>{h(r,e),Yr.refresh()}})},P=e=>{var t=no(),n=b(l(t),2),o=x(n),f=b(n,2),p=b(W(f),2);O(p);var m=b(p,2),v=b(m,2),y=e=>{var t=Qa();a(`click`,t,()=>C(null)),R(e,t)};_(v,e=>{d(r).key&&e(y)});var S=b(v,2),w=e=>{var t=$a();s(()=>j(t,`title`,`you sign in at ${d(r).provider??``}, and the key it makes comes straight here; a spending limit for it is set on its page of keys`)),a(`click`,t,E),R(e,t)};_(S,e=>{d(r).connect&&e(w)}),k(f);var T=b(f,2),D=e=>{var t=eo(),n=x(t,!0);s(()=>{F(t,1,N(X.signIn.ok?`soft`:`bad`),`svelte-1c4xnzk`),i(n,X.signIn.message)}),R(e,t)};_(T,e=>{X.signIn&&e(D)});var A=b(T,2);g(A,20,()=>[`low`,`mid`,`max`],e=>e,(e,t)=>{var n=to(),a=l(n),o=x(a,!0),c=b(a),u=x(c,!0);s(()=>{i(o,t),i(u,d(r).tiers[t])}),R(e,n)}),k(A),s(e=>{i(o,`Asked through ${d(r).provider??``}. ${d(r).key?`A key is held on this device.`:`No key is held yet, so Iso cannot be asked.`}`),j(p,`placeholder`,d(r).key?`paste another key to replace it`:`paste a key`),m.disabled=e},[()=>!d(u).trim()]),c(`submit`,f,e=>{e.preventDefault(),d(u).trim()&&C(d(u))}),K(p,()=>d(u),e=>h(u,e)),R(e,t)};_(A,e=>{d(r)&&o?e(M):d(r)&&e(P,1)});var I=b(A,2),L=e=>{var t=io(),n=b(W(t),2);O(n);var i=b(n,2),o=b(i,2),l=e=>{var t=ro();a(`click`,t,()=>T(null)),R(e,t)};_(o,e=>{d(r).spendCap&&e(l)}),k(t),s(e=>{j(n,`placeholder`,d(r).spendCap?`$${d(r).spendCap} a month; another amount replaces it`:`a monthly cap in dollars`),j(n,`title`,`the lower bar in Iso's header fills toward this, over a calendar month; a key with a limit of its own at ${d(r).provider??``} is measured by that instead`),i.disabled=e},[()=>!(Number(d(p))>0)]),c(`submit`,t,e=>{e.preventDefault();let t=Number(d(p));t>0&&T(t)}),K(n,()=>d(p),e=>h(p,e)),R(e,t)};_(I,e=>{d(r)&&e(L)});var z=b(I,2),B=e=>{var t=ao(),n=b(l(t),4);ne(n),c(`blur`,n,()=>void S()),K(n,()=>d(m),e=>h(m,e)),R(e,t)};_(z,e=>{d(m)!==null&&e(B)});var V=b(z,2),H=e=>{var t=oo(),n=x(t,!0);s(()=>i(n,d(f))),R(e,t)};_(V,e=>{d(f)&&e(H)}),k(D),R(t,D),w()}m([`click`]);var lo=L(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">this note</h2> <div class="row svelte-1h9x2hz"><button class="btn" type="button">A question about it</button> <button class="btn" type="button">A problem using it</button></div></section>`),uo=L(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the base</h2> <p><span class="name svelte-1h9x2hz"> </span> <span class="faint"> </span></p> <!></section>`),fo=L(`<button type="button" role="radio"> </button>`),po=L(`<button type="button">fullscreen</button>`),mo=f(`<path d="M5.8 2.5v11M10.2 2.5v11"></path>`),ho=f(`<path d="M8 2.5v11M8 8h6.5"></path>`),go=L(`<button class="icon svelte-1h9x2hz" type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><rect x="1.5" y="2.5" width="13" height="11"></rect><!></svg></button>`),_o=f(`<path d="M4 2.5h6l2.5 2.5v8.5H4zM6 7h5M6 9.5h5"></path>`),vo=f(`<rect x="2" y="2.5" width="5" height="4"></rect><rect x="9" y="9.5" width="5" height="4"></rect><path d="M4.5 6.5v5H9"></path>`,1),yo=f(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path>`),bo=L(`<button type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><!></svg></button>`),xo=L(`<span class="icons svelte-1h9x2hz" role="group" aria-label="Layout"></span> <span class="icons svelte-1h9x2hz" role="group" aria-label="Panes shown"></span>`,1),So=L(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the screen</h2> <div class="row svelte-1h9x2hz"><!> <!></div></section>`),Co=L(`<!> <!> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the ground</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Ground"></div></section> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the code</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Code"></div></section> <!> <p class="foot svelte-1h9x2hz"><a>the parts</a></p>`,1);function wo(t,n){ee(n,!0);let r={note:`Note`,atlas:`Atlas`,iso:`Iso`},o={cols:`Three columns`,stack:`The note beside the Atlas over Iso`,one:`One pane: the one in focus`},c=e(!1),u=e(!1);H(()=>{h(c,!!document.fullscreenEnabled&&!matchMedia(`(display-mode: standalone)`).matches,!0);let e=()=>{h(u,document.fullscreenElement!==null)};return e(),document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)}),e(!1);function f(){document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(()=>void 0)}var p=Co(),m=l(p),v=e=>{let t=G(()=>X.open);var n=lo(),r=b(W(n),2),i=W(r),o=b(i,2);k(r),k(n),a(`click`,i,()=>{Z.settings=null,ct(`question`,d(t))}),a(`click`,o,()=>{Z.settings=null,ct(`problem`,d(t))}),R(e,n)},y=G(()=>X.open&&!X.open.startsWith(`@`));_(m,e=>{d(y)&&e(v)});var S=b(m,2),C=e=>{var t=uo(),n=b(W(t),2),r=W(n),a=x(r,!0),o=b(r,2),c=x(o);k(n);var l=b(n,2);_(l,e=>{}),k(t),s(()=>{i(a,X.session.name),i(c,`· ${X.listing.notes.length??``} ${X.listing.notes.length===1?`note`:`notes`}`)}),R(e,t)};_(S,e=>{X.session&&e(C)});var T=b(S,2),E=b(W(T),2);g(E,21,()=>Ee,([e,t])=>e,(e,t)=>{var n=G(()=>V(d(t),2));let r=()=>d(n)[0],o=()=>d(n)[1];var c=fo();let l;var u=x(c,!0);s(()=>{l=F(c,1,`btn svelte-1h9x2hz`,null,l,{on:Te.chosen===r()}),j(c,`aria-checked`,Te.chosen===r()),i(u,o())}),a(`click`,c,()=>Te.choose(r())),R(e,c)}),k(E),k(T);var D=b(T,2),O=b(W(D),2);g(O,21,()=>Oe,([e,t])=>e,(e,t)=>{var n=G(()=>V(d(t),2));let r=()=>d(n)[0],o=()=>d(n)[1];var c=fo();let l;var u=x(c,!0);s(()=>{l=F(c,1,`btn svelte-1h9x2hz`,null,l,{on:De.chosen===r()}),j(c,`aria-checked`,De.chosen===r()),j(c,`title`,r()?`keywords bold, comments faint, as in print`:`coloured by what each word is`),i(u,o())}),a(`click`,c,()=>De.choose(r())),R(e,c)}),k(O),k(D);var A=b(D,2),M=e=>{var t=So(),n=b(W(t),2),i=W(n),p=e=>{var t=po();let n;s(()=>{n=F(t,1,`btn svelte-1h9x2hz`,null,n,{on:d(u)}),j(t,`aria-pressed`,d(u))}),a(`click`,t,f),R(e,t)};_(i,e=>{d(c)&&e(p)});var m=b(i,2),h=e=>{var t=xo(),n=l(t);g(n,20,()=>Se,e=>e,(e,t)=>{var n=go(),r=W(n),i=b(W(r)),c=e=>{var t=mo();R(e,t)},l=e=>{var t=ho();R(e,t)};_(i,e=>{t===`cols`?e(c):t===`stack`&&e(l,1)}),k(r),k(n),s(()=>{j(n,`aria-pressed`,Z.layout===t),j(n,`aria-label`,o[t]),j(n,`title`,`${o[t]??``} (Alt+L)`)}),a(`click`,n,()=>Z.setLayout(t)),R(e,n)}),k(n);var i=b(n,2);g(i,20,()=>be,e=>e,(e,t)=>{var n=bo();let i;var o=W(n),c=W(o),l=e=>{var t=_o();R(e,t)},u=e=>{var t=vo();ie(2),R(e,t)},d=e=>{var t=yo();R(e,t)};_(c,e=>{t===`note`?e(l):t===`atlas`?e(u,1):e(d,-1)}),k(o),k(n),s(e=>{i=F(n,1,`icon svelte-1h9x2hz`,null,i,{off:!Z.show[t]}),j(n,`aria-pressed`,Z.show[t]),j(n,`aria-label`,`Show ${r[t]??``}`),j(n,`title`,`Show or hide ${r[t]??``} (Alt+${e??``} brings it back)${t===`iso`?` · hide it when your terminal has the session`:``}`)},[()=>be.indexOf(t)+1]),a(`click`,n,()=>Z.toggle(t)),R(e,n)}),k(i),R(e,t)};_(m,e=>{Z.narrow||e(h)}),k(n),k(t),R(e,t)};_(A,e=>{(d(c)||!Z.narrow)&&e(M)});var N=b(A,2),P=x(N);s(e=>j(P,`href`,e),[()=>le(`/parts`)]),a(`click`,P,()=>Z.settings=null),R(t,p),w()}m([`click`]);var To=e=>{wo(e,{})},Eo=e=>{co(e,{})},Do=e=>{var t=ko(),n=b(W(t),2),r=e=>{var t=Oo(),n=x(t);s(()=>i(n,`${X.listing.notes.length??``} ${X.listing.notes.length===1?`note`:`notes`}`)),R(e,t)};_(n,e=>{X.atlas&&e(r)}),k(t),R(e,t)},Oo=L(`<p class="soft svelte-12qhfyh"> </p>`),ko=L(`<section class="set svelte-12qhfyh"><h2 class="label svelte-12qhfyh">the map</h2> <!></section>`),Ao=L(`<p class="stopped svelte-12qhfyh"> </p>`),jo=L(`<div class="divider svelte-12qhfyh" role="separator" aria-orientation="vertical" tabindex="0"></div>`),Mo=L(`<button class="icon svelte-12qhfyh" type="button" data-tour="understanding" aria-label="Understanding note" title="Understanding note"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="svelte-12qhfyh"><path d="M8 14.5V7.5M8 7.5L4.6 4.4M8 7.5l3.4-3.1M8 7.5V2.5M4.6 4.4L2.8 4.6M4.6 4.4L4.5 2.4M11.4 4.4l1.8.2M11.4 4.4l.1-2M8 11L5.8 9.6M8 11l2.2-1.4" class="svelte-12qhfyh"></path></svg></button>`),No=L(`<span role="status"><i aria-hidden="true" class="svelte-12qhfyh"></i><span class="hidden-label svelte-12qhfyh"> </span></span>`),Po=L(`<!> <!> <button class="icon svelte-12qhfyh" type="button" aria-label="All notes" title="All notes, and search"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M2.5 3h4M4.5 3v9.5h3M4.5 7.5h3" class="svelte-12qhfyh"></path><rect x="8" y="5.5" width="5.5" height="3.5" class="svelte-12qhfyh"></rect><rect x="8" y="10.5" width="5.5" height="3.5" class="svelte-12qhfyh"></rect></svg></button>`,1),Fo=L(`<div class="tree svelte-12qhfyh"><!></div>`),Io=L(`<!> <div class="pbody note-body svelte-12qhfyh"><!></div> <!>`,1),Lo=L(`<span class="says svelte-12qhfyh"> </span> <button class="link svelte-12qhfyh" type="button">stop</button>`,1),Ro=L(`<span title="click open ground to let its path go"> </span>`),zo=L(`<span class="says svelte-12qhfyh">click a note to link it, again to take it away</span>`),Bo=L(`<span class="says svelte-12qhfyh"> </span>`),Vo=L(`<span class="where soft svelte-12qhfyh"> </span><button class="btn out svelte-12qhfyh" type="button">↑ out</button>`,1),Ho=L(`<button class="icon svelte-12qhfyh" type="button" aria-label="The whole map" title="The whole map (0)"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M2.5 6V2.5H6M10 2.5h3.5V6M13.5 10v3.5H10M6 13.5H2.5V10" class="svelte-12qhfyh"></path></svg></button>`),Uo=L(`<!> <!> <!>`,1),Wo=L(`<!> <div class="pbody atlas-body svelte-12qhfyh"><!></div>`,1),Go=L(`<span> </span>`),Ko=L(`<!> <!> <!> <button class="icon ctx svelte-12qhfyh" type="button" aria-label="Context" title="What Iso is sent, part by part"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M3 3.5h10M3 6.5h10M3 9.5h6M3 12.5h6" class="svelte-12qhfyh"></path></svg> <!></button> <button class="icon svelte-12qhfyh" type="button" aria-label="A new conversation" title="A new conversation: nothing earlier is sent"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M8 3.5v9M3.5 8h9" class="svelte-12qhfyh"></path></svg></button>`,1),qo=L(`<!> <div class="pbody iso-body svelte-12qhfyh"><!></div>`,1),Jo=L(`<section><!> <!></section>`),Yo=L(`<span class="badge svelte-12qhfyh"> </span>`),Xo=L(`<button type="button" class="svelte-12qhfyh"> <!></button>`),Zo=L(`<div class="shell svelte-12qhfyh"><main class="panes svelte-12qhfyh"><!></main> <nav class="tabs svelte-12qhfyh" aria-label="Panes"></nav></div>`);function Qo(n,r){ee(r,!0),X.signIn!==null&&(Z.settings=`iso`);let f=G(()=>Z.standing);v(()=>{Ce.route.id===`/n/[...id]`&&Ce.params.id&&Z.setLast(Ce.params.id)}),v(()=>{Ce.url.href,Z.tree=!1}),H(()=>{let e=matchMedia(`(max-width: 760px)`);Z.narrow=e.matches;let t=()=>{Z.narrow=e.matches,Z.narrow&&requestAnimationFrame(()=>Z.scroll?.(Z.focus))};return e.addEventListener(`change`,t),Z.scroll=e=>{if(!Z.narrow||!d(p))return;let t=d(p).querySelector(`[data-pane="${e}"]`);t&&d(p).scrollTo({left:t.offsetLeft,behavior:matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`})},()=>{e.removeEventListener(`change`,t),Z.scroll=null}});let p=e(void 0),m=G(()=>{if(Z.layout===`stack`&&d(f).length===3){let[e,t]=d(f);return{template:`"a b" minmax(0, 1fr) "a c" minmax(0, 1fr) / minmax(0, ${Z.widths[e]}fr) minmax(0, ${Z.widths[t]}fr)`,areas:Object.fromEntries(d(f).map((e,t)=>[e,`abc`[t]]))}}return{template:`minmax(0, 1fr) / ${d(f).map(e=>`minmax(0, ${Z.widths[e]}fr)`).join(` `)}`,areas:{}}});function S(e,t){let n=e.currentTarget,r=d(f)[d(f).indexOf(t)-1];if(!r||!d(p))return;n.setPointerCapture(e.pointerId);let i=d(f).reduce((e,t)=>e+(Z.layout===`stack`&&t===d(f)[2]?0:Z.widths[t]),0),a=d(p).getBoundingClientRect().width/i,o=e.clientX,s=e=>{let n=(e.clientX-o)/a,i=Z.widths[r]+n,s=Z.widths[t]-n;i<.4||s<.4||(Z.setWidth(r,i),Z.setWidth(t,s),o=e.clientX)},c=()=>{n.removeEventListener(`pointermove`,s),n.removeEventListener(`pointerup`,c)};n.addEventListener(`pointermove`,s),n.addEventListener(`pointerup`,c)}function C(e,t){let n=d(f)[d(f).indexOf(t)-1];if(!n||e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;let r=e.key===`ArrowLeft`?-.1:.1;Z.widths[n]+r>=.4&&Z.widths[t]-r>=.4&&(Z.setWidth(n,Z.widths[n]+r),Z.setWidth(t,Z.widths[t]-r)),e.preventDefault()}function E(){Z.narrow&&d(p)&&(clearTimeout(D),D=setTimeout(()=>{let e=be[Math.round(d(p).scrollLeft/d(p).clientWidth)];e&&e!==Z.focus&&(Z.focus=e,e===`iso`&&(Z.unseen=0))},60))}let D;function O(e){if(e.key===`Escape`&&Z.tree){Z.tree=!1;return}if(!e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented)return;let t=e.target?.closest?.(`.cm-editor, input, textarea`)!=null,n=e.key;if(n===`1`||n===`2`||n===`3`)Z.to(be[n-1]);else if(n.toLowerCase()===`l`&&!Z.narrow)Z.nextLayout();else if(t)return;else if(n===`ArrowLeft`||n===`ArrowRight`)Z.step(n===`ArrowRight`?1:-1);else if(M[n.toLowerCase()])Z.flip(M[n.toLowerCase()]);else return;e.preventDefault()}let A={note:`Note`,atlas:`Atlas`,iso:`Iso`},M={p:`provenance`,t:`timeline`,q:`questions`,b:`problems`,w:`web`,k:`code`,c:`context`,n:`notes`,f:`files`,r:`run`},N=G(()=>Ce.route.id===`/n/[...id]`||Ce.route.id===`/draft/[id]`),P=G(()=>X.atlas&&!X.atlas.pick&&X.iso?.start?.place.form!==`turn`?X.iso:null),I=G(()=>d(P)?.state===`reading`||d(P)?.state===`writing`),L=G(()=>d(P)?X.listing.notes.find(e=>e.id===d(P).note)?.title??`your note`:``),z=()=>{d(P)&&X.api.stop(d(P).request)},V=G(()=>J(d(P)?.agent)),U=G(()=>{let e=d(P)?.steps.findLast(e=>e.opened&&!e.failed)?.opened;return e?X.listing.notes.find(t=>t.id===e)?.title??e:``});var te=Zo();ae(`12qhfyh`,e=>{y(()=>{o.title=d(N)&&X.here?`${X.here} · isorite`:`isorite`})}),c(`keydown`,u,O);var ne=W(te);let K;var ie=W(ne),se=e=>{var t=Ao(),n=x(t);s(()=>i(n,`isorite could not open the base: ${X.error??``}`)),R(e,t)},ce=e=>{var n=t(),o=l(n);g(o,16,()=>be,e=>e,(e,n)=>{var o=Jo();let u,p;var h=W(o),g=e=>{var t=jo();s(()=>j(t,`aria-label`,`Resize ${A[n]??``}`)),a(`pointerdown`,t,e=>S(e,n)),a(`keydown`,t,e=>C(e,n)),R(e,t)};_(h,e=>{!Z.narrow&&d(f)[0]!==n&&(Z.layout!==`stack`||d(f)[2]!==n)&&e(g)});var v=b(h,2),y=e=>{var t=Io(),n=l(t);Da(n,{pane:`note`,name:`Note`,get settings(){return To},tools:e=>{var t=Po(),n=l(t),r=e=>{var t=Mo();s(()=>j(t,`aria-pressed`,Z.understanding)),a(`click`,t,()=>Z.showUnderstanding()),R(e,t)},o=G(()=>Ce.route.id===`/n/[...id]`&&!(Ce.params.id??``).startsWith(`@`));_(n,e=>{d(o)&&e(r)});var c=b(n,2),u=e=>{var t=No();let n;var r=b(W(t)),a=x(r,!0);k(t),s(e=>{n=F(t,1,`saved svelte-12qhfyh`,null,n,{bad:X.saving.bad,busy:e}),j(t,`title`,X.saving.text),i(a,X.saving.text)},[()=>!X.saving.text.startsWith(`saved`)]),R(e,t)};_(c,e=>{d(N)&&X.saving&&e(u)});var f=b(c,2);s(()=>j(f,`aria-pressed`,Ce.route.id===`/notes`||Z.tree)),a(`click`,f,()=>{Ce.route.id!==`/notes`&&(Z.tree=!Z.tree)}),R(e,t)},$$slots:{tools:!0}});var o=b(n,2),c=W(o);T(c,()=>r.children),k(o);var u=b(o,2),f=e=>{var t=Fo(),n=W(t);we(n,{}),k(t),R(e,t)};_(u,e=>{Z.tree&&Ce.route.id!==`/notes`&&e(f)}),R(e,t)},w=e=>{var n=Wo(),r=l(n);Da(r,{pane:`atlas`,name:`Atlas`,get settings(){return Do},tools:e=>{var n=Uo(),r=l(n),o=e=>{var n=t(),r=l(n),o=e=>{var t=Lo(),n=l(t),r=x(n,!0),o=b(n,2);s(e=>i(r,e),[()=>d(P).note.startsWith(`@draft/`)?`your note opens when Iso is done`:`Iso is answering in ${d(L)}`]),a(`click`,o,z),R(e,t)},c=e=>{var t=Ro();let n;var r=x(t,!0);s(()=>{n=F(t,1,`says svelte-12qhfyh`,null,n,{bad:d(P).state===`failed`}),i(r,d(P).state===`done`?`Iso is done in ${d(L)}`:d(P).state===`stopped`?`Iso was stopped`:`Iso could not answer: ${d(P).message}`)}),R(e,t)};_(r,e=>{d(I)?e(o):e(c,-1)}),R(e,n)},c=e=>{var t=zo();R(e,t)},u=e=>{var t=Bo(),n=x(t);s(()=>i(n,`${X.atlas.steps??``} ${X.atlas.steps===1?`step`:`steps`} back`)),R(e,t)};_(r,e=>{d(P)&&!d(P).agent&&(!X.open||d(P).note!==X.open)&&(d(I)||!X.atlas?.chosen)?e(o):X.atlas?.pick?e(c,1):X.atlas?.chosen&&X.atlas.steps&&e(u,2)});var f=b(r,2),p=e=>{var t=Vo(),n=l(t),r=x(n,!0),o=b(n);s(()=>i(r,X.atlas.here)),a(`click`,o,function(...e){X.atlas.out?.apply(this,e)}),R(e,t)};_(f,e=>{X.atlas?.here&&e(p)});var m=b(f,2),h=e=>{var t=Ho();a(`click`,t,function(...e){X.atlas.fit?.apply(this,e)}),R(e,t)};_(m,e=>{X.atlas&&e(h)}),R(e,n)},$$slots:{tools:!0}});var o=b(r,2);Jr(W(o),{}),k(o),R(e,n)},E=e=>{var n=qo(),r=l(n);Da(r,{pane:`iso`,name:`Iso`,get settings(){return Eo},tools:e=>{var n=Ko(),r=l(n),o=e=>{var t=Bo(),n=x(t,!0);s(()=>{j(t,`title`,d(I)?``:`click open ground on the Atlas to let its path go`),i(n,d(I)?`${d(V)} is ${d(U)?`reading ${d(U)}`:`at work`} in the terminal`:`${d(V)}'s turn is done`)}),R(e,t)};_(r,e=>{d(P)?.agent&&e(o)});var c=b(r,2),u=e=>{Ma(e,{})};_(c,e=>{Z.mode!==`build`&&e(u)});var f=b(c,2);ka(f,{});var p=b(f,2),m=b(W(p),2),h=e=>{var n=t(),r=l(n);oe(r,()=>Y.fresh,e=>{var t=Go();let n;var r=x(t,!0);s(()=>{n=F(t,1,`n svelte-12qhfyh`,null,n,{pulse:$.view===`chat`&&Y.fresh!==``}),i(r,Y.sent.length)}),R(e,t)}),R(e,n)};_(m,e=>{Y.sent.length&&e(h)}),k(p);var g=b(p,2);s(()=>{j(p,`aria-pressed`,$.view===`context`),g.disabled=Z.mode===`build`||!!$.running||!$.turns.length}),a(`click`,p,()=>$.view=$.view===`context`?`chat`:`context`),a(`click`,g,()=>{$.fresh(),$.view=`chat`}),R(e,n)},$$slots:{tools:!0}});var o=b(r,2);fa(W(o),{}),k(o),R(e,n)};_(v,e=>{n===`note`?e(y):n===`atlas`?e(w,1):e(E,-1)}),k(o),s(e=>{u=F(o,1,`pane svelte-12qhfyh`,null,u,{focus:Z.focus===n,first:d(f)[0]===n,top:Z.layout===`stack`&&d(f)[1]===n&&d(f).length===3}),j(o,`data-pane`,n),j(o,`aria-label`,A[n]),j(o,`hidden`,e),p=B(o,``,p,{"grid-area":d(m).areas[n]})},[()=>!d(f).includes(n)]),c(`pointerdown`,o,()=>{Z.narrow||(Z.focus=n)},!0),R(e,o)}),R(e,n)};_(ie,e=>{X.error?e(se):e(ce,-1)}),k(ne),re(ne,e=>h(p,e),()=>d(p));var le=b(ne,2);g(le,20,()=>be,e=>e,(e,t)=>{var n=Xo(),r=W(n),o=b(r),c=e=>{var t=Yo(),n=x(t,!0);s(()=>i(n,Z.unseen)),R(e,t)};_(o,e=>{t===`iso`&&Z.unseen&&e(c)}),k(n),s(()=>{j(n,`aria-current`,Z.focus===t),j(n,`aria-label`,A[t]),i(r,`${A[t]??``} `)}),a(`click`,n,()=>Z.to(t)),R(e,n)}),k(le),k(te),s(()=>{j(ne,`data-layout`,Z.layout),K=B(ne,``,K,{"grid-template":d(m).template})}),c(`scroll`,ne,E),R(n,te),w()}m([`pointerdown`,`keydown`,`click`]);export{Qo as component,Je as universal};
@@ -0,0 +1 @@
1
+ import{D as e,H as t,J as n,X as r,Y as i,at as a,j as o,k as s,ot as c}from"../chunks/nMarIA7J.js";import"../chunks/xihTtKlq.js";import{t as l}from"../chunks/DsBJWNWe.js";var u=o(`<h1> </h1> <p> </p>`,1);function d(o,d){c(d,!0);var f=u(),p=n(f),m=i(p,!0),h=r(p,2),g=i(h,!0);t(()=>{e(m,l.status),e(g,l.error?.message)}),s(o,f),a()}export{d as component};
@@ -0,0 +1 @@
1
+ import{at as e,n as t,o as n,ot as r}from"../chunks/nMarIA7J.js";import{o as i,t as a}from"../chunks/BNjH_DUx.js";import"../chunks/xihTtKlq.js";import{r as o,t as s}from"../chunks/DkvLWnSd.js";import{i as c}from"../chunks/B3dCo0od.js";import"../chunks/D_19S_Iu.js";function l(l,u){r(u,!1),t(()=>{let e=s.listing.notes.some(e=>e.id===c.last)?c.last:``;a(e?o(e):i(`/notes`),{replaceState:!0})}),n(),e()}export{l as component};
@@ -0,0 +1 @@
1
+ import{at as e,n as t,o as n,ot as r}from"../chunks/nMarIA7J.js";import{o as i,t as a}from"../chunks/BNjH_DUx.js";import"../chunks/xihTtKlq.js";import{r as o,t as s}from"../chunks/DkvLWnSd.js";import{i as c}from"../chunks/B3dCo0od.js";import{t as l}from"../chunks/DsBJWNWe.js";import"../chunks/D_19S_Iu.js";function u(u,d){r(d,!1),t(()=>{let e=s.listing.notes.some(e=>e.id===c.last)?c.last:``;a((e?o(e):i(`/notes`))+l.url.search,{replaceState:!0}).then(()=>c.to(`atlas`))}),n(),e()}export{u as component};
@@ -0,0 +1,2 @@
1
+ import{$ as e,A as t,D as n,F as r,H as i,J as a,L as o,P as s,Q as c,S as l,T as u,U as d,X as f,Y as p,_ as m,at as h,d as g,dt as _,et as v,f as y,h as b,j as x,k as S,n as C,o as w,ot as T,p as E,q as D,rt as O,tt as k,u as A,ut as ee,w as j,x as M}from"../chunks/nMarIA7J.js";import{o as N,t as P}from"../chunks/BNjH_DUx.js";import"../chunks/xihTtKlq.js";import{i as F,t as I}from"../chunks/62dhNtvj.js";import{r as L,t as R}from"../chunks/DkvLWnSd.js";import{i as z}from"../chunks/B3dCo0od.js";import{t as B}from"../chunks/DsBJWNWe.js";import"../chunks/D_19S_Iu.js";import{a as V,o as H,t as te}from"../chunks/D6Vzg2HD.js";var U=x(`<p class="faint col svelte-nq8rms">opening…</p>`),W=x(`<div class="col svelte-nq8rms"><p class="soft">This note for Iso is not here any more. It was kept as a note, or discarded.</p><p><a>all notes</a></p></div>`),ne=x(`<div class="prompt svelte-nq8rms"><p> </p> <button class="link svelte-nq8rms" type="button"> </button></div>`),G=x(`<div class="prose said svelte-nq8rms"></div>`),re=x(`<span class="faint"> </span>`),ie=x(`<!> <div class="foot svelte-nq8rms"><i class="dia svelte-nq8rms" aria-hidden="true"></i> <span class="soft"> <!></span> <span class="grow"></span> <button class="link svelte-nq8rms" type="button">[ stop ]</button></div>`,1),ae=x(`<textarea class="revision svelte-nq8rms" aria-label="Iso's text, to edit"></textarea>`),oe=x(`<!> <div aria-live="polite"><!></div>`,1),K=x(`<p class="bad svelte-nq8rms" role="alert"> </p>`),se=x(`<span class="chip lattice svelte-nq8rms"> </span>`),ce=x(`<span class="faint">no notes yet: type [[ in what you write, or</span>`),le=x(`<button type="button" role="radio" class="svelte-nq8rms"> </button>`),ue=x(`<div class="row svelte-nq8rms"><span class="label">linked</span> <!> <button class="link svelte-nq8rms" type="button">[ + pick on the atlas ]</button></div> <div class="row svelte-nq8rms"><button class="btn primary tall" type="button"><i class="dia inverse svelte-nq8rms" aria-hidden="true"></i>send to Iso</button> <span class="tiers svelte-nq8rms" role="radiogroup" aria-label="Tier"></span> <span class="grow"></span> <button class="link faint svelte-nq8rms" type="button">[ discard ]</button></div>`,1),de=x(`<option></option>`),fe=x(`<button class="btn edit" type="button">done</button>`),pe=x(`<button class="btn edit" type="button">edit</button>`),me=x(`<div class="row svelte-nq8rms"><button class="btn primary tall" type="button">keep as a note</button> <label class="in soft svelte-nq8rms"><span>in</span><input class="field svelte-nq8rms" placeholder="the top of the base" list="folders" autocomplete="off" aria-label="Folder"/><span class="faint">/</span></label> <datalist id="folders"></datalist> <span class="grow"></span> <!> <button class="btn danger tall" type="button">discard</button></div> <div class="row svelte-nq8rms"><span class="label"> </span> <span class="grow"></span> <button class="link svelte-nq8rms" type="button">[ back to what I wrote ]</button></div>`,1),he=x(`<div class="col svelte-nq8rms"><div class="mark svelte-nq8rms"><i class="dia open svelte-nq8rms" aria-hidden="true"></i><span class="label">for Iso · not in your base yet</span></div> <label class="hidden-label" for="title">Title</label> <textarea id="title" class="serif title svelte-nq8rms" rows="1" placeholder="a title for the note" autocomplete="off"></textarea> <!> <!> <!></div> <div class="deck svelte-nq8rms"><!></div>`,1),ge=x(`<article class="draft svelte-nq8rms"><!></article>`);function q(t,s){T(s,!0);let v=new V(s.id),x=new H(v),w=e(``),j=e(!1),B=e(``),q=e(!1),J=k(()=>x.proposals.at(-1)),Y=k(()=>o(J)?.text??``),X=k(()=>o(J)&&x.editing?.id===o(J).id?x.editing:null),Z=k(()=>!o(J)&&!x.asking),_e=k(()=>{let e=[...v.body.matchAll(/\]\(\/([^)\s#]+)\.md/g)].map(e=>decodeURIComponent(e[1]));return[...new Set(e)].flatMap(e=>{let t=R.listing.notes.find(t=>t.id===e);return t?[t]:[]})}),Q=k(()=>x.asking?.steps.at(-1)?.said??``);C(()=>{R.open=s.id,v.open().then(()=>x.open());let e=()=>{v.save()};return addEventListener(`pagehide`,e),()=>{removeEventListener(`pagehide`,e),x.close(),v.close(),R.here=R.open=``,R.saving=null}}),d(()=>{R.here=v.loaded===`ready`?v.fields.title||`a new note`:``,R.saving=v.loaded===`ready`&&o(Z)?{text:v.saving===`saved`?`saved, outside your base`:v.saving===`failed`?`not saved: ${v.message}`:`saving`,bad:v.saving===`failed`}:null});async function ve(){if(o(J)){c(B,``),c(q,!0);try{await v.save(),o(X)&&await x.done(o(J));let e=await R.api.keepDraft(s.id,o(J).id,o(w));await R.refresh(),await P(L(e.id))}catch(e){c(B,e.message,!0)}finally{c(q,!1)}}}async function ye(){await v.save();let e=s.id.slice(7);await P(`${N(`/draft/[id]`,{id:e})}?pick=${encodeURIComponent(e)}`),z.to(`atlas`)}async function be(){let e=await x.send();e&&(R.watching=e,z.to(`atlas`))}async function xe(){c(q,!0);try{await R.api.discardDraft(s.id),await P(N(`/notes`))}catch(e){c(B,e.message,!0),c(q,!1)}}var $=ge(),Se=D($),Ce=e=>{var t=U();S(e,t)},we=e=>{var t=W(),n=f(D(t)),r=p(n);_(t),i(e=>y(r,`href`,e),[()=>N(`/notes`)]),S(e,t)},Te=e=>{var t=he(),s=a(t),d=f(D(s),4);O(d);var h=f(d,2),C=e=>{te(e,{get note(){return v},source:!1})},T=e=>{var t=oe(),s=a(t),l=e=>{var t=ne(),a=D(t);let s;var l=p(a,!0),u=f(a,2),d=p(u,!0);_(t),i(e=>{s=b(a,1,`serif soft svelte-nq8rms`,null,s,{fold:!o(j)}),n(l,e),n(d,o(j)?`[ fold ]`:`[ show all ]`)},[()=>v.body.trim()]),r(`click`,u,()=>c(j,!o(j))),S(e,t)},d=k(()=>v.body.trim());u(s,e=>{o(d)&&e(l)});var h=f(s,2);let g;var C=D(h),w=e=>{var t=ie(),s=a(t),c=e=>{var t=G();M(t,()=>F(x.asking.text),!0),_(t),m(t,(e,t)=>I?.(e,t),()=>x.asking.text),S(e,t)};u(s,e=>{x.asking.text&&e(c)});var l=f(s,2),d=f(D(l),2),h=D(d,!0),g=f(h),v=e=>{var t=re(),r=p(t);i(()=>n(r,`· ${o(Q)??``}`)),S(e,t)};u(g,e=>{o(Q)&&e(v)}),_(d);var y=f(d,4);_(l),i(()=>n(h,x.asking.text?`Iso is writing`:`Iso is thinking`)),r(`click`,y,()=>x.halt()),S(e,t)},T=e=>{var t=ae();O(t),i(e=>y(t,`rows`,e),[()=>Math.max(6,o(X).text.split(`
2
+ `).length+1)]),A(t,()=>o(X).text,e=>o(X).text=e),S(e,t)},E=e=>{var t=G();M(t,()=>F(o(Y)),!0),_(t),m(t,(e,t)=>I?.(e,t),()=>({given:o(Y),copy:!0})),S(e,t)};u(C,e=>{x.asking?e(w):o(X)?e(T,1):e(E,-1)}),_(h),i(e=>g=b(h,1,`between svelte-nq8rms`,null,g,{working:e}),[()=>!!x.asking]),S(e,t)};u(h,e=>{o(Z)?e(C):e(T,-1)});var N=f(h,2),P=e=>{var t=K(),r=p(t,!0);i(()=>n(r,x.failed.message)),S(e,t)};u(N,e=>{x.failed&&e(P)});var L=f(N,2),z=e=>{var t=K(),r=p(t,!0);i(()=>n(r,o(B))),S(e,t)};u(L,e=>{o(B)&&e(z)}),_(s);var V=f(s,2),H=D(V),U=e=>{var t=ue(),s=a(t),c=f(D(s),2);l(c,17,()=>o(_e),e=>e.id,(e,t)=>{var r=se(),a=p(r,!0);i(()=>n(a,o(t).title)),S(e,r)},e=>{var t=ce();S(e,t)});var u=f(c,2);_(s);var d=f(s,2),m=D(d),h=f(m,2);l(h,20,()=>[`low`,`mid`,`max`],e=>e,(e,t)=>{var a=le(),o=p(a,!0);i(()=>{y(a,`aria-checked`,x.tier===t),n(o,t)}),r(`click`,a,()=>x.setTier(t)),S(e,a)}),_(h);var g=f(h,4);_(d),i(e=>{m.disabled=e,g.disabled=o(q)},[()=>!v.body.trim()]),r(`click`,u,ye),r(`click`,m,be),r(`click`,g,xe),S(e,t)},W=e=>{var t=me(),s=a(t),d=D(s),m=f(d,2),h=f(D(m));g(h),ee(),_(m);var v=f(m,2);l(v,20,()=>R.listing.dirs,e=>e,(e,t)=>{var n=de(),r={};i(()=>{r!==(r=t)&&(n.value=(n.__value=r)??``)}),S(e,n)}),_(v);var y=f(v,4),b=e=>{var t=fe();r(`click`,t,()=>x.done(o(J))),S(e,t)},C=e=>{var t=pe();r(`click`,t,()=>x.edit(o(J))),S(e,t)};u(y,e=>{o(X)?e(b):e(C,-1)});var T=f(y,2);_(s);var E=f(s,2),O=D(E),k=p(O),j=f(O,4);_(E),i(e=>{d.disabled=o(q),T.disabled=o(q),n(k,`${e??``}${o(J).notice?` · ${o(J).notice}`:``}`),j.disabled=o(q)},[()=>o(J).cost?`${o(J).cost.tier} · $${o(J).cost.usd.toFixed(3)}`:``]),r(`click`,d,ve),A(h,()=>o(w),e=>c(w,e)),r(`click`,T,xe),r(`click`,j,()=>x.discard(o(J))),S(e,t)};u(H,e=>{o(Z)?e(U):o(J)&&e(W,1)}),_(V),i(()=>{E(d,v.fields.title),d.readOnly=!o(Z)}),r(`input`,d,e=>v.setFields({title:e.currentTarget.value.replace(/\s*\n\s*/g,` `)})),r(`keydown`,d,e=>{e.key===`Enter`&&e.preventDefault()}),S(e,t)};u(Se,e=>{v.loaded===`loading`?e(Ce):v.loaded===`ready`?e(Te,-1):e(we,1)}),_($),S(t,$),h()}s([`input`,`keydown`,`click`]);function J(e,n){T(n,!1),w();var r=t(),i=a(r);j(i,()=>B.params.id,e=>{{let t=v(()=>`@draft/${B.params.id??``}`);q(e,{get id(){return o(t)}})}}),S(e,r),h()}export{J as component};
@@ -0,0 +1,5 @@
1
+ import{$ as e,A as t,D as n,F as r,H as i,I as a,J as o,K as s,L as c,M as l,N as u,P as d,Q as f,S as p,T as m,U as h,X as g,Y as _,Z as v,_ as y,at as b,d as x,dt as S,f as C,h as w,j as T,k as E,m as ee,n as te,ot as D,p as O,pt as k,q as A,rt as j,s as M,tt as N,ut as P,w as F,x as I,z as L}from"../chunks/nMarIA7J.js";import{o as ne,t as R}from"../chunks/BNjH_DUx.js";import"../chunks/xihTtKlq.js";import{A as z,E as B,M as re,N as V,P as ie,T as H,h as ae,i as U,j as oe,m as se,t as W,w as ce,x as le}from"../chunks/62dhNtvj.js";import{i as ue,n as de,r as fe,t as pe}from"../chunks/CVbgxz8Y.js";import{i as G,r as me,t as K}from"../chunks/DkvLWnSd.js";import{i as q}from"../chunks/B3dCo0od.js";import{t as he}from"../chunks/DsBJWNWe.js";import{t as ge}from"../chunks/DHfKGggc.js";import{a as _e,i as J,n as Y,o as ve,r as ye,t as be}from"../chunks/D6Vzg2HD.js";var xe=T(`<button class="link svelte-1khbtcu" type="button">delete</button>`),Se=T(`<label class="wide svelte-1khbtcu" for="note-folder"><span>folder</span></label> <span class="wide svelte-1khbtcu"><!></span> <label class="svelte-1khbtcu"><span>name</span><input class="mono svelte-1khbtcu" spellcheck="false" autocomplete="off" aria-label="name: change it to rename the file"/></label> <!>`,1),X=T(`<div class="full ask svelte-1khbtcu" role="alertdialog" aria-label="delete this note"><span class="svelte-1khbtcu">Delete this note? <!> Its history stays.</span> <button class="btn danger svelte-1khbtcu" type="button">delete</button> <button class="btn quiet svelte-1khbtcu" type="button">keep it</button></div>`),Ce=T(`<p class="full problem svelte-1khbtcu" role="alert"> </p>`),we=T(`<option></option>`),Te=T(`<div class="details svelte-1khbtcu"><label class="svelte-1khbtcu"><span>type</span><input list="types" autocomplete="off" class="svelte-1khbtcu"/></label> <label class="wide svelte-1khbtcu"><span>tags</span><input placeholder="none" autocomplete="off" class="svelte-1khbtcu"/></label> <label class="full svelte-1khbtcu"><span>description</span><input placeholder="one line on what this note says" autocomplete="off" class="svelte-1khbtcu"/></label> <!> <!> <!> <datalist id="types"></datalist></div>`);function Ee(t,a){D(a,!0);let s=N(()=>[...new Set(K.listing.notes.map(e=>e.type).filter(Boolean))].sort()),l=N(()=>!a.note.id.startsWith(`@`)),d=e(``),h=e(null),v=e=>e.split(`/`).slice(0,-1).join(`/`),y=e=>e.split(`/`).at(-1),w=N(()=>v(a.note.id));async function T(e,t){let n=e=>e.trim().replace(/^\/+|\/+$/g,``).replace(/\.md$/,``),r=[n(e),n(t)].filter(Boolean).join(`/`);if(!n(t)||r===a.note.id)f(w,v(a.note.id));else{f(d,``);try{let e=await a.note.move(r);await K.refresh(),await R(me(e),{replaceState:!0})}catch(e){f(d,e.message,!0),f(w,v(a.note.id))}}}async function ee(){f(d,``);try{let e=await K.api.map();f(h,[...new Set(e.model.edges.filter(([e,t])=>t===a.note.id&&e!==a.note.id&&!e.startsWith(`@`)).map(([t])=>e.notes[t]?.title||t))],!0)}catch(e){f(d,e.message,!0)}}async function te(){try{await a.note.remove(),await K.refresh(),await R(ne(`/notes`),{replaceState:!0})}catch(e){f(d,e.message,!0),f(h,null)}}var k=Te(),j=A(k),M=g(A(j));x(M),S(j);var F=g(j,2),I=g(A(F));x(I),S(F);var L=g(F,2),z=g(A(L));x(z),S(L);var B=g(L,2),re=e=>{var t=Se(),n=g(o(t),2),s=A(n);ge(s,{id:`note-folder`,quiet:!0,label:`folder: change it to move the note`,placeholder:`the top of the base`,onpick:e=>void T(e,y(a.note.id)),onkeydown:e=>{e.key===`Escape`&&(f(w,v(a.note.id)),e.currentTarget.blur())},get value(){return c(w)},set value(e){f(w,e)}}),S(n);var l=g(n,2),u=g(A(l));x(u),S(l);var d=g(l,2),p=e=>{var t=xe();r(`click`,t,()=>void ee()),E(e,t)};m(d,e=>{c(h)===null&&e(p)}),i((e,t)=>{O(u,e),C(u,`size`,t)},[()=>y(a.note.id),()=>Math.max(8,y(a.note.id).length)]),r(`change`,u,e=>void T(c(w),e.currentTarget.value)),r(`keydown`,u,e=>{e.key===`Enter`?e.currentTarget.blur():e.key===`Escape`&&(e.currentTarget.value=y(a.note.id),e.currentTarget.blur())}),E(e,t)};m(B,e=>{c(l)&&e(re)});var V=g(B,2),ie=e=>{var t=X(),a=A(t),o=g(A(a)),s=e=>{var t=u();i(e=>n(t,`${c(h).length===1?`One note links`:`${c(h).length} notes link`} to it (${e??``}); ${c(h).length===1?`its link is`:`their links are`} left broken.`),[()=>c(h).join(`, `)]),E(e,t)},l=e=>{var t=u(`No note links to it.`);E(e,t)};m(o,e=>{c(h).length?e(s):e(l,-1)}),P(),S(a);var d=g(a,2),p=g(d,2);S(t),r(`click`,d,()=>void te()),r(`click`,p,()=>{f(h,null)}),E(e,t)};m(V,e=>{c(h)!==null&&e(ie)});var H=g(V,2),ae=e=>{var t=Ce(),r=_(t,!0);i(()=>n(r,c(d))),E(e,t)};m(H,e=>{c(d)&&e(ae)});var U=g(H,2);p(U,20,()=>c(s),e=>e,(e,t)=>{var n=we(),r={};i(()=>{r!==(r=t)&&(n.value=(n.__value=r)??``)}),E(e,n)}),S(U),S(k),i(e=>{O(M,a.note.fields.type),C(M,`size`,e),O(I,a.note.fields.tags),O(z,a.note.fields.description)},[()=>Math.max(7,a.note.fields.type.length)]),r(`input`,M,e=>a.note.setFields({type:e.currentTarget.value})),r(`change`,I,e=>a.note.setFields({tags:e.currentTarget.value})),r(`input`,z,e=>a.note.setFields({description:e.currentTarget.value})),E(t,k),b()}d([`input`,`change`,`keydown`,`click`]);var De=T(`<h1 class="serif title svelte-130pv1o"> </h1>`),Oe=T(`<p class="asked svelte-130pv1o"><i class="dia svelte-130pv1o" aria-hidden="true"></i><span> </span></p>`),ke=T(`<div class="offered svelte-130pv1o" aria-label="What Iso offered"><p class="serif svelte-130pv1o"> </p></div>`),Ae=T(`<div class="version svelte-130pv1o"><!> <!> <div class="text svelte-130pv1o"></div> <!></div>`);function je(t,r){D(r,!0);let a=N(()=>{try{let[e,t,n]=z(r.text);return{title:/^title:\s*(.*)$/m.exec(t??``)?.[1]?.trim().replace(/^["']|["']$/g,``)??``,body:n,lines:e.split(`
2
+ `).length-1}}catch{return{title:``,body:r.text,lines:0}}}),o,s=e(void 0);te(()=>(f(s,Y(o,{doc:c(a).body,onChange:()=>void 0,onSave:()=>void 0,label:`The note as it was`,notes:()=>[],readOnly:!0})),()=>c(s)?.destroy())),h(()=>{let e=r.touched,t=c(a).lines;c(s)?.dispatch({effects:J.of(e?{who:e.who,lines:e.lines.map(e=>e-t)}:null)})});var l=Ae(),u=A(l),d=e=>{var t=De(),r=_(t,!0);i(()=>n(r,c(a).title)),E(e,t)};m(u,e=>{c(a).title&&c(a).title!==r.title&&e(d)});var p=g(u,2),v=e=>{var t=Oe(),a=g(A(t)),o=_(a,!0);S(t),i(()=>n(o,r.asked)),E(e,t)};m(p,e=>{r.asked!==void 0&&e(v)});var y=g(p,2);M(y,e=>o=e,()=>o);var x=g(y,2),C=e=>{var t=ke(),a=A(t),o=_(a,!0);S(t),i(()=>n(o,r.offered)),E(e,t)};m(x,e=>{r.offered!==void 0&&e(C)}),S(l),E(t,l),b()}var Me=(e,t=k,n=k)=>{var r=Fe();let a;var o=A(r),s=e=>{var t=Ne();P(),E(e,t)},c=e=>{var t=Pe();i(()=>C(t,`fill`,n()?`currentColor`:`none`)),E(e,t)};m(o,e=>{t()===`question`?e(s):e(c,-1)}),S(r),i(()=>a=w(r,0,`glyph ${t()??``}`,`svelte-18ltlst`,a,{solved:n()})),E(e,r)},Ne=l(`<path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9"></path><path d="M8 12v1.2"></path>`,1),Pe=l(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),Fe=l(`<svg viewBox="0 0 16 16" width="18" height="18" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><!></svg>`),Ie=T(`<p class="faint">opening…</p>`),Le=T(`<p class="soft">There is no note at <span class="faint"> </span>.</p> <p><a>all notes</a></p>`,1),Re=T(`<p class="bad svelte-18ltlst"> </p>`),ze=T(`<button class="btn" type="button">take theirs</button>`),Be=T(`<div class="frame choice svelte-18ltlst" role="alert"><span class="frame-title">changed elsewhere</span> <p> </p> <div class="row svelte-18ltlst"><button class="btn primary" type="button">keep mine</button> <!></div> <p class="faint">Whichever you keep, the other stays in the note's journal.</p></div>`),Ve=T(`<button class="done-tg svelte-18ltlst" type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 8.5l3 3 7-7"></path></svg></button>`),He=T(`<div class="titlerow svelte-18ltlst"><!> <label class="hidden-label" for="title">Title</label> <textarea id="title" class="serif title svelte-18ltlst" rows="1" autocomplete="off"></textarea> <!></div>`),Ue=T(`<span class="grow faint"> </span>`),We=T(`<button class="btn quiet svelte-18ltlst" type="button">details</button>`),Ge=T(` <a class="svelte-18ltlst"> </a>`,1),Ke=T(`<p class="about svelte-18ltlst"></p>`),qe=T(`<div class="tl-col svelte-18ltlst"><!></div>`),Je=T(`<span class="bad svelte-18ltlst" role="alert"> </span>`),Ye=T(`<div class="atbar svelte-18ltlst" role="status"><span class="label"> </span> <span class="grow"></span> <!> <button class="icon svelte-18ltlst" type="button" aria-label="restore to here" title="restore to here"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M3.2 9.5A5 5 0 1 0 4.6 4.3" stroke="currentColor" stroke-width="1.3" fill="none"></path><path d="M3 1.8v3.4h3.4" stroke="currentColor" stroke-width="1.3" fill="none"></path></svg></button> <button class="icon svelte-18ltlst" type="button" aria-label="back to now" title="back to now"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M2 8h9M8 4.8 11.2 8 8 11.2" stroke="currentColor" stroke-width="1.3" fill="none"></path><path d="M13.5 3v10" stroke="currentColor" stroke-width="1.3"></path></svg></button></div> <!>`,1),Xe=T(`<button class="toiso svelte-18ltlst" type="button"><i class="dia svelte-18ltlst" aria-hidden="true">◆</i>send to Iso</button>`),Ze=l(`<svg class="ok svelte-18ltlst" viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 8.5l3 3 7-7"></path></svg>`),Qe=T(`<li><a><!><span class="svelte-18ltlst"> </span><!></a></li>`),$e=T(`<ul class="attached svelte-18ltlst"></ul>`),et=T(`<div class="changes svelte-18ltlst" role="status"><i class="dia svelte-18ltlst" aria-hidden="true"></i> <span class="soft"> </span> <span class="grow"></span> <button class="link svelte-18ltlst" type="button">keep all</button> <button class="link svelte-18ltlst" type="button">remove all</button></div>`),tt=T(`<!> <div class="head svelte-18ltlst"><!> <div class="side svelte-18ltlst"><div class="tools svelte-18ltlst"><!> <button class="btn quiet svelte-18ltlst" type="button">source</button></div></div></div> <!> <!> <!> <!> <!> <div class="live"><!></div> <!> <!>`,1),nt=T(`<article><!></article>`);function rt(t,l){D(l,!0);let u=new _e(l.id),d=new ve(u),y=e=>{try{return localStorage.getItem(e)===`1`}catch{return!1}},x=(e,t)=>{try{localStorage.setItem(e,t?`1`:`0`)}catch{}},T=e(v(y(`isorite.details`))),k=e(!1),I=N(()=>c(k)||u.meta===null),z=N(()=>q.on.timeline),U=e(null),W=e(null),ge=e(!1),J=e(``),Y=N(()=>le(d.entries)),ye=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`),xe=e=>e.flatMap(e=>Array.from({length:e.to-e.from},(t,n)=>e.from+n)),Se=N(()=>{if(!c(z)||c(W)||c(I))return null;let e=c(U)??(c(Te)?void 0:c(Y).findLast(e=>ye(e)&&(e.what===`kept`||e.what===`edited`)));if(!e)return null;let t=xe(H(d.entries,e.ids).runs);return t.length?{who:ye(e)?`iso`:`you`,lines:t}:null}),X=N(()=>{if(!c(W))return null;let e=ue(c(W)),t=ce(d.entries,e);if(t===null)return null;let n=d.entries.filter(t=>t.id<=e),r=d.entries.find(e=>e.id===c(W).ids[0]),i=(c(W).what===`offered`||c(W).what===`discarded`)&&r?.kind===`proposal`?r.form===`insert`?r.text:r.regions.map(e=>e.new).join(`
3
+
4
+ `):void 0;return{text:t,touched:{who:ye(c(W))?`iso`:`you`,lines:xe(H(n,c(W).ids).runs)},asked:c(W).asked,offered:i}}),Ce=()=>he.url.searchParams.get(`at`)??new URLSearchParams(location.hash.split(`?`)[1]??``).get(`at`),we=e(v(Ce()));h(()=>{let e=Ce();e&&f(we,e,!0)}),h(()=>{if(!c(we))return;let e=c(Y).find(e=>e.ids.includes(c(we)));e&&(f(we,null),q.flip(`timeline`,!0),f(W,e))});let Te=N(()=>q.on.provenance);h(()=>{c(z)||(f(W,null),f(U,null))});let De=N(()=>{if(!c(Te)||u.loaded!==`ready`)return[];let e=[],t=B(d.entries),n=u.text.split(`
5
+ `);if(t&&t.length===n.length){let r=0;for(let[i,a]of n.entries()){for(let n of t[i])(n.who.startsWith(`iso:`)||n.who.startsWith(`agent:`))&&n.to<=a.length&&a.slice(n.from,n.to).trim()&&e.push({kind:`by-iso`,from:r+n.from,to:r+n.to});r+=a.length+1}}for(let t of se.parts){if(t.kind!==`passage`||t.id!==l.id)continue;let n=u.text.indexOf(t.text);n>=0&&e.push({kind:`given`,from:n,to:n+t.text.length})}return e});function Oe(e){f(J,``),f(W,c(W)===e?null:e)}function ke(e){if(!c(W))return;let t=c(Y).indexOf(c(W))+e;t>=0&&t<c(Y).length&&f(W,c(Y)[t])}async function Ae(){if(c(W)){f(ge,!0),f(J,``);try{await u.restore(ue(c(W))),f(W,null)}catch(e){f(J,e.message,!0)}finally{f(ge,!1)}}}function Ne(e){!c(W)||e.altKey||e.ctrlKey||e.metaKey||e.target instanceof HTMLElement&&(e.target.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(e.target.tagName))||(e.key===`ArrowLeft`||e.key===`ArrowUp`?(e.preventDefault(),ke(-1)):e.key===`ArrowRight`||e.key===`ArrowDown`?(e.preventDefault(),ke(1)):e.key===`Escape`&&(e.preventDefault(),f(W,null)))}te(()=>{K.open=l.id,u.open().then(()=>d.open());let e=()=>{u.save()};return addEventListener(`pagehide`,e),document.addEventListener(`visibilitychange`,e),()=>{removeEventListener(`pagehide`,e),document.removeEventListener(`visibilitychange`,e),d.close(),u.close(),K.here=``,K.open=``,K.saving=null}});async function Pe(){let e=l.id.split(`/`).at(-1),t=u.fields.title.trim();if(!/^untitled-(note|question|problem)(-\d+)?$/.test(e)||!t||/^untitled (note|question|problem)( \d+)?$/i.test(t))return;let n=[...l.id.split(`/`).slice(0,-1),G(t)].filter(Boolean).join(`/`);if(G(t)&&!K.listing.notes.some(e=>e.id===n))try{let e=await u.move(n);await K.refresh(),await R(me(e),{replaceState:!0})}catch{}}h(()=>{u.loaded===`ready`&&q.fresh===l.id&&(q.fresh=``,L().then(()=>{let e=document.getElementById(`title`);e?.focus(),e?.select()}))});let Fe={saved:`saved`,unsaved:`not saved yet`,saving:`saving`,conflict:`changed elsewhere: choose below`,failed:`not saved`};h(()=>{K.here=u.loaded===`ready`?u.fields.title||l.id.split(`/`).at(-1):``,K.saving=u.loaded===`ready`?{text:u.saving===`failed`?`not saved: ${u.message}`:Fe[u.saving],bad:u.saving===`failed`||u.saving===`conflict`}:null});let rt=N(()=>[...new Set(d.changes.map(e=>ae(e.proposal.who)||`Iso`))].join(` and `)),Z=N(()=>ie(String(u.meta?.type??``))),Q=N(()=>c(Z)===`note`?null:re(u.meta??{},c(Z))),it=N(()=>c(Z)===`note`?[]:K.listing.notes.find(e=>e.id===l.id)?.attached??V(u.meta?.[oe[c(Z)]])),at=N(()=>K.listing.notes.filter(e=>e.kind&&e.id!==l.id&&e.attached?.includes(l.id)).sort((e,t)=>e.kind===t.kind?0:e.kind===`question`?-1:1)),ot=e=>K.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),st=e(!1);async function ct(){f(st,!0);try{await u.setDone(!c(Q))}catch{}finally{f(st,!1)}}let lt=N(()=>d.cursor&&d.cursor.to>d.cursor.from?u.text.slice(d.cursor.from,d.cursor.to).trim():``),ut=e(void 0),$=e(null);h(()=>{if(d.cursor,!c(lt)||!c(ut)||c(I)||c(W)){f($,null);return}let e=requestAnimationFrame(()=>{let e=getSelection(),t=c(ut).getBoundingClientRect(),n=e?.rangeCount?e.getRangeAt(0).getBoundingClientRect():null;!n||!n.width&&!n.height?f($,{top:8,left:t.width-140},!0):f($,{top:q.narrow?n.bottom-t.top+30:n.top-t.top-36,left:Math.max(8,Math.min(n.left-t.left,t.width-140))},!0)});return()=>cancelAnimationFrame(e)});function dt(){c(lt)&&(se.add({kind:`passage`,id:l.id,title:u.fields.title||l.id,text:c(lt)}),f($,null))}var ft=nt();a(`keydown`,s,Ne);let pt;var mt=A(ft),ht=e=>{var t=Ie();E(e,t)},gt=e=>{var t=Le(),r=o(t),a=g(A(r)),s=_(a,!0);P(),S(r);var c=g(r,2),u=_(c);i(e=>{n(s,l.id),C(u,`href`,e)},[()=>ne(`/notes`)]),E(e,t)},_t=e=>{var t=Re(),r=_(t,!0);i(()=>n(r,u.message)),E(e,t)},vt=e=>{var t=tt(),s=o(t),h=e=>{var t=Be(),a=g(A(t),2),o=_(a,!0),s=g(a,2),c=A(s),l=g(c,2),d=e=>{var t=ze();r(`click`,t,()=>u.keepTheirs()),E(e,t)};m(l,e=>{u.theirs&&e(d)}),S(s),P(2),S(t),i(()=>n(o,u.theirs===null?`This note was deleted or moved while you were writing.`:`This note was changed somewhere else while you were writing. Nothing here has been saved over it.`)),r(`click`,c,()=>u.keepMine()),E(e,t)};m(s,e=>{u.saving===`conflict`&&e(h)});var v=g(s,2),y=A(v),b=e=>{var t=He(),n=A(t),o=e=>{Me(e,()=>c(Z),()=>!!c(Q))};m(n,e=>{c(Z)!==`note`&&e(o)});var s=g(n,4);j(s);var d=g(s,2),f=e=>{let t=N(()=>c(Z)===`question`?c(Q)?`Resolved`:`Resolve`:c(Q)?`Solved`:`Mark solved`);var n=Ve();i(()=>{C(n,`aria-pressed`,!!c(Q)),n.disabled=c(st),C(n,`aria-label`,c(Z)===`question`?`Resolved`:`Solved`),C(n,`title`,c(Q)?`${c(t)} ${c(Q)} · press to open it again`:c(t))}),r(`click`,n,()=>void ct()),E(e,n)};m(d,e=>{c(Z)!==`note`&&e(f)}),S(t),i(e=>{O(s,u.fields.title),C(s,`placeholder`,e)},[()=>l.id.split(`/`).at(-1)]),r(`input`,s,e=>u.setFields({title:e.currentTarget.value.replace(/\s*\n\s*/g,` `)})),r(`keydown`,s,e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())}),a(`blur`,s,()=>void Pe()),E(e,t)},te=e=>{var t=Ue(),r=_(t);i(()=>n(r,`${l.id??``}.md${u.meta===null?`: the frontmatter cannot be read, so the file is shown as it is`:``}`)),E(e,t)};m(y,e=>{c(I)?e(te,-1):e(b)});var D=g(y,2),M=A(D),L=A(M),ne=e=>{var t=We();i(()=>C(t,`aria-pressed`,c(T))),r(`click`,t,()=>{f(T,!c(T)),x(`isorite.details`,c(T))}),E(e,t)};m(L,e=>{c(I)||e(ne)});var R=g(L,2);S(M),S(D),S(v);var B=g(v,2),re=e=>{var t=Ke();p(t,22,()=>c(it),e=>e,(e,t,r)=>{P();var a=Ge(),s=o(a,!0),l=g(s),u=_(l,!0);i((e,t)=>{n(s,c(r)?` · `:``),C(l,`href`,e),n(u,t)},[()=>me(t),()=>ot(t)]),E(e,a)}),S(t),E(e,t)};m(B,e=>{c(it).length&&!c(I)&&e(re)});var V=g(B,2),ie=e=>{Ee(e,{get note(){return u}})};m(V,e=>{c(T)&&!c(I)&&e(ie)});var H=g(V,2),ae=e=>{var t=qe(),n=A(t);{let e=N(()=>c(W)?ue(c(W)):null);pe(n,{get moments(){return c(Y)},get at(){return c(e)},get pointed(){return c(U)},point:e=>f(U,e),pick:Oe})}S(t),E(e,t)};m(H,e=>{c(z)&&!c(I)&&e(ae)});var oe=g(H,2),se=e=>{var t=Ye(),a=o(t),s=A(a),l=_(s),d=g(s,4),p=e=>{var t=Je(),r=_(t,!0);i(()=>n(r,c(J))),E(e,t)};m(d,e=>{c(J)&&e(p)});var h=g(d,2),v=g(h,2);S(a);var y=g(a,2);F(y,()=>ue(c(W)),e=>{je(e,{get text(){return c(X).text},get title(){return u.fields.title},get touched(){return c(X).touched},get asked(){return c(X).asked},get offered(){return c(X).offered}})}),i((e,t)=>{n(l,`${e??``} · ${t??``}`),h.disabled=c(ge)||c(X).text===u.text},[()=>fe(c(W)),()=>de(c(W).at)]),r(`click`,h,Ae),r(`click`,v,()=>f(W,null)),E(e,t)};m(oe,e=>{c(W)&&c(X)&&e(se)});var ce=g(oe,2),le=e=>{var t=Xe();let n;i(()=>n=ee(t,``,n,{top:`${c($).top??``}px`,left:`${c($).left??``}px`})),r(`pointerdown`,t,e=>{e.preventDefault(),dt()}),r(`click`,t,e=>{e.detail===0&&dt()}),E(e,t)};m(ce,e=>{c($)&&e(le)});var G=g(ce,2),K=A(G);F(K,()=>c(I),e=>{be(e,{get note(){return u},get iso(){return d},get source(){return c(I)},get touched(){return c(Se)},get lens(){return c(De)}})}),S(G);var q=g(G,2),he=e=>{var t=$e();p(t,21,()=>c(at),e=>e.id,(e,t)=>{var r=Qe(),a=A(r);let o;var s=A(a);Me(s,()=>c(t).kind??`question`,()=>!!c(t).done);var l=g(s),u=_(l,!0),d=g(l),f=e=>{var t=Ze();E(e,t)};m(d,e=>{c(t).done&&e(f)}),S(a),S(r),i(e=>{C(a,`href`,e),o=w(a,1,`svelte-18ltlst`,null,o,{done:!!c(t).done&&c(t).kind===`question`}),n(u,c(t).title)},[()=>me(c(t).id)]),E(e,r)}),S(t),E(e,t)};m(q,e=>{c(at).length&&!c(I)&&!c(W)&&e(he)});var _e=g(q,2),ve=e=>{var t=et(),a=g(A(t),2),o=_(a),s=g(a,4),l=g(s,2);S(t),i(()=>{n(o,`${d.changes.length??``} ${d.changes.length===1?`change`:`changes`} from ${c(rt)??``} waiting`),s.disabled=d.busy===`all`,l.disabled=d.busy===`all`}),r(`click`,s,()=>d.settleAll(!0)),r(`click`,l,()=>d.settleAll(!1)),E(e,t)};m(_e,e=>{d.changes.length&&e(ve)}),i(e=>{C(R,`aria-pressed`,c(I)),R.disabled=u.meta===null,C(G,`hidden`,e)},[()=>!!(c(W)&&c(X))]),r(`click`,R,()=>f(k,!c(k))),E(e,t)};m(mt,e=>{u.loaded===`loading`?e(ht):u.loaded===`missing`?e(gt,1):u.loaded===`error`?e(_t,2):e(vt,-1)}),S(ft),M(ft,e=>f(ut,e),()=>c(ut)),i(()=>pt=w(ft,1,`note svelte-18ltlst`,null,pt,{timed:c(z)&&u.loaded===`ready`&&!c(I)})),E(t,ft),b()}d([`click`,`input`,`keydown`,`pointerdown`]);var Z=T(`<p class="bad svelte-1b6mil3" role="alert"> </p>`),Q=T(`<div class="reading prose svelte-1b6mil3"></div>`),it=T(`<p class="faint">No reading yet.</p>`),at=T(`<span role="status"> </span>`),ot=T(`<article class="u svelte-1b6mil3"><p class="eyebrow svelte-1b6mil3">Understanding</p> <h1 class="serif svelte-1b6mil3"> </h1> <!> <section><h2 class="svelte-1b6mil3">Iso's reading</h2> <!></section> <section><h2 class="svelte-1b6mil3"><span>Yours</span><!></h2> <div class="pad svelte-1b6mil3"></div></section></article>`);function st(t,a){D(a,!0);let o=e(null),s=e(``),l=e(``),u=e(``),d=!1,p,h,v;async function x(){try{let e=await K.api.understanding(a.id);f(o,e),d||(f(l,e.scratchpad,!0),v&&ye(v,c(l)))}catch(e){f(s,e.message,!0)}}te(()=>{v=Y(h,{doc:c(l),label:`Scratchpad`,placeholder:`…`,notes:()=>K.listing.notes.filter(e=>e.id!==a.id).map(e=>({id:e.id,title:e.title,folder:e.dir})),onChange:e=>{f(l,e,!0),C()},onSave:()=>{d&&T()},onFollow:e=>{R(me(e))}}),x();let e=K.on(e=>{e.type===`note-changed`&&(e.id===`@understanding/${a.id}`||e.id===a.id)&&x()});return()=>{e(),clearTimeout(p),d&&T(),v?.destroy()}});function C(){d=!0,f(u,``),clearTimeout(p),p=setTimeout(()=>void T(),1200)}async function T(){if(c(o)){f(u,`saving`);try{f(o,await K.api.saveScratchpad(a.id,c(l),c(o).version)),d=!1,f(u,`saved`)}catch(e){f(u,`failed`),f(s,e.message,!0)}}}var ee=ot(),O=g(A(ee),2),k=_(O,!0),j=g(O,2),N=e=>{var t=Z(),r=_(t,!0);i(()=>n(r,c(s))),E(e,t)};m(j,e=>{c(s)&&e(N)});var P=g(j,2),F=g(A(P),2),L=e=>{var t=Q();I(t,()=>U(c(o).reading),!0),S(t),y(t,(e,t)=>W?.(e,t),()=>c(o).reading),E(e,t)},ne=e=>{var t=it();E(e,t)};m(F,e=>{c(o)?.reading?e(L):e(ne,-1)}),S(P);var z=g(P,2),B=A(z),re=g(A(B)),V=e=>{var t=at();let r;var a=_(t,!0);i(()=>{r=w(t,1,`state svelte-1b6mil3`,null,r,{bad:c(u)===`failed`}),n(a,c(u)===`failed`?`not saved`:c(u))}),E(e,t)};m(re,e=>{c(u)&&e(V)}),S(B);var ie=g(B,2);M(ie,e=>h=e,()=>h),S(z),S(ee),i(()=>n(k,a.title)),r(`focusout`,ie,()=>{d&&T()}),E(t,ee),b()}d([`focusout`]);var ct=T(`<div><!></div> <!>`,1);function lt(e,n){D(n,!0);let r=N(()=>he.params.id??``),a=N(()=>q.understanding&&!c(r).startsWith(`@`)),s=N(()=>K.listing.notes.find(e=>e.id===c(r))?.title??c(r).split(`/`).at(-1)??c(r));var l=t(),u=o(l);F(u,()=>c(r),e=>{var t=ct(),n=o(t);rt(A(n),{get id(){return c(r)}}),S(n);var l=g(n,2),u=e=>{st(e,{get id(){return c(r)},get title(){return c(s)}})};m(l,e=>{c(a)&&e(u)}),i(()=>C(n,`hidden`,c(a))),E(e,t)}),E(e,l),b()}export{lt as component};
@@ -0,0 +1 @@
1
+ import"../chunks/nMarIA7J.js";import"../chunks/xihTtKlq.js";import{t as e}from"../chunks/CYNZ4aV_.js";import"../chunks/D_19S_Iu.js";function t(t){e(t,{})}export{t as component};