isorite 0.2.0-trial.1 → 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.
- package/dist/embed-worker.js +9 -2
- package/dist/main.js +101 -32
- package/package.json +1 -1
- package/web/_app/immutable/chunks/{DP2vIlnJ.js → B7ZjnqOt.js} +1 -1
- package/web/_app/immutable/chunks/{BRnMDye8.js → BEVz4Dgg.js} +1 -1
- package/web/_app/immutable/chunks/{DhKewaLD.js → BEk5idXo.js} +1 -1
- package/web/_app/immutable/chunks/{CEQ-cFxt.js → B_nIecMW.js} +1 -1
- package/web/_app/immutable/chunks/{CWITxcMm.js → CcQ3P3p1.js} +1 -1
- package/web/_app/immutable/chunks/{C38XJeNJ.js → CcRs965g.js} +1 -1
- package/web/_app/immutable/chunks/Cw2GjAJR.js +1 -0
- package/web/_app/immutable/chunks/{DTwIGCa8.js → DjBHskLm.js} +1 -1
- package/web/_app/immutable/chunks/{D56iKolu.js → UM_L7-f7.js} +1 -1
- package/web/_app/immutable/chunks/{Ch0511Wu.js → b-AOhhy1.js} +1 -1
- package/web/_app/immutable/chunks/{GgEyipRh.js → k55859zq.js} +1 -1
- package/web/_app/immutable/entry/{app.C_YVtBm3.js → app.B3QXxjjH.js} +2 -2
- package/web/_app/immutable/entry/start.BauJm-6k.js +1 -0
- package/web/_app/immutable/nodes/{0.CgaPlR93.js → 0.DP4c84Wn.js} +3 -3
- package/web/_app/immutable/nodes/{1.CeByL9Re.js → 1.BcwcVDJZ.js} +1 -1
- package/web/_app/immutable/nodes/2.DgGnQZ7P.js +1 -0
- package/web/_app/immutable/nodes/3.BudzO7We.js +1 -0
- package/web/_app/immutable/nodes/{4.BBhoqQg0.js → 4.DmswyrSt.js} +1 -1
- package/web/_app/immutable/nodes/{5.CkVNYg2h.js → 5.DjXsfjL5.js} +1 -1
- package/web/_app/immutable/nodes/6.uBh-sdQx.js +1 -0
- package/web/_app/immutable/nodes/{8.BdGwzJFT.js → 8.Tbz9Rh77.js} +1 -1
- package/web/_app/version.json +1 -1
- package/web/index.html +15 -15
- package/web/_app/immutable/chunks/DAVQx5al.js +0 -1
- package/web/_app/immutable/entry/start.36VrMTu2.js +0 -1
- package/web/_app/immutable/nodes/2.DUNH537j.js +0 -1
- package/web/_app/immutable/nodes/3.CaAED8T_.js +0 -1
- package/web/_app/immutable/nodes/6.CYRn28m8.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/
|
|
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/
|
|
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
3
|
|
|
4
4
|
`:i.test(r.split(`
|
|
5
5
|
`).at(-1))?`
|
|
@@ -11,4 +11,4 @@ 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 a
|
|
|
11
11
|
`).replace(/\n{3,}/g,`
|
|
12
12
|
|
|
13
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/CWITxcMm.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};
|
|
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};
|