isorite 0.1.0 → 0.2.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 (77) hide show
  1. package/dist/core.js +125 -2
  2. package/dist/embed-worker.js +9 -2
  3. package/dist/main.js +2377 -394
  4. package/package.json +2 -1
  5. package/plugin/server.ts +9 -8
  6. package/plugin/tour.ts +5 -8
  7. package/web/_app/immutable/assets/0.s5xqevrq.css +1 -0
  8. package/web/_app/immutable/assets/4.PVZR2_N5.css +1 -0
  9. package/web/_app/immutable/assets/5.DCxNIgyW.css +1 -0
  10. package/web/_app/immutable/assets/9.CFA9_nYZ.css +1 -0
  11. package/web/_app/immutable/assets/FolderField._A4_sc1Z.css +1 -0
  12. package/web/_app/immutable/assets/NoteEditor.ChlpmyHO.css +1 -0
  13. package/web/_app/immutable/assets/NoteList.F579Zvj_.css +1 -0
  14. package/web/_app/immutable/assets/{Timeline.UMF1LjSO.css → Timeline.KTc3LKuK.css} +1 -1
  15. package/web/_app/immutable/assets/Tutorial.DOfsM49T.css +1 -0
  16. package/web/_app/immutable/chunks/B0NIb88Q.js +1 -0
  17. package/web/_app/immutable/chunks/B7ZjnqOt.js +20 -0
  18. package/web/_app/immutable/chunks/{B-si2ell.js → BEVz4Dgg.js} +1 -1
  19. package/web/_app/immutable/chunks/BEk5idXo.js +1 -0
  20. package/web/_app/immutable/chunks/B_nIecMW.js +667 -0
  21. package/web/_app/immutable/chunks/C8UdwlAg.js +3 -0
  22. package/web/_app/immutable/chunks/CRzLMJPS.js +1 -0
  23. package/web/_app/immutable/chunks/CcQ3P3p1.js +13 -0
  24. package/web/_app/immutable/chunks/CcRs965g.js +1 -0
  25. package/web/_app/immutable/chunks/Cw2GjAJR.js +1 -0
  26. package/web/_app/immutable/chunks/DjBHskLm.js +1 -0
  27. package/web/_app/immutable/chunks/Dm229u8R.js +1 -0
  28. package/web/_app/immutable/chunks/UM_L7-f7.js +1 -0
  29. package/web/_app/immutable/chunks/b-AOhhy1.js +1 -0
  30. package/web/_app/immutable/chunks/k55859zq.js +1 -0
  31. package/web/_app/immutable/entry/app.B3QXxjjH.js +2 -0
  32. package/web/_app/immutable/entry/start.BauJm-6k.js +1 -0
  33. package/web/_app/immutable/nodes/0.DP4c84Wn.js +14 -0
  34. package/web/_app/immutable/nodes/1.BcwcVDJZ.js +1 -0
  35. package/web/_app/immutable/nodes/2.DgGnQZ7P.js +1 -0
  36. package/web/_app/immutable/nodes/3.BudzO7We.js +1 -0
  37. package/web/_app/immutable/nodes/4.DmswyrSt.js +2 -0
  38. package/web/_app/immutable/nodes/5.DjXsfjL5.js +5 -0
  39. package/web/_app/immutable/nodes/6.uBh-sdQx.js +1 -0
  40. package/web/_app/immutable/nodes/7.BYBNXM1A.js +1 -0
  41. package/web/_app/immutable/nodes/8.Tbz9Rh77.js +1 -0
  42. package/web/_app/immutable/nodes/9.NF5w8YC2.js +486 -0
  43. package/web/_app/immutable/workers/worker-rKDNrEKQ.js +1 -0
  44. package/web/_app/version.json +1 -1
  45. package/web/icon-180.png +0 -0
  46. package/web/icon-192.png +0 -0
  47. package/web/icon-512.png +0 -0
  48. package/web/icon-maskable-512.png +0 -0
  49. package/web/index.html +35 -12
  50. package/web/manifest.webmanifest +14 -0
  51. package/web/_app/immutable/assets/0.CbWSsYpm.css +0 -1
  52. package/web/_app/immutable/assets/3.Bgs8n1LK.css +0 -1
  53. package/web/_app/immutable/assets/4.CCFEPTFN.css +0 -1
  54. package/web/_app/immutable/assets/5.BCvLF9Xz.css +0 -1
  55. package/web/_app/immutable/assets/6.kPo5mcJx.css +0 -1
  56. package/web/_app/immutable/assets/NoteEditor.Bp-YDqYj.css +0 -1
  57. package/web/_app/immutable/chunks/BD1Dpm2e.js +0 -3
  58. package/web/_app/immutable/chunks/C0fpmehI.js +0 -1
  59. package/web/_app/immutable/chunks/CWYACT2V.js +0 -1
  60. package/web/_app/immutable/chunks/CdQZ-ArP.js +0 -1
  61. package/web/_app/immutable/chunks/DN3dk6rD.js +0 -147
  62. package/web/_app/immutable/chunks/DtAOoM-T.js +0 -1
  63. package/web/_app/immutable/chunks/DykrN7z5.js +0 -535
  64. package/web/_app/immutable/chunks/cmGruEKS.js +0 -1
  65. package/web/_app/immutable/chunks/gRYnlonl.js +0 -1
  66. package/web/_app/immutable/entry/app.DgJiXIYs.js +0 -2
  67. package/web/_app/immutable/entry/start.l9vV7NaJ.js +0 -1
  68. package/web/_app/immutable/nodes/0.DWPeBju2.js +0 -1
  69. package/web/_app/immutable/nodes/1.CJVDS8FT.js +0 -1
  70. package/web/_app/immutable/nodes/2.o8ItfT-a.js +0 -1
  71. package/web/_app/immutable/nodes/3.uhHyOPGK.js +0 -13
  72. package/web/_app/immutable/nodes/4.BYKkAZTp.js +0 -2
  73. package/web/_app/immutable/nodes/5.BzEQO7Xv.js +0 -4
  74. package/web/_app/immutable/nodes/6.GxiAUa6J.js +0 -1
  75. package/web/_app/immutable/nodes/7.d2Ere8Jb.js +0 -1
  76. package/web/_app/immutable/nodes/8.CvPHZL8j.js +0 -1
  77. package/web/_app/immutable/workers/worker-d9GxGKde.js +0 -1
@@ -0,0 +1,14 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/CcQ3P3p1.js","../chunks/C8UdwlAg.js","../chunks/Cw2GjAJR.js","../chunks/xihTtKlq.js","../chunks/DjBHskLm.js","../chunks/B_nIecMW.js","../chunks/UM_L7-f7.js","../chunks/BEk5idXo.js","../assets/Tutorial.DOfsM49T.css"])))=>i.map(i=>d[i]);
2
+ import{$ as e,A as t,C as n,D as r,F as i,G as a,H as o,I as s,J as c,K as l,L as u,M as d,N as f,P as p,Q as m,S as h,T as g,U as _,V as v,X as y,Y as b,Z as x,_ as S,at as C,b as w,c as T,dt as E,ft as D,g as O,h as k,i as A,j,k as M,l as N,lt as P,m as F,mt as I,n as L,ot as R,q as z,rt as B,s as ee,tt as V,u as H,ut as U,v as te,w as W,x as G,y as ne,z as K}from"../chunks/C8UdwlAg.js";import{o as re,t as ie}from"../chunks/Cw2GjAJR.js";import{t as ae}from"../chunks/CRzLMJPS.js";import"../chunks/xihTtKlq.js";import{n as oe,t as q}from"../chunks/DjBHskLm.js";import{C as se,T as ce,a as le,d as ue,i as J,l as de,r as Y,t as X,u as fe}from"../chunks/B_nIecMW.js";import{i as pe,t as me}from"../chunks/k55859zq.js";import{t as he}from"../chunks/BEVz4Dgg.js";import{i as Z,n as ge,r as _e,t as ve}from"../chunks/UM_L7-f7.js";import{t as Q}from"../chunks/BEk5idXo.js";import{t as ye}from"../chunks/CcRs965g.js";import{n as be,t as xe}from"../chunks/B0NIb88Q.js";var Se=I({load:()=>Ce});async function Ce(){return await q.load(),{}}var we=[0,1,1,1,0,-1,-1,-1],Te=[-1,-1,0,1,1,1,0,-1];function Ee(e,t,{step:n=1,pad:r=.5}={}){let i=`X`,a=(Math.abs(Math.trunc(e))*7919+13)%2147483647,o=()=>(a=a*16807%2147483647,a/2147483647);for(let e=0;e<Math.max(0,Math.min(t,6));e++)i=i.replace(/[XF]/g,e=>e===`X`?`F[+X]F[-X]+X`:`FF`);i===`X`&&(i=`F`);let s=0,c=0,l=0,u=1,d=!1,f=0,p=0,m=0,h=0,g=[],_=[],v=[],y=n/2;for(let e of i)e===`F`?(d||=(_.push(`M${s} ${c}`),!0),s+=we[l]*n,c+=Te[l]*n,_.push(`L${s} ${c}`),f=Math.min(f,s),p=Math.max(p,s),m=Math.min(m,c),h=Math.max(h,c)):e===`+`?l=(l+u+8)%8:e===`-`?l=(l-u+8)%8:e===`[`?(g.push([s,c,l,u]),o()<.5&&(u=-u)):e===`]`&&(v.push(`M${s-y/2} ${c-y/2}h${y}v${y}h${-y}z`),[s,c,l,u]=g.pop(),d=!1);let b=p-f+2*r,x=h-m+2*r;return{d:_.join(``),tips:v.join(``),viewBox:`${f-r} ${m-r} ${b} ${x}`,ratio:b/x}}var De=/\]\(\/([^)\s#]+)\.md(?:#[^)\s]*)?(?:\s+"[^"]*")?\)/g,Oe=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),ke=e=>e.split(`/`).map(encodeURIComponent).join(`/`);function Ae(e){let t=[];for(let n of e.matchAll(De)){let e=decodeURIComponent(n[1]);t.includes(e)||t.push(e)}return t}function je(e,t,n){let r=e.replace(/\s+$/,``),i=RegExp(`^\\[[^\\]\\n]*\\]\\(/[^)\\n]*\\.md\\)$`);return`${r}${!r||r.endsWith(`---`)?`
3
+
4
+ `:i.test(r.split(`
5
+ `).at(-1))?`
6
+ `:`
7
+
8
+ `}[${n.replace(/[[\]]/g,``)}](/${ke(t)}.md)\n`}function Me(e,t){let n=`\\[[^\\]\\n]*\\]\\(/${Oe(ke(t))}\\.md\\)`,r=e.split(`
9
+ `),i=r.filter(e=>!RegExp(`^${n}$`).test(e.trim()));return i.length===r.length||Ae(i.join(`
10
+ `)).includes(t)?null:i.join(`
11
+ `).replace(/\n{3,}/g,`
12
+
13
+ `).replace(/\s+$/,``)+`
14
+ `}function Ne(e){try{let[t]=ce(e);return t?.type===`Exercise`?fe(t):null}catch{return null}}function Pe(e,t){let n=Ne(e)??[];return se(e,{tests:n.includes(t)?n.filter(e=>e!==t):[...n,t]},null)}function Fe(e){return(/^title:[ \t]*(.*)$/m.exec(e.split(/^---\s*$/m)[1]??``)?.[1]??``).trim().replace(/^(["'])(.*)\1$/,`$2`)}var Ie=e=>e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`,Le=`isorite.atlas.drafts`,Re=()=>{try{return JSON.parse(localStorage.getItem(Le)??`{}`)}catch{return{}}},ze=e=>Re()[e]??null,Be=j(`<li class="svelte-1a0w8ls"><b class="num svelte-1a0w8ls"> </b><span class="t svelte-1a0w8ls"> </span><span class="faint"> </span></li>`),Ve=j(`<span class="label over svelte-1a0w8ls"> </span>`),He=j(`<div class="dock svelte-1a0w8ls" role="region"><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 Ue(e,t){R(t,!0);let n=A(t,`notice`,3,``),i=A(t,`tests`,3,!1),a=V(()=>t.picked.reduce((e,t)=>e+t.tokens,0)),s=V(()=>!i()&&u(a)>t.budget),c=V(()=>[i()?`${t.picked.length} to test`:`${t.picked.length} linked`,t.picked.length?`${Ie(u(a))} tokens`:``,u(s)?`over ${Ie(t.budget)}`:``,n()].filter(Boolean).join(` · `));var l=He(),d=y(z(l),2),f=z(d),p=b(f,!0),m=y(f,2),h=b(m,!0);U(d);var g=y(d,2);G(g,23,()=>t.picked,e=>e.id,(e,t,n)=>{var i=Be(),a=z(i),s=b(a,!0),c=y(a),l=b(c,!0),d=y(c),f=b(d,!0);U(i),o(e=>{r(s,u(n)+1),r(l,u(t).title),r(f,e)},[()=>Ie(u(t).tokens)]),M(e,i)}),U(g);var _=y(g,2),v=e=>{var n=Ve(),i=b(n);o(e=>r(i,`over ${e??``}: the last are cut short, or left for Iso to read itself`),[()=>Ie(t.budget)]),M(e,n)};W(_,e=>{u(s)&&e(v)});var x=y(_,2);U(l),o(()=>{H(l,`aria-label`,i()?`Notes the exercise tests`:`Notes linked to the note for Iso`),r(p,t.title||`a new note`),r(h,u(c)),H(x,`href`,t.href)}),M(e,l),C()}var We=.55,Ge=.04;function Ke(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(t=>t.s>=3&&!e.items[t.a].ref.startsWith(`@study`))?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 qe=new WeakMap;function Je(e){let t=qe.get(e);return t||qe.set(e,t={...e,trunks:e.highways.trunks,feeders:e.highways.feeders}),t}function Ye(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 Xe(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 Ze(e,t,n=[],r=!1){let i=e=>t[e]!==`-`,a=t=>e.items[t].ref.startsWith(`@study`),o=[];return e.trunks.forEach((t,r)=>{let s=e.items[t.a].kind===`folder`&&e.items[t.b].kind===`folder`;t.pts&&!t.implied&&i(t.a)&&i(t.b)&&o.push({key:`t`+r,pts:t.pts,lane:0,count:t.count,feed:!s,study:a(t.a)||a(t.b),strong:n[r]??!0})}),e.feeders.forEach((s,c)=>{let l=e.trunks[s.trunk];(r||!s.leaf)&&!l.implied&&t[s.folder]===`o`&&i(s.item)&&i(l.a)&&i(l.b)&&o.push({key:`f`+c,pts:s.pts,lane:s.lane,count:s.count,feed:!0,study:a(l.a)||a(l.b),strong:n[s.trunk]??!0})}),o}var Qe=(e,t)=>Math.abs(e[0]-t[0])<1e-6&&Math.abs(e[1]-t[1])<1e-6;function $e(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=>Qe(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||!Qe(e,m[t-1]))}var et=[`uses`,`builds`,`requires`,`iso`];function tt(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=et.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,study:!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,study:!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,_.study||=t.study??!1,_.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.study}|${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,study:h.study,trunk:h.trunk,kind:et[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 nt(e,t,n,r){let i=[],a=[],o=new Set;for(let{a:s,b:c,kind:l}of r){let r=Xe(t,n,s),u=Xe(t,n,c),d=`${l}:${r}|${u}`;if(r===u||o.has(d))continue;o.add(d);let f=r===s&&u===c?t.ownPath.get(`${s}|${c}`)??$e(e,t,s,c):t.ownPath.get(`${r}|${u}`)??null;f?i.push({key:d,kind:l,pts:f}):a.push({key:d,kind:l,a:r,b:u})}return{fixed:i,asks:a}}function rt(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 it(e,t=0,n=7){let r=rt(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 at(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 ot(e,t,n,r=3,i=7){let a=Math.max(Ge,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 st(e,t,n,r){let i=Math.max(Ge,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}}var ct=2;function lt(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??ct,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 ut(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 dt={bend:4,flow:1,area:.01,aspect:1,shape:1.4,effort:1e3,seed:0,cross:20};function ft(e,t,n,r,i={}){let{bend:a,flow:o,area:s,aspect:c,shape:l,effort:u,seed:d,cross:f}={...dt,...i},p=e.length,m=e.map(e=>e[0]),h=e.map(e=>e[1]);if(!p)return{x:[],y:[],w:0,h:0};let g=Array.from({length:p},(e,t)=>Array.from({length:p},(e,r)=>n(t,r))),_=new Float64Array(p),v=new Float64Array(p),y=[...Array(p).keys()],b=[...y],x=new Int32Array(p),S=new Int32Array(p),C=0,w=0,T=()=>{y.forEach((e,t)=>{x[e]=t}),b.forEach((e,t)=>{S[e]=t}),C=0,w=0;for(let e=0;e<p;e++){let t=y[e],n=0,r=0;for(let i=0;i<e;i++){let e=y[i];S[e]<S[t]?n=Math.max(n,_[e]+m[e]+g[e][t]):r=Math.max(r,v[e]+h[e]+g[e][t])}_[t]=n,v[t]=r,C=Math.max(C,n+m[t]),w=Math.max(w,r+h[t])}},E=e=>[_[e]+m[e]/2,v[e]+h[e]/2],D=()=>{T();let e=0;for(let[n,i,s]of t){let t=Math.max(0,_[i]-_[n]-m[n],_[n]-_[i]-m[i]),c=Math.max(0,v[i]-v[n]-h[n],v[n]-v[i]-h[i]);e+=s*(Math.max(t,c)+.414*Math.min(t,c)+(t>0&&c>0?a:0));let l=r===`right`?_[n]+m[n]/2-(_[i]+m[i]/2):v[i]+h[i]/2-(v[n]+h[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&&mt(E(i),E(a),E(s),E(c))&&(e+=f*Math.min(o,l))}let n=Math.log(C/w/l);return e+s*C*w*(1+c*n*n)},O=pt(p,t);if(y.sort((e,t)=>O[e]-O[t]),b.splice(0,p,...y),r===`up`&&y.reverse(),i.pair)return y.splice(0,p,...i.pair[0]),b.splice(0,p,...i.pair[1]),T(),{x:[..._],y:[...v],w:C,h:w,pair:i.pair};i.start&&(y.splice(0,p,...i.start[0]),b.splice(0,p,...i.start[1]));let k=D(),A=k,j=[...y],M=[...b];if(p<2)return T(),{x:[..._],y:[...v],w:C,h:w,pair:[[...y],[...b]]};let N=gt(ht(e,t)^d),P=u*p,F=i.start?Math.max(.5,k*.002):Math.max(1,k*.05),I=.001**(1/P);for(let e=0;e<P;e++,F*=I){let e=Math.floor(N()*p),t=(e+1+Math.floor(N()*(p-1)))%p,n=N(),r=n=>{let r=n[e];n[e]=n[t],n[t]=r};if(n<.4)r(y);else if(n<.8)r(b);else{let n=y.indexOf(b[e]),i=y.indexOf(b[t]);r(b);let a=y[n];y[n]=y[i],y[i]=a}let i=D();if(i<=k||N()<Math.exp((k-i)/F))k=i,k<A&&(A=k,j=[...y],M=[...b]);else if(n<.4)r(y);else if(n<.8)r(b);else{let n=y.indexOf(b[e]),i=y.indexOf(b[t]);r(b);let a=y[n];y[n]=y[i],y[i]=a}}return y.splice(0,p,...j),b.splice(0,p,...M),T(),{x:[..._],y:[...v],w:C,h:w,cost:A,pair:[j,M]}}function pt(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 mt(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 ht(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 gt(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 _t={cell:7,note:[18,5],gap:6,gapFolders:8,channel:6,channelFolders:8,pad:6,head:2,margin:8,minFolder:12,slant:8,keep:2},vt={fine:_t,coarse:{cell:14,note:[9,3],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,2],gap:2,gapFolders:5,channel:2,channelFolders:5,pad:2,head:1,margin:5,minFolder:5,slant:3,keep:1}};_t.pad;var yt=1.4,bt=8,xt=12,St=_t.note,Ct=0,wt=0,Tt=0,Et=0,Dt=0,$=0,Ot=0,kt=0,At=0,jt=2,Mt=0,Nt=0;function Pt(e){({note:St,gap:Ct,gapFolders:wt,channel:Tt,channelFolders:Et,head:Dt,margin:$,minFolder:Ot,slant:kt,pad:At,keep:jt}=e),Mt=St[0]+Ct,Nt=3*Mt}function Ft(e,{flow:t=`up`,grain:n=`fine`,plan:r=!1,planCosts:i={},planned:a=null,from:o=null}={}){let s=vt[n]??_t;Pt(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:St[0],h:St[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(Ot,i.w+2*At),h:i.h+At+Dt+At}:{w:Ot,h:Dt+2*At})};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)?wt:Ct,d=l.reduce((e,t)=>e+(t.w+u)*(t.h+u),0),f=Math.max(Math.ceil(Math.sqrt(d*yt)),...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])?wt:Ct)+f(e,t),h=n.map(e=>[g.get(e).w,g.get(e).h]),b=t===e.root&&r===`up`?1/dt.shape:dt.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=ft(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)?wt:Ct,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=Lt(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]+Tt),0),S=Math.max(Math.ceil(Math.sqrt(a?x*yt:x/yt)),...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 ee=(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})},V=()=>{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},H=()=>{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<bt;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,G=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&&G>0;e++,n++){if(e%2==0)for(let e=1;e<C.length;e++)ee(e,M);else for(let e=C.length-2;e>=0;e--)ee(e,N);H();let r=V();r<t&&(t=r,n=0),r<G&&(G=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 ne=(e,t)=>z(e)&&z(t)?1:z(e)||z(t)?jt:o,K=Array(j.length).fill(0);for(let e of C){let t=0;e.forEach((n,r)=>{r&&(t+=ne(e[r-1],n)),K[n]=t,t+=j[n]})}let re=e=>e.length?K[e[e.length-1]]+j[e[e.length-1]]:0,ie=Math.max(...C.map(re));for(let e of C){let t=(ie-re(e))/2;for(let n of e)K[n]+=t}let ae=e=>K[e]+j[e]/2;for(let e=0;e<xt;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]]+ne(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]]-ne(t[n],t[n+1])):e[n];t.forEach((e,t)=>{K[e]=(n[t]+r[t])/2})}let oe=e=>Math.floor((j[e]-1)/2),q=Array(j.length).fill(-1),se=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=>q[e]>=0).map(e=>[B[q[e]],B[e]]);for(let r of C[t]){if(q[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])=>se[t]<0&&(!e||z(t)&&z(r))&&Math.abs(K[t]+oe(t)-K[r]-oe(r))<=(e?Nt:Mt)).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])){q[r]=e,se[e]=r,n.push([B[e],B[r]]);break}}}let ce=Array(j.length).fill(-1),le=0;for(let e=0;e<j.length;e++)if(q[e]<0){for(let t=e;t>=0;t=se[t])ce[t]=le;le++}let ue=Array.from({length:le},()=>[]);ce.forEach((e,t)=>ue[e].push(t));let J=(e,t)=>j[e]-oe(e)+ne(e,t)+oe(t),de=Array(j.length).fill(-1),Y=Array(j.length).fill(-1);for(let e of C)e.forEach((t,n)=>{n&&(de[t]=e[n-1],Y[e[n-1]]=t)});let X=Array(le).fill(0),fe=!1;for(let e=0;e<=le&&!fe;e++){fe=!0;for(let e of C)for(let t=1;t<e.length;t++){let n=X[ce[e[t-1]]]+J(e[t-1],e[t]);X[ce[e[t]]]<n&&(X[ce[e[t]]]=n,fe=!1)}}if(fe){let e=ue.map(e=>Math.round(e.reduce((e,t)=>e+K[t]+oe(t),0)/e.length)),t=Math.min(...e.map((e,t)=>e-X[t])),n=[...Array(le).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 ue[a])de[e]>=0&&(n=Math.max(n,X[ce[de[e]]]+J(de[e],e))),Y[e]>=0&&(r=Math.min(r,X[ce[Y[e]]]-J(e,Y[e])));let o=Math.max(n,Math.min(r,e[a]-t));o!==X[a]&&(X[a]=o,i=!0)}if(!i)break}for(let e=0;e<j.length;e++)K[e]=X[ce[e]]-oe(e)}else for(let e of C)e.forEach((t,n)=>{K[t]=n?Math.max(Math.round(K[t]),K[e[n-1]]+j[e[n-1]]+ne(e[n-1],t)):Math.round(K[t])});let pe=Math.min(...K);for(let e=0;e<K.length;e++)K[e]-=pe;let me=Math.max(...K.map((e,t)=>e+j[t])),he=e=>K[e]+Math.floor((j[e]-1)/2)+.5,Z=new Map;for(let e=0;e<j.length;e++){let t=[...M[e]].sort((e,t)=>he(e)-he(t)),n=K[e]+.5,r=K[e]+j[e]-.5;if(t.length>j[e]){t.forEach((r,i)=>Z.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,he(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)=>Z.set(t+`|`+e,i[n]))}let ge=(e,t)=>{let n=Z.get(e+`|`+t);return n>=K[e]+.5&&n<=K[e]+j[e]-.5},_e=Array(j.length);for(let e=0;e<j.length;e++){let t=N[e].filter(t=>!ge(e,t)).map(t=>Z.get(e+`|`+t)).sort((e,t)=>e-t);_e[e]=t.length?Math.max(K[e]+.5,Math.min(K[e]+j[e]-.5,t[t.length-1>>1])):he(e)}let ve=(e,t)=>ge(e,t)?Z.get(e+`|`+t):_e[e],Q=(e,t)=>{let n=ve(e,t),r=Z.get(e+`|`+t);return[Math.min(n,r),Math.max(n,r)]},ye=new Set,be=C.map(()=>0);for(let[e,t]of I){if(ge(e,t))continue;let[n,r]=Q(e,t),i=Z.get(e+`|`+t)>_e[e];r-n>kt||I.every(([a,o])=>{if(w[a]!==w[e]||a===e&&o===t)return!0;let[s,c]=Q(a,o);return a===e?i?c<=n:s>=r:c<n-1||s>r+1})&&(ye.add(e+`|`+t),be[w[e]]=Math.max(be[w[e]],r-n))}let xe=new Map;for(let[e,t]of I){if(ge(e,t)||ye.has(e+`|`+t))continue;let n=Z.get(e+`|`+t),r=xe.get(e)||{u:e,lo:_e[e],hi:_e[e],track:0};r.lo=Math.min(r.lo,n),r.hi=Math.max(r.hi,n),xe.set(e,r)}let Se=C.map(()=>0);C.forEach((e,t)=>{let n=[...xe.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=>!ge(e.u,t)&&!ye.has(e.u+`|`+t)).map(t=>Z.get(e.u+`|`+t))),i=(e,t)=>!(n[e].hi<n[t].lo-1||n[t].hi<n[e].lo-1),a=(e,t)=>+(_e[n[t].u]>n[e].lo&&_e[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=Lt(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);Se[t]=Math.max(0,...n.map(e=>e.track+1))});let Ce=C.map(e=>Math.max(0,...e.filter(e=>!z(e)).map(e=>s[e]))),we=[],Te=[],Ee=[],De=0;C.forEach((e,n)=>{we[n]=De,De+=Ce[n];let r=Math.max(t.some(c)?Et:Tt,Se[n]+2*jt,be[n]+2);Te[n]=De+Math.max(jt,Math.floor((r-Se[n])/2));let i=De;Ee[n]=e=>i+Math.floor((r-e)/2),n<C.length-1&&(De+=r)});let Oe=De,ke=e=>we[w[e]]+Math.floor((Ce[w[e]]-s[e])/2),Ae=(e,t)=>a?[t,Oe-e]:[e,t];t.forEach((e,t)=>Object.assign(g.get(e),a?{x:K[t],y:Oe-ke(t)-s[t]}:{x:ke(t),y:K[t]}));let je=[];for(let e of u){let n=R.get(e),r=null;if(n){r=[Ae(ke(e.u)+s[e.u],ve(e.u,n[1]))];for(let e=1;e<n.length;e++){let t=n[e-1],i=n[e],a=Z.get(t+`|`+i);if(ye.has(t+`|`+i)){let e=Math.abs(a-_e[t]),n=Ee[w[t]](e);r.push(Ae(n,_e[t]),Ae(n+e,a));continue}let o=Te[w[t]]+(xe.get(t)?.track||0)+.5;r.push(Ae(o,ve(t,i)),Ae(o,a))}r.push(Ae(ke(e.v),Z.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()}je.push({p:t[e.p],q:t[e.q],count:e.count,back:e.back,implied:!!e.implied,pts:r})}return a?{w:me,h:Oe,out:je}:{w:Oe,h:me,out:je}}x(e.root,t);let T=[],E=new Map,D=new Map([[e.root,[$,$]]]);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+At,r+t.y+Dt+At])}}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=It(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*$,H:M.h+2*$,flow:t,cell:s.cell,keep:s.keep,margin:$,items:T,links:A,trunks:O,pairs:_,orders:v}}function It(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 Lt(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 Rt={climb:5,turn45:1.5,turn90:3,foreign:2.5,crowd:.2,near:0,hug:2.5,haste:3.2},zt=[1,1,0,-1,-1,-1,0,1],Bt=[0,1,1,1,0,-1,-1,-1],Vt=3,Ht=8;function Ut(e,t,n={}){let{climb:r,turn45:i,turn90:a,foreign:o,crowd:s,near:c,hug:l,haste:u}={...Rt,...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 ut(v,e))w[t]=E;if(O){w[O.folder]=E;for(let e of ut(v,O.folder))w[e]=E}else for(let e of ut(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,ee,V;if(O?.toward!==void 0)z=B=O.toward%d,ee=V=O.toward/d|0;else if(O){z=ee=1/0,B=V=-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),ee=Math.min(ee,n),V=Math.max(V,n)}}else z=L.gx-1,B=L.gx+L.w,ee=L.gy-1,V=L.gy+L.h;let H=(e,t)=>{let n=Math.max(z-e,e-B,0),r=Math.max(ee-t,t-V,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+Ht,r=Math.fround(1+s*Math.min(y[t],Vt));C[n]===E&&x[n]<=r||(C[n]=E,x[n]=r,S[n]=-1,j(r+H(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+zt[T],M=F+Bt[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(zt[T]&&Bt[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=(zt[T]&&Bt[T]?1.414:1)*(1+s*Math.min(y[N],Vt)+c*Math.min(b[N],Vt))+r*Math.abs(p[N]-p[u]);if(v!==Ht&&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+H(k,M),L,I))}}if(W<0)return null;let G=[];for(let e=W;e!==-1;e=S[e])G.push(e/9|0);G.reverse();for(let e of G)F(e,1);let ne=U.get(G[0]),K=R.get(G[G.length-1]),re=[[ne[1],ne[2]]];for(let e of G)re.push([e%d+.5,(e/d|0)+.5]);return re.push([K[1],K[2]]),{cells:Int32Array.from(G),pts:re}}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 ee(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:ee,release:e=>{for(let t of e.cells)F(t,-1)},hold:e=>{for(let t of e.cells)F(t,1)}}}var Wt=[0,1,-1,2,-2,3,-3];function Gt(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=Wt.find(e=>!i.has(e))??0,delete t.edges})}var Kt=(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 qt(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++)Kt(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 Jt(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);Gt(o,n*r);let s={...qt(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 Yt=[1,1,0,-1,-1,-1,0,1],Xt=[0,1,1,1,0,-1,-1,-1],Zt=8,Qt={turn45:1.5,turn90:3,diag:1.3,hug:1,share:.35,centre:.3,gather:224};function $t(e,t=lt(e),n={}){let{turn45:r,turn90:i,diag:a,hug:o,share:s,centre:c,gather:l}={...Qt,...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=un(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=ln(t)[c],d=ln(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?dn(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(en(t,c,r,x)||en(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===Zt||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(ln(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)&&!en(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 tn(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(ln(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)&&!en(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 tn(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+Yt[e],l=d+Xt[e];if(!C(i,l,n)||Yt[e]&&Xt[e]&&(!C(i,d,n)||!C(c,l,n)))continue;let u=l*f+i,p=r+(Yt[e]&&Xt[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=>an(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),ee=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`||!nn(a,i))continue;let o=rn(a,i),s=`${r}|${o}`;ee.set(s,[...ee.get(s)||[],{k:t,end:n,t:Math.floor(o<2?i[0]:i[1]),count:e.count}])}});let V=new Map;for(let[e,t]of ee){let[n,r]=e.split(`|`).map(Number),i=u[n];ln(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])=>!en(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&&V.set(e.k,{...V.get(e.k),[e.end]:{side:r,t:c}})}}if(V.size){b.fill(0),L.forEach((e,t)=>{e.pts&&!V.has(t)&&R(e.pts)});for(let e of I){let t=V.get(e);if(!t)continue;let n=L[e],r=(e,t)=>{if(!nn(u[e],t))return;let n=rn(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 en(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 tn(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 nn(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 rn(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 an(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 on={turn45:1.5,turn90:3,diag:1.3,hug:1,centre:1,join:.5,cross:1,haste:1.5,hasteNote:4};function sn(e,t,n=lt(e),r={}){let{turn45:i,turn90:a,diag:o,hug:s,centre:c,join:l,cross:u,haste:d,hasteNote:f}={...on,...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=un(n,b),S=10/(e.cell??7),C=new Uint8Array(y);for(let e of t)e.pts&&an(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(!nn(e,[t,n])){let i=tn(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)=>(Yt[e]&&Xt[e]?Math.SQRT2*o:1)+s*(b-x[t]),O=(e,t)=>{if(e===Zt||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},ee=()=>{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 V(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 tn(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(ln(e).forEach((t,n)=>t.cells.forEach(([r,i])=>{if(!a(r,i)||en(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;){ee();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+Yt[t],c=s+Xt[t];if(!a(r,c)||Yt[t]&&Xt[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 H=[];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`&&H.push({folder:e.a,at:e.pts[e.pts.length-1],notes:r.map(e=>e.a),trunk:t}),p[e.b].kind===`folder`&&H.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<H.length;e++){let{folder:t,at:n,notes:r,trunk:i}=H[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]}:V(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:cn(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||H.push({folder:e,at:u.pts[0],notes:n,trunk:i})}}return Gt(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 cn=(e,t)=>Yt.findIndex((n,r)=>n===Math.sign(e)&&Xt[r]===Math.sign(t));function ln(e){return[{dir:6,cells:dn(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:dn(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:dn(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:dn(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 un({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+Yt[u],f=c+Xt[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+Yt[i],f=d+Xt[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 dn=(e,t)=>Array.from({length:Math.max(0,t-e)},(t,n)=>e+n);function fn(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 pn(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 mn(e,t){let n={flow:t.gridFlow===`right`?`right`:`up`,grain:yn(t),plan:!!t.blocks,from:t.from??null},r=Ft(e,n);if(t.blocks){let t=hn(r,$t(r,lt(r)));[...t.values()].some(e=>e.wider.size)&&(r=Ft(e,{...n,planned:t}))}r.feeders=gn(r);let i=lt(r),a=$t(r,i),o=sn(r,a,i);return fn(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 gn(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=lt(e),o=Ut(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]?Rt.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 Gt(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 _n(e){let t=lt(e),n=Ut(e,t);return e=>Jt(n,e,t.W,t.H)}function vn(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 yn=e=>e.grain===`coarse`||e.grain===`coarser`?e.grain:`fine`;function bn(e,t={}){return vn(JSON.stringify([12,t.gridFlow===`right`?`right`:`up`,yn(t),!!t.blocks,e]))}var xn,Sn=1,Cn=new Map;function wn(e){if(xn===void 0)try{xn=new Worker(new URL(new URL(`../workers/worker-rKDNrEKQ.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),xn.onmessage=({data:e})=>{let t=Cn.get(e.id);Cn.delete(e.id),e.error===void 0?t?.resolve(e.result):t?.reject(Error(e.error))},xn.onerror=()=>{for(let e of Cn.values())e.reject(Error(`the layout worker stopped`));Cn.clear(),xn=null}}catch{xn=null}if(!xn)return Promise.reject(Error(`no worker`));let t=Sn++;return new Promise((n,r)=>{Cn.set(t,{resolve:n,reject:r}),xn.postMessage({id:t,...e})})}var Tn=new Map,En=new Map,Dn=``;async function On(e,t){let n=pn(e),r=bn(n,t),i=Tn.get(r);return i||(i=await wn({layout:{model:n,o:t}}).catch(()=>mn(n,t)),Tn.size>=6&&Tn.delete(Tn.keys().next().value),Tn.set(r,i)),{key:r,layout:i}}async function kn(e,t,n){if(!n.length)return[];let r=()=>{let r=En.get(e);return r||(En.clear(),En.set(e,r=_n(t))),r(n)},i=Dn!==e;return Dn=e,(await wn({routes:{key:e,layout:i?t:null,asks:n}}).catch(()=>wn({routes:{key:e,layout:t,asks:n}})).catch(r)).routes.map(e=>e?.pts??null)}var An=j(`<b class="num svelte-m50bdg"> </b>`),jn=j(`<b class="order svelte-m50bdg" aria-hidden="true"> </b>`),Mn=j(`<i class="dia svelte-m50bdg" aria-hidden="true"></i>`),Nn=j(`<i class="since svelte-m50bdg" aria-hidden="true" title="changed since your understanding of it was recorded"></i>`),Pn=j(`<a><span class="t svelte-m50bdg"> </span><!><!><!><!></a>`);function Fn(e,t){R(t,!0);let n=A(t,`mark`,3,``),a=A(t,`far`,3,0),c=A(t,`num`,3,0),l=A(t,`iso`,3,``),u=A(t,`linked`,3,!1),d=A(t,`dim`,3,!1),f=A(t,`moment`,3,``),p=A(t,`given`,3,!1),m=A(t,`changed`,3,!1),h=A(t,`pointed`,3,``),g=A(t,`order`,3,0),_=A(t,`since`,3,``);var v=Pn();let x;var S=z(v),w=b(S,!0),T=y(S),E=e=>{var t=An(),n=b(t,!0);o(()=>r(n,c())),M(e,t)};W(T,e=>{c()&&e(E)});var D=y(T),O=e=>{var t=jn(),n=b(t,!0);o(()=>r(n,g())),M(e,t)};W(D,e=>{g()&&e(O)});var j=y(D),N=e=>{var t=Mn();M(e,t)};W(j,e=>{m()&&e(N)});var P=y(j),I=e=>{var t=Nn();M(e,t)};W(P,e=>{_()&&e(I)}),U(v),o(e=>{x=k(v,1,`n s${t.step??``} ${f()?`mo-${f()}`:``} ${l()?`p-${l()}`:``} ${n()??``}`,`svelte-m50bdg`,x,{linked:u(),dim:d()&&!c()&&!l()&&!u()&&!p(),far:a()>1,pick:c()>0,given:p(),changed:m(),pointed:!!h()}),H(v,`href`,t.href),H(v,`aria-label`,c()?`${t.title}: linked, number ${c()}`:`${t.title}${p()?`: in Iso's context`:``}${m()?`, changed by Iso`:``}${h()?`, Iso points to it: ${h()}`:``}`),H(v,`title`,h()||void 0),H(v,`data-note`,t.item.ref),F(v,`--x:${t.item.gx??``};--y:${t.item.gy??``};--w:${t.item.w??``};--h:${t.item.h??``};--lit:${e??``}%`),r(w,t.title)},[()=>Math.max(34,100-(a()-1)*20)]),i(`click`,v,function(...e){t.onpick?.apply(this,e)}),s(`pointerenter`,v,e=>{e.pointerType===`mouse`&&t.onpoint(!0)}),s(`pointerleave`,v,e=>{e.pointerType===`mouse`&&t.onpoint(!1)}),s(`focus`,v,()=>t.onpoint(!0)),s(`blur`,v,()=>t.onpoint(!1)),M(e,v),C()}p([`click`]);var In=j(`<button class="frame-title svelte-ywp27z" type="button"> </button>`),Ln=j(`<span class="frame-title held svelte-ywp27z"> </span>`),Rn=j(`<div><!> <!></div>`),zn=j(`<button type="button"><span class="name svelte-ywp27z"> </span><span class="label svelte-ywp27z"> </span></button>`);function Bn(e,n){R(n,!0);let a=A(n,`titled`,3,!0),s=A(n,`held`,19,()=>({req:0,bld:0})),l=A(n,`dim`,3,!1),d=A(n,`given`,3,!1),f=V(()=>n.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),p=V(()=>n.item.depth%2?`var(--ground-0)`:`var(--ground-1)`),m=V(()=>s().req?`req`:s().bld?`bld`:``),h=V(()=>[s().req?`${s().req} required here`:``,s().bld?`${s().bld} ${s().bld===1?`builds`:`build`} on it`:``].filter(Boolean).join(` · `)),g=V(()=>`--x:${n.item.gx};--y:${n.item.gy};--w:${n.item.w};--h:${n.item.h}`);var _=t(),v=c(_),x=e=>{var t=Rn();let s;var c=z(t),l=e=>{var t=In(),a=b(t,!0);o(()=>r(a,n.name)),i(`click`,t,function(...e){n.onpick?.apply(this,e)}),M(e,t)};W(c,e=>{a()&&e(l)});var _=y(c,2),v=e=>{var t=Ln(),n=b(t,!0);o(()=>r(n,u(h))),M(e,t)};W(_,e=>{u(h)&&e(v)}),U(t),o(()=>{s=k(t,1,`folder frame ${u(m)??``}`,`svelte-ywp27z`,s,{given:d()}),H(t,`data-folder`,n.item.ref),F(t,`${u(g)??``};--inside:${u(f)??``};--behind:${u(p)??``};--ground-here:${u(f)??``}`)}),M(e,t)},S=e=>{var t=zn();let a;var s=z(t),c=b(s,!0),f=y(s),p=b(f,!0);U(t),o(()=>{a=k(t,1,`folder frame closed ${u(m)??``}`,`svelte-ywp27z`,a,{dim:l(),given:d()}),H(t,`data-folder`,n.item.ref),F(t,u(g)),r(c,n.name),r(p,u(h)||`${n.count} ${n.count===1?`note`:`notes`}`)}),i(`click`,t,function(...e){n.onpick?.apply(this,e)}),M(e,t)};W(v,e=>{n.open?e(x):e(S,-1)}),M(e,_),C()}p([`click`]);var Vn=d(`<path pathLength="1"></path>`),Hn=d(`<path></path>`),Un=d(`<path class="sent svelte-k96fgh"></path>`),Wn=d(`<!><!><!>`,1),Gn=d(`<path class="grown svelte-k96fgh" pathLength="1"></path>`),Kn=d(`<svg class="routes svelte-k96fgh" aria-hidden="true"><g class="svelte-k96fgh"><!><!></g></svg>`);function qn(e,n){R(n,!0);let r=A(n,`sent`,19,()=>[]),i=A(n,`grown`,19,()=>[]),a=A(n,`beat`,3,``),s=A(n,`retracting`,19,()=>[]),l=e=>`${(e.study?1.6:e.strong?e.trunk?3:1.5:e.trunk?2:1)/n.k}px`;var d=Kn(),f=z(d),p=z(f),m=e=>{var n=t(),r=c(n);G(r,17,s,e=>e.key,(e,t)=>{var n=Vn();let r,i;o(e=>{r=k(n,0,`along retract ${u(t).study?`study`:u(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,r,{trunk:u(t).trunk&&!u(t).study}),H(n,`d`,u(t).d),i=F(n,``,i,{"stroke-width":e})},[()=>l(u(t))]),M(e,n)}),M(e,n)},h=e=>{var r=t(),i=c(r);G(i,17,()=>n.rest,e=>e.key,(e,t)=>{var n=Vn();let r,i;o(e=>{r=k(n,0,`along draw ${u(t).study?`study`:u(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,r,{trunk:u(t).trunk&&!u(t).study}),H(n,`d`,u(t).d),i=F(n,``,i,{"stroke-width":e})},[()=>l(u(t))]),M(e,n)}),M(e,r)},g=e=>{var t=Wn(),i=c(t);G(i,17,()=>n.rest,e=>e.key,(e,t)=>{var n=Hn();let r;o(()=>{r=k(n,0,O(u(t).study?`study`:u(t).strong?`base`:`base weak`),`svelte-k96fgh`,r,{trunk:u(t).trunk&&!u(t).study}),H(n,`d`,u(t).d)}),M(e,n)});var a=y(i);G(a,17,r,e=>e.key,(e,t)=>{var n=Un();o(()=>H(n,`d`,u(t).d)),M(e,n)});var s=y(a);G(s,17,()=>n.hot,e=>e.key,(e,t)=>{var n=Hn();let r;o(()=>{r=k(n,0,`lit ${u(t).kind??``}`,`svelte-k96fgh`,r,{still:u(t).still}),H(n,`d`,u(t).d)}),M(e,n)}),M(e,t)};W(p,e=>{a()===`retract`?e(m):a()===`draw`?e(h,1):a()===``&&e(g,2)});var _=y(p);G(_,17,i,e=>e.key,(e,t)=>{var r=Gn();let i;o(()=>{H(r,`d`,u(t).d),i=F(r,``,i,{"stroke-width":`${3/n.k}px`})}),M(e,r)}),U(f),U(d),o(()=>{H(d,`data-requires`,n.counts.requires),H(d,`data-builds`,n.counts.builds),H(d,`data-uses`,n.counts.uses),H(f,`transform`,`scale(${n.k??``})`)}),M(e,d),C()}var Jn=j(`<span class="name svelte-1hqh0lc"> </span> <svg aria-hidden="true" class="svelte-1hqh0lc"><path class="svelte-1hqh0lc"></path></svg>`,1),Yn=j(`<div class="folder frame svelte-1hqh0lc"><button class="band svelte-1hqh0lc" type="button"><!></button></div>`),Xn=j(`<button class="folder frame closed svelte-1hqh0lc" type="button"><span class="band svelte-1hqh0lc"><!></span> <span class="label svelte-1hqh0lc"> </span></button>`);function Zn(e,n){R(n,!0);let a=e=>{var t=Jn(),i=c(t),a=b(i),l=y(i,2),d=b(l);o(()=>{r(a,`study · ${n.name??``}`),H(l,`viewBox`,u(f).viewBox),H(l,`data-passes`,s()),F(l,`width:${16*u(f).ratio}px`),H(d,`d`,u(f).d)}),M(e,t)},s=A(n,`passes`,3,0),l=V(()=>n.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),d=V(()=>`--x:${n.item.gx};--y:${n.item.gy};--w:${n.item.w};--h:${n.item.h}`),f=V(()=>Ee([...n.item.ref].reduce((e,t)=>(e*31+t.charCodeAt(0))%99991,7),s()?Math.min(s()+1,4):0));var p=t(),m=c(p),h=e=>{var t=Yn(),r=z(t),s=z(r);a(s),U(r),U(t),o(()=>{H(t,`data-folder`,n.item.ref),F(t,`${u(d)??``};--inside:${u(l)??``};--ground-here:${u(l)??``}`)}),i(`click`,r,function(...e){n.onpick?.apply(this,e)}),M(e,t)},g=e=>{var t=Xn(),s=z(t),c=z(s);a(c),U(s);var f=y(s,2),p=b(f);U(t),o(()=>{H(t,`data-folder`,n.item.ref),F(t,`${u(d)??``};--inside:${u(l)??``}`),r(p,`${n.count??``} ${n.count===1?`item`:`items`}`)}),i(`click`,t,function(...e){n.onpick?.apply(this,e)}),M(e,t)};W(m,e=>{n.open?e(h):e(g,-1)}),M(e,p),C()}p([`click`]);var Qn=j(`<a><span class="frame-title kind svelte-9q9bch"> </span><span class="t svelte-9q9bch"> </span></a>`);function $n(e,t){R(t,!0);let n=A(t,`mark`,3,``),a=A(t,`dim`,3,!1),c=A(t,`moment`,3,``);var l=Qn();let u;var d=z(l),f=b(d,!0),p=y(d),m=b(p,!0);U(l),o(()=>{u=k(l,1,`sn frame ${n()??``} ${c()?`mo-${c()}`:``}`,`svelte-9q9bch`,u,{dim:a()}),H(l,`href`,t.href),H(l,`aria-label`,`${t.kind??``}: ${t.title??``}`),H(l,`data-note`,t.item.ref),F(l,`--x:${t.item.gx??``};--y:${t.item.gy??``};--w:${t.item.w??``};--h:${t.item.h??``}`),r(f,t.kind),r(m,t.title)}),i(`click`,l,function(...e){t.onpick?.apply(this,e)}),s(`pointerenter`,l,e=>{e.pointerType===`mouse`&&t.onpoint(!0)}),s(`pointerleave`,l,e=>{e.pointerType===`mouse`&&t.onpoint(!1)}),s(`focus`,l,()=>t.onpoint(!0)),s(`blur`,l,()=>t.onpoint(!1)),M(e,l),C()}p([`click`]);var er=j(`<p class="said svelte-14y1y1z"> </p>`),tr=j(`<p class="said faint svelte-14y1y1z">There are no notes yet. The map draws itself as you write them.</p>`),nr=j(`<span> </span>`),rr=j(`<a class="eph svelte-14y1y1z"><span class="t svelte-14y1y1z"> </span></a>`),ir=j(`Iso is reading <span class="c-gold svelte-14y1y1z"> </span>`,1),ar=j(`<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),or=j(`<div><!> <!></div>`),sr=d(`<path d="M1.5 5.5h6l2 2.5h9v12.5h-17z" class="svelte-14y1y1z"></path>`),cr=d(`<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),lr=j(`<div><svg viewBox="0 0 20 24" width="20" height="24" aria-hidden="true" class="svelte-14y1y1z"><!></svg> <span class="svelte-14y1y1z"> </span></div>`),ur=j(`<p class="notice svelte-14y1y1z" role="alert"> </p>`),dr=j(`<p class="given svelte-14y1y1z" role="status"> </p>`),fr=j(`<p class="legend svelte-14y1y1z" aria-hidden="true"><span class="svelte-14y1y1z"><i class="k s0 svelte-14y1y1z"></i>not reached</span><span class="svelte-14y1y1z"><i class="k s1 svelte-14y1y1z"></i>opened</span><span class="svelte-14y1y1z"><i class="k s2 svelte-14y1y1z"></i>worked through</span><span class="svelte-14y1y1z"><i class="k s3 svelte-14y1y1z"></i>understood</span><span class="svelte-14y1y1z"><i class="k ch svelte-14y1y1z"></i>changed since</span></p>`),pr=j(`<p class="legend svelte-14y1y1z" aria-hidden="true"><span class="svelte-14y1y1z"><i class="k g svelte-14y1y1z"></i>in Iso's context</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><span class="faint svelte-14y1y1z">tap to give or take back</span></p>`),mr=j(`<div class="offer frame svelte-14y1y1z" role="menu"><button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◆</i>Give to Iso</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">▣</i>Open</button></div>`),hr=j(`<div aria-hidden="true"> </div>`),gr=j(`<!> <div><!> <!> <!> <!> <!> <!></div> <!> <!> <!> <!> <!> <!>`,1),_r=j(`<div role="application" aria-label="The atlas: the map of the base" tabindex="0"><!></div>`);function vr(n,a){R(a,!0);let l=A(a,`pick`,3,``),d=A(a,`moment`,3,null),p=e(null),h=e(null),g=``,v=e(``),S=e({x:0,y:0,k:1}),w=e({w:0,h:0}),T=e(``),E=e([]),D=V(()=>u(E).at(-1)??``),O=e(void 0),j=[`fine`,`coarse`,`coarser`],N=e(x(j.find(e=>e===te(`isorite.atlas.grain`))??`fine`)),I=e(te(`isorite.atlas.leaves`)===`on`),L=!1,B=window.innerWidth>=window.innerHeight?`right`:`up`;function te(e){try{return localStorage.getItem(e)}catch{return null}}function ne(){m(N,j[(j.indexOf(u(N))+1)%j.length],!0),L=!1;try{localStorage.setItem(`isorite.atlas.grain`,u(N))}catch{}se()}function ae(e){m(I,e,!0);try{localStorage.setItem(`isorite.atlas.leaves`,e?`on`:`off`)}catch{}}async function se(){try{let e=await q.api.map(),t=u(ce)?e:{...e,model:ue(e.model)},n=`${B}|${u(N)}`,r=u(h)&&g===n?u(h).layout.orders??null:null,i=await On(t.model,{gridFlow:B,grain:u(N),blocks:!0,from:r});g=n;let a=!!u(h)&&u(h).key!==i.key,o=u(h)&&u(Y)?{refs:new Set(u(Y).items.map(e=>e.ref)),edges:new Set(u(p).model.edges.map(([e,t])=>`${e}>${t}`))}:null,s=!u(h)||u(h).key!==i.key&&!L,c=++be,l=matchMedia(`(prefers-reduced-motion: reduce)`).matches,d=!!o&&a&&!l;if(d){if(m(ye,u(De)),m(ve,`retract`),await _e(me),c!==be)return;m(ye,[]),m(ve,`move`)}if(m(p,t),m(h,i),m(v,``),o&&a&&Ce(o),s&&u(w).w&&m(S,pe()),d){if(await _e(he),c!==be)return;m(ve,`draw`),await _e(ge),c===be&&m(ve,``)}}catch(e){m(v,e.message,!0)}}let ce=V(()=>Z.lens.atlas===`understand`),le=null;_(()=>{let e=u(ce);le!==null&&le!==e&&se(),le=e}),_(()=>{se();let e,t=q.on(t=>{(t.type===`note-changed`||t.type===`record`)&&(clearTimeout(e),e=setTimeout(()=>{se()},400))});return()=>{t(),clearTimeout(e)}});let Y=V(()=>u(h)?Je(u(h).layout):null),X=V(()=>u(Y)?Ke(u(Y)):null),fe=V(()=>u(Y)?Ye(u(Y),u(S).k):``),pe=()=>{let e=(u(Y)?.margin??0)/2,t={gx:e,gy:e,w:(u(Y)?.W??1)-2*e,h:(u(Y)?.H??1)-2*e},n=u(vt)?.draft?u(vt):null;if(n&&u(Y)){let e=Math.max(t.gx+t.w,n.gx+Math.max(n.w,240/u(Y).cell)+2),r=Math.max(t.gy+t.h,n.gy+n.h+70/u(Y).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 ot(t,u(w).w,u(w).h,1,u(Y)?.cell)},me=220,he=520,ge=340,_e=e=>new Promise(t=>setTimeout(t,e)),ve=e(``),ye=e([]),be=0,xe=e(!1),Se=e([]);async function Ce(e){if(m(xe,!0),setTimeout(()=>m(xe,!1),700),await K(),!u(Y)||!u(X)||!u(p))return;let t=matchMedia(`(prefers-reduced-motion: reduce)`).matches;for(let n of u(Y).items)e.refs.has(n.ref)||n.ref.startsWith(`@`)||(u(O)?.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=u(p).model.edges.filter(([t,n])=>!e.edges.has(`${t}>${n}`)&&!t.startsWith(`@`)&&!n.startsWith(`@`)&&e.refs.has(t)&&e.refs.has(n));m(Se,n.flatMap(([e,t])=>{let n=u(X).at.get(e),r=u(X).at.get(t);return n===void 0||r===void 0?[]:[{key:`${e}>${t}`,d:we(u(Y).items[Xe(u(X),u(fe),n)],u(Y).items[Xe(u(X),u(fe),r)])}]})),u(Se).length&&setTimeout(()=>m(Se,[]),5600)}function we(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=5/18*Math.abs(n)>=Math.abs(r);return it(at(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,u(Y).cell)}_(()=>{if(!u(O))return;let e=new ResizeObserver(([e])=>{let{width:t,height:n}=e.contentRect,r=!u(w).w,i=u(w);m(w,{w:t,h:n}),r&&u(Y)?m(S,pe()):!r&&t&&n&&m(S,{...u(S),x:u(S).x+(t-i.w)/2,y:u(S).y+(n-i.h)/2})});return e.observe(u(O)),()=>e.disconnect()});let Te=V(()=>u(Y)?u(Y).items.flatMap((e,t)=>e.kind===`folder`&&u(fe)[t]!==`-`?[{item:e,i:t,open:u(fe)[t]===`o`}]:[]):[]),Ee=V(()=>u(Y)?u(Y).items.flatMap((e,t)=>e.kind===`note`&&u(fe)[t]===`s`?[{item:e,i:t}]:[]):[]),De=V(()=>u(Y)?tt(Ze(u(Y),u(fe),u(X).strong,u(I))).map(e=>({key:e.key,pts:e.pts,d:it(e.pts,0,u(Y).cell),count:e.count,study:e.study,strong:e.strong,trunk:e.trunk,...Oe(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 Oe(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 ke=V(()=>l()?``:u(D)||u(T)),Ie=V(()=>u(ke)&&u(p)&&u(X)?.at.has(u(ke))?de(u(p).model,u(ke)):null),Le=V(()=>{let e=new Map;if(!u(Ie))return e;for(let t of u(Ie).also)e.set(t,{mark:`also`,far:0});for(let t of u(Ie).uses)e.set(t,{mark:`use`,far:0});for(let t of u(Ie).builds)e.set(t,{mark:`bld`,far:0});for(let t of u(Ie).requires)e.set(t,{mark:`req`,far:u(Ie).depth[t]??1});for(let t of u(E))e.set(t,{mark:`req`,far:1});return e.set(u(ke),{mark:`at`,far:0}),e}),Re=V(()=>{if(!u(Ie))return[];let e=u(E).slice(1).map((e,t)=>({from:u(E)[t],to:e,kind:`requires`})),t=u(E).at(-2);return[...e,...u(Ie).links.filter(e=>e.kind===`requires`?e.from===u(ke):e.kind!==`builds`||e.from!==t)]}),Be=V(()=>{let e=new Map;if(!u(Ie)||!u(X))return e;let t=new Set(u(X).up[u(X).at.get(u(ke))]),n=(n,r)=>{for(let i of n)for(let n of u(X).up[u(X).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(u(Ie).requires,`req`),n(u(Ie).builds,`bld`),e}),Ve=(e,t)=>{let n=u(Be).get(e),r=u(Y).items[e].parent;return n&&(!t||r<0||!u(Be).has(r))?n:{req:0,bld:0}},He=e([]),Ge=e({requires:0,builds:0,uses:0});function qe(e,t){if(!e.length||!u(Y)||!u(X)||!u(h)){t([],[]);return}let n=e.flatMap(e=>{let t=u(X).at.get(e.from),n=u(X).at.get(e.to);return t===void 0||n===void 0?[]:[{a:t,b:n,kind:e.kind}]}),{fixed:r,asks:i}=nt(u(Y),u(X),u(fe),n),a=e=>t(tt(e,!0).map(e=>({key:e.key,kind:e.kind,d:it(e.pts,0,u(Y).cell),count:e.count,still:!e.flow})),e);if(a(r),!i.length)return;let o=!1;return kn(u(h).key,u(Y),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}}_(()=>qe(u(Re),(e,t)=>{m(He,e),m(Ge,{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 Qe=V(()=>l()?null:q.iso),$e=V(()=>u(Qe)?.state===`reading`||u(Qe)?.state===`writing`),et=V(()=>{let e=new Map;for(let t of u(Qe)?.steps??[])t.opened&&!t.failed&&!e.has(t.opened)&&e.set(t.opened,t.how);return e}),rt=V(()=>Z.lens.atlas===`iso`||!!l()),ct=V(()=>new Set(J.parts.filter(e=>e.kind===`note`).map(e=>e.id))),lt=V(()=>new Set(J.parts.filter(e=>e.kind===`folder`).map(e=>e.id))),ut=V(()=>Q.turns.at(-1)),dt=V(()=>new Set(Q.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]:[])))),ft=V(()=>new Map((u(ut)?.items??[]).flatMap(e=>e.kind===`point`?[[e.note,e.why]]:[]))),pt=V(()=>{let e=new Map;for(let t of u(ut)?.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=V(()=>u($e)?u(Qe).steps.findLast(e=>e.opened&&!e.failed)?.opened??``:``),ht=V(()=>(u(Qe)?.steps??[]).flatMap(e=>e.how===`link`&&e.from&&e.opened&&!e.failed?[{from:e.opened,to:e.from,kind:`iso`}]:[])),gt=e([]);_(()=>qe(u(ht),e=>{m(gt,e)}));let _t=e(null);_(()=>{let e=u(Qe)?.note??``;if(m(_t,null),!e.startsWith(`@draft/`))return;let t=!1;return q.api.readNote(e).then(e=>{t||m(_t,e)},()=>void 0),()=>{t=!0}});let vt=V(()=>{if(!u(Qe)||!u(Y)||!u(X))return null;if(!u(Qe).note.startsWith(`@draft/`)){let e=u(X).at.get(u(Qe).note);if(e===void 0)return null;let t=u(Y).items[Xe(u(X),u(fe),e)];return{gx:t.gx,gy:t.gy,w:t.w,h:t.h,draft:!1,title:Ut(u(Qe).note)}}let e=Math.round(126/u(Y).cell),t=Math.round(35/u(Y).cell),n=u(_t)?Fe(u(_t).text)||`a new note`:``,r=ze(u(Qe).note),i=r?{gx:Math.round(r.gx*7/u(Y).cell),gy:Math.round(r.gy*7/u(Y).cell)}:null;if(i&&!u(Y).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=u(Y).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/u(Y).cell);return B===`right`?{gx:o+c,gy:Math.round((u(Y).H-t)/2),w:e,h:t,draft:!0,title:n}:{gx:Math.round((u(Y).W-e)/2),gy:s+c,w:e,h:t,draft:!0,title:n}}),yt=V(()=>u(_t)?Ae(u(_t).text).filter(e=>u(p)?.notes[e]):[]),bt=V(()=>!u(vt)?.draft||!u(Y)||!u(X)?[]:u(yt).flatMap(e=>{let t=u(X).at.get(e);return t===void 0?[]:[{key:e,d:we(u(vt),u(Y).items[Xe(u(X),u(fe),t)])}]})),xt=e=>{if(!u(rt))return``;if(e===u(mt))return`used`;let t=u(et).get(e);return t===`keyword`?`key`:t===`meaning`?`sem`:t?`link`:``};_(()=>{let e=u(Qe);e&&e.request===q.watching&&e.state!==`reading`&&e.state!==`writing`&&(q.watching=``,e.state===`done`&&ie(re(`/draft/[id]`,{id:e.note.slice(7)})))});let St=``;_(()=>{u(vt)?.draft&&u(Qe)&&St!==u(Qe).request&&u(w).w&&(St=u(Qe).request,L||m(S,pe()))});let Ct=e(null),wt=e(``);_(()=>{if(m(Ct,null),m(wt,``),!l())return;let e=!1;return q.api.readNote(l()).then(t=>{e||m(Ct,t)},()=>{e||m(wt,`that note for Iso is not here any more`)}),()=>{e=!0}});let Tt=V(()=>u(Ct)?(Ne(u(Ct).text)??Ae(u(Ct).text)).filter(e=>u(p)?.notes[e]&&!e.startsWith(`@`)):[]),Et=Promise.resolve();function Dt(e){Et=Et.then(async()=>{if(!u(Ct)||e.startsWith(`@`))return;let t=t=>Ne(t)?Pe(t,e):Ae(t).includes(e)?Me(t,e):je(t,e,Ut(e)),n=t(u(Ct).text);if(n===null)m(wt,`linked in what you wrote: take it out there`);else{m(wt,``);try{m(Ct,await q.api.saveNote(l(),{base:u(Ct).version,text:n}))}catch{try{let e=await q.api.readNote(l()),n=t(e.text);m(Ct,n===null?e:await q.api.saveNote(l(),{base:e.version,text:n}))}catch(e){m(wt,`not linked: ${e.message}`)}}}})}let $=e(null),Ot=null,kt=!1,At,jt;function Mt(){clearTimeout(At),clearTimeout(jt),At=jt=void 0,Ot=null,kt||m($,null)}function Nt(e,t){let n=null;for(let r of u(Y).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 Pt(e,t){if(Mt(),u(It)&&!(e.target instanceof Element&&e.target.closest(`.offer`))&&m(It,null),l()||kt||!u(Y)||!u(X)||!(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`;jt=setTimeout(()=>{jt=void 0,qt=!0,r?m(It,{ref:n,x:t.x,y:t.y}):zt(n)},650);return}let r=u(Y).cell*u(S).k,i=Math.round((t.x-u(S).x)/r),a=Math.round((t.y-u(S).y)/r),o={dir:Nt(i,a),gx:i,gy:a,w:0,h:0,folder:!1};At=setTimeout(()=>{m($,o)},180),jt=setTimeout(()=>{jt=void 0,qt=!0,Ot=t,m($,o),u(O)?.setPointerCapture(e.pointerId)},650)}function Ft(e){Ot&&u($)&&!u($).folder&&Math.hypot(e.x-Ot.x,e.y-Ot.y)>=24&&m($,{...u($),folder:!0})}let It=e(null),Lt=e(``),Rt;function zt(e,t=`note`){let n=J.add({kind:t,id:e,title:t===`note`?Ut(e):Wt(e)});m(Lt,n?`${t===`note`?Ut(e):Wt(e)} is in Iso's context`:`${t===`note`?Ut(e):Wt(e)} is in Iso's context already`,!0),clearTimeout(Rt),Rt=setTimeout(()=>m(Lt,``),2200)}function Bt(){Ot&&u($)&&(Ot=null,Ht(u($)))}function Vt(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 Ht(e){kt=!0;let t=q.listing.notes.map(e=>e.id),n=e.dir;if(e.folder){let r=Vt(e.dir,`untitled-folder`,e=>!t.some(t=>t.startsWith(`${e}/`)));n=[e.dir,r.slug].filter(Boolean).join(`/`)}let r=Vt(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 q.api.createNote(i,`---\ntype: Concept\ntitle: ${JSON.stringify(a)}\n---\n\n`),await q.refresh(),Z.fresh=i,await Z.open(i)}catch(e){m(wt,e.message,!0)}finally{kt=!1,m($,null)}}let Ut=e=>u(p)?.notes[e]?.title??e.split(`/`).at(-1)??e,Wt=e=>e.startsWith(`@study`)?e.replace(/^@study\/?/,``).split(`/`).at(-1)||q.session?.name||`the base`:e.split(`/`).at(-1)??e,Gt=0;function Kt(e){if(cancelAnimationFrame(Gt),matchMedia(`(prefers-reduced-motion: reduce)`).matches){m(S,e);return}let t=u(S),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=u(w).w/2,l=u(w).h/2,d=(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;m(S,a===1?e:{k:s,x:c-d*s,y:l-f*s}),a<1&&(Gt=requestAnimationFrame(r))};Gt=requestAnimationFrame(r)}let qt=!1,Jt=new Map,Yt=null;function Xt(){let e=[...Jt.values()];if(!e.length){Yt=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;Yt={view:u(S),x:t,y:n,span:e.length>1?Math.hypot(e[0].x-e[1].x,e[0].y-e[1].y):0}}let Zt=e=>{let t=u(O).getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},Qt=null,$t=e(x({x:0,y:0}));function en(e){if(l()||!(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:Ut(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:Wt(n)}:null}function tn(e){if(!Qt||e.pointerType!==`mouse`)return;m($t,{x:e.clientX,y:e.clientY},!0);let t=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-pane="iso"]`)!=null;J.carrying={part:Qt,over:t}}function nn(e){(e.pointerType!==`mouse`||e.button===0)&&(cancelAnimationFrame(Gt),Jt.size||(qt=!1,Qt=en(e)),Jt.set(e.pointerId,Zt(e)),Xt(),Jt.size===1?Pt(e,Zt(e)):Mt())}function rn(e){if(!Jt.has(e.pointerId)||!Yt)return;if(Jt.set(e.pointerId,Zt(e)),Ot){Ft(Zt(e));return}let t=[...Jt.values()],n=t.reduce((e,t)=>e+t.x,0)/t.length,r=t.reduce((e,t)=>e+t.y,0)/t.length;if(!qt&&t.length===1&&Math.hypot(n-Yt.x,r-Yt.y)<5)return;if(qt||(qt=!0,Mt(),u(O).setPointerCapture(e.pointerId)),t.length===1&&Qt){tn(e);return}L=!0;let i=t.length>1?Math.hypot(t[0].x-t[1].x,t[0].y-t[1].y):0,a=Yt.span&&i?st(Yt.view,i/Yt.span,Yt.x,Yt.y):Yt.view;m(S,{k:a.k,x:a.x+n-Yt.x,y:a.y+r-Yt.y})}function an(e){if(Jt.delete(e.pointerId)){if(J.carrying){let{part:e,over:t}=J.carrying;J.carrying=null,t&&(e.kind===`note`||e.kind===`folder`)&&zt(e.id,e.kind)}Qt=null,Ot?Bt():jt!==void 0&&Mt(),Xt()}}function on(e){e.preventDefault(),cancelAnimationFrame(Gt),L=!0;let t=Zt(e),n=e.deltaMode===1?16:1;m(S,st(u(S),Math.exp(-e.deltaY*n*(e.ctrlKey?.01:.0015)),t.x,t.y))}_(()=>{if(!u(O))return;let e=u(O);return e.addEventListener(`wheel`,on,{passive:!1}),()=>e.removeEventListener(`wheel`,on)});function sn(e,t){if(e.metaKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),e.stopPropagation(),qt))return;if(l()){Dt(t);return}if(Z.lens.atlas===`iso`&&!t.startsWith(`@`)){J.toggle({kind:`note`,id:t,title:Ut(t)});return}if(u(D)===t){Z.open(t);return}let n=[];if(u(Ie)&&u(ke)===u(D)&&u(Ie).depth[t])for(let e=t;e&&e!==u(D);e=u(Ie).via[e])n.unshift(e);m(E,u(E).includes(t)?u(E).slice(0,u(E).indexOf(t)+1):n.length?[...u(E),...n]:[t])}function cn(e){if(qt||!u(Y))return;let t=u(Y).items[e].ref;if(Z.lens.atlas===`iso`&&!t.startsWith(`@`)){J.toggle({kind:`folder`,id:t,title:Wt(t)});return}L=!0;let n=ot(u(Y).items[e],u(w).w,u(w).h,1.5,u(Y).cell),r=Math.abs(n.k-u(S).k)<.01*n.k&&Math.hypot(n.x-u(S).x,n.y-u(S).y)<4,i=u(Y).items[e].parent;Kt(r?i<0?pe():ot(u(Y).items[i],u(w).w,u(w).h,1.5,u(Y).cell):n)}function ln(e){if(qt||!(e.target instanceof Element)||e.target.closest(`.dock, .key`))return;let t=e.target.closest(`[data-folder]`);e.target.closest(`a, button`)||(u(D)?m(E,[]):u(Qe)&&!u($e)?q.iso=null:t&&u(Y)?cn(u(Y).items.findIndex(e=>e.kind===`folder`&&e.ref===t.dataset.folder)):Kt(pe()))}function un(e){if(e.key===`Escape`){m(E,[]),m(T,``);return}if(e.key===`c`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){ne();return}if(e.key===`l`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){ae(!u(I));return}if(e.target!==u(O))return;let t={x:u(w).w/2,y:u(w).h/2};if(e.key===`+`||e.key===`=`)m(S,st(u(S),1.25,t.x,t.y));else if(e.key===`-`)m(S,st(u(S),.8,t.x,t.y));else if(e.key===`0`)Kt(pe());else if(e.key===`ArrowLeft`)m(S,{...u(S),x:u(S).x+80});else if(e.key===`ArrowRight`)m(S,{...u(S),x:u(S).x-80});else if(e.key===`ArrowUp`)m(S,{...u(S),y:u(S).y+80});else if(e.key===`ArrowDown`)m(S,{...u(S),y:u(S).y-80});else return;e.preventDefault(),L=!0}let dn=V(()=>{if(!u(Y)||!u(w).w||u(S).k<=pe().k*1.05)return-1;let e=u(Y).cell*u(S).k,t=(u(w).w/2-u(S).x)/e,n=(u(w).h/2-u(S).y)/e,r=-1;return u(Y).items.forEach((i,a)=>{i.kind!==`folder`||u(fe)[a]!==`o`||t<i.gx||t>i.gx+i.w||n<i.gy||n>i.gy+i.h||(i.w*e>=.6*u(w).w||i.h*e>=.6*u(w).h)&&(r<0||u(Y).items[r].depth<i.depth)&&(r=a)}),r});function fn(){if(!u(Y))return;L=!0;let e=u(dn)<0?-1:u(Y).items[u(dn)].parent;Kt(e<0?pe():ot(u(Y).items[e],u(w).w,u(w).h,1.5,u(Y).cell))}let pn=V(()=>u(S).k>=We),mn=V(()=>u(Y)?u(Y).items.filter(e=>e.kind===`note`&&e.ref.startsWith(`@study`)).length:0);_(()=>(q.atlas={items:u(mn),chosen:u(D)?Ut(u(D)):``,chosenId:u(D),steps:u(E).length-1,pick:!!l(),here:u(dn)<0?``:Wt(u(Y).items[u(dn)].ref),out:fn},()=>{q.atlas=null}));var hn=_r();let gn;var _n=z(hn),vn=e=>{var t=er(),n=b(t);o(()=>r(n,`The map could not be drawn: ${u(v)??``}`)),M(e,t)},yn=e=>{var n=gr(),a=c(n),s=e=>{var t=tr();M(e,t)};W(a,e=>{u(Y).items.length||e(s)});var h=y(a,2);let g;var _=z(h);G(_,17,()=>u(Te),e=>e.item.id,(e,n)=>{var r=t(),i=c(r),a=e=>{{let t=V(()=>Wt(u(n).item.ref)),r=V(()=>u(Y).items.filter(e=>e.parent===u(n).i&&u(p)?.notes[e.ref]?.passed).length);Zn(e,{get item(){return u(n).item},get name(){return u(t)},get count(){return u(X).noteCount[u(n).i]},get open(){return u(n).open},get passes(){return u(r)},onpick:()=>cn(u(n).i)})}},o=V(()=>u(n).item.ref.startsWith(`@study`)),s=e=>{{let t=V(()=>Wt(u(n).item.ref)),r=V(()=>u(n).item.parent<0||(u(n).item.gy-u(Y).items[u(n).item.parent].gy)*u(Y).cell*u(S).k>=18),i=V(()=>Ve(u(n).i,u(n).open)),a=V(()=>!!u(Ie)&&!u(n).open&&!u(Be).has(u(n).i)),o=V(()=>u(rt)&&u(lt).has(u(n).item.ref));Bn(e,{get item(){return u(n).item},get name(){return u(t)},get count(){return u(X).noteCount[u(n).i]},get open(){return u(n).open},get titled(){return u(r)},get held(){return u(i)},get dim(){return u(a)},get given(){return u(o)},onpick:()=>cn(u(n).i)})}};W(i,e=>{u(o)?e(a):e(s,-1)}),M(e,r)});var v=y(_,2);{let e=V(()=>[...u(rt)?u(gt):[],...u(He)]);qn(v,{get k(){return u(S).k},get rest(){return u(De)},get hot(){return u(e)},get counts(){return u(Ge)},get sent(){return u(bt)},get grown(){return u(Se)},get beat(){return u(ve)},get retracting(){return u(ye)}})}var x=y(v,2),C=e=>{var n=t(),i=c(n);G(i,17,()=>u(De),e=>e.key,(e,n)=>{var i=t(),a=c(i),s=e=>{var t=nr(),i=b(t,!0);o(()=>{k(t,1,`count ${u(n).side??``}`,`svelte-14y1y1z`),F(t,`--x:${u(n).mid[0]??``};--y:${u(n).mid[1]??``}`),r(i,u(n).count)}),M(e,t)};W(a,e=>{u(n).label&&e(s)}),M(e,i)}),M(e,n)};W(x,e=>{u(pn)&&!u(ve)&&e(C)});var E=y(x,2);G(E,17,()=>u(Ee),e=>e.item.id,(e,n)=>{let r=V(()=>u(Le).get(u(n).item.ref)),i=V(()=>u(r)?.mark??``);var a=t(),o=c(a),s=e=>{{let t=V(()=>Ut(u(n).item.ref)),r=V(()=>u(p).notes[u(n).item.ref]?.kind??`note`),a=V(()=>d()?.note===u(n).item.ref?d().who:``),o=V(()=>!!u(Ie)&&!u(i)),s=V(()=>oe(u(n).item.ref));$n(e,{get item(){return u(n).item},get title(){return u(t)},get kind(){return u(r)},get mark(){return u(i)},get moment(){return u(a)},get dim(){return u(o)},get href(){return u(s)},onpick:e=>sn(e,u(n).item.ref),onpoint:e=>{m(T,e?u(n).item.ref:u(T)===u(n).item.ref?``:u(T),!0)}})}},l=V(()=>u(n).item.ref.startsWith(`@study`)),f=e=>{{let t=V(()=>Ut(u(n).item.ref)),a=V(()=>u(ce)?u(p).notes[u(n).item.ref]?.step??0:1),o=V(()=>u(ce)?u(p).notes[u(n).item.ref]?.changedSince??``:``),s=V(()=>u(r)?.far??0),c=V(()=>u(Tt).indexOf(u(n).item.ref)+1),l=V(()=>xt(u(n).item.ref)),f=V(()=>u(yt).includes(u(n).item.ref)),h=V(()=>u(rt)&&u(ct).has(u(n).item.ref)),g=V(()=>u(rt)&&u(dt).has(u(n).item.ref)),_=V(()=>u(rt)?u(ft).get(u(n).item.ref)??``:``),v=V(()=>u(rt)?u(pt).get(u(n).item.ref)??0:0),y=V(()=>d()?.note===u(n).item.ref?d().who:``),b=V(()=>!!u(Ie)&&!u(i)),x=V(()=>oe(u(n).item.ref));Fn(e,{get item(){return u(n).item},get title(){return u(t)},get step(){return u(a)},get since(){return u(o)},get mark(){return u(i)},get far(){return u(s)},get num(){return u(c)},get iso(){return u(l)},get linked(){return u(f)},get given(){return u(h)},get changed(){return u(g)},get pointed(){return u(_)},get order(){return u(v)},get moment(){return u(y)},get dim(){return u(b)},get href(){return u(x)},onpick:e=>sn(e,u(n).item.ref),onpoint:e=>{m(T,e?u(n).item.ref:u(T)===u(n).item.ref?``:u(T),!0)}})}};W(o,e=>{u(l)?e(s):e(f,-1)}),M(e,a)});var D=y(E,2),O=e=>{var t=or();let n;var i=z(t),a=e=>{var t=rr(),n=z(t),i=b(n,!0);U(t),o(e=>{H(t,`href`,e),H(t,`aria-label`,`${u(vt).title??``}: your note for Iso`),r(i,u(vt).title)},[()=>re(`/draft/[id]`,{id:u(Qe).note.slice(7)})]),M(e,t)};W(i,e=>{u(vt).draft&&e(a)});var s=y(i,2),l=e=>{var t=ar(),n=y(c(t),2),i=y(z(n)),a=e=>{var t=f(`Iso is writing`);M(e,t)},s=e=>{var t=ir(),n=y(c(t)),i=b(n,!0);o(e=>r(i,e),[()=>Ut(u(mt))]),M(e,t)},l=e=>{var t=f(`Iso is thinking`);M(e,t)};W(i,e=>{u(Qe).state===`writing`?e(a):u(mt)?e(s,1):e(l,-1)}),U(n),M(e,t)};W(s,e=>{u($e)&&e(l)}),U(t),o(()=>{n=k(t,1,`asker svelte-14y1y1z`,null,n,{draft:u(vt).draft}),F(t,`--x:${u(vt).gx??``};--y:${u(vt).gy??``};--w:${u(vt).w??``};--h:${u(vt).h??``}`)}),M(e,t)};W(D,e=>{u(vt)&&e(O)});var A=y(D,2),j=e=>{var t=lr();let n;var i=z(t),a=z(i),s=e=>{var t=sr();M(e,t)},c=e=>{var t=cr();P(),M(e,t)};W(a,e=>{u($).folder?e(s):e(c,-1)}),U(i);var l=y(i,2),d=b(l);U(t),o(()=>{n=k(t,1,`grasp svelte-14y1y1z`,null,n,{folder:u($).folder}),F(t,`--x:${u($).gx??``};--y:${u($).gy??``}`),r(d,`${u($).folder?`a new folder`:`a new note`}${u($).dir?` in ${u($).dir}`:``}`)}),M(e,t)};W(A,e=>{u($)&&e(j)}),U(h);var N=y(h,2),I=e=>{{let t=V(()=>u(Ct)?Ne(u(Ct).text)?`an exercise`:Fe(u(Ct).text):``),n=V(()=>u(Ct)?Ne(u(Ct).text)!==null:!1),r=V(()=>u(Tt).map(e=>({id:e,title:Ut(e),tokens:u(p).notes[e]?.tokens??0}))),i=V(()=>re(`/draft/[id]`,{id:l().slice(7)}));Ue(e,{get title(){return u(t)},get tests(){return u(n)},get picked(){return u(r)},budget:8e3,get notice(){return u(wt)},get href(){return u(i)}})}},L=e=>{var t=ur(),n=b(t,!0);o(()=>r(n,u(wt))),M(e,t)};W(N,e=>{l()?e(I):u(wt)&&e(L,1)});var R=y(N,2),B=e=>{var t=dr(),n=b(t);o(()=>r(n,`◆ ${u(Lt)??``}`)),M(e,t)};W(R,e=>{u(Lt)&&e(B)});var ee=y(R,2),te=e=>{var t=fr();M(e,t)};W(ee,e=>{u(ce)&&!l()&&!u(Lt)&&Z.settings===`atlas`&&e(te)});var ne=y(ee,2),K=e=>{var t=pr();M(e,t)};W(ne,e=>{Z.lens.atlas===`iso`&&!l()&&!u(Lt)&&Z.settings===`atlas`&&e(K)});var ie=y(ne,2),ae=e=>{let t=V(()=>u(It));var n=mr(),r=z(n),a=y(r,2);U(n),o((e,r)=>{H(n,`aria-label`,e),F(n,`left:${r??``}px;top:${u(t).y+14}px`)},[()=>Ut(u(t).ref),()=>Math.min(u(t).x,u(w).w-170)]),i(`click`,r,e=>{e.stopPropagation(),zt(u(t).ref),m(It,null)}),i(`click`,a,e=>{e.stopPropagation(),m(It,null),Z.open(u(t).ref,!0)}),M(e,n)};W(ie,e=>{u(It)&&e(ae)});var q=y(ie,2),se=e=>{var t=hr();let n;var i=b(t);o(()=>{n=k(t,1,`carried svelte-14y1y1z`,null,n,{over:J.carrying.over}),F(t,`left:${u($t).x??``}px;top:${u($t).y??``}px`),r(i,`${J.carrying.part.kind===`folder`?`▭`:`▣`} ${J.carrying.part.title??``}`)}),M(e,t)};W(q,e=>{J.carrying&&e(se)}),o(e=>{g=k(h,1,`atlas-world svelte-14y1y1z`,null,g,{labels:u(pn),shifting:u(xe)}),H(h,`data-open`,u(fe)),F(h,`transform: translate(${u(S).x??``}px, ${u(S).y??``}px); --u: ${(u(Y)?.cell??7)*u(S).k}px; --k: ${u(S).k??``}; --fs: ${e??``}px; --lines: ${u(S).k<.9?1:2}`)},[()=>(10.5*Math.min(1.5,Math.max(.8,u(S).k))).toFixed(2)]),M(e,n)};W(_n,e=>{u(v)?e(vn):u(Y)&&u(p)&&e(yn,1)}),U(hn),ee(hn,e=>m(O,e),()=>u(O)),o(()=>{gn=k(hn,1,`atlas dots svelte-14y1y1z`,null,gn,{lit:!!u(Ie)}),F(hn,`background-position: ${u(S).x??``}px ${u(S).y??``}px`)}),i(`pointerdown`,hn,nn),i(`pointermove`,hn,rn),i(`pointerup`,hn,an),s(`pointercancel`,hn,an),i(`click`,hn,ln),i(`keydown`,hn,un),s(`dragstart`,hn,e=>e.preventDefault()),i(`contextmenu`,hn,e=>{(u($)||At!==void 0||jt!==void 0||u(It))&&e.preventDefault()}),M(n,hn),C()}p([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`,`contextmenu`]);var yr=j(`<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>`),br=j(`<div class="map svelte-nwxyyl"><!> <!></div>`);function xr(t,n){R(n,!0);let r=V(()=>he.url.searchParams.get(`pick`)??new URLSearchParams(he.url.hash.split(`?`)[1]??``).get(`pick`)??``),a=e(x((()=>{try{return localStorage.getItem(`isorite.timeline`)===`1`}catch{return!1}})())),s=e([]),c=e(null),l=e=>q.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),d=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`);async function f(){try{m(s,(await q.api.timeline()).filter(e=>!e.note.startsWith(`@draft/`)))}catch{}}_(()=>{if(!u(a))return;f();let e,t=q.on(t=>{t.type===`journal`&&(clearTimeout(e),e=setTimeout(()=>{f()},300))});return()=>{t(),clearTimeout(e)}});function p(e){ie(`${oe(e.note)}?at=${encodeURIComponent(pe(e))}`)}function h(){m(a,!u(a)),m(c,null);try{localStorage.setItem(`isorite.timeline`,u(a)?`1`:`0`)}catch{}}var g=br(),v=z(g);{let e=V(()=>u(r)?`@draft/${u(r)}`:``),t=V(()=>u(c)?{note:u(c).note,who:d(u(c))?`iso`:`you`}:null);vr(v,{get pick(){return u(e)},get moment(){return u(t)}})}var b=y(v,2),S=e=>{var t=yr(),n=z(t),r=y(n,2),d=e=>{me(e,{get moments(){return u(s)},at:null,get pointed(){return u(c)},leftward:!0,name:`This session's timeline`,label:e=>l(e.note),point:e=>m(c,e),pick:e=>p(e)})};W(r,e=>{u(a)&&e(d)}),U(t),o(()=>H(n,`aria-pressed`,u(a))),i(`click`,n,h),M(e,t)};W(b,e=>{u(r)||e(S)}),U(g),M(t,g),C()}p([`click`]);var Sr=new class{#e=e(null);get view(){return u(this.#e)}set view(e){m(this.#e,e)}#t=e(``);get problem(){return u(this.#t)}set problem(e){m(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 q.api?.terminal??null}start(){!this.started&&q.api&&(this.started=!0,this.api?(this.api.view().then(e=>this.show(e),()=>Z.setBuild(!1)),q.on(e=>{e.type===`terminal`&&this.show(e.terminal)})):Z.setBuild(!1))}show(e){let t=this.connected;this.view=e,Z.setBuild(e.connected),t&&e.connected&&Z.focus!==`iso`&&e.turns.length>(this.seen??e.turns.length)&&Z.unseen++,this.seen=e.turns.length}seen=null;async send(e){if(this.problem=``,!e.trim()||!this.api)return!1;try{let t=J.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}}},Cr=j(`<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>`),wr=j(`<div class="said prose svelte-17377q0"></div>`),Tr=j(`<button type="button" class="note-link svelte-17377q0"> </button>`),Er=j(`<code class="q svelte-17377q0"> </code>`),Dr=j(`<span class="n svelte-17377q0"><span class="add svelte-17377q0"> </span> <span class="del svelte-17377q0"> </span></span>`),Or=j(`<span> </span>`),kr=j(`<pre class="diff svelte-17377q0"></pre>`),Ar=j(`<pre class="out svelte-17377q0"> </pre>`),jr=j(`<details><summary class="svelte-17377q0"><span class="v svelte-17377q0"> </span><!><!></summary> <!></details>`),Mr=j(`<p class="line svelte-17377q0"><span class="v svelte-17377q0"> </span><!></p>`),Nr=j(`<div class="tool svelte-17377q0"><!> <!></div>`),Pr=j(`<p class="doing svelte-17377q0" role="status"><i class="spin svelte-17377q0" aria-hidden="true"></i>OpenCode is at work</p>`),Fr=j(`<p class="faint end svelte-17377q0">stopped</p>`),Ir=j(`<p class="bad svelte-17377q0" role="alert">The turn failed; the terminal says why.</p>`),Lr=j(`<article class="turn svelte-17377q0"><div class="you svelte-17377q0"><p class="asked svelte-17377q0"> </p><span class="from svelte-17377q0"> </span></div> <!> <!></article>`),Rr=j(`<p class="title faint svelte-17377q0"> </p>`),zr=j(`<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>`),Br=j(`<div class="chat svelte-17377q0" role="log" aria-label="The terminal's session" aria-live="polite"><!> <!> <!> <!></div>`);function Vr(n,a){R(a,!0);let s=(e,t=E)=>{var n=Cr(),a=z(n),s=y(z(a)),c=b(s,!0);P(),U(a);var l=y(a,2),u=z(l),d=y(u),f=y(d);U(l),U(n),o(e=>r(c,e),[()=>O(t())]),i(`click`,u,()=>void Sr.reply(t().id,`once`)),i(`click`,d,()=>void Sr.reply(t().id,`always`)),i(`click`,f,()=>void Sr.reply(t().id,`reject`)),M(e,n)},l=(e,n=E)=>{var a=t(),l=c(a),d=e=>{var t=wr();w(t,()=>X(n().text),!0),U(t),M(e,t)},f=e=>{var t=Nr(),a=z(t),c=e=>{var t=jr(),a=z(t),s=z(a),c=b(s,!0),l=y(s),d=e=>{var t=Tr(),a=b(t,!0);o(e=>r(a,e),[()=>g(n().note)]),i(`click`,t,e=>{e.preventDefault(),S(n().name,n().note)}),M(e,t)},f=e=>{var t=Er(),i=b(t,!0);o(()=>r(i,n().title)),M(e,t)};W(l,e=>{n().note?e(d):e(f,-1)});var p=y(l),m=e=>{var t=Dr(),i=z(t),a=b(i),s=y(i,2),c=b(s);U(t),o((e,t)=>{r(a,`+${e??``}`),r(c,`−${t??``}`)},[()=>n().diff.filter(e=>e.startsWith(`+`)).length,()=>n().diff.filter(e=>e.startsWith(`-`)).length]),M(e,t)};W(p,e=>{n().diff&&e(m)}),U(a);var _=y(a,2),v=e=>{var t=kr();G(t,21,()=>n().diff,h,(e,t)=>{var n=Or();let i;var a=b(n,!0);o((e,o)=>{i=k(n,1,`svelte-17377q0`,null,i,{add:e,del:o}),r(a,u(t))},[()=>u(t).startsWith(`+`),()=>u(t).startsWith(`-`)]),M(e,n)}),U(t),M(e,t)},x=e=>{var t=Ar(),i=b(t,!0);o(()=>r(i,n().output)),M(e,t)};W(_,e=>{n().diff?e(v):e(x,-1)}),U(t),o(e=>r(c,e),[()=>T(n().name)]),M(e,t)},l=e=>{var t=Mr(),a=z(t),s=b(a,!0),c=y(a),l=e=>{var t=Tr(),a=b(t,!0);o(e=>r(a,e),[()=>g(n().note)]),i(`click`,t,()=>S(n().name,n().note)),M(e,t)},u=e=>{var t=Er(),i=b(t,!0);o(()=>r(i,n().title)),M(e,t)};W(c,e=>{n().note?e(l):e(u,-1)}),U(t),o(e=>r(s,e),[()=>T(n().name)]),M(e,t)};W(a,e=>{n().output||n().diff?e(c):e(l,-1)});var d=y(a,2);G(d,17,()=>A(n().id),e=>e.id,(e,t)=>{s(e,()=>u(t))}),U(t),o(()=>H(t,`data-status`,n().status)),M(e,t)};W(l,e=>{n().kind===`text`?e(d):e(f,-1)}),M(e,a)},d=(e,t=E)=>{var n=Lr(),i=z(n),a=z(i),s=b(a,!0),c=y(a),d=b(c,!0);U(i);var f=y(i,2);G(f,17,()=>t().items,h,(e,t)=>{l(e,()=>u(t))});var p=y(f,2),m=e=>{var t=Pr();M(e,t)},g=e=>{var t=Fr();M(e,t)},_=e=>{var t=Ir();M(e,t)};W(p,e=>{t().state===`running`?e(m):t().state===`stopped`?e(g,1):t().state===`failed`&&e(_,2)}),U(n),o(()=>{H(n,`data-state`,t().state),r(s,t().asked),r(d,t().from===`here`?`from here`:`in the terminal`)}),M(e,n)},f=e(void 0),p=V(()=>Sr.view),g=e=>q.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,v={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`},x=new Set([`edit_note`,`write_note`]);function S(e,t){x.has(e)&&Z.setLens(`note`,`iso`),Z.open(t,!0)}let T=e=>v[e]??e.replaceAll(`_`,` `),D={shell:`run`,edit:`edit`,write:`write`,read:`read`,webfetch:`fetch`,external_directory:`reach outside the project`},O=e=>`${D[e.action]??e.action} ${e.resources.join(`, `)}`.trim(),A=e=>u(p)?.asking.filter(t=>t.tool===e)??[],j=V(()=>u(p)?.asking.filter(e=>!e.tool||!u(p).turns.some(t=>t.items.some(t=>t.kind===`tool`&&t.id===e.tool)))??[]);_(()=>{u(p),K().then(()=>{u(f)&&(u(f).scrollTop=u(f).scrollHeight)})});var N=Br(),F=z(N),I=e=>{var t=Rr(),n=b(t,!0);o(()=>r(n,u(p).title)),M(e,t)};W(F,e=>{u(p)?.title&&e(I)});var L=y(F,2);G(L,17,()=>u(p)?.turns??[],e=>e.id,(e,t)=>{d(e,()=>u(t))});var B=y(L,2);G(B,17,()=>u(j),e=>e.id,(e,t)=>{s(e,()=>u(t))});var te=y(B,2),ne=e=>{var t=zr();M(e,t)};W(te,e=>{u(p)?.turns.length||e(ne)}),U(N),ee(N,e=>m(f,e),()=>u(f)),M(n,N),C()}p([`click`]);var Hr=j(`<span><span class="k svelte-d2jxoz" aria-hidden="true"> </span><span class="t svelte-d2jxoz"> </span></span>`),Ur=j(`<span class="gave svelte-d2jxoz"></span>`),Wr=j(`<div class="said prose svelte-d2jxoz"></div>`),Gr=j(`<button type="button" class="note-link svelte-d2jxoz"> </button>`),Kr=j(`<span class="n svelte-d2jxoz"> </span>`),qr=j(`<span class="q svelte-d2jxoz"> </span><!>`,1),Jr=j(`<p><span class="v svelte-d2jxoz"> </span> <!></p>`),Yr=j(`<span class="q svelte-d2jxoz"> </span>`),Xr=j(`<span class="n svelte-d2jxoz"><span class="add svelte-d2jxoz"> </span> <span class="del svelte-d2jxoz"> </span></span>`),Zr=j(`<p class="change svelte-d2jxoz"><span class="v svelte-d2jxoz"> </span> <!> <!></p>`),Qr=j(`<p class="faint svelte-d2jxoz"> </p>`),$r=j(`<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>`),ei=j(`<div class="permit svelte-d2jxoz" role="group" aria-label="Iso asks before it does this"><p class="svelte-d2jxoz"> </p> <!></div>`),ti=j(`<span class="why svelte-d2jxoz"> </span>`),ni=j(`<p class="understood svelte-d2jxoz"><span class="v svelte-d2jxoz">recorded</span><button type="button" class="note-link svelte-d2jxoz"> </button><span> </span><!></p>`),ri=j(`<p class="faint undone svelte-d2jxoz"> </p>`),ii=j(`<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>`),ai=j(`<span class="from svelte-d2jxoz"> </span>`),oi=j(`<li><span class="k svelte-d2jxoz" aria-hidden="true"> </span> <span class="t svelte-d2jxoz"> <!></span> <span class="num svelte-d2jxoz"> </span> <button type="button" class="x svelte-d2jxoz"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4" class="svelte-d2jxoz"><path d="M4 4l8 8M12 4l-8 8" class="svelte-d2jxoz"></path></svg></button></li>`),si=j(`<ul class="given svelte-d2jxoz" aria-label="What you gave Iso"></ul>`),ci=j(`<p class="faint svelte-d2jxoz">Nothing yet. Hold a note on the Atlas, or drag it here, or select a passage in a note and send it to Iso. Iso reads the rest of the base as it needs.</p>`),li=j(`<p class="faint svelte-d2jxoz">Sent with your next message to the terminal's agent: notes and folders by name, for it to read with isorite's tools, and passages as they are.</p>`),ui=j(`<p class="part svelte-d2jxoz"><span class="svelte-d2jxoz"> </span><span class="faint svelte-d2jxoz"> </span><span class="grow svelte-d2jxoz"></span><span class="num svelte-d2jxoz"> </span></p>`),di=j(`<p class="part svelte-d2jxoz"><span> </span><span class="grow svelte-d2jxoz"></span><span class="num svelte-d2jxoz"> </span> <button class="sw svelte-d2jxoz" type="button" role="switch"><i class="svelte-d2jxoz"></i></button></p>`),fi=j(`<p class="faint sub svelte-d2jxoz">earlier turns, each sent or left out</p> <!>`,1),pi=j(`<h2 class="label svelte-d2jxoz">all that is sent</h2> <div class="parts svelte-d2jxoz"><!> <!></div>`,1),mi=j(`<div class="context svelte-d2jxoz" role="region" aria-label="What Iso is sent"><h2 class="label svelte-d2jxoz">what you gave</h2> <!> <!></div>`),hi=j(`<span> </span>`),gi=j(`<!> <p class="doing svelte-d2jxoz" role="status"><i class="spin svelte-d2jxoz" aria-hidden="true"></i> </p>`,1),_i=j(`<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" class="svelte-d2jxoz"><path d="M3.2 9.5A5 5 0 1 0 4.6 4.3" class="svelte-d2jxoz"></path><path d="M3 1.8v3.4h3.4" class="svelte-d2jxoz"></path></svg></button></p>`),vi=j(`<p class="bad svelte-d2jxoz" role="alert"> </p>`),yi=j(`<p class="faint end svelte-d2jxoz">stopped</p>`),bi=j(`<article class="turn svelte-d2jxoz"><div class="you svelte-d2jxoz"><p class="asked svelte-d2jxoz"> </p><!><!></div> <!> <!> <!></article>`),xi=j(`<div class="chat svelte-d2jxoz" role="log" aria-label="The conversation with Iso" aria-live="polite"></div>`),Si=j(`<button class="corner stop svelte-d2jxoz" type="button" title="Stop (Escape)"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" class="svelte-d2jxoz"><rect x="4" y="4" width="8" height="8" fill="currentColor" class="svelte-d2jxoz"></rect></svg></button>`),Ci=j(`<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" class="svelte-d2jxoz"><path d="M3 8h10M9 4l4 4-4 4" class="svelte-d2jxoz"></path></svg></button>`),wi=j(`<span class="svelte-d2jxoz"> </span>`),Ti=j(`<div class="foot svelte-d2jxoz"><span class="svelte-d2jxoz"> </span> <!> <span class="grow svelte-d2jxoz"></span> <!></div>`),Ei=j(`<button class="count svelte-d2jxoz" type="button" title="What Iso is sent with your message, part by part"> </button>`),Di=j(`<button type="button" role="radio" class="svelte-d2jxoz"> </button>`),Oi=j(`<div class="foot svelte-d2jxoz"><!> <span class="tiers svelte-d2jxoz" role="radiogroup" aria-label="How able a model"></span> <span class="grow svelte-d2jxoz"></span> <!></div>`),ki=j(`<div><!> <div class="composer svelte-d2jxoz"><div class="box svelte-d2jxoz"><label class="hidden-label svelte-d2jxoz" for="iso-box">Message Iso</label> <textarea id="iso-box" rows="2" class="svelte-d2jxoz"></textarea> <!></div> <!> <!></div></div>`);function Ai(n,a){R(a,!0);let s=(e,n=E)=>{var i=t(),a=c(i),s=e=>{var t=Ur();G(t,21,()=>n().given,h,(e,t)=>{var n=Hr();let i;var a=z(n),s=b(a,!0),c=y(a),l=b(c,!0);U(n),o(e=>{i=k(n,1,`chip svelte-d2jxoz`,null,i,{u:u(t).kind===`understanding`}),r(s,d[u(t).kind]),r(l,e)},[()=>u(t).kind===`passage`?u(t).text:u(t).kind===`folder`?u(t).id||`the base`:p(u(t).id)]),M(e,n)}),U(t),M(e,t)};W(a,e=>{n().given.length&&e(s)}),M(e,i)},l=(e,n=E)=>{var a=t(),s=c(a),l=e=>{var t=Wr();w(t,()=>X(n().text),!0),U(t),M(e,t)},u=e=>{var t=Jr();let a;var s=z(t),l=b(s,!0),u=y(s,2),d=e=>{var t=Gr(),a=b(t);o(e=>r(a,`${e??``}${n().step.section?` · ${n().step.section}`:``}`),[()=>p(n().step.opened)]),i(`click`,t,()=>ne(n().step.opened)),M(e,t)},f=e=>{var t=qr(),i=c(t),a=b(i,!0),s=y(i),l=e=>{var t=Kr(),i=b(t);o(()=>r(i,`${n().step.notes.length??``} found`)),M(e,t)};W(s,e=>{n().step.notes.length&&e(l)}),o(()=>r(a,n().step.query?`“${n().step.query}”`:n().step.said)),M(e,t)};W(u,e=>{n().step.opened?e(d):e(f,-1)}),U(t),o(()=>{a=k(t,1,`look svelte-d2jxoz`,null,a,{failed:n().step.failed}),r(l,g[n().step.how])}),M(e,t)},d=e=>{var t=Zr(),a=z(t),s=b(a,!0),c=y(a,2),l=e=>{var t=Yr(),i=b(t,!0);o(()=>r(i,n().title)),M(e,t)},u=e=>{var t=Gr(),a=b(t,!0);o(e=>r(a,e),[()=>n().why===`move`?`${n().title} → ${n().to}`:n().note.startsWith(`@`)?n().title:p(n().note)]),i(`click`,t,()=>re(n().why===`move`?n().to:n().note)),M(e,t)};W(c,e=>{n().why===`delete`?e(l):e(u,-1)});var d=y(c,2),f=e=>{var t=Xr(),i=z(t),a=b(i),s=y(i,2),c=b(s);U(t),o(()=>{r(a,`+${n().added??``}`),r(c,`−${n().removed??``}`)}),M(e,t)};W(d,e=>{(n().added||n().removed)&&e(f)}),U(t),o(e=>r(s,e),[()=>n().note.startsWith(`@understanding/`)?`wrote`:n().why===`create`?`made`:n().why===`delete`?`deleted`:n().why===`move`?`moved`:`changed`]),M(e,t)},f=e=>{var t=ei(),a=z(t),s=b(a),c=y(a,2),l=e=>{var t=Qr(),i=b(t,!0);o(()=>r(i,n().answer===`reject`?`Not allowed.`:n().answer===`always`?`Allowed, and from now on in this conversation.`:`Allowed once.`)),M(e,t)},u=e=>{var t=$r(),r=z(t),a=y(r),o=y(a);U(t),i(`click`,r,()=>void Q.answer(n().id,`once`)),i(`click`,a,()=>void Q.answer(n().id,`always`)),i(`click`,o,()=>void Q.answer(n().id,`reject`)),M(e,t)};W(c,e=>{n().answer?e(l):e(u,-1)}),U(t),o(()=>r(s,`Iso wants to ${n().what??``}.`)),M(e,t)},m=e=>{var t=ni(),a=y(z(t)),s=b(a,!0),c=y(a);let l;var u=b(c,!0),d=y(c),f=e=>{var t=ti(),i=b(t,!0);o(()=>r(i,n().why)),M(e,t)};W(d,e=>{n().why&&e(f)}),U(t),o(e=>{r(s,e),l=k(c,1,`by svelte-d2jxoz`,null,l,{up:n().by>0,down:n().by<0}),r(u,n().by>0?`+${n().by}`:n().by<0?`−${-n().by}`:`±0`)},[()=>p(n().note)]),i(`click`,a,()=>ie(n().note)),M(e,t)},h=e=>{var t=ri(),i=b(t);o((e,t)=>r(i,`${e??``}${t??``}`),[()=>n().notes.length?`Undone: ${n().notes.map(p).join(`, `)} put back.`:`Nothing was put back.`,()=>n().left.length?` Left as they are, changed since: ${n().left.map(p).join(`, `)}.`:``]),M(e,t)},_=e=>{var t=ii(),a=y(z(t),2),s=b(a,!0),c=y(a),l=e=>{var t=ti(),i=b(t,!0);o(()=>r(i,n().why)),M(e,t)};W(c,e=>{n().why&&e(l)}),U(t),o(e=>r(s,e),[()=>p(n().note)]),i(`click`,a,()=>ne(n().note)),M(e,t)};W(s,e=>{n().kind===`text`?e(l):n().kind===`look`?e(u,1):n().kind===`change`?e(d,2):n().kind===`permission`?e(f,3):n().kind===`understood`?e(m,4):n().kind===`undone`?e(h,5):n().kind===`point`&&e(_,6)}),M(e,a)},d={note:`▣`,folder:`▭`,passage:`“`,understanding:`◇`},f=e=>e.kind===`passage`?`“${e.text}” from ${e.title}`:e.kind===`folder`?`the folder ${e.title}`:e.kind===`understanding`?`your understanding of ${e.title}`:e.title,p=e=>q.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,g={keyword:`searched`,meaning:`by meaning`,link:`followed`,read:`read`},v=[`low`,`mid`,`max`],x=e=>e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e),S=e=>`$${e.toFixed(e>0&&e<.1?3:2)}`,D=e(``),O=e(void 0),A=V(()=>Z.mode===`build`),j=V(()=>Q.running),N=V(()=>u(A)?Sr.running:!!u(j)),P=V(()=>{if(!u(j))return``;if(Q.streaming)return`Iso is writing`;let e=u(j).items.findLast(e=>e.kind===`look`);return e?.step.opened?`Iso is reading ${p(e.step.opened)}`:`Iso is thinking`});L(()=>{Q.start(),Sr.start()}),_(()=>{J.sent,Z.mode,Y.tier,Q.measure()}),_(()=>{Q.turns,Q.streaming,K().then(()=>{u(O)&&(u(O).scrollTop=u(O).scrollHeight)})});async function F(){let e=u(D);await(u(A)?Sr.send(e):Q.send(e))&&m(D,``)}let I=()=>u(A)?Sr.stop():Q.stop();function te(e){e.key===`Enter`&&!e.shiftKey&&!e.isComposing?(e.preventDefault(),F()):e.key===`Tab`&&e.shiftKey?(e.preventDefault(),Z.stepMode(1)):e.key===`Escape`&&u(N)&&(e.preventDefault(),I())}function ne(e){Z.open(e,!0)}function re(e){e.startsWith(`@understanding/`)?ie(e.slice(15)):(Z.setLens(`note`,`iso`),Z.open(e,!0))}function ie(e){Z.setLens(`note`,`understand`),Z.open(e,!0)}let ae=e=>e.items.some(e=>e.kind===`change`)&&!e.items.some(e=>e.kind===`undone`);var oe=ki();let se;var ce=z(oe),le=e=>{var t=mi(),n=y(z(t),2),a=e=>{var t=si();G(t,21,()=>J.sent,e=>J.keyOf(e),(e,t)=>{let n=V(()=>Q.sizeOf(u(t)));var a=oi();let s;var c=z(a),l=b(c,!0),p=y(c,2),m=z(p,!0),h=y(m),g=e=>{var n=ai(),i=b(n);o(()=>r(i,`from ${u(t).title??``}`)),M(e,n)};W(h,e=>{u(t).kind===`passage`&&e(g)}),U(p);var _=y(p,2),v=b(_,!0),S=y(_,2);U(a),o((e,n,i,o)=>{H(a,`title`,e),s=k(a,1,`svelte-d2jxoz`,null,s,{u:u(t).kind===`understanding`,fresh:n}),r(l,d[u(t).kind]),r(m,u(t).kind===`passage`?`“${u(t).text}”`:u(t).kind===`understanding`?`Understanding · ${u(t).title}`:u(t).kind===`folder`?`${u(t).title}/`:u(t).title),r(v,i),H(S,`aria-label`,`Take ${o??``} out of Iso's context`)},[()=>f(u(t)),()=>J.fresh===J.keyOf(u(t)),()=>u(n)===null?``:x(u(n)),()=>f(u(t))]),i(`click`,S,()=>J.remove(u(t))),M(e,a)}),U(t),M(e,t)},s=e=>{var t=ci();M(e,t)};W(n,e=>{J.sent.length?e(a):e(s,-1)});var l=y(n,2),p=e=>{var t=li();M(e,t)},m=e=>{var t=pi(),n=y(c(t),2),a=z(n);G(a,17,()=>Q.report.parts,e=>e.name,(e,t)=>{var n=ui(),i=z(n),a=b(i,!0),s=y(i),c=b(s,!0),l=y(s,2),d=b(l,!0);U(n),o(e=>{r(a,u(t).name),r(c,u(t).detail),r(d,e)},[()=>x(u(t).tokens)]),M(e,n)});var s=y(a,2),l=e=>{var t=fi(),n=y(c(t),2);G(n,17,()=>Q.report.items,e=>e.id,(e,t)=>{var n=di(),a=z(n);let s;var c=b(a,!0),l=y(a,2),d=b(l,!0),f=y(l,2);U(n),o(e=>{s=k(a,1,`t svelte-d2jxoz`,null,s,{off:!u(t).on}),r(c,u(t).title),r(d,e),H(f,`aria-checked`,u(t).on),H(f,`aria-label`,`Send: ${u(t).title??``}`)},[()=>x(u(t).tokens)]),i(`click`,f,()=>Q.toggleTurn(u(t).id)),M(e,n)}),M(e,t)};W(s,e=>{Q.report.items.length&&e(l)}),U(n),M(e,t)};W(l,e=>{u(A)?e(p):Q.report&&e(m,1)}),U(t),M(e,t)},ue=e=>{Vr(e,{})},de=e=>{var t=xi();G(t,21,()=>Q.turns,e=>e.id,(e,t)=>{var n=bi(),a=z(n),d=z(a),f=b(d,!0),p=y(d);s(p,()=>u(t));var m=y(p),g=e=>{var n=hi();let i;var a=b(n,!0);o(()=>{i=k(n,1,`tmode svelte-d2jxoz`,null,i,{m:u(t).mode===`understand`}),r(a,u(t).mode)}),M(e,n)};W(m,e=>{u(t).mode!==`ask`&&e(g)}),U(a);var _=y(a,2);G(_,17,()=>u(t).items,h,(e,t)=>{l(e,()=>u(t))});var v=y(_,2),x=e=>{var t=gi(),n=c(t),i=e=>{var t=Wr();w(t,()=>X(Q.streaming),!0),U(t),M(e,t)};W(n,e=>{Q.streaming&&e(i)});var a=y(n,2),s=y(z(a),1,!0);U(a),o(()=>r(s,u(P))),M(e,t)},S=e=>{var n=_i(),r=b(n);i(`click`,r,()=>void Q.undo(u(t).id)),M(e,n)},C=V(()=>ae(u(t)));W(v,e=>{u(t).state===`running`?e(x):u(C)&&e(S,1)});var T=y(v,2),E=e=>{var n=vi(),i=b(n);o(()=>r(i,`Iso could not answer: ${u(t).message??``}`)),M(e,n)},D=e=>{var t=yi();M(e,t)};W(T,e=>{u(t).state===`failed`?e(E):u(t).state===`stopped`&&e(D,1)}),U(n),o(()=>{H(n,`data-state`,u(t).state),r(f,u(t).asked)}),M(e,n)}),U(t),ee(t,e=>m(O,e),()=>u(O)),M(e,t)};W(ce,e=>{Q.view===`context`?e(le):u(A)?e(ue,1):e(de,-1)});var fe=y(ce,2),pe=z(fe),me=y(z(pe),2);B(me);var he=y(me,2),ge=e=>{var t=Si();o(()=>H(t,`aria-label`,u(A)?`Stop the terminal's agent`:`Stop Iso`)),i(`click`,t,()=>void I()),M(e,t)},_e=e=>{var t=Ci();i(`click`,t,()=>void F()),M(e,t)},ve=V(()=>u(D).trim());W(he,e=>{u(N)?e(ge):u(ve)&&e(_e,1)}),U(pe);var ye=y(pe,2),be=e=>{var t=vi(),n=b(t,!0);o(()=>r(n,u(A)?Sr.problem:Q.problem)),M(e,t)};W(ye,e=>{(u(A)?Sr.problem:Q.problem)&&e(be)});var xe=y(ye,2),Se=e=>{var t=Ti(),n=z(t),i=b(n,!0),a=y(n,2),s=e=>{var t=wi(),n=b(t);o(e=>r(n,`${e??``} tokens`),[()=>x(Sr.view.tokens.input+Sr.view.tokens.output)]),M(e,t)};W(a,e=>{Sr.view&&e(s)});var c=y(a,4),l=e=>{var t=wi(),n=b(t,!0);o(e=>r(n,e),[()=>S(Sr.view.cost)]),M(e,t)};W(c,e=>{Sr.view?.cost&&e(l)}),U(t),o(()=>r(i,Sr.view?.model||`OpenCode`)),M(e,t)},Ce=e=>{var t=Oi(),n=z(t),a=e=>{var t=Ei(),n=b(t);o(e=>{H(t,`aria-pressed`,Q.view===`context`),r(n,`${e??``} tokens`)},[()=>x(Q.report.tokens)]),i(`click`,t,()=>Q.view=Q.view===`context`?`chat`:`context`),M(e,t)};W(n,e=>{Q.report&&e(a)});var s=y(n,2);G(s,20,()=>v,e=>e,(e,t)=>{var n=Di(),a=b(n,!0);o(()=>{H(n,`aria-checked`,Y.tier===t),r(a,t)}),i(`click`,n,()=>Y.setTier(t)),M(e,n)}),U(s);var c=y(s,4),l=e=>{var t=wi(),n=b(t,!0);o(e=>r(n,e),[()=>S(Q.report.session.usd)]),M(e,t)};W(c,e=>{Q.report&&e(l)}),U(t),M(e,t)};W(xe,e=>{u(A)?e(Se):e(Ce,-1)}),U(fe),U(oe),o(()=>{se=k(oe,1,`iso svelte-d2jxoz`,null,se,{drop:J.carrying?.over}),H(me,`placeholder`,u(A)?`Ask in the terminal's session`:`Ask Iso, in ${Z.mode} mode`)}),i(`keydown`,me,te),T(me,()=>u(D),e=>m(D,e)),M(n,oe),C()}p([`click`,`keydown`]);var ji=d(`<path d="M2.5 3.5h11v7.5h-6.5l-3 2.5v-2.5h-1.5z" class="svelte-ubc5lw"></path>`),Mi=d(`<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" class="svelte-ubc5lw"></path>`),Ni=d(`<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-ubc5lw"></path>`),Pi=d(`<path d="M3 4.5l3 3.5-3 3.5M7.5 12h5.5" class="svelte-ubc5lw"></path>`),Fi=j(`<button type="button" class="mode 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" class="svelte-ubc5lw"><!></svg></button>`),Ii=j(`<span class="modes svelte-ubc5lw" role="group" aria-label="Iso's mode"></span>`),Li=j(`<button type="button"><span class="sym svelte-ubc5lw" aria-hidden="true"> </span><span class="word svelte-ubc5lw"> </span></button>`),Ri=j(`<span class="lenses svelte-ubc5lw" role="group"></span>`),zi=j(`<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" class="svelte-ubc5lw"><path d="M2.5 4.5h11M2.5 8h11M2.5 11.5h11" class="svelte-ubc5lw"></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>`),Bi=j(`<div class="frame settings svelte-ubc5lw" role="dialog" tabindex="-1"><span class="frame-title svelte-ubc5lw"> </span> <div class="inner svelte-ubc5lw"><!></div></div>`),Vi=j(`<header class="phead svelte-ubc5lw"><span class="pname svelte-ubc5lw"> </span> <!> <span class="grow svelte-ubc5lw"></span> <!> <!></header> <!>`,1);function Hi(t,n){R(n,!0);let a={normal:`○`,iso:`◆`,understand:`◇`},d={normal:`normal`,iso:`Iso`,understand:`understand`},f={ask:`Ask`,write:`Write`,build:`Build`,understand:`Understand`},p={ask:`reads the knowledge base, changes nothing`,write:`reads and writes the knowledge base`,build:`reads, writes and runs the project`,understand:`reads the knowledge base, writes the study base`},h=V(()=>Z.settings===n.pane),g=e(void 0);function v(e){n.pane===`iso`?Z.stepMode(e):Z.stepLens(n.pane,e)}let x=null;function S(e){let t=e.touches[0];x={x:t.clientX,y:t.clientY}}function w(e){if(!x)return;let t=e.changedTouches[0],n=t.clientX-x.x,r=t.clientY-x.y;x=null,Math.abs(r)>28&&Math.abs(r)>Math.abs(n)*1.3&&v(r<0?1:-1)}_(()=>{u(h)&&u(g)?.focus()});function T(e){u(h)&&e.target instanceof Element&&(u(g)?.contains(e.target)||e.target.closest(`[data-settings="${n.pane}"]`)||(Z.settings=null))}var D=Vi();s(`pointerdown`,l,T),s(`keydown`,l,e=>{u(h)&&e.key===`Escape`&&(Z.settings=null)});var O=c(D),A=z(O),j=b(A,!0),N=y(A,2),P=e=>{var t=Ii();G(t,20,()=>Z.modes,e=>e,(e,t)=>{var n=Fi(),r=z(n),a=z(r),s=e=>{var t=ji();M(e,t)},c=e=>{var t=Mi();M(e,t)},l=e=>{var t=Ni();M(e,t)},u=e=>{var t=Pi();M(e,t)};W(a,e=>{t===`ask`?e(s):t===`write`?e(c,1):t===`understand`?e(l,2):e(u,-1)}),U(r),U(n),o(()=>{H(n,`data-mode`,t),H(n,`aria-pressed`,Z.mode===t),H(n,`aria-label`,f[t]),H(n,`title`,`${f[t]??``}: ${p[t]??``} (Shift+Tab in Iso's box)`)}),i(`click`,n,()=>Z.setMode(t)),M(e,n)}),U(t),M(e,t)},F=e=>{let t=V(()=>n.pane);var s=Ri();G(s,20,()=>ge,e=>e,(e,n)=>{var s=Li();let c;var l=z(s),f=b(l,!0),p=y(l),m=b(p,!0);U(s),o(()=>{c=k(s,1,`lens svelte-ubc5lw`,null,c,{waiting:Z.waiting[u(t)]===n}),H(s,`data-lens`,n),H(s,`aria-pressed`,Z.lens[u(t)]===n),H(s,`aria-label`,`${d[n]??``} lens`),H(s,`title`,`${d[n]??``} lens (Alt+↑ / Alt+↓)`),r(f,a[n]),r(m,d[n])}),i(`click`,s,()=>Z.setLens(u(t),n)),M(e,s)}),U(s),o(()=>H(s,`aria-label`,`${n.name??``}'s lens`)),M(e,s)};W(N,e=>{n.pane===`iso`?e(P):e(F,-1)});var I=y(N,4);ne(I,()=>n.tools??E);var L=y(I,2),B=e=>{var t=zi();o(()=>{H(t,`data-settings`,n.pane),H(t,`aria-label`,`${n.name??``} settings`),H(t,`aria-expanded`,u(h)),H(t,`title`,`${n.name??``} settings`)}),i(`click`,t,()=>Z.settings=u(h)?null:n.pane),M(e,t)};W(L,e=>{n.settings&&e(B)}),U(O);var te=y(O,2),K=e=>{var t=Bi(),i=z(t),a=b(i,!0),s=y(i,2),c=z(s);ne(c,()=>n.settings),U(s),U(t),ee(t,e=>m(g,e),()=>u(g)),o(e=>{H(t,`aria-label`,`${n.name??``} settings`),r(a,e)},[()=>n.name.toLowerCase()]),M(e,t)};W(te,e=>{n.settings&&u(h)&&e(K)}),o(()=>r(j,n.name)),i(`touchstart`,O,S,void 0,!0),i(`touchend`,O,w),M(t,D),C()}p([`touchstart`,`touchend`,`click`]);var Ui=j(`<button class="btn" type="button">forget it</button>`),Wi=j(`<div class="row svelte-1c4xnzk"><span class="faint">or</span> <button class="btn" type="button"> </button></div> <p class="faint">You sign in there, and the key it makes comes straight here. A spending limit for it is set on the provider's page of keys.</p>`,1),Gi=j(`<p role="status"> </p>`),Ki=j(`<dt> </dt><dd class="faint svelte-1c4xnzk"> </dd>`,1),qi=j(`<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" autocomplete="off" spellcheck="false"/> <button class="btn primary" type="submit">hold it</button> <!></form> <!> <!> <p class="faint">The key is kept in this device's configuration, never in a base, and is not shown again.</p> <dl class="tiers svelte-1c4xnzk"></dl>`,1),Ji=j(`<p class="bad svelte-1c4xnzk" role="alert"> </p>`),Yi=j(`<section class="svelte-1c4xnzk"><h2 class="label svelte-1c4xnzk">the provider</h2> <!> <!></section>`);function Xi(t,n){R(n,!0);let a=e(null),l=e(``),d=e(``);_(()=>{q.api.settings().then(e=>m(a,e),e=>m(d,e.message,!0))}),_(()=>()=>{q.signIn=null});async function f(e){m(d,``),q.signIn=null;try{m(a,await q.api.setKey(e)),m(l,``)}catch(e){m(d,e.message,!0)}}async function p(){m(d,``),q.signIn=null;try{await q.startSignIn()}catch(e){m(d,e.message,!0)}}var h=Yi(),g=y(z(h),2),v=e=>{var t=qi(),n=c(t),d=b(n),h=y(n,2),g=y(z(h),2);N(g);var _=y(g,2),v=y(_,2),x=e=>{var t=Ui();i(`click`,t,()=>f(null)),M(e,t)};W(v,e=>{u(a).key&&e(x)}),U(h);var S=y(h,2),C=e=>{var t=Wi(),n=c(t),s=y(z(n),2),l=b(s);U(n),P(2),o(()=>r(l,`sign in at ${u(a).provider??``} for a new key`)),i(`click`,s,p),M(e,t)};W(S,e=>{u(a).connect&&e(C)});var w=y(S,2),E=e=>{var t=Gi(),n=b(t,!0);o(()=>{k(t,1,O(q.signIn.ok?`soft`:`bad`),`svelte-1c4xnzk`),r(n,q.signIn.message)}),M(e,t)};W(w,e=>{q.signIn&&e(E)});var D=y(w,4);G(D,20,()=>[`low`,`mid`,`max`],e=>e,(e,t)=>{var n=Ki(),i=c(n),s=b(i,!0),l=y(i),d=b(l,!0);o(()=>{r(s,t),r(d,u(a).tiers[t])}),M(e,n)}),U(D),o(e=>{r(d,`Asked through ${u(a).provider??``}. ${u(a).key?`A key is held on this device.`:`No key is held yet, so Iso cannot be asked.`}`),H(g,`placeholder`,u(a).key?`paste another key to replace it`:`paste a key`),_.disabled=e},[()=>!u(l).trim()]),s(`submit`,h,e=>{e.preventDefault(),u(l).trim()&&f(u(l))}),T(g,()=>u(l),e=>m(l,e)),M(e,t)};W(g,e=>{u(a)&&e(v)});var x=y(g,2),S=e=>{var t=Ji(),n=b(t,!0);o(()=>r(n,u(d))),M(e,t)};W(x,e=>{u(d)&&e(S)}),U(h),M(t,h),C()}p([`click`]);var Zi=j(`<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>`),Qi=j(`<button type="button" role="radio"> </button>`),$i=j(`<button type="button">fullscreen</button>`),ea=d(`<path d="M5.8 2.5v11M10.2 2.5v11"></path>`),ta=d(`<path d="M8 2.5v11M8 8h6.5"></path>`),na=j(`<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>`),ra=d(`<path d="M4 2.5h6l2.5 2.5v8.5H4zM6 7h5M6 9.5h5"></path>`),ia=d(`<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),aa=d(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path>`),oa=j(`<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>`),sa=j(`<span class="icons svelte-1h9x2hz" role="group" aria-label="Layout"></span> <span class="icons svelte-1h9x2hz" role="group" aria-label="Panes shown"></span>`,1),ca=j(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the screen</h2> <div class="row svelte-1h9x2hz"><!> <!></div></section>`),la=j(`<!> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the ground</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Ground"></div></section> <!> <p class="foot svelte-1h9x2hz"><a>the parts</a></p>`,1);function ua(t,n){R(n,!0);let a={note:`Note`,atlas:`Atlas`,iso:`Iso`},s={cols:`Three columns`,stack:`The note beside the Atlas over Iso`,one:`One pane: the one in focus`},l=e(!1),d=e(!1);L(()=>{m(l,!!document.fullscreenEnabled&&!matchMedia(`(display-mode: standalone)`).matches,!0);let e=()=>{m(d,document.fullscreenElement!==null)};return e(),document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)});function f(){document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(()=>void 0)}var p=la(),h=c(p),g=e=>{var t=Zi(),n=y(z(t),2),i=z(n),a=b(i,!0),s=y(i,2),c=b(s);U(n),U(t),o(()=>{r(a,q.session.name),r(c,`· ${q.listing.notes.length??``} ${q.listing.notes.length===1?`note`:`notes`} · ${q.session.study?`a study base keeps what you understand`:`a project: no journal is kept`}`)}),M(e,t)};W(h,e=>{q.session&&e(g)});var _=y(h,2),v=y(z(_),2);G(v,21,()=>xe,([e,t])=>e,(e,t)=>{var n=V(()=>D(u(t),2));let a=()=>u(n)[0],s=()=>u(n)[1];var c=Qi();let l;var d=b(c,!0);o(()=>{l=k(c,1,`btn svelte-1h9x2hz`,null,l,{on:be.chosen===a()}),H(c,`aria-checked`,be.chosen===a()),r(d,s())}),i(`click`,c,()=>be.choose(a())),M(e,c)}),U(v),U(_);var x=y(_,2),S=e=>{var t=ca(),n=y(z(t),2),r=z(n),p=e=>{var t=$i();let n;o(()=>{n=k(t,1,`btn svelte-1h9x2hz`,null,n,{on:u(d)}),H(t,`aria-pressed`,u(d))}),i(`click`,t,f),M(e,t)};W(r,e=>{u(l)&&e(p)});var m=y(r,2),h=e=>{var t=sa(),n=c(t);G(n,20,()=>ve,e=>e,(e,t)=>{var n=na(),r=z(n),a=y(z(r)),c=e=>{var t=ea();M(e,t)},l=e=>{var t=ta();M(e,t)};W(a,e=>{t===`cols`?e(c):t===`stack`&&e(l,1)}),U(r),U(n),o(()=>{H(n,`aria-pressed`,Z.layout===t),H(n,`aria-label`,s[t]),H(n,`title`,`${s[t]??``} (Alt+L)`)}),i(`click`,n,()=>Z.setLayout(t)),M(e,n)}),U(n);var r=y(n,2);G(r,20,()=>_e,e=>e,(e,t)=>{var n=oa();let r;var s=z(n),c=z(s),l=e=>{var t=ra();M(e,t)},u=e=>{var t=ia();P(2),M(e,t)},d=e=>{var t=aa();M(e,t)};W(c,e=>{t===`note`?e(l):t===`atlas`?e(u,1):e(d,-1)}),U(s),U(n),o(e=>{r=k(n,1,`icon svelte-1h9x2hz`,null,r,{off:!Z.show[t]}),H(n,`aria-pressed`,Z.show[t]),H(n,`aria-label`,`Show ${a[t]??``}`),H(n,`title`,`Show or hide ${a[t]??``} (Alt+${e??``} brings it back)${t===`iso`?` · hide it when your terminal has the session`:``}`)},[()=>_e.indexOf(t)+1]),i(`click`,n,()=>Z.toggle(t)),M(e,n)}),U(r),M(e,t)};W(m,e=>{Z.narrow||e(h)}),U(n),U(t),M(e,t)};W(x,e=>{(u(l)||!Z.narrow)&&e(S)});var w=y(x,2),T=b(w);o(e=>H(T,`href`,e),[()=>re(`/parts`)]),i(`click`,T,()=>Z.settings=null),M(t,p),C()}p([`click`]);var da=e=>{ua(e,{})},fa=e=>{Xi(e,{})},pa=e=>{var t=ha(),n=y(z(t),2),i=e=>{var t=ma(),n=z(t),i=y(n),a=e=>{var t=f();o(()=>r(t,`· ${q.atlas.items??``} study ${q.atlas.items===1?`item`:`items`}`)),M(e,t)};W(i,e=>{q.atlas.items&&e(a)}),U(t),o(()=>r(n,`${q.listing.notes.length??``} ${q.listing.notes.length===1?`note`:`notes`}`)),M(e,t)};W(n,e=>{q.atlas&&e(i)});var a=y(n,2),s=b(a,!0);U(t),o(()=>r(s,Z.lens.atlas===`normal`?`The Iso and understand lenses have a legend, shown at the foot of the map while these settings are open.`:`The legend is at the foot of the map while these settings are open.`)),M(e,t)},ma=j(`<p class="soft svelte-12qhfyh"> <!></p>`),ha=j(`<section class="set svelte-12qhfyh"><h2 class="label svelte-12qhfyh">the map</h2> <!> <p class="faint svelte-12qhfyh"> </p></section>`),ga=j(`<p class="stopped svelte-12qhfyh"> </p>`),_a=j(`<div class="divider svelte-12qhfyh" role="separator" aria-orientation="vertical" tabindex="0"></div>`),va=j(`<i></i>`),ya=j(`<button type="button"></button>`),ba=j(`<a class="next svelte-12qhfyh">next</a>`),xa=j(`<span class="label kind svelte-12qhfyh"> </span> <!> <button class="link wind svelte-12qhfyh" type="button">wind back</button> <!>`,1),Sa=j(`<span role="status"><i aria-hidden="true" class="svelte-12qhfyh"></i><span class="hidden-label svelte-12qhfyh"> </span></span>`),Ca=j(`<!> <!> <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),wa=j(`<div class="tree svelte-12qhfyh"><!></div>`),Ta=j(`<!> <div class="pbody note-body svelte-12qhfyh"><!></div> <!>`,1),Ea=j(`<span class="says svelte-12qhfyh"> </span> <button class="link svelte-12qhfyh" type="button">stop</button>`,1),Da=j(`<span title="click open ground to let its path go"> </span>`),Oa=j(`<span class="says svelte-12qhfyh">click a note to link it, again to take it away</span>`),ka=j(`<span class="says svelte-12qhfyh"> </span>`),Aa=j(`<span class="where soft svelte-12qhfyh"> </span><button class="btn out svelte-12qhfyh" type="button">↑ out</button>`,1),ja=j(`<!> <!>`,1),Ma=j(`<!> <div class="pbody atlas-body svelte-12qhfyh"><!></div>`,1),Na=j(`<span> </span>`),Pa=j(`<!> <button class="icon ctx svelte-12qhfyh" type="button" aria-label="Context" title="What Iso is sent: what you gave, and the rest"><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),Fa=j(`<!> <div class="pbody iso-body svelte-12qhfyh"><!></div>`,1),Ia=j(`<section><!> <!></section>`),La=j(`<span class="badge svelte-12qhfyh"> </span>`),Ra=j(`<button type="button"> <!></button>`),za=j(`<div class="shell svelte-12qhfyh"><main class="panes svelte-12qhfyh"><!></main> <!> <nav class="tabs svelte-12qhfyh" aria-label="Panes"></nav></div>`);function Ba(d,f){R(f,!0);let p=V(()=>q.session?.tutorial?ae(()=>import(`../chunks/CcQ3P3p1.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url):null);q.signIn!==null&&(Z.settings=`iso`);let h=V(()=>Z.standing);_(()=>{he.route.id===`/n/[...id]`&&he.params.id&&Z.setLast(he.params.id)}),_(()=>{he.url.href,Z.tree=!1}),L(()=>{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||!u(x))return;let t=u(x).querySelector(`[data-pane="${e}"]`);t&&u(x).scrollTo({left:t.offsetLeft,behavior:matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`})},()=>{e.removeEventListener(`change`,t),Z.scroll=null}});let x=e(void 0),w=V(()=>{if(Z.layout===`stack`&&u(h).length===3){let[e,t]=u(h);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(u(h).map((e,t)=>[e,`abc`[t]]))}}return{template:`minmax(0, 1fr) / ${u(h).map(e=>`minmax(0, ${Z.widths[e]}fr)`).join(` `)}`,areas:{}}});function T(e,t){let n=e.currentTarget,r=u(h)[u(h).indexOf(t)-1];if(!r||!u(x))return;n.setPointerCapture(e.pointerId);let i=u(h).reduce((e,t)=>e+(Z.layout===`stack`&&t===u(h)[2]?0:Z.widths[t]),0),a=u(x).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 E(e,t){let n=u(h)[u(h).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 D(){Z.narrow&&u(x)&&(clearTimeout(A),A=setTimeout(()=>{let e=_e[Math.round(u(x).scrollLeft/u(x).clientWidth)];e&&e!==Z.focus&&(Z.focus=e,e===`iso`&&(Z.unseen=0))},60))}let A;function j(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(_e[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(n===`ArrowUp`||n===`ArrowDown`){let e=n===`ArrowDown`?1:-1;Z.focus===`iso`?Z.stepMode(e):Z.stepLens(Z.focus,e)}else return;e.preventDefault()}let N={note:`Note`,atlas:`Atlas`,iso:`Iso`},P=V(()=>he.route.id===`/n/[...id]`||he.route.id===`/draft/[id]`),I=V(()=>q.atlas&&!q.atlas.pick&&q.iso?.start?.place.form!==`turn`?q.iso:null),B=V(()=>u(I)?.state===`reading`||u(I)?.state===`writing`),K=V(()=>u(I)?q.listing.notes.find(e=>e.id===u(I).note)?.title??`your note`:``),ie=()=>{u(I)&&q.api.stop(u(I).request)},oe=V(()=>le(u(I)?.agent)),se=V(()=>{let e=u(I)?.steps.findLast(e=>e.opened&&!e.failed)?.opened;return e?q.listing.notes.find(t=>t.id===e)?.title??e:``});var ce=za();S(`12qhfyh`,e=>{v(()=>{a.title=u(P)&&q.here?`${q.here} · isorite`:`isorite`})}),s(`keydown`,l,j);var ue=z(ce);let de;var Y=z(ue),X=e=>{var t=ga(),n=b(t);o(()=>r(n,`isorite could not open the base: ${q.error??``}`)),M(e,t)},fe=e=>{var a=t(),l=c(a);G(l,16,()=>_e,e=>e,(e,a)=>{var l=Ia();let d,p;var m=z(l),g=e=>{var t=_a();o(()=>H(t,`aria-label`,`Resize ${N[a]??``}`)),i(`pointerdown`,t,e=>T(e,a)),i(`keydown`,t,e=>E(e,a)),M(e,t)};W(m,e=>{!Z.narrow&&u(h)[0]!==a&&(Z.layout!==`stack`||u(h)[2]!==a)&&e(g)});var _=y(m,2),v=e=>{var t=Ta(),a=c(t);Hi(a,{pane:`note`,name:`Note`,get settings(){return da},tools:e=>{var t=Ca(),a=c(t),s=e=>{let t=V(()=>q.exercise);var a=xa(),s=c(a),l=b(s,!0),d=y(s,2);n(d,()=>u(t).flash,e=>{var n=ya();let r;G(n,20,()=>[0,1,2,3,4,5],e=>e,(e,n)=>{var r=va();let i;o(()=>i=k(r,1,`pip svelte-12qhfyh`,null,i,{lv:n<u(t).squares})),M(e,r)}),U(n),o(()=>{r=k(n,1,`squares svelte-12qhfyh`,null,r,{flash:u(t).flash>0}),H(n,`aria-label`,`understanding ${u(t).squares??``} of 6${u(t).due?`, due`:``}: why`)}),i(`click`,n,function(...e){u(t).why?.apply(this,e)}),M(e,n)});var f=y(d,2),p=y(f,2),m=e=>{var n=ba();o(e=>H(n,`href`,e),[()=>re(`/n/[...id]`,{id:u(t).next})]),M(e,n)};W(p,e=>{u(t).next&&e(m)}),o(()=>r(l,u(t).kind)),i(`click`,f,function(...e){u(t).windBack?.apply(this,e)}),M(e,a)};W(a,e=>{q.exercise&&e(s)});var l=y(a,2),d=e=>{var t=Sa();let n;var i=y(z(t)),a=b(i,!0);U(t),o(e=>{n=k(t,1,`saved svelte-12qhfyh`,null,n,{bad:q.saving.bad,busy:e}),H(t,`title`,q.saving.text),r(a,q.saving.text)},[()=>!q.saving.text.startsWith(`saved`)]),M(e,t)};W(l,e=>{u(P)&&q.saving&&e(d)});var f=y(l,2);o(()=>H(f,`aria-pressed`,he.route.id===`/notes`||Z.tree)),i(`click`,f,()=>{he.route.id!==`/notes`&&(Z.tree=!Z.tree)}),M(e,t)},$$slots:{tools:!0}});var s=y(a,2),l=z(s);ne(l,()=>f.children),U(s);var d=y(s,2),p=e=>{var t=wa(),n=z(t);ye(n,{}),U(t),M(e,t)};W(d,e=>{Z.tree&&he.route.id!==`/notes`&&e(p)}),M(e,t)},x=e=>{var n=Ma(),a=c(n);Hi(a,{pane:`atlas`,name:`Atlas`,get settings(){return pa},tools:e=>{var n=ja(),a=c(n),s=e=>{var n=t(),a=c(n),s=e=>{var t=Ea(),n=c(t),a=b(n,!0),s=y(n,2);o(e=>r(a,e),[()=>u(I).note.startsWith(`@draft/`)?`your note opens when Iso is done`:`Iso is answering in ${u(K)}`]),i(`click`,s,ie),M(e,t)},l=e=>{var t=Da();let n;var i=b(t,!0);o(()=>{n=k(t,1,`says svelte-12qhfyh`,null,n,{bad:u(I).state===`failed`}),r(i,u(I).state===`done`?`Iso is done in ${u(K)}`:u(I).state===`stopped`?`Iso was stopped`:`Iso could not answer: ${u(I).message}`)}),M(e,t)};W(a,e=>{u(B)?e(s):e(l,-1)}),M(e,n)},l=e=>{var t=Oa();M(e,t)},d=e=>{var t=ka(),n=b(t);o(()=>r(n,`${q.atlas.steps??``} ${q.atlas.steps===1?`step`:`steps`} back`)),M(e,t)};W(a,e=>{u(I)&&!u(I).agent&&(!q.open||u(I).note!==q.open)&&(u(B)||!q.atlas?.chosen)?e(s):q.atlas?.pick?e(l,1):q.atlas?.chosen&&q.atlas.steps&&e(d,2)});var f=y(a,2),p=e=>{var t=Aa(),n=c(t),a=b(n,!0),s=y(n);o(()=>r(a,q.atlas.here)),i(`click`,s,function(...e){q.atlas.out?.apply(this,e)}),M(e,t)};W(f,e=>{q.atlas?.here&&e(p)}),M(e,n)},$$slots:{tools:!0}});var s=y(a,2);xr(z(s),{}),U(s),M(e,n)},S=e=>{var a=Fa(),s=c(a);Hi(s,{pane:`iso`,name:`Iso`,get settings(){return fa},tools:e=>{var a=Pa(),s=c(a),l=e=>{var t=ka(),n=b(t,!0);o(()=>{H(t,`title`,u(B)?``:`click open ground on the Atlas to let its path go`),r(n,u(B)?`${u(oe)} is ${u(se)?`reading ${u(se)}`:`at work`} in the terminal`:`${u(oe)}'s turn is done`)}),M(e,t)};W(s,e=>{u(I)?.agent&&e(l)});var d=y(s,2),f=y(z(d),2),p=e=>{var i=t(),a=c(i);n(a,()=>J.fresh,e=>{var t=Na();let n;var i=b(t,!0);o(()=>{n=k(t,1,`n svelte-12qhfyh`,null,n,{pulse:Q.view===`chat`&&J.fresh!==``}),r(i,J.sent.length)}),M(e,t)}),M(e,i)};W(f,e=>{J.sent.length&&e(p)}),U(d);var m=y(d,2);o(()=>{H(d,`aria-pressed`,Q.view===`context`),m.disabled=Z.mode===`build`||!!Q.running||!Q.turns.length}),i(`click`,d,()=>Q.view=Q.view===`context`?`chat`:`context`),i(`click`,m,()=>{Q.fresh(),Q.view=`chat`}),M(e,a)},$$slots:{tools:!0}});var l=y(s,2);Ai(z(l),{}),U(l),M(e,a)};W(_,e=>{a===`note`?e(v):a===`atlas`?e(x,1):e(S,-1)}),U(l),o(e=>{d=k(l,1,`pane svelte-12qhfyh`,null,d,{focus:Z.focus===a,first:u(h)[0]===a,top:Z.layout===`stack`&&u(h)[1]===a&&u(h).length===3}),H(l,`data-pane`,a),H(l,`aria-label`,N[a]),H(l,`hidden`,e),p=F(l,``,p,{"grid-area":u(w).areas[a]})},[()=>!u(h).includes(a)]),s(`pointerdown`,l,()=>{Z.narrow||(Z.focus=a)},!0),M(e,l)}),M(e,a)};W(Y,e=>{q.error?e(X):e(fe,-1)}),U(ue),ee(ue,e=>m(x,e),()=>u(x));var pe=y(ue,2),me=e=>{var n=t(),r=c(n);g(r,()=>u(p),null,(e,n)=>{var r=t(),i=c(r);te(i,()=>u(n).default,(e,t)=>{t(e,{})}),M(e,r)}),M(e,n)};W(pe,e=>{u(p)&&he.route.id!==`/terminal`&&e(me)});var ge=y(pe,2);G(ge,20,()=>_e,e=>e,(e,t)=>{let n=V(()=>t===`iso`?Z.mode===`understand`?`m`:``:Z.lens[t]===`iso`?`g`:Z.lens[t]===`understand`?`m`:``);var a=Ra(),s=z(a),c=y(s),l=e=>{var t=La(),n=b(t,!0);o(()=>r(n,Z.unseen)),M(e,t)};W(c,e=>{t===`iso`&&Z.unseen&&e(l)}),U(a),o(()=>{k(a,1,O(u(n)),`svelte-12qhfyh`),H(a,`aria-current`,Z.focus===t),H(a,`aria-label`,`${N[t]??``}${t===`iso`?`, ${Z.mode} mode`:Z.lens[t]===`normal`?``:`, ${Z.lens[t]} lens`}`),r(s,`${N[t]??``} `)}),i(`click`,a,()=>Z.to(t)),M(e,a)}),U(ge),U(ce),o(()=>{H(ue,`data-layout`,Z.layout),de=F(ue,``,de,{"grid-template":u(w).template})}),s(`scroll`,ue,D),M(d,ce),C()}p([`pointerdown`,`keydown`,`click`]);export{Ba as component,Se 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/C8UdwlAg.js";import"../chunks/xihTtKlq.js";import{t as l}from"../chunks/BEVz4Dgg.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/C8UdwlAg.js";import{o as i,t as a}from"../chunks/Cw2GjAJR.js";import"../chunks/xihTtKlq.js";import{n as o,t as s}from"../chunks/DjBHskLm.js";import{i as c}from"../chunks/UM_L7-f7.js";import"../chunks/Dm229u8R.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/C8UdwlAg.js";import{o as i,t as a}from"../chunks/Cw2GjAJR.js";import"../chunks/xihTtKlq.js";import{n as o,t as s}from"../chunks/DjBHskLm.js";import{t as c}from"../chunks/BEVz4Dgg.js";import{i as l}from"../chunks/UM_L7-f7.js";import"../chunks/Dm229u8R.js";function u(u,d){r(d,!1),t(()=>{let e=s.listing.notes.some(e=>e.id===l.last)?l.last:``;a((e?o(e):i(`/notes`))+c.url.search,{replaceState:!0}).then(()=>l.to(`atlas`))}),n(),e()}export{u as component};
@@ -0,0 +1,2 @@
1
+ import{$ as e,A as t,C as n,D as r,F as i,H as a,J as o,L as s,N as c,P as l,Q as u,U as d,X as f,Y as p,at as m,b as h,c as g,d as _,et as v,f as y,h as b,j as x,k as S,l as C,lt as w,n as T,o as E,ot as D,p as O,q as k,rt as A,tt as j,u as M,ut as N,w as P,x as F}from"../chunks/C8UdwlAg.js";import{o as I,t as L}from"../chunks/Cw2GjAJR.js";import"../chunks/xihTtKlq.js";import{n as R,t as z}from"../chunks/DjBHskLm.js";import{t as ee,u as te}from"../chunks/B_nIecMW.js";import{t as B}from"../chunks/BEVz4Dgg.js";import{i as ne}from"../chunks/UM_L7-f7.js";import"../chunks/Dm229u8R.js";import{a as re,o as ie,t as ae}from"../chunks/B7ZjnqOt.js";var oe=x(`<p class="faint col svelte-nq8rms">opening…</p>`),se=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>`),ce=x(`<div class="mark svelte-nq8rms"><i class="dia open svelte-nq8rms" aria-hidden="true"></i><span class="label">for Iso · an exercise, not in your study base yet</span></div> <h1 class="serif title svelte-nq8rms"> </h1>`,1),le=x(`<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>`,1),ue=x(`<span class="label">what you want from it · if anything</span>`),de=x(`<!> <!>`,1),fe=x(`<div class="prompt svelte-nq8rms"><p> </p> <button class="link svelte-nq8rms" type="button"> </button></div>`),pe=x(`<div class="prose said svelte-nq8rms"></div>`),me=x(`<span class="faint"> </span>`),he=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),ge=x(`<textarea class="revision svelte-nq8rms" aria-label="Iso's text, to edit"></textarea>`),_e=x(`<h2 class="serif extitle svelte-nq8rms"> </h2> <div class="prose said question svelte-nq8rms"></div> <span class="label">your working</span>`,1),ve=x(`<!> <div aria-live="polite"><!></div>`,1),ye=x(`<p class="bad svelte-nq8rms" role="alert"> </p>`),be=x(`<span class="chip lattice svelte-nq8rms"> <button class="x svelte-nq8rms" type="button">×</button></span>`),xe=x(`<span class="faint">no notes yet</span>`),Se=x(`<option> </option>`),Ce=x(`<select class="field pickone svelte-nq8rms" aria-label="Add a note to test"><option> </option><!></select>`),we=x(`<button type="button" role="radio" class="svelte-nq8rms"> </button>`),Te=x(`<div class="row svelte-nq8rms"><span class="label">tests</span> <!> <!> <button class="link svelte-nq8rms" type="button">[ + pick on the atlas ]</button></div> <div class="row svelte-nq8rms"><label class="in soft svelte-nq8rms"><span>in</span> <select class="field svelte-nq8rms" aria-label="Folder"><option>the top of the base</option><!></select></label> <label class="in soft svelte-nq8rms"><span>comes after</span> <select class="field svelte-nq8rms" aria-label="Comes after"><option>nothing</option><!></select></label></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),Ee=x(`<span class="chip lattice svelte-nq8rms"> </span>`),De=x(`<span class="faint">no notes yet: type [[ in what you write, or</span>`),Oe=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),ke=x(`<button class="btn primary tall" type="button">keep the exercise</button> <span class="soft where svelte-nq8rms"> <!></span>`,1),Ae=x(`<option></option>`),je=x(`<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>`,1),Me=x(`<button class="btn edit" type="button">done</button>`),Ne=x(`<button class="btn edit" type="button">edit</button>`),Pe=x(`<div class="row svelte-nq8rms"><!> <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),Fe=x(`<div class="col svelte-nq8rms"><!> <!> <!> <!></div> <div class="deck svelte-nq8rms"><!></div>`,1),Ie=x(`<article class="draft svelte-nq8rms"><!></article>`);function V(t,n){D(n,!0);let l=new re(n.id),v=new ie(l),x=e(``),E=e(!1),B=e(``),V=e(!1),H=j(()=>v.proposals.at(-1)),U=j(()=>s(H)?.text??``),W=j(()=>s(H)&&v.editing?.id===s(H).id?v.editing:null),G=j(()=>!s(H)&&!v.asking),Le=j(()=>{let e=[...l.body.matchAll(/\]\(\/([^)\s#]+)\.md/g)].map(e=>decodeURIComponent(e[1]));return[...new Set(e)].flatMap(e=>{let t=z.listing.notes.find(t=>t.id===e);return t?[t]:[]})}),Re=j(()=>v.asking?.steps.at(-1)?.said??``),K=j(()=>l.meta?.type===`Exercise`),q=j(()=>s(K)&&l.meta?te(l.meta):[]),J=j(()=>s(K)?String(l.meta?.folder??``):``),Y=j(()=>s(K)?String(l.meta?.after??``):``),X=e=>z.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),ze=j(()=>z.listing.notes.filter(e=>e.dir===s(J)&&!s(q).includes(e.id)&&!e.id.startsWith(`@`))),Z=e(null);d(()=>{s(K)&&!s(Z)&&z.api.study().then(e=>u(Z,e),()=>void 0)});let Be=j(()=>s(K)?`An exercise on ${s(q).map(X).join(`, `)||`…`}`:``),Ve=j(()=>{let e=/^\s*#[ \t]+(.+)\n?/.exec(s(U));return e?{title:e[1].trim(),question:s(U).slice(e[0].length).trim()}:{title:``,question:s(U).trim()}}),He=e=>l.setMeta({tests:e});T(()=>{z.open=n.id,l.open().then(()=>v.open());let e=()=>{l.save()};return addEventListener(`pagehide`,e),()=>{removeEventListener(`pagehide`,e),v.close(),l.close(),z.here=z.open=``,z.studying=!1,z.saving=null}}),d(()=>{z.here=l.loaded===`ready`?s(K)?`an exercise`:l.fields.title||`a new note`:``,z.studying=s(K),z.saving=l.loaded===`ready`&&s(G)?{text:l.saving===`saved`?`saved, outside your base`:l.saving===`failed`?`not saved: ${l.message}`:`saving`,bad:l.saving===`failed`}:null});async function Ue(){if(s(H)){u(B,``),u(V,!0);try{await l.save(),s(W)&&await v.done(s(H));let e=s(K)?await z.api.keepExercise(n.id,s(H).id):await z.api.keepDraft(n.id,s(H).id,s(x));await z.refresh(),await L(R(e.id))}catch(e){u(B,e.message,!0)}finally{u(V,!1)}}}async function We(){await l.save();let e=n.id.slice(7);await L(`${I(`/draft/[id]`,{id:e})}?pick=${encodeURIComponent(e)}`),ne.to(`atlas`)}async function Ge(){if(s(K)){await v.send(`exercise`);return}let e=await v.send();e&&(z.watching=e,ne.to(`atlas`))}async function Q(){u(V,!0);try{await z.api.discardDraft(n.id),await L(I(s(K)?`/study`:`/notes`))}catch(e){u(B,e.message,!0),u(V,!1)}}var $=Ie(),Ke=k($),qe=e=>{var t=oe();S(e,t)},Je=e=>{var t=se(),n=f(k(t)),r=p(n);N(t),a(e=>M(r,`href`,e),[()=>I(`/notes`)]),S(e,t)},Ye=e=>{var t=Fe(),n=o(t),d=k(n),m=e=>{var t=ce(),n=f(o(t),2),i=p(n,!0);a(()=>r(i,s(Be))),S(e,t)},T=e=>{var t=le(),n=f(o(t),4);A(n),a(()=>{_(n,l.fields.title),n.readOnly=!s(G)}),i(`input`,n,e=>l.setFields({title:e.currentTarget.value.replace(/\s*\n\s*/g,` `)})),i(`keydown`,n,e=>{e.key===`Enter`&&e.preventDefault()}),S(e,t)};P(d,e=>{s(K)?e(m):e(T,-1)});var D=f(d,2),I=e=>{var t=de(),n=o(t),r=e=>{var t=ue();S(e,t)};P(n,e=>{s(K)&&e(r)});var i=f(n,2);{let e=j(()=>s(K)?`Nothing is needed here. Or say what the exercise should ask: a calculation, a proof, your own words, how hard.`:void 0);ae(i,{get note(){return l},source:!1,get placeholder(){return s(e)}})}S(e,t)},L=e=>{var t=ve(),n=o(t),c=e=>{var t=fe(),n=k(t);let o;var c=p(n,!0),d=f(n,2),m=p(d,!0);N(t),a(e=>{o=b(n,1,`serif soft svelte-nq8rms`,null,o,{fold:!s(E)}),r(c,e),r(m,s(E)?`[ fold ]`:`[ show all ]`)},[()=>l.body.trim()]),i(`click`,d,()=>u(E,!s(E))),S(e,t)},d=j(()=>l.body.trim());P(n,e=>{s(d)&&e(c)});var m=f(n,2);let _;var y=k(m),x=e=>{var t=he(),n=o(t),c=e=>{var t=pe();h(t,()=>ee(v.asking.text),!0),N(t),S(e,t)};P(n,e=>{v.asking.text&&e(c)});var l=f(n,2),u=f(k(l),2),d=k(u,!0),m=f(d),g=e=>{var t=me(),n=p(t);a(()=>r(n,`· ${s(Re)??``}`)),S(e,t)};P(m,e=>{s(Re)&&e(g)}),N(u);var _=f(u,4);N(l),a(()=>r(d,v.asking.text?`Iso is writing`:`Iso is thinking`)),i(`click`,_,()=>v.halt()),S(e,t)},C=e=>{var t=ge();A(t),a(e=>M(t,`rows`,e),[()=>Math.max(6,s(W).text.split(`
2
+ `).length+1)]),g(t,()=>s(W).text,e=>s(W).text=e),S(e,t)},T=e=>{var t=_e(),n=o(t),i=p(n,!0),c=f(n,2);h(c,()=>ee(s(Ve).question),!0),N(c),w(2),a(()=>r(i,s(Ve).title||`an exercise`)),S(e,t)},D=e=>{var t=pe();h(t,()=>ee(s(U)),!0),N(t),S(e,t)};P(y,e=>{v.asking?e(x):s(W)?e(C,1):s(K)?e(T,2):e(D,-1)}),N(m),a(e=>_=b(m,1,`between svelte-nq8rms`,null,_,{working:e}),[()=>!!v.asking]),S(e,t)};P(D,e=>{s(G)?e(I):e(L,-1)});var R=f(D,2),te=e=>{var t=ye(),n=p(t,!0);a(()=>r(n,v.failed.message)),S(e,t)};P(R,e=>{v.failed&&e(te)});var ne=f(R,2),re=e=>{var t=ye(),n=p(t,!0);a(()=>r(n,s(B))),S(e,t)};P(ne,e=>{s(B)&&e(re)}),N(n);var ie=f(n,2),oe=k(ie),se=e=>{var t=Te(),n=o(t),c=f(k(n),2);F(c,16,()=>s(q),e=>e,(e,t)=>{var n=be(),o=k(n,!0),c=f(o);N(n),a((e,t)=>{r(o,e),M(c,`aria-label`,t)},[()=>X(t),()=>`Not ${X(t)}`]),i(`click`,c,()=>He(s(q).filter(e=>e!==t))),S(e,n)},e=>{var t=xe();S(e,t)});var u=f(c,2),d=e=>{var t=Ce(),n=k(t),o=p(n);n.value=n.__value=``;var c=f(n);F(c,17,()=>s(ze),e=>e.id,(e,t)=>{var n=Se(),i=p(n,!0),o={};a(()=>{r(i,s(t).title),o!==(o=s(t).id)&&(n.value=(n.__value=o)??``)}),S(e,n)}),N(t),t.value=t.__value=``,a(()=>r(o,`+ a note in ${(s(J)||`the top of the base`)??``}`)),i(`change`,t,e=>{let t=e.currentTarget.value;e.currentTarget.value=``,t&&He([...s(q),t])}),S(e,t)};P(u,e=>{s(ze).length&&e(d)});var m=f(u,2);N(n);var h=f(n,2),g=k(h),_=f(k(g),2),b=k(_);b.value=b.__value=``;var x=f(b);F(x,16,()=>z.listing.dirs,e=>e,(e,t)=>{var n=Se(),i=p(n,!0),o={};a(()=>{r(i,t),o!==(o=t)&&(n.value=(n.__value=o)??``)}),S(e,n)}),N(_);var C;y(_),N(g);var w=f(g,2),T=f(k(w),2),E=k(T);E.value=E.__value=``;var D=f(E);F(D,17,()=>s(Z)?.exercises??[],e=>e.id,(e,t)=>{var n=Se(),i=p(n,!0),o={};a(e=>{r(i,s(t).title),o!==(o=e)&&(n.value=(n.__value=o)??``)},[()=>s(t).id.slice(7)]),S(e,n)}),N(T);var A;y(T),N(w),N(h);var j=f(h,2),I=k(j),L=f(I,2);F(L,20,()=>[`low`,`mid`,`max`],e=>e,(e,t)=>{var n=we(),o=p(n,!0);a(()=>{M(n,`aria-checked`,v.tier===t),r(o,t)}),i(`click`,n,()=>v.setTier(t)),S(e,n)}),N(L);var R=f(L,4);N(j),a(()=>{C!==(C=s(J))&&(_.value=(_.__value=C)??``,O(_,C)),A!==(A=s(Y))&&(T.value=(T.__value=A)??``,O(T,A)),I.disabled=!s(q).length,R.disabled=s(V)}),i(`click`,m,We),i(`change`,_,e=>l.setMeta({folder:e.currentTarget.value})),i(`change`,T,e=>l.setMeta({after:e.currentTarget.value||null})),i(`click`,I,Ge),i(`click`,R,Q),S(e,t)},Ie=e=>{var t=Oe(),n=o(t),c=f(k(n),2);F(c,17,()=>s(Le),e=>e.id,(e,t)=>{var n=Ee(),i=p(n,!0);a(()=>r(i,s(t).title)),S(e,n)},e=>{var t=De();S(e,t)});var u=f(c,2);N(n);var d=f(n,2),m=k(d),h=f(m,2);F(h,20,()=>[`low`,`mid`,`max`],e=>e,(e,t)=>{var n=we(),o=p(n,!0);a(()=>{M(n,`aria-checked`,v.tier===t),r(o,t)}),i(`click`,n,()=>v.setTier(t)),S(e,n)}),N(h);var g=f(h,4);N(d),a(e=>{m.disabled=e,g.disabled=s(V)},[()=>!l.body.trim()]),i(`click`,u,We),i(`click`,m,Ge),i(`click`,g,Q),S(e,t)},$=e=>{var t=Pe(),n=o(t),l=k(n),d=e=>{var t=ke(),n=o(t),l=f(n,2),u=k(l),d=f(u),p=e=>{var t=c();a(e=>r(t,`, after ${e??``}`),[()=>s(Z)?.exercises.find(e=>e.id===`@study/${s(Y)}`)?.title??s(Y)]),S(e,t)};P(d,e=>{s(Y)&&e(p)}),N(l),a(()=>{n.disabled=s(V),r(u,`in ${(s(J)||`the top of the base`)??``}`)}),i(`click`,n,Ue),S(e,t)},m=e=>{var t=je(),n=o(t),r=f(n,2),c=f(k(r));C(c),w(),N(r);var l=f(r,2);F(l,20,()=>z.listing.dirs,e=>e,(e,t)=>{var n=Ae(),r={};a(()=>{r!==(r=t)&&(n.value=(n.__value=r)??``)}),S(e,n)}),N(l),a(()=>n.disabled=s(V)),i(`click`,n,Ue),g(c,()=>s(x),e=>u(x,e)),S(e,t)};P(l,e=>{s(K)?e(d):e(m,-1)});var h=f(l,4),_=e=>{var t=Me();i(`click`,t,()=>v.done(s(H))),S(e,t)},y=e=>{var t=Ne();i(`click`,t,()=>v.edit(s(H))),S(e,t)};P(h,e=>{s(W)?e(_):e(y,-1)});var b=f(h,2);N(n);var T=f(n,2),E=k(T),D=p(E),O=f(E,4);N(T),a(e=>{b.disabled=s(V),r(D,`${e??``}${s(H).notice?` · ${s(H).notice}`:``}`),O.disabled=s(V)},[()=>s(H).cost?`${s(H).cost.tier} · $${s(H).cost.usd.toFixed(3)}`:``]),i(`click`,b,Q),i(`click`,O,()=>v.discard(s(H))),S(e,t)};P(oe,e=>{s(G)&&s(K)?e(se):s(G)?e(Ie,1):s(H)&&e($,2)}),N(ie),S(e,t)};P(Ke,e=>{l.loaded===`loading`?e(qe):l.loaded===`ready`?e(Ye,-1):e(Je,1)}),N($),S(t,$),m()}l([`input`,`keydown`,`click`,`change`]);function H(e,r){D(r,!1),E();var i=t(),a=o(i);n(a,()=>B.params.id,e=>{{let t=v(()=>`@draft/${B.params.id??``}`);V(e,{get id(){return s(t)}})}}),S(e,i),m()}export{H as component};
@@ -0,0 +1,5 @@
1
+ import{$ as e,A as t,C as n,D as r,F as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,P as f,Q as p,U as m,X as h,Y as g,Z as _,at as v,b as y,c as b,d as x,h as S,j as C,k as w,l as T,lt as E,m as D,n as O,ot as k,q as A,rt as ee,s as j,tt as M,u as N,ut as P,w as F,x as I,z as te}from"../chunks/C8UdwlAg.js";import{o as ne,t as re}from"../chunks/Cw2GjAJR.js";import"../chunks/xihTtKlq.js";import{n as ie,r as L,t as R}from"../chunks/DjBHskLm.js";import{_ as z,a as B,b as ae,c as V,f as H,g as oe,i as U,o as W,s as se,t as G,w as K,x as ce,y as le}from"../chunks/B_nIecMW.js";import{i as ue,n as de,r as fe,t as pe}from"../chunks/k55859zq.js";import{t as me}from"../chunks/BEVz4Dgg.js";import{i as q}from"../chunks/UM_L7-f7.js";import{t as J}from"../chunks/b-AOhhy1.js";import{a as he,i as Y,n as ge,o as _e,r as X,t as ve}from"../chunks/B7ZjnqOt.js";var ye=e=>e<=0?0:e<=2?1:e<=4?2:3;function be(e,t){let n=t.length?6:0,r=!1;for(let i of t){let t=e.get(i);n=Math.min(n,t?.squares??0),r||=!!t?.due}return{squares:n,step:ye(n),due:r}}var Z=C(`<span class="label ok svelte-1myx1bo" role="status"> </span>`),xe=C(`<span class="label bad svelte-1myx1bo" role="status">no terminal agent took it: is isorite term running?</span>`),Se=C(`<span class="label bad svelte-1myx1bo" role="alert"> </span>`),Ce=C(`<div class="send svelte-1myx1bo" role="group" aria-label="Send to the terminal's agent"><span class="label what svelte-1myx1bo"> </span> <input type="text" placeholder="what you want of it (optional)" aria-label="What you want of it" maxlength="4000" class="svelte-1myx1bo"/> <button class="btn primary svelte-1myx1bo" type="button">send to agent</button> <button class="link svelte-1myx1bo" type="button">[ close ]</button> <!></div>`);function we(t,n){k(n,!0);let o=e(``),s=e(``),c=e(``),u=e(``);async function d(){p(s,`sending`);let e=new Map,t=R.on(t=>{t.type===`agent-received`&&e.set(t.id,t.agent)});try{let{id:t}=await R.api.agentSend({note:n.note,...n.passage?{passage:n.passage}:{},said:l(o)});for(let n=Date.now();!e.has(t)&&Date.now()-n<4e3;)await new Promise(e=>setTimeout(e,100));p(c,B(e.get(t)),!0),p(s,e.has(t)?`taken`:`none`,!0),l(s)===`taken`&&p(o,``)}catch(e){p(s,`failed`),p(u,e.message,!0)}finally{t()}}var f=Ce(),m=A(f),_=g(m,!0),y=h(m,2);T(y);var x=h(y,2),S=h(x,2),C=h(S,2),E=e=>{var t=Z(),n=g(t);a(()=>r(n,`${l(c)??``} has it, in the terminal`)),w(e,t)},D=e=>{var t=xe();w(e,t)},O=e=>{var t=Se(),n=g(t,!0);a(()=>r(n,l(u))),w(e,t)};F(C,e=>{l(s)===`taken`?e(E):l(s)===`none`?e(D,1):l(s)===`failed`&&e(O,2)}),P(f),a(()=>{r(_,n.passage?`the passage you chose`:`this note`),x.disabled=l(s)===`sending`}),i(`keydown`,y,e=>{e.key===`Enter`&&(e.preventDefault(),d()),e.key===`Escape`&&n.onclose()}),b(y,()=>l(o),e=>p(o,e)),i(`click`,x,d),i(`click`,S,function(...e){n.onclose?.apply(this,e)}),w(t,f),v()}f([`keydown`,`click`]);var Q=e=>`isorite.answer.${e}`;function Te(e){try{let t=JSON.parse(localStorage.getItem(Q(e))??`null`);return t&&typeof t.text==`string`&&typeof t.nth==`number`?t:null}catch{return null}}function Ee(e,t){try{t?localStorage.setItem(Q(e),JSON.stringify(t)):localStorage.removeItem(Q(e))}catch{}}function De(e){let t=e>0?`+`:e<0?`−`:``,n=Math.abs(e);return n===0?`0`:t+(n===.5?`½`:n===1?`1`:String(n))}var Oe=class{note;iso;stop=null;#e=e(null);get answer(){return l(this.#e)}set answer(e){p(this.#e,e)}#t=e(null);get study(){return l(this.#t)}set study(e){p(this.#t,e)}#n=e(null);get marking(){return l(this.#n)}set marking(e){p(this.#n,e,!0)}#r=e(``);get failed(){return l(this.#r)}set failed(e){p(this.#r,e,!0)}#i=e(0);get flash(){return l(this.#i)}set flash(e){p(this.#i,e,!0)}constructor(e,t){this.note=e,this.iso=t,this.answer=Te(e.id)}#a=M(()=>W(this.note.text));get ex(){return l(this.#a)}set ex(e){p(this.#a,e)}#o=M(()=>this.note.meta?.type===`Exercise`);get is(){return l(this.#o)}set is(e){p(this.#o,e)}#s=M(()=>{if(!this.answer)return null;let e=H(this.note.text,this.answer);return e&&e.from>=this.ex.from?e:null});get answerAt(){return l(this.#s)}set answerAt(e){p(this.#s,e)}#c=M(()=>{let e=this.iso.cursor;if(!e||e.to<=e.from||e.from<this.ex.from)return null;let{from:t,to:n}=e,r=this.note.text;for(;t<n&&/\s/.test(r[t]);)t++;for(;n>t&&/\s/.test(r[n-1]);)n--;return n>t?{from:t,to:n}:null});get selection(){return l(this.#c)}set selection(e){p(this.#c,e)}#l=M(()=>this.iso.entries.filter(e=>e.kind===`marks`).at(-1)??null);get last(){return l(this.#l)}set last(e){p(this.#l,e)}#u=M(()=>this.last?se(this.note.text,this.last.marks).filter(e=>e.from>=this.ex.from):[]);get marks(){return l(this.#u)}set marks(e){p(this.#u,e)}#d=M(()=>({right:this.marks.filter(e=>e.mark===`right`).length,wrong:this.marks.filter(e=>e.mark===`wrong`).length}));get counts(){return l(this.#d)}set counts(e){p(this.#d,e)}#f=M(()=>{let e=new Map;for(let[t,n]of Object.entries(this.study?.notes??{}))e.set(t,{...n,lapsed:!1,last:null,evidence:[]});return be(e,this.ex.tests)});get squares(){return l(this.#f)}set squares(e){p(this.#f,e)}#p=M(()=>{let e=this.last;return e?this.ex.tests.flatMap(t=>{let n=this.study?.notes[t]?.evidence.find(t=>t.marks===e.id);return n?[{note:t,by:n.by}]:[]}):[]});get moves(){return l(this.#p)}set moves(e){p(this.#p,e)}async open(){this.stop=R.on(e=>{e.type===`record`&&this.reread(),!this.marking||!(`request`in e)||this.marking&&e.request!==this.marking?e.type===`iso-start`&&this.marking===``&&e.note===this.note.id&&(this.marking=e.request):e.type===`iso-done`?(this.marking=null,this.reread().then(()=>{this.last?.result===`right`&&this.flash++})):e.type===`iso-failed`?(this.marking=null,this.failed=e.message):e.type===`iso-stopped`&&(this.marking=null)}),await this.reread()}close(){this.stop?.()}async reread(){try{this.study=await R.api.study()}catch{}}markAnswer(){let e=this.selection;e&&(this.answer=z(this.note.text,e.from,e.to),Ee(this.note.id,this.answer))}clearAnswer(){this.answer=null,Ee(this.note.id,null)}async send(){if(this.marking===null&&this.answerAt){this.failed=``,this.marking=``;try{await this.note.save();let e=this.answerAt;if(!e)throw Error(`the answer you marked is no longer in the working`);let t=z(this.note.text,e.from,e.to),{request:n}=await R.api.ask({note:this.note.id,form:`mark`,answer:t,tier:this.iso.tier});this.marking===``&&(this.marking=n)}catch(e){this.marking=null,this.failed=e.message}}}async windBack(){try{await R.api.windBack(this.note.id),await this.reread()}catch(e){this.failed=e.message}}},ke=C(`<button class="link svelte-1khbtcu" type="button">delete</button>`),Ae=C(`<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),je=C(`<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>`),Me=C(`<p class="full problem svelte-1khbtcu" role="alert"> </p>`),Ne=C(`<option></option>`),Pe=C(`<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 Fe(t,n){k(n,!0);let o=M(()=>[...new Set(R.listing.notes.map(e=>e.type).filter(Boolean))].sort()),c=M(()=>!n.note.id.startsWith(`@`)),u=e(``),f=e(null),m=e=>e.split(`/`).slice(0,-1).join(`/`),_=e=>e.split(`/`).at(-1),y=M(()=>m(n.note.id));async function b(e,t){let r=e=>e.trim().replace(/^\/+|\/+$/g,``).replace(/\.md$/,``),i=[r(e),r(t)].filter(Boolean).join(`/`);if(!r(t)||i===n.note.id)p(y,m(n.note.id));else{p(u,``);try{let e=await n.note.move(i);await R.refresh(),await re(ie(e),{replaceState:!0})}catch(e){p(u,e.message,!0),p(y,m(n.note.id))}}}async function S(){p(u,``);try{let e=await R.api.map();p(f,[...new Set(e.model.edges.filter(([e,t])=>t===n.note.id&&e!==n.note.id&&!e.startsWith(`@`)).map(([t])=>e.notes[t]?.title||t))],!0)}catch(e){p(u,e.message,!0)}}async function C(){try{await n.note.remove(),await R.refresh(),await re(ne(`/notes`),{replaceState:!0})}catch(e){p(u,e.message,!0),p(f,null)}}var D=Pe(),O=A(D),ee=h(A(O));T(ee),P(O);var j=h(O,2),te=h(A(j));T(te),P(j);var L=h(j,2),z=h(A(L));T(z),P(L);var B=h(L,2),ae=e=>{var t=Ae(),r=h(s(t),2),o=A(r);J(o,{id:`note-folder`,quiet:!0,label:`folder: change it to move the note`,placeholder:`the top of the base`,onpick:e=>void b(e,_(n.note.id)),onkeydown:e=>{e.key===`Escape`&&(p(y,m(n.note.id)),e.currentTarget.blur())},get value(){return l(y)},set value(e){p(y,e)}}),P(r);var c=h(r,2),u=h(A(c));T(u),P(c);var d=h(c,2),g=e=>{var t=ke();i(`click`,t,()=>void S()),w(e,t)};F(d,e=>{l(f)===null&&e(g)}),a((e,t)=>{x(u,e),N(u,`size`,t)},[()=>_(n.note.id),()=>Math.max(8,_(n.note.id).length)]),i(`change`,u,e=>void b(l(y),e.currentTarget.value)),i(`keydown`,u,e=>{e.key===`Enter`?e.currentTarget.blur():e.key===`Escape`&&(e.currentTarget.value=_(n.note.id),e.currentTarget.blur())}),w(e,t)};F(B,e=>{l(c)&&e(ae)});var V=h(B,2),H=e=>{var t=je(),n=A(t),o=h(A(n)),s=e=>{var t=d();a(e=>r(t,`${l(f).length===1?`One note links`:`${l(f).length} notes link`} to it (${e??``}); ${l(f).length===1?`its link is`:`their links are`} left broken.`),[()=>l(f).join(`, `)]),w(e,t)},c=e=>{var t=d(`No note links to it.`);w(e,t)};F(o,e=>{l(f).length?e(s):e(c,-1)}),E(),P(n);var u=h(n,2),m=h(u,2);P(t),i(`click`,u,()=>void C()),i(`click`,m,()=>{p(f,null)}),w(e,t)};F(V,e=>{l(f)!==null&&e(H)});var oe=h(V,2),U=e=>{var t=Me(),n=g(t,!0);a(()=>r(n,l(u))),w(e,t)};F(oe,e=>{l(u)&&e(U)});var W=h(oe,2);I(W,20,()=>l(o),e=>e,(e,t)=>{var n=Ne(),r={};a(()=>{r!==(r=t)&&(n.value=(n.__value=r)??``)}),w(e,n)}),P(W),P(D),a(e=>{x(ee,n.note.fields.type),N(ee,`size`,e),x(te,n.note.fields.tags),x(z,n.note.fields.description)},[()=>Math.max(7,n.note.fields.type.length)]),i(`input`,ee,e=>n.note.setFields({type:e.currentTarget.value})),i(`change`,te,e=>n.note.setFields({tags:e.currentTarget.value})),i(`input`,z,e=>n.note.setFields({description:e.currentTarget.value})),w(t,D),v()}f([`input`,`change`,`keydown`,`click`]);var Ie=C(`<h1 class="serif title svelte-130pv1o"> </h1>`),Le=C(`<p class="asked svelte-130pv1o"><i class="dia svelte-130pv1o" aria-hidden="true"></i><span> </span></p>`),Re=C(`<div class="offered svelte-130pv1o" aria-label="What Iso offered"><p class="serif svelte-130pv1o"> </p></div>`),ze=C(`<div class="version svelte-130pv1o"><!> <!> <div class="text svelte-130pv1o"></div> <!></div>`);function Be(t,n){k(n,!0);let i=M(()=>{try{let[e,t,r]=K(n.text);return{title:/^title:\s*(.*)$/m.exec(t??``)?.[1]?.trim().replace(/^["']|["']$/g,``)??``,body:r,lines:e.split(`
2
+ `).length-1}}catch{return{title:``,body:n.text,lines:0}}}),o,s=e(void 0);O(()=>(p(s,ge(o,{doc:l(i).body,onChange:()=>void 0,onSave:()=>void 0,label:`The note as it was`,notes:()=>[],readOnly:!0})),()=>l(s)?.destroy())),m(()=>{let e=n.touched,t=l(i).lines;l(s)?.dispatch({effects:Y.of(e?{who:e.who,lines:e.lines.map(e=>e-t)}:null)})});var c=ze(),u=A(c),d=e=>{var t=Ie(),n=g(t,!0);a(()=>r(n,l(i).title)),w(e,t)};F(u,e=>{l(i).title&&l(i).title!==n.title&&e(d)});var f=h(u,2),_=e=>{var t=Le(),i=h(A(t)),o=g(i,!0);P(t),a(()=>r(o,n.asked)),w(e,t)};F(f,e=>{n.asked!==void 0&&e(_)});var y=h(f,2);j(y,e=>o=e,()=>o);var b=h(y,2),x=e=>{var t=Re(),i=A(t),o=g(i,!0);P(t),a(()=>r(o,n.offered)),w(e,t)};F(b,e=>{n.offered!==void 0&&e(x)}),P(c),w(t,c),v()}var Ve=e=>{var t=He();w(e,t)},He=u(`<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>`),Ue=C(`<p class="faint">opening…</p>`),We=C(`<p class="soft">There is no note at <span class="faint"> </span>.</p> <p><a>all notes</a></p>`,1),Ge=C(`<p class="bad svelte-18ltlst"> </p>`),Ke=C(`<button class="btn" type="button">take theirs</button>`),qe=C(`<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>`),Je=C(`<i></i>`),Ye=C(`<span class="label">due</span>`),Xe=C(`<div class="evidence label svelte-18ltlst"><span class="by svelte-18ltlst"> </span><span> </span><span class="grow"></span><span> </span></div>`),Ze=C(`<div class="evidence label svelte-18ltlst">nothing yet</div>`),Qe=C(`<div class="reading svelte-18ltlst"><span class="soft"> </span> <span class="squares svelte-18ltlst"></span> <!></div> <!>`,1),$e=C(`<div class="frame why svelte-18ltlst" role="region" aria-label="Iso's read of you"><span class="frame-title">Iso's read of you</span> <!> <div class="row svelte-18ltlst"><span class="label">rated too highly? one square down for each note it tests</span><span class="grow"></span><button class="link svelte-18ltlst" type="button">[ wind back ]</button></div></div>`),et=C(`<a> </a>`),tt=C(`<span class="faint">nothing: name a note in its tests</span>`),nt=C(`<div class="tests svelte-18ltlst"><span class="label"> </span> <!> <span class="grow"></span> <div class="tools svelte-18ltlst"><button class="icon svelte-18ltlst" type="button" aria-label="timeline" title="timeline"><!></button> <button class="btn quiet svelte-18ltlst" type="button">details</button> <button class="btn quiet svelte-18ltlst" type="button">source</button></div></div>`),rt=C(`<label class="hidden-label" for="title">Title</label> <textarea id="title" class="serif title svelte-18ltlst" rows="1" autocomplete="off"></textarea>`,1),it=C(`<span class="grow faint"> </span>`),at=C(`<button class="icon svelte-18ltlst" type="button" aria-label="timeline" title="timeline"><!></button>`),ot=C(`<button class="btn quiet svelte-18ltlst" type="button">details</button>`),st=C(`<button class="btn quiet svelte-18ltlst" type="button" data-tour="send">send to agent</button>`),ct=C(`<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>`),lt=C(`<div class="tl-col svelte-18ltlst"><!></div>`),ut=C(`<span class="bad svelte-18ltlst" role="alert"> </span>`),dt=C(`<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),ft=C(`<button class="toiso svelte-18ltlst" type="button"><i class="dia svelte-18ltlst" aria-hidden="true">◆</i>send to Iso</button>`),pt=C(`<button class="btn" type="button">mark as answer</button>`),mt=C(`<span class="label">Iso is marking</span>`),ht=C(`<span class="label">select a part of your working, then mark it as your answer</span>`),gt=C(`<span class="label moves svelte-18ltlst">moves: <!></span>`),_t=C(`<span class="label"> </span>`),vt=C(`<div class="foot svelte-18ltlst"><!> <button class="btn primary tall svelte-18ltlst" type="button"> </button> <!> <span class="grow"></span> <!></div>`),yt=C(`<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>`),bt=C(`<!> <!> <!> <!> <!> <!> <!> <!> <div class="live"><!></div> <!> <!>`,1),xt=C(`<article><!></article>`);function St(t,u){k(u,!0);let f=new he(u.id),y=new _e(f),b=V(u.id)?new Oe(f,y):null,C=M(()=>b?.is?b:null),T=e(!1),z={written:`written response`},H=e=>R.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),W=e=>{try{return localStorage.getItem(e)===`1`}catch{return!1}},se=(e,t)=>{try{localStorage.setItem(e,t?`1`:`0`)}catch{}},G=e(_(W(`isorite.details`))),K=e(!1),J=M(()=>l(K)||f.meta===null),Y=e(_(W(`isorite.timeline`))),ge=e(null),X=e(null),ye=e(!1),be=e(``),Z=M(()=>oe(y.entries)),xe=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`),Se=e=>e.flatMap(e=>Array.from({length:e.to-e.from},(t,n)=>e.from+n)),Ce=M(()=>{if(!l(Y)||l(X)||l(J))return null;let e=l(ge)??(l(ke)?void 0:l(Z).findLast(e=>xe(e)&&(e.what===`kept`||e.what===`edited`)));if(!e)return null;let t=Se(ae(y.entries,e.ids).runs);return t.length?{who:xe(e)?`iso`:`you`,lines:t}:null}),Q=M(()=>{if(!l(X))return null;let e=ue(l(X)),t=le(y.entries,e);if(t===null)return null;let n=y.entries.filter(t=>t.id<=e),r=y.entries.find(e=>e.id===l(X).ids[0]),i=(l(X).what===`offered`||l(X).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:xe(l(X))?`iso`:`you`,lines:Se(ae(n,l(X).ids).runs)},asked:l(X).asked,offered:i}}),Te=()=>me.url.searchParams.get(`at`)??new URLSearchParams(location.hash.split(`?`)[1]??``).get(`at`),Ee=e(_(Te()));m(()=>{let e=Te();e&&p(Ee,e,!0)}),m(()=>{if(!l(Ee))return;let e=l(Z).find(e=>e.ids.includes(l(Ee)));e&&(p(Ee,null),p(Y,!0),p(X,e))});let ke=M(()=>q.lens.note===`iso`);m(()=>{p(Y,l(ke)||W(`isorite.timeline`),!0)});let Ae=M(()=>{if(!l(ke)||f.loaded!==`ready`)return[];let e=[],t=ce(y.entries),n=f.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 U.parts){if(t.kind!==`passage`||t.id!==u.id)continue;let n=f.text.indexOf(t.text);n>=0&&e.push({kind:`given`,from:n,to:n+t.text.length})}return e});function je(){p(Y,!l(Y)),se(`isorite.timeline`,l(Y)),l(Y)||(p(X,null),p(ge,null))}function Me(e){p(be,``),p(X,l(X)===e?null:e)}function Ne(e){if(!l(X))return;let t=l(Z).indexOf(l(X))+e;t>=0&&t<l(Z).length&&p(X,l(Z)[t])}async function Pe(){if(l(X)){p(ye,!0),p(be,``);try{await f.restore(ue(l(X))),p(X,null)}catch(e){p(be,e.message,!0)}finally{p(ye,!1)}}}function Ie(e){!l(X)||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(),Ne(-1)):e.key===`ArrowRight`||e.key===`ArrowDown`?(e.preventDefault(),Ne(1)):e.key===`Escape`&&(e.preventDefault(),p(X,null)))}O(()=>{R.open=u.id,f.open().then(()=>y.open()),b?.open();let e=()=>{f.save()};return addEventListener(`pagehide`,e),document.addEventListener(`visibilitychange`,e),()=>{removeEventListener(`pagehide`,e),document.removeEventListener(`visibilitychange`,e),y.close(),b?.close(),R.exercise=null,f.close(),R.here=``,R.open=``,R.saving=null}}),m(()=>{R.exercise=l(C)?{kind:z[l(C).ex.kind]??l(C).ex.kind,squares:l(C).squares.squares,due:l(C).squares.due,flash:l(C).flash,windBack:()=>void l(C).windBack(),why:()=>p(T,!l(T)),next:l(C).ex.next?`@study/${l(C).ex.next}`:null}:null});async function Le(){let e=u.id.split(`/`).at(-1),t=f.fields.title.trim();if(!/^untitled-note(-\d+)?$/.test(e)||!t||/^untitled note( \d+)?$/i.test(t))return;let n=[...u.id.split(`/`).slice(0,-1),L(t)].filter(Boolean).join(`/`);if(L(t)&&!R.listing.notes.some(e=>e.id===n))try{let e=await f.move(n);await R.refresh(),await re(ie(e),{replaceState:!0})}catch{}}m(()=>{f.loaded===`ready`&&q.fresh===u.id&&(q.fresh=``,te().then(()=>{let e=document.getElementById(`title`);e?.focus(),e?.select()}))});let Re={saved:`saved`,unsaved:`not saved yet`,saving:`saving`,conflict:`changed elsewhere: choose below`,failed:`not saved`};m(()=>{R.here=f.loaded===`ready`?f.fields.title||u.id.split(`/`).at(-1):``,R.saving=f.loaded===`ready`?{text:f.saving===`failed`?`not saved: ${f.message}`:Re[f.saving],bad:f.saving===`failed`||f.saving===`conflict`}:null});let ze=M(()=>[...new Set(y.changes.map(e=>B(e.proposal.who)||`Iso`))].join(` and `)),He=e(!1),St=M(()=>y.cursor&&y.cursor.to>y.cursor.from?f.text.slice(y.cursor.from,y.cursor.to).trim():``),Ct=e(void 0),$=e(null);m(()=>{if(y.cursor,!l(St)||!l(Ct)||l(J)||l(X)){p($,null);return}let e=requestAnimationFrame(()=>{let e=getSelection(),t=l(Ct).getBoundingClientRect(),n=e?.rangeCount?e.getRangeAt(0).getBoundingClientRect():null;!n||!n.width&&!n.height?p($,{top:8,left:t.width-140},!0):p($,{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 wt(){l(St)&&(U.add({kind:`passage`,id:u.id,title:f.fields.title||u.id,text:l(St)}),p($,null))}var Tt=xt();o(`keydown`,c,Ie);let Et;var Dt=A(Tt),Ot=e=>{var t=Ue();w(e,t)},kt=e=>{var t=We(),n=s(t),i=h(A(n)),o=g(i,!0);E(),P(n);var c=h(n,2),l=g(c);a(e=>{r(o,u.id),N(l,`href`,e)},[()=>ne(`/notes`)]),w(e,t)},At=e=>{var t=Ge(),n=g(t,!0);a(()=>r(n,f.message)),w(e,t)},jt=e=>{var t=bt(),c=s(t),m=e=>{var t=qe(),n=h(A(t),2),o=g(n,!0),s=h(n,2),c=A(s),l=h(c,2),u=e=>{var t=Ke();i(`click`,t,()=>f.keepTheirs()),w(e,t)};F(l,e=>{f.theirs&&e(u)}),P(s),E(2),P(t),a(()=>r(o,f.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.`)),i(`click`,c,()=>f.keepMine()),w(e,t)};F(c,e=>{f.saving===`conflict`&&e(m)});var _=h(c,2),v=e=>{var t=$e(),n=h(A(t),2);I(n,16,()=>l(C).ex.tests,e=>e,(e,t)=>{let n=M(()=>l(C).study?.notes[t]);var i=Qe(),o=s(i),c=A(o),u=g(c,!0),d=h(c,2);I(d,20,()=>[0,1,2,3,4,5],e=>e,(e,t)=>{var r=Je();let i;a(()=>i=S(r,1,`pip`,null,i,{lv:t<(l(n)?.squares??0)})),w(e,r)}),P(d);var f=h(d,2),p=e=>{var t=Ye();w(e,t)};F(f,e=>{l(n)?.due&&e(p)}),P(o);var m=h(o,2);I(m,17,()=>[...l(n)?.evidence??[]].reverse(),e=>e.id,(e,t)=>{var n=Xe(),i=A(n),o=g(i,!0),s=h(i),c=g(s,!0),u=h(s,2),d=g(u,!0);P(n),a((e,n)=>{r(o,e),r(c,l(t).event===`wind-back`?`you wound it back`:l(t).why||(l(t).result??``)),r(d,n)},[()=>De(l(t).by),()=>l(t).at.slice(0,10)]),w(e,n)},e=>{var t=Ze();w(e,t)}),a(e=>{r(u,e),N(d,`aria-label`,`${l(n)?.squares??0??``} of 6`)},[()=>H(t)]),w(e,i)});var o=h(n,2),c=h(A(o),2);P(o),P(t),i(`click`,c,()=>l(C).windBack()),w(e,t)};F(_,e=>{l(C)&&l(T)&&e(v)});var b=h(_,2),O=e=>{var t=nt(),n=A(t),o=g(n),s=h(n,2);I(s,16,()=>l(C).ex.tests,e=>e,(e,t)=>{var n=et(),i=g(n,!0);a((e,t)=>{N(n,`href`,e),r(i,t)},[()=>ie(t),()=>H(t)]),w(e,n)},e=>{var t=tt();w(e,t)});var c=h(s,4),u=A(c);Ve(A(u)),P(u);var d=h(u,2),m=h(d,2);P(c),P(t),a(()=>{r(o,`${z[l(C).ex.kind]??l(C).ex.kind??``} · tests`),N(u,`aria-pressed`,l(Y)),N(d,`aria-pressed`,l(G)),N(m,`aria-pressed`,l(J)),m.disabled=f.meta===null}),i(`click`,u,je),i(`click`,d,()=>{p(G,!l(G)),se(`isorite.details`,l(G))}),i(`click`,m,()=>p(K,!l(K))),w(e,t)},k=e=>{var t=ct(),n=A(t),c=e=>{var t=rt(),n=h(s(t),2);ee(n),a(e=>{x(n,f.fields.title),N(n,`placeholder`,e)},[()=>u.id.split(`/`).at(-1)]),i(`input`,n,e=>f.setFields({title:e.currentTarget.value.replace(/\s*\n\s*/g,` `)})),i(`keydown`,n,e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())}),o(`blur`,n,()=>void Le()),w(e,t)},d=e=>{var t=it(),n=g(t);a(()=>r(n,`${u.id??``}.md${f.meta===null?`: the frontmatter cannot be read, so the file is shown as it is`:``}`)),w(e,t)};F(n,e=>{l(J)?e(d,-1):e(c)});var m=h(n,2),_=A(m),v=A(_),y=e=>{var t=at();Ve(A(t)),P(t),a(()=>N(t,`aria-pressed`,l(Y))),i(`click`,t,je),w(e,t)};F(v,e=>{l(J)||e(y)});var b=h(v,2),S=e=>{var t=ot();a(()=>N(t,`aria-pressed`,l(G))),i(`click`,t,()=>{p(G,!l(G)),se(`isorite.details`,l(G))}),w(e,t)};F(b,e=>{l(J)||e(S)});var C=h(b,2),T=h(C,2),E=e=>{var t=st();a(()=>N(t,`aria-pressed`,l(He))),i(`click`,t,()=>p(He,!l(He))),w(e,t)};F(T,e=>{l(J)||e(E)}),P(_),P(m),P(t),a(()=>{N(C,`aria-pressed`,l(J)),C.disabled=f.meta===null}),i(`click`,C,()=>p(K,!l(K))),w(e,t)};F(b,e=>{l(C)&&!l(J)?e(O):e(k,-1)});var j=h(b,2),te=e=>{we(e,{get note(){return u.id},get passage(){return l(St)},onclose:()=>p(He,!1)})};F(j,e=>{l(He)&&!l(J)&&e(te)});var ne=h(j,2),re=e=>{Fe(e,{get note(){return f}})};F(ne,e=>{l(G)&&!l(J)&&e(re)});var L=h(ne,2),R=e=>{var t=lt(),n=A(t);{let e=M(()=>l(X)?ue(l(X)):null);pe(n,{get moments(){return l(Z)},get at(){return l(e)},get pointed(){return l(ge)},point:e=>p(ge,e),pick:Me})}P(t),w(e,t)};F(L,e=>{l(Y)&&!l(J)&&e(R)});var B=h(L,2),ae=e=>{var t=dt(),o=s(t),c=A(o),u=g(c),d=h(c,4),m=e=>{var t=ut(),n=g(t,!0);a(()=>r(n,l(be))),w(e,t)};F(d,e=>{l(be)&&e(m)});var _=h(d,2),v=h(_,2);P(o);var y=h(o,2);n(y,()=>ue(l(X)),e=>{Be(e,{get text(){return l(Q).text},get title(){return f.fields.title},get touched(){return l(Q).touched},get asked(){return l(Q).asked},get offered(){return l(Q).offered}})}),a((e,t)=>{r(u,`${e??``} · ${t??``}`),_.disabled=l(ye)||l(Q).text===f.text},[()=>fe(l(X)),()=>de(l(X).at)]),i(`click`,_,Pe),i(`click`,v,()=>p(X,null)),w(e,t)};F(B,e=>{l(X)&&l(Q)&&e(ae)});var V=h(B,2),oe=e=>{var t=ft();let n;a(()=>n=D(t,``,n,{top:`${l($).top??``}px`,left:`${l($).left??``}px`})),i(`pointerdown`,t,e=>{e.preventDefault(),wt()}),i(`click`,t,e=>{e.detail===0&&wt()}),w(e,t)};F(V,e=>{l($)&&e(oe)});var U=h(V,2),W=A(U);n(W,()=>l(J),e=>{{let t=M(()=>l(C)??void 0);ve(e,{get note(){return f},get iso(){return y},get exercise(){return l(t)},get source(){return l(J)},get touched(){return l(Ce)},get lens(){return l(Ae)}})}}),P(U);var ce=h(U,2),le=e=>{var t=vt(),n=A(t),o=e=>{var t=pt();i(`mousedown`,t,e=>e.preventDefault()),i(`click`,t,()=>l(C).markAnswer()),w(e,t)};F(n,e=>{l(C).selection&&!(l(C).answerAt&&l(C).answerAt.from===l(C).selection.from&&l(C).answerAt.to===l(C).selection.to)&&e(o)});var s=h(n,2),c=g(s,!0),u=h(s,2),f=e=>{var t=mt();w(e,t)},p=e=>{var t=ut(),n=g(t,!0);a(()=>r(n,l(C).failed)),w(e,t)},m=e=>{var t=ht();w(e,t)},_=e=>{var t=gt(),n=h(A(t));I(n,19,()=>l(C).moves,e=>e.note,(e,t,n)=>{E();var i=d();a((e,t)=>r(i,`${l(n)?`, `:``}${e??``} ${t??``}`),[()=>H(l(t).note),()=>De(l(t).by)]),w(e,i)}),P(t),w(e,t)};F(u,e=>{l(C).marking===null?l(C).failed?e(p,1):l(C).answerAt?l(C).last&&e(_,3):e(m,2):e(f)});var v=h(u,4),y=e=>{var t=_t(),n=g(t);a(e=>r(n,`${l(C).last.cost.tier??``} · $${e??``}`),[()=>l(C).last.cost.usd.toFixed(3)]),w(e,t)};F(v,e=>{l(C).last?.cost&&l(C).marking===null&&e(y)}),P(t),a(()=>{s.disabled=!l(C).answerAt||l(C).marking!==null,r(c,l(C).marking===null?l(C).last?`mark it again`:`send for marking`:`marking…`)}),i(`click`,s,()=>l(C).send()),w(e,t)};F(ce,e=>{l(C)&&!l(J)&&!l(X)&&e(le)});var me=h(ce,2),q=e=>{var t=yt(),n=h(A(t),2),o=g(n),s=h(n,4),c=h(s,2);P(t),a(()=>{r(o,`${y.changes.length??``} ${y.changes.length===1?`change`:`changes`} from ${l(ze)??``} waiting`),s.disabled=y.busy===`all`,c.disabled=y.busy===`all`}),i(`click`,s,()=>y.settleAll(!0)),i(`click`,c,()=>y.settleAll(!1)),w(e,t)};F(me,e=>{y.changes.length&&e(q)}),a(e=>N(U,`hidden`,e),[()=>!!(l(X)&&l(Q))]),w(e,t)};F(Dt,e=>{f.loaded===`loading`?e(Ot):f.loaded===`missing`?e(kt,1):f.loaded===`error`?e(At,2):e(jt,-1)}),P(Tt),j(Tt,e=>p(Ct,e),()=>l(Ct)),a(()=>Et=S(Tt,1,`note svelte-18ltlst`,null,Et,{timed:l(Y)&&f.loaded===`ready`&&!l(J)})),w(t,Tt),v()}f([`click`,`input`,`keydown`,`pointerdown`,`mousedown`]);var Ct=C(`<i></i>`),$=C(`<span class="squares svelte-1b6mil3" role="img"></span>`),wt=C(`<p class="bad svelte-1b6mil3" role="alert"> </p>`),Tt=C(`<div class="reading prose svelte-1b6mil3"></div>`),Et=C(`<p class="faint">Iso has no reading of this note yet. Talk it through in Understand mode, and Iso writes one here.</p> <button class="link svelte-1b6mil3" type="button">Understand mode ›</button>`,1),Dt=C(`<li class="svelte-1b6mil3"><span class="d svelte-1b6mil3"> </span><span> </span><span class="t svelte-1b6mil3"> </span></li>`),Ot=C(`<ol class="svelte-1b6mil3"></ol>`),kt=C(`<p class="faint">Nothing yet.</p>`),At=C(`<span role="status"> </span>`),jt=C(`<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 of your understanding</h2> <!></section> <section><h2 class="svelte-1b6mil3">What changed it</h2> <!></section> <section><h2 class="svelte-1b6mil3"><span>Scratchpad</span><!></h2> <div class="pad svelte-1b6mil3"></div> <p class="faint private svelte-1b6mil3">Only you see this, also in a base you share: it is kept in your study base.</p></section></article>`);function Mt(t,n){k(n,!0);let o=e(null),c=e(``),u=e(``),d=e(``),f=!1,m,_,b;async function x(){try{let e=await R.api.understanding(n.id);p(o,e),f||(p(u,e.scratchpad,!0),b&&X(b,l(u)))}catch(e){p(c,e.message,!0)}}O(()=>{b=ge(_,{doc:l(u),label:`Scratchpad`,placeholder:`Anything you like about this note. [[ links a note, $x$ is maths.`,notes:()=>R.listing.notes.filter(e=>e.id!==n.id).map(e=>({id:e.id,title:e.title,folder:e.dir})),onChange:e=>{p(u,e,!0),C()},onSave:()=>{f&&T()},onFollow:e=>{re(ie(e))}}),x();let e=R.on(e=>{(e.type===`record`||e.type===`note-changed`&&(e.id===`@understanding/${n.id}`||e.id===n.id))&&x()});return()=>{e(),clearTimeout(m),f&&T(),b?.destroy()}});function C(){f=!0,p(d,``),clearTimeout(m),m=setTimeout(()=>void T(),1200)}async function T(){if(l(o)){p(d,`saving`);try{p(o,await R.api.saveScratchpad(n.id,l(u),l(o).version)),f=!1,p(d,`saved`)}catch(e){p(d,`failed`),p(c,e.message,!0)}}}let D=e=>new Date(e).toLocaleDateString(void 0,{day:`numeric`,month:`short`}),ee=e=>e.event===`wind-back`?`You wound it back: Iso rated you too highly.`:e.event===`attempt`?`An exercise${e.result?`, ${e.result}`:``}.${e.why?` ${e.why}`:``}`:e.why||`Talked it through with Iso.`,te=e=>e>0?`+${e}`:e<0?`−${-e}`:`±0`,ne=M(()=>[...l(o)?.evidence??[]].reverse());var L=jt(),z=h(A(L),2),B=A(z),ae=h(B),V=e=>{var t=$();I(t,20,()=>[0,1,2,3,4,5],e=>e,(e,t)=>{var n=Ct();let r;a(()=>r=S(n,1,`svelte-1b6mil3`,null,r,{on:t<l(o).squares})),w(e,n)}),P(t),a(()=>N(t,`aria-label`,`Iso's estimate: ${l(o).squares??``} of 6`)),w(e,t)};F(ae,e=>{l(o)&&e(V)}),P(z);var H=h(z,2),oe=e=>{var t=wt(),n=g(t,!0);a(()=>r(n,l(c))),w(e,t)};F(H,e=>{l(c)&&e(oe)});var U=h(H,2),W=h(A(U),2),se=e=>{var t=Tt();y(t,()=>G(l(o).reading),!0),P(t),w(e,t)},K=e=>{var t=Et(),n=h(s(t),2);i(`click`,n,()=>{q.setMode(`understand`),q.to(`iso`)}),w(e,t)};F(W,e=>{l(o)?.reading?e(se):e(K,-1)}),P(U);var ce=h(U,2),le=h(A(ce),2),ue=e=>{var t=Ot();I(t,21,()=>l(ne),e=>e.id,(e,t)=>{var n=Dt(),i=A(n),o=g(i,!0),s=h(i);let c;var u=g(s,!0),d=h(s),f=g(d,!0);P(n),a((e,n,i)=>{r(o,e),c=S(s,1,`by svelte-1b6mil3`,null,c,{up:l(t).by>0,down:l(t).by<0}),r(u,n),r(f,i)},[()=>D(l(t).at),()=>te(l(t).by),()=>ee(l(t))]),w(e,n)}),P(t),w(e,t)},de=e=>{var t=kt();w(e,t)};F(le,e=>{l(ne).length?e(ue):e(de,-1)}),P(ce);var fe=h(ce,2),pe=A(fe),me=h(A(pe)),J=e=>{var t=At();let n;var i=g(t,!0);a(()=>{n=S(t,1,`state svelte-1b6mil3`,null,n,{bad:l(d)===`failed`}),r(i,l(d)===`failed`?`not saved`:l(d))}),w(e,t)};F(me,e=>{l(d)&&e(J)}),P(pe);var he=h(pe,2);j(he,e=>_=e,()=>_),E(2),P(fe),P(L),a(()=>r(B,`${n.title??``} `)),i(`focusout`,he,()=>{f&&T()}),w(t,L),v()}f([`click`,`focusout`]);var Nt=C(`<div><!></div> <!>`,1);function Pt(e,r){k(r,!0);let i=M(()=>me.params.id??``),o=M(()=>q.lens.note===`understand`&&!l(i).startsWith(`@`)),c=M(()=>R.listing.notes.find(e=>e.id===l(i))?.title??l(i).split(`/`).at(-1)??l(i));var u=t(),d=s(u);n(d,()=>l(i),e=>{var t=Nt(),n=s(t);St(A(n),{get id(){return l(i)}}),P(n);var r=h(n,2),u=e=>{Mt(e,{get id(){return l(i)},get title(){return l(c)}})};F(r,e=>{l(o)&&e(u)}),a(()=>N(n,`hidden`,l(o))),w(e,t)}),w(e,u),v()}export{Pt as component};
@@ -0,0 +1 @@
1
+ import"../chunks/C8UdwlAg.js";import"../chunks/xihTtKlq.js";import{t as e}from"../chunks/CcRs965g.js";import"../chunks/Dm229u8R.js";function t(t){e(t,{})}export{t as component};
@@ -0,0 +1 @@
1
+ import{D as e,F as t,H as n,J as r,L as i,M as a,P as o,X as s,Y as c,at as l,ft as u,h as d,i as f,j as p,k as m,lt as h,m as g,o as _,ot as v,q as y,tt as b,u as x,ut as S,x as C}from"../chunks/C8UdwlAg.js";import"../chunks/xihTtKlq.js";import{n as w,t as T}from"../chunks/B0NIb88Q.js";import"../chunks/Dm229u8R.js";var E=a(`<svg class="logo" viewBox="-0.4 -9.5 32.4 9.9" role="img" aria-label="isorite"><path d="M2 0L2 -2L0 -4M2 -2L2 -4L4 -6M5.6 0L6.6 0L7.6 -1L5.6 -3L6.6 -4L7.6 -4M11.2 0L13.2 -2L11.2 -4L9.2 -2ZM14.8 0L14.8 -2L15.8 -3L16.8 -4M14.8 -2L14.8 -4M20.4 0L20.4 -2L18.4 -4M20.4 -2L20.4 -4L22.4 -6M26 0L25 -1L25 -4L24 -4M25 -4L26 -4M25 -4L25 -5M30.6 0L29.6 0L27.6 -2L29.6 -4L31.6 -2L27.6 -2"></path><path class="iso" d="M2 -9.05l1.2 1.2l-1.2 1.2l-1.2 -1.2z"></path><path class="right" d="M20.4 -9.05l1.2 1.2l-1.2 1.2l-1.2 -1.2z"></path></svg>`);function D(e,t){let r=f(t,`width`,3,72);var i=E();n(()=>{x(i,`width`,r()),x(i,`height`,r()*9.9/32.4)}),m(e,i)}var O=p(`<button type="button" role="radio"> </button>`),k=p(`<div class="swatch svelte-h119xx"><i class="svelte-h119xx"></i><span> </span></div>`),A=p(`<div class="swatch svelte-h119xx"><i class="svelte-h119xx"></i><span> </span></div> <div class="swatch svelte-h119xx"><i class="svelte-h119xx"></i><span> </span></div>`,1),j=p(`<div class="parts svelte-h119xx"><section class="svelte-h119xx"><h2 class="label svelte-h119xx">the ground</h2> <div class="row svelte-h119xx" role="radiogroup" aria-label="Ground"></div></section> <section class="svelte-h119xx"><h2 class="label svelte-h119xx">the name</h2> <div class="row svelte-h119xx"><!><!></div></section> <section class="svelte-h119xx"><h2 class="label svelte-h119xx">colour</h2> <div class="swatches svelte-h119xx"></div> <div class="swatches svelte-h119xx"></div> <div class="swatches svelte-h119xx"></div></section> <section class="svelte-h119xx"><h2 class="label svelte-h119xx">type</h2> <p class="pixel">Departure Mono, for display</p> <p>Ioskeley Mono, for the interface. <b>Bold.</b> <i>Italic.</i> 0123456789</p> <p class="serif">Charter, for what is read: the entropy of a source is the average surprise of its symbols. <b>Bold</b>, <i>italic</i>.</p></section> <section class="svelte-h119xx"><h2 class="label svelte-h119xx">buttons and chips</h2> <div class="row svelte-h119xx"><button class="btn" type="button">plain</button> <button class="btn primary" type="button">primary</button> <button class="btn danger" type="button">delete</button> <button class="btn quiet" type="button">quiet</button> <button class="btn" type="button" disabled="">off</button> <button class="btn tall primary" type="button">tall</button></div> <div class="row svelte-h119xx"><button class="btn keep" type="button">keep</button> <button class="btn edit" type="button">edit</button> <button class="btn remove" type="button">remove</button></div> <div class="row svelte-h119xx"><span class="chip">plain</span><span class="chip lattice">lattice</span><span class="chip growth">growth</span> <span class="chip malachite">malachite</span><span class="chip rose">rose</span></div></section> <section class="svelte-h119xx"><h2 class="label svelte-h119xx">a frame, a field, the marks</h2> <div class="frame box svelte-h119xx"><span class="frame-title">a frame</span> <input class="field" placeholder="a field" aria-label="A field"/> <div class="row svelte-h119xx"><i class="sq"></i><span>you</span><i class="sq empty"></i><span>not yet</span><i class="dia"></i><span>Iso</span><i class="dia open"></i><span>Iso, unkept</span></div></div> <div class="dots ground svelte-h119xx"></div></section></div>`);function M(a,o){v(o,!1);let f=[`ground-0`,`ground-1`,`ground-2`,`ground-3`,`line`,`line-strong`],p=[`text`,`text-soft`,`text-faint`],E=[`lattice`,`growth`,`malachite`,`rose`];_();var M=j(),N=y(M),P=s(y(N),2);C(P,5,()=>T,([e,t])=>e,(r,a)=>{var o=b(()=>u(i(a),2));let s=()=>i(o)[0],l=()=>i(o)[1];var f=O();let p;var h=c(f,!0);n(()=>{p=d(f,1,`btn`,null,p,{primary:w.chosen===s()}),x(f,`aria-checked`,w.chosen===s()),e(h,l())}),t(`click`,f,()=>w.choose(s())),m(r,f)}),S(P),S(N);var F=s(N,2),I=s(y(F),2),L=y(I);D(L,{width:216}),D(s(L),{}),S(I),S(F);var R=s(F,2),z=s(y(R),2);C(z,5,()=>f,e=>e,(t,r)=>{var a=k(),o=y(a);let l;var u=s(o),d=c(u,!0);S(a),n(()=>{l=g(o,``,l,{background:`var(--${i(r)})`}),e(d,i(r))}),m(t,a)}),S(z);var B=s(z,2);C(B,5,()=>p,e=>e,(t,r)=>{var a=k(),o=y(a);let l;var u=s(o),d=c(u,!0);S(a),n(()=>{l=g(o,``,l,{background:`var(--${i(r)})`}),e(d,i(r))}),m(t,a)}),S(B);var V=s(B,2);C(V,5,()=>E,e=>e,(t,a)=>{var o=A(),l=r(o),u=y(l);let d;var f=s(u),p=c(f,!0);S(l);var h=s(l,2),_=y(h);let v;var b=s(_),x=c(b);S(h),n(()=>{d=g(u,``,d,{background:`var(--${i(a)})`}),e(p,i(a)),v=g(_,``,v,{background:`var(--${i(a)}-soft)`}),e(x,`${i(a)??``}-soft`)}),m(t,o)}),S(V),S(R);var H=s(R,2),U=s(y(H),2);g(U,``,{},{"font-size":`22px`});var W=s(U,4);g(W,``,{},{"font-size":`18px`}),S(H),h(4),S(M),m(a,M),l()}o([`click`]);export{M as component};
@@ -0,0 +1 @@
1
+ import{$ as e,D as t,F as n,H as r,J as i,L as a,P as o,Q as s,X as c,Y as l,at as u,ft as d,h as f,j as p,k as m,lt as h,n as g,ot as _,q as v,tt as y,u as b,ut as x,w as S,x as C}from"../chunks/C8UdwlAg.js";import{o as w,t as T}from"../chunks/Cw2GjAJR.js";import"../chunks/xihTtKlq.js";import{n as E,t as D}from"../chunks/DjBHskLm.js";import{t as O}from"../chunks/BEVz4Dgg.js";var k=p(`<p class="soft empty svelte-1pepxcq">Exercises are kept in a study base, and none is open. <span class="faint">isorite study init</span> makes one.</p>`),A=p(`<a class="sr svelte-1pepxcq"><span class="faint kind svelte-1pepxcq"> </span> <span class="grow t svelte-1pepxcq"> </span> <span class="label tests svelte-1pepxcq"> </span> <i></i></a>`),j=p(`<p class="soft none svelte-1pepxcq"> </p>`),M=p(`<a class="label all svelte-1pepxcq">every exercise</a>`),N=p(`<a class="sr svelte-1pepxcq"><i class="dia open svelte-1pepxcq" aria-hidden="true"></i><span class="grow t svelte-1pepxcq"> </span></a>`),P=p(`<span class="label sub svelte-1pepxcq">asked of Iso · not kept yet</span> <!>`,1),F=p(`<p class="bad svelte-1pepxcq" role="alert"> </p>`),I=p(`<div class="fr svelte-1pepxcq"><span class="grow"> </span><button class="link svelte-1pepxcq" type="button">[ + an exercise ]</button></div>`),L=p(`<div class="fr svelte-1pepxcq"><span class="grow soft"> </span><button class="link svelte-1pepxcq" type="button">[ + an exercise ]</button></div>`),R=p(`<section class="frame list svelte-1pepxcq"><span class="frame-title"> </span> <!> <!> <!> <span class="label foot svelte-1pepxcq">ordered from your record: due first, then never tried, then the fewest squares</span></section> <!> <section class="folders svelte-1pepxcq"><h2 class="label svelte-1pepxcq">ask Iso for an exercise</h2> <!> <!></section>`,1),z=p(`<div class="study svelte-1pepxcq"><!></div>`);function B(o,p){_(p,!0);let B=e(null),V=e([]),H=e(``),U=y(()=>O.url.searchParams.get(`note`)??new URLSearchParams(O.url.hash.split(`?`)[1]??``).get(`note`)??``),W=e=>D.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),G=y(()=>(a(B)?.exercises??[]).filter(e=>!a(U)||e.tests.includes(a(U)))),K={written:`written`};async function q(){try{await(async e=>{var t=d(e,2);s(B,t[0]),s(V,t[1])})(await Promise.all([D.api.study(),D.api.drafts().then(e=>e.filter(e=>e.exercise))]))}catch(e){s(H,e.message,!0)}}g(()=>(q(),D.on(e=>{(e.type===`record`||e.type===`note-changed`&&(e.id.startsWith(`@study/`)||e.id.startsWith(`@draft/`)))&&q()})));async function J(e,t=[]){s(H,``);try{let n=await D.api.createExerciseDraft(e,t);await T(w(`/draft/[id]`,{id:n.id.slice(7)}))}catch(e){s(H,e.message,!0)}}var Y=z(),X=v(Y),Z=e=>{var t=k();m(e,t)},Q=e=>{var o=R(),s=i(o),u=v(s),d=l(u,!0),p=c(u,2);C(p,17,()=>a(G),e=>e.id,(e,n)=>{var i=A(),o=v(i),s=l(o,!0),u=c(o,2),d=l(u,!0),p=c(u,2),h=l(p),g=c(p,2);let _;x(i),r((e,r)=>{b(i,`href`,e),t(s,K[a(n).kind]??a(n).kind),t(d,a(n).title),t(h,`tests ${r??``}`),_=f(g,1,`pip`,null,_,{ok:a(n).result===`right`,part:a(n).result===`partly`,no:a(n).result===`wrong`}),b(g,`title`,a(n).result?`last: ${a(n).result}`:`not tried`)},[()=>E(a(n).id),()=>a(n).tests.map(W).join(`, `)]),m(e,i)},e=>{var n=j(),i=l(n,!0);r(()=>t(i,a(B)?a(U)?`Nothing tests this note yet.`:`No exercises yet. Ask Iso for one in a folder below.`:`reading…`)),m(e,n)});var g=c(p,2),_=e=>{var t=M();r(e=>b(t,`href`,e),[()=>w(`/study`)]),m(e,t)};S(g,e=>{a(U)&&e(_)});var y=c(g,2),T=e=>{var n=P(),o=c(i(n),2);C(o,17,()=>a(V),e=>e.id,(e,n)=>{var i=N(),o=c(v(i)),s=l(o,!0);x(i),r(e=>{b(i,`href`,e),t(s,a(n).title)},[()=>w(`/draft/[id]`,{id:a(n).id.slice(7)})]),m(e,i)}),m(e,n)};S(y,e=>{a(V).length&&e(T)}),h(2),x(s);var O=c(s,2),k=e=>{var n=F(),i=l(n,!0);r(()=>t(i,a(H))),m(e,n)};S(O,e=>{a(H)&&e(k)});var z=c(O,2),q=c(v(z),2),Y=e=>{var i=I(),o=v(i),s=l(o),u=c(o);x(i),r(e=>t(s,`on ${e??``}`),[()=>W(a(U))]),n(`click`,u,()=>J(D.listing.notes.find(e=>e.id===a(U))?.dir??``,[a(U)])),m(e,i)};S(q,e=>{a(U)&&e(Y)});var X=c(q,2);C(X,16,()=>a(B)?.folders??[],e=>e,(e,i)=>{var a=L(),o=v(a),s=l(o,!0),u=c(o);x(a),r(()=>{t(s,i||`the top of the base`),b(u,`aria-label`,`An exercise in ${i||`the top of the base`}`)}),n(`click`,u,()=>J(i)),m(e,a)}),x(z),r(e=>t(d,e),[()=>a(U)?`study · what tests ${W(a(U))}`:`study · next for you`]),m(e,o)};S(X,e=>{D.session?.study?e(Q,-1):e(Z)}),x(Y),m(o,Y),u()}o([`click`]);export{B as component};