isorite 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/main.js +416 -61
  2. package/guide/out-of-the-base/web-and-code-links.md +3 -1
  3. package/package.json +1 -1
  4. package/web/_app/immutable/assets/0.BEFtmzIh.css +1 -0
  5. package/web/_app/immutable/assets/4.LR47AJKA.css +1 -0
  6. package/web/_app/immutable/assets/NoteList.C2GYAaLW.css +1 -0
  7. package/web/_app/immutable/chunks/BHORylQC.js +1 -0
  8. package/web/_app/immutable/chunks/{LbnMg2Kc.js → BMijTvgG.js} +1 -1
  9. package/web/_app/immutable/chunks/{Djo-ijeo.js → BtYMl4bD.js} +1 -1
  10. package/web/_app/immutable/chunks/{BsY4iMci.js → C8FxuPry.js} +1 -1
  11. package/web/_app/immutable/chunks/CA-rzUq8.js +524 -0
  12. package/web/_app/immutable/chunks/{D1MhxXyn.js → CTuuQ66F.js} +1 -1
  13. package/web/_app/immutable/chunks/{D4EpFhYZ.js → CglDFp51.js} +1 -1
  14. package/web/_app/immutable/chunks/{B_x6_Y3m.js → D9uNsgxP.js} +1 -1
  15. package/web/_app/immutable/chunks/{wD7RSG2d.js → Qej0SEux.js} +1 -1
  16. package/web/_app/immutable/chunks/{B9TKPEJD.js → TmxIGCN3.js} +1 -1
  17. package/web/_app/immutable/chunks/{BDJlNL-I.js → Wv-ICQRy.js} +3 -3
  18. package/web/_app/immutable/entry/{app.Av5W3V8v.js → app.B9TPZNFw.js} +2 -2
  19. package/web/_app/immutable/entry/start.WU9HKeyT.js +1 -0
  20. package/web/_app/immutable/nodes/{0.BTVYyqUm.js → 0.C9NFEqJd.js} +2 -2
  21. package/web/_app/immutable/nodes/{1.DR-b7PMP.js → 1.B5PJwWOG.js} +1 -1
  22. package/web/_app/immutable/nodes/{2.BePyTqoa.js → 2.DRtC7zjs.js} +1 -1
  23. package/web/_app/immutable/nodes/{3.D2rfIXQP.js → 3.EEMisvUL.js} +1 -1
  24. package/web/_app/immutable/nodes/4.DthmsFQC.js +19 -0
  25. package/web/_app/immutable/nodes/5.CEu0DlpQ.js +1 -0
  26. package/web/_app/version.json +1 -1
  27. package/web/index.html +14 -14
  28. package/web/_app/immutable/assets/0.CtWz9d2A.css +0 -1
  29. package/web/_app/immutable/assets/4.fOHsAKBF.css +0 -1
  30. package/web/_app/immutable/assets/NoteList.E6jC-AtZ.css +0 -1
  31. package/web/_app/immutable/chunks/B7Bf3hc7.js +0 -1
  32. package/web/_app/immutable/chunks/Dx_7xlS4.js +0 -523
  33. package/web/_app/immutable/entry/start.CbpxCvWi.js +0 -1
  34. package/web/_app/immutable/nodes/4.7tuUcODS.js +0 -15
  35. package/web/_app/immutable/nodes/5.Cs9hcGU9.js +0 -1
@@ -1,3 +1,3 @@
1
- import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,I as c,K as l,L as u,M as d,N as f,O as p,P as m,Q as h,R as g,T as _,U as v,V as y,W as b,X as x,Y as S,Z as C,_ as w,_t as T,b as E,c as D,ct as O,d as k,et as A,f as j,ft as M,g as N,h as P,ht as F,i as I,it as L,l as R,lt as z,m as B,mt as V,n as H,nt as U,ot as W,pt as G,q as K,rt as q,tt as ee,u as J,v as Y,w as te,x as ne,y as re,z as ie}from"../chunks/AnnzTlE8.js";import{s as ae,t as oe}from"../chunks/LbnMg2Kc.js";import"../chunks/xihTtKlq.js";import{C as se,a as X,d as ce,i as Z,n as le,p as ue,r as Q,s as de,t as fe,u as pe}from"../chunks/BDJlNL-I.js";import{D as me,E as he,S as ge,b as _e,d as ve,f as ye,g as be,h as xe,i as Se,m as Ce,t as we}from"../chunks/Dx_7xlS4.js";import{t as Te}from"../chunks/D1MhxXyn.js";import{a as Ee,i as De,n as Oe,r as ke,t as Ae}from"../chunks/CSTv2fL0.js";import{t as je}from"../chunks/B7Bf3hc7.js";var Me=T({load:()=>Ne});async function Ne(){return await X.load(),{}}function Pe(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 Fe(e,t){let n=X.listing.notes.map(e=>e.id),r=t.split(`/`).slice(0,-1).join(`/`),i=Pe(r,`untitled-${e}`,e=>!n.includes(e)),a=[r,i.slug].filter(Boolean).join(`/`),o=`Untitled ${e}${i.n===1?``:` ${i.n}`}`;return await X.api.createNote(a,`---\ntype: ${e===`question`?`Question`:`Problem`}\ntitle: ${JSON.stringify(o)}\n${e===`question`?`about`:`uses`}: [${t}]\n---\n\n`),await X.refresh(),Z.fresh=a,await Z.open(a,!0),a}var Ie=()=>be.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});function Le(e){let t=e.items.flatMap((t,n)=>t.kind===`text`||t.kind===`question`||t.kind===`offer`?[t]:t.kind===`look`?[{kind:`tool`,id:`${e.id}:${n}`,name:t.step.tool,title:t.step.query??t.step.opened??t.step.said,status:t.step.failed?`failed`:`done`,output:``,...t.step.opened&&!t.step.away?{note:t.step.opened}:{}}]:t.kind===`change`?[{kind:`tool`,id:`${e.id}:${n}`,name:t.why===`create`?`write_note`:`edit_note`,title:t.to??t.note,status:`done`,output:``,...t.why===`delete`?{}:{note:t.to??t.note}}]:t.kind===`point`?[{kind:`text`,text:`Look at [${X.listing.notes.find(e=>e.id===t.note)?.title??t.note}](/${t.note}.md)${t.why?`: ${t.why}`:`.`}`}]:[]);return{id:e.id,asked:e.asked,from:`here`,items:t,state:e.state,given:e.given,at:e.at}}var $=new class{#e=q(null);get view(){return y(this.#e)}set view(e){U(this.#e,e)}#t=q(null);get old(){return y(this.#t)}set old(e){U(this.#t,e)}#n=q(`session`);get shown(){return y(this.#n)}set shown(e){U(this.#n,e,!0)}#r=q([]);get past(){return y(this.#r)}set past(e){U(this.#r,e)}#i=q(!1);get changing(){return y(this.#i)}set changing(e){U(this.#i,e,!0)}#a=q(``);get problem(){return y(this.#a)}set problem(e){U(this.#a,e,!0)}started=!1;get session(){return this.old??this.view}get connected(){return!!this.view?.connected}get running(){return!this.old&&(!!this.view?.busy||this.view?.turns.at(-1)?.state===`running`)}get api(){return X.api?.terminal??null}start(){!this.started&&X.api&&(this.started=!0,X.api.agentNotes().then(({may:e})=>{Z.on.notes=e},()=>void 0),Z.notesFlipped=e=>{X.api.setAgentNotes(e).catch(t=>{Z.on.notes=!e,this.problem=t.message})},this.api?(this.api.view().then(e=>this.show(e),()=>Z.setAttached(!1)),X.on(e=>{e.type===`terminal`&&this.show(e.terminal)})):Z.setAttached(!1))}show(e){let t=this.connected;this.view=e,Z.setAttached(e.connected||!!e.reading);for(let t of e.asking)this.refused.has(t.id)||(/^(shell|bash|execute)$/.test(t.action)?!Z.on.run:/^(edit|write|patch)$/.test(t.action)&&!Z.on.files)&&(this.refused.add(t.id),this.reply(t.id,`reject`));t&&e.connected&&Z.focus!==`iso`&&e.turns.length>(this.seen??e.turns.length)&&Z.unseen++,this.seen=e.turns.length}seen=null;refused=new Set;async send(e){if(this.problem=``,!e.trim()||!this.api)return!1;this.old=null;try{return await this.api.prompt(e.trim(),Ie()),!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}}async take(e){try{await this.api?.take(e)}catch(e){this.problem=e.message}}get acp(){return!!this.view&&(this.view.connected||!!this.view.reading)}async give(){if(this.acp&&this.api)try{await this.api.give(Ie())}catch(e){this.problem=e.message}}async follow(e,t){this.problem=``,this.old=null;try{await this.api?.follow(e,t)}catch(e){this.problem=e.message}}async set(e,t,n){this.problem=``;try{await this.api?.set(e,t,n)}catch(e){this.problem=e.message}}async forgetPast(e){this.problem=``;try{await X.api.deleteConversation(e),this.old?.session===e&&(this.old=null),this.past=await X.api.conversations()}catch(e){this.problem=e.message}}change(){this.changing=!0,this.shown!==`past`&&this.drawer()}async forget(e,t){this.problem=``;try{await this.api?.forget(e,t),this.view?.agentId===e&&this.view.session===t&&(this.old=null)}catch(e){this.problem=e.message}}async fresh(e){this.problem=``,this.old=null;try{await this.api?.fresh(e)}catch(e){this.problem=e.message}}async drawer(){if(this.shown===`past`)this.shown=`session`;else{this.shown=`past`,this.acp&&this.api?.list().catch(()=>void 0);try{this.past=await X.api.conversations()}catch{this.past=[]}}}async read(e){this.problem=``;try{let t=await X.api.conversation(e);t&&(this.old={connected:!1,reading:!0,agent:`Iso`,agentId:`iso`,session:t.id,title:t.turns[0]?.asked??``,busy:!1,turns:t.turns.map(Le),asking:[],cost:0,tokens:{input:0,output:0},model:``}),this.shown=`session`}catch(e){this.problem=e.message}}},Re=4.5,ze=.04;function Be(e){let t=e.items.map(t=>{let n=[];for(let r=t.parent;r>=0;r=e.items[r].parent)n.push(r);return n}),n=e.items.map(()=>0);e.items.forEach((e,r)=>{if(e.kind===`note`)for(let e of t[r])n[e]++});let r=(t,n)=>{for(;e.items[t].parent!==n;)t=e.items[t].parent;return t},i=new Map(e.trunks.map((e,t)=>[`${e.a}|${e.b}`,t])),a=e.links.some(e=>e.s>=3)?3:2,o=e.trunks.map(()=>!1);for(let t of e.links){let e=t.s>=a?i.get(`${r(t.a,t.level)}|${r(t.b,t.level)}`):void 0;e!==void 0&&(o[e]=!0)}return{up:t,noteCount:n,strong:o,at:new Map(e.items.flatMap((e,t)=>e.kind===`note`?[[e.ref,t]]:[])),trunkAt:i,feederAt:new Map(e.feeders.map((e,t)=>[`${e.trunk}|${e.folder}|${e.item}`,t])),ownPath:new Map(e.trunks.flatMap(e=>e.pts?[[`${e.a}|${e.b}`,e.pts]]:[]))}}var Ve=new WeakMap;function He(e){let t=Ve.get(e);return t||Ve.set(e,t={...e,trunks:e.highways.trunks,feeders:e.highways.feeders}),t}function Ue(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 We(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 Ge(e,t,n=[],r=!1){let i=e=>t[e]!==`-`,a=[];return e.trunks.forEach((t,r)=>{let o=e.items[t.a].kind===`folder`&&e.items[t.b].kind===`folder`;t.pts&&!t.implied&&i(t.a)&&i(t.b)&&a.push({key:`t`+r,pts:t.pts,lane:0,count:t.count,feed:!o,strong:n[r]??!0})}),e.feeders.forEach((o,s)=>{let c=e.trunks[o.trunk];(r||!o.leaf)&&!c.implied&&t[o.folder]===`o`&&i(o.item)&&i(c.a)&&i(c.b)&&a.push({key:`f`+s,pts:o.pts,lane:o.lane,count:o.count,feed:!0,strong:n[o.trunk]??!0})}),a}var Ke=(e,t)=>Math.abs(e[0]-t[0])<1e-6&&Math.abs(e[1]-t[1])<1e-6;function qe(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=>Ke(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||!Ke(e,m[t-1]))}var Je=[`uses`,`builds`,`requires`,`iso`];function Ye(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=Je.indexOf(t.kind??`requires`),a=new Set;for(let o=1;o<t.pts.length;o++){let[s,c]=t.pts[o-1],[l,u]=t.pts[o],d=Math.max(1,Math.round(Math.max(Math.abs(l-s),Math.abs(u-c))*2));for(let o=0;o<d;o++){let f=[s+(l-s)*o/d,c+(u-c)*o/d],p=[s+(l-s)*(o+1)/d,c+(u-c)*(o+1)/d],m=n(f),h=n(p),g=m<h?m+`|`+h:h+`|`+m;if(m===h||a.has(g))continue;a.add(g);let _=r.get(g);if(!_){_=m<h?{a:m,b:h,A:f,B:p,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]}:{a:h,b:m,A:p,B:f,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]},r.set(g,_);for(let e of[_.a,_.b]){let t=i.get(e);t?t.push(g):i.set(e,[g])}}_.count+=t.count??1,_.strong||=t.strong??!0,_.trunk||=t.feed===!1,_.kind=Math.max(_.kind,e),(m===_.a?_.fwd:_.back)[e]+=1}}}let a=e=>t?`${e.kind}|${e.count}`:`${e.count}|${e.strong}|${e.trunk}`,o=(e,n)=>{let r=e.fwd[e.kind],i=e.back[e.kind];return!t||r&&i?0:(r?1:-1)*(n===e.a?1:-1)},s=(e,t)=>t===e.a?e.b:e.a,c=(e,t)=>t===e.a?e.A:e.B,l=(e,t,n)=>{let r=s(e,t);return a(e)===a(n)&&o(e,t)===o(n,r)},u=new Set,d=[],f=new Set,p=(e,t)=>{let p=e,m=t,h=r.get(m),g=[c(h,p)],_=o(h,p);for(;;){u.add(m);let e=s(h,p);g.push(c(h,e));let t=i.get(e).filter(e=>e!==m);if(t.length!==1||u.has(t[0])||!l(h,p,r.get(t[0])))break;p=e,m=t[0],h=r.get(m)}_<0&&g.reverse();let v=`${n(g[0])}>${n(g.at(-1))}:${a(h)}`;for(let e=2;f.has(v);e++)v=`${v.split(`#`)[0]}#${e}`;f.add(v),d.push({key:v,pts:g,count:h.count,strong:h.strong,trunk:h.trunk,kind:Je[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 Xe(e,t,n,r){let i=[],a=[],o=new Set;for(let{a:s,b:c,kind:l}of r){let r=We(t,n,s),u=We(t,n,c),d=`${l}:${r}|${u}`;if(r===u||o.has(d))continue;o.add(d);let f=(n,i)=>r===s&&u===c?t.ownPath.get(`${n}|${i}`)??qe(e,t,n,i):t.ownPath.get(`${n}|${i}`)??null,p=f(r,u)??f(u,r)?.slice().reverse()??null;p?i.push({key:d,kind:l,pts:p}):a.push({key:d,kind:l,a:r,b:u})}return{fixed:i,asks:a}}function Ze(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 Qe(e,t=0,n=7){let r=Ze(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 $e(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 et(e,t,n,r=3,i=7){let a=Math.max(ze,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 tt(e,t,n,r){let i=Math.max(ze,Math.min(3,e.k*t)),a=i/e.k;return{k:i,x:n-(n-e.x)*a,y:r-(r-e.y)*a}}function nt(e,t){if(!t.length)return e;let n=new Map,r=new Map,i=e=>{for(let t of e.children)t.kind===`dir`?i(t):n.set(t.ref,t)};i(e.root);for(let e of t){let t=e.about.find(e=>n.has(e));t&&r.set(t,[...r.get(t)??[],e])}let a=e=>({...e,children:e.children.flatMap(e=>e.kind===`dir`?[a(e)]:[e,...(r.get(e.ref)??[]).map(t=>({kind:`concept`,id:`c:`+t.ref,ref:t.ref,weight:1,rank:e.rank+1,of:`question`}))])}),o=[...e.edges];for(let e of r.values())for(let t of e)for(let e of t.about)n.has(e)&&o.push([t.ref,e,se.uses]);return{root:a(e.root),edges:o}}function rt(e,t){let n=new Set,r=e=>({...e,children:e.children.flatMap(e=>e.kind===`dir`?[r(e)]:t(e.ref)?(n.add(e.ref),[]):[e])}),i=r(e.root);return n.size?{root:i,edges:e.edges.filter(([e,t])=>!n.has(e)&&!n.has(t))}:e}var it=1;function at(e,t,n){if(!n.web&&!n.code&&!n.pictures)return[];let r=[];for(let i of e){let e=t[i.ref],a=[...(e?.links??[]).filter(e=>n[e.kind]).map(e=>({kind:e.kind,href:e.href,text:e.text,broken:!!e.broken})),...(n.pictures?e?.pictures??[]:[]).map(e=>({kind:`picture`,href:e.href,text:e.text,broken:!!e.broken,picture:{path:e.path,from:e.from}}))],o=Math.max(1,Math.floor((i.h+it)/4));a.forEach((e,t)=>{let n=Math.floor(t/o),a=t%o;r.push({...e,key:`${i.ref} ${e.kind===`picture`?`picture:`:``}${e.href}`,note:i.ref,gx:i.gx+i.w+it+n*4,gy:i.gy+a*4})})}return r}var ot=2;function st(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??ot,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 ct(e,t){let n=e[t].kind===`folder`?[t]:[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n}var lt={bend:4,flow:1,area:.01,aspect:1,shape:1,effort:1e3,seed:0,cross:20,stay:5};function ut(e,t,n,r,i={}){let{bend:a,flow:o,area:s,aspect:c,shape:l,effort:u,seed:d,cross:f,stay:p}={...lt,...i},m=e.length,h=e.map(e=>e[0]),g=e.map(e=>e[1]);if(!m)return{x:[],y:[],w:0,h:0};let _=Array.from({length:m},(e,t)=>Array.from({length:m},(e,r)=>n(t,r))),v=new Float64Array(m),y=new Float64Array(m),b=[...Array(m).keys()],x=[...b],S=new Int32Array(m),C=new Int32Array(m),w=0,T=0,E=()=>{b.forEach((e,t)=>{S[e]=t}),x.forEach((e,t)=>{C[e]=t}),w=0,T=0;for(let e=0;e<m;e++){let t=b[e],n=0,r=0;for(let i=0;i<e;i++){let e=b[i];C[e]<C[t]?n=Math.max(n,v[e]+h[e]+_[e][t]):r=Math.max(r,y[e]+g[e]+_[e][t])}v[t]=n,y[t]=r,w=Math.max(w,n+h[t]),T=Math.max(T,r+g[t])}},D=e=>[v[e]+h[e]/2,y[e]+g[e]/2],O=()=>{E();let e=0;for(let[n,i,s]of t){let t=Math.max(0,v[i]-v[n]-h[n],v[n]-v[i]-h[i]),c=Math.max(0,y[i]-y[n]-g[n],y[n]-y[i]-g[i]);e+=s*(Math.max(t,c)+.414*Math.min(t,c)+(t>0&&c>0?a:0));let l=r===`right`?v[n]+h[n]/2-(v[i]+h[i]/2):y[i]+g[i]/2-(y[n]+g[n]/2);l>0&&(e+=o*s*l)}if(f)for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let[i,a,o]=t[n],[s,c,l]=t[r];i!==s&&i!==c&&a!==s&&a!==c&&ft(D(i),D(a),D(s),D(c))&&(e+=f*Math.min(o,l))}if(A)for(let t=0;t<m;t++)for(let n=t+1;n<m;n++)(S[t]<S[n]!=A[0][t]<A[0][n]||C[t]<C[n]!=A[1][t]<A[1][n])&&(e+=p);let n=Math.log(w/T/l);return e+s*w*T*(1+c*n*n)},k=dt(m,t);if(b.sort((e,t)=>k[e]-k[t]),x.splice(0,m,...b),r===`up`&&b.reverse(),i.pair)return b.splice(0,m,...i.pair[0]),x.splice(0,m,...i.pair[1]),E(),{x:[...v],y:[...y],w,h:T,pair:i.pair};let A=null;i.start&&(b.splice(0,m,...i.start[0]),x.splice(0,m,...i.start[1]),A=[new Int32Array(m),new Int32Array(m)],b.forEach((e,t)=>{A[0][e]=t}),x.forEach((e,t)=>{A[1][e]=t}));let j=O(),M=j,N=[...b],P=[...x];if(m<2)return E(),{x:[...v],y:[...y],w,h:T,pair:[[...b],[...x]]};let F=mt(pt(e,t)^d),I=u*m,L=i.start?Math.max(.5,j*.002):Math.max(1,j*.05),R=.001**(1/I);for(let e=0;e<I;e++,L*=R){let e=Math.floor(F()*m),t=(e+1+Math.floor(F()*(m-1)))%m,n=F(),r=n=>{let r=n[e];n[e]=n[t],n[t]=r};if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}let i=O();if(i<=j||F()<Math.exp((j-i)/L))j=i,j<M&&(M=j,N=[...b],P=[...x]);else if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}}return b.splice(0,m,...N),x.splice(0,m,...P),E(),{x:[...v],y:[...y],w,h:T,cost:M,pair:[N,P]}}function dt(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 ft(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 pt(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 mt(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 ht={cell:7,note:[18,11],gap:6,gapFolders:8,channel:6,channelFolders:8,pad:6,head:2,margin:8,minFolder:12,slant:8,keep:2},gt={fine:ht,coarse:{cell:14,note:[9,6],gap:3,gapFolders:6,channel:3,channelFolders:6,pad:3,head:1,margin:6,minFolder:6,slant:4,keep:1},coarser:{cell:18,note:[7,4],gap:2,gapFolders:5,channel:2,channelFolders:5,pad:2,head:1,margin:5,minFolder:5,slant:3,keep:1}};ht.pad;var _t=1.4,vt=8,yt=12,bt=ht.note,xt=0,St=0,Ct=0,wt=0,Tt=0,Et=0,Dt=0,Ot=0,kt=0,At=2,jt=0,Mt=0;function Nt(e){({note:bt,gap:xt,gapFolders:St,channel:Ct,channelFolders:wt,head:Tt,margin:Et,minFolder:Dt,slant:Ot,pad:kt,keep:At}=e),jt=bt[0]+xt,Mt=3*jt}function Pt(e,{flow:t=`up`,grain:n=`fine`,plan:r=!1,planCosts:i={},planned:a=null,from:o=null}={}){let s=gt[n]??ht;Nt(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:bt[0],h:bt[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(Dt,i.w+2*kt),h:i.h+kt+Tt+kt}:{w:Dt,h:Tt+2*kt})};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)?St:xt,d=l.reduce((e,t)=>e+(t.w+u)*(t.h+u),0),f=Math.max(Math.ceil(Math.sqrt(d*_t)),...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])?St:xt)+f(e,t),h=n.map(e=>[g.get(e).w,g.get(e).h]),b=t===e.root&&r===`up`?1/lt.shape:lt.shape,x,S=!d&&o?.[u];if(S){let e=new Map(n.map((e,t)=>[e.ref,t])),t=n.map((e,t)=>t).filter(e=>!S[0].includes(n[e].ref));x=S.map(n=>[...n.filter(t=>e.has(t)).map(t=>e.get(t)),...t])}let C=ut(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)?St:xt,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=It(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]+Ct),0),S=Math.max(Math.ceil(Math.sqrt(a?x*_t:x/_t)),...l),C=[],w=Array(r),T=Array(r).fill(!1);for(let e of u)T[e.p]=!0,T[e.q]=!0;let E=T.some(Boolean)&&T.some(e=>!e),D=e=>{let t=e.reduce((e,t)=>e+l[t]+o,0),n=Math.max(1,Math.ceil((t-o)/S)),r=t/n,i=null,a=0;for(let t of e)(!i||a+l[t]>S||C.length-O<n&&a>=r)&&(i=[],C.push(i),a=0),w[t]=C.length-1,i.push(t),a+=l[t]+o},O=0,k=e=>h[e].length?+!!_[e].length:2,A=e=>e.length?e.reduce((e,t)=>e+d[t],0)/e.length:0;for(let e=0;e<=Math.max(...m);e++){let t=[...Array(r).keys()].filter(t=>m[t]===e&&(T[t]||!E));t.reduce((e,t)=>e+l[t]+o,0)-o>S&&t.sort((e,t)=>k(e)-k(t)||A(h[e])-A(h[t])||e-t),O=C.length,D(t)}E&&(O=C.length,D([...Array(r).keys()].filter(e=>!T[e])));let j=[...l],M=t.map(()=>[]),N=t.map(()=>[]),P=new Map,F=new Map,I=[],L=new Set,R=new Map;for(let e of b){let t=[e.u];for(let n=w[e.u]+1;n<w[e.v];n++){let r=e.u+`|`+n;P.has(r)||(P.set(r,j.length),F.set(j.length,e.u),j.push(1),M.push([]),N.push([]),w.push(n),C[n].push(j.length-1)),t.push(P.get(r))}t.push(e.v);for(let e=1;e<t.length;e++){let n=t[e-1],r=t[e];L.has(n+`|`+r)||(L.add(n+`|`+r),I.push([n,r]),N[n].push(r),M[r].push(n))}R.set(e,t)}let z=e=>e>=r,B=Array(j.length);C.forEach(e=>e.forEach((e,t)=>{B[e]=t}));let V=(e,t)=>{let n=new Map(C[e].map(e=>[e,t[e].length?t[e].reduce((e,t)=>e+B[t],0)/t[e].length:B[e]]));C[e].sort((e,t)=>n.get(e)-n.get(t)||B[e]-B[t]),C[e].forEach((e,t)=>{B[e]=t})},H=()=>{let e=0;for(let t=0;t<C.length-1;t++){let n=[];for(let e of C[t])for(let t of N[e])n.push([B[e],B[t]]);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++)(n[t][0]-n[r][0])*(n[t][1]-n[r][1])<0&&e++}return e},U=()=>{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<vt;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)}}},W=C.map(e=>[...e]),G=(e,t)=>(z(e)?d[F.get(e)]:d[e])-(z(t)?d[F.get(t)]:d[t])||e-t,K=null,q=1/0;for(let e of[e=>e,e=>[...e].sort(G),e=>[...e].reverse()]){C.forEach((t,n)=>{t.splice(0,t.length,...e(W[n])),t.forEach((e,t)=>{B[e]=t})});let t=1/0,n=0;for(let e=0;e<24&&n<4&&q>0;e++,n++){if(e%2==0)for(let e=1;e<C.length;e++)V(e,M);else for(let e=C.length-2;e>=0;e--)V(e,N);U();let r=H();r<t&&(t=r,n=0),r<q&&(q=r,K=C.map(e=>[...e]))}}K&&C.forEach((e,t)=>{e.splice(0,e.length,...K[t]),e.forEach((e,t)=>{B[e]=t})});let ee=(e,t)=>z(e)&&z(t)?1:z(e)||z(t)?At:o,J=Array(j.length).fill(0);for(let e of C){let t=0;e.forEach((n,r)=>{r&&(t+=ee(e[r-1],n)),J[n]=t,t+=j[n]})}let Y=e=>e.length?J[e[e.length-1]]+j[e[e.length-1]]:0,te=Math.max(...C.map(Y));for(let e of C){let t=(te-Y(e))/2;for(let n of e)J[n]+=t}let ne=e=>J[e]+j[e]/2;for(let e=0;e<yt;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+ne(t),0)/t.length:ne(e))-j[e]/2}),n=[],r=[];t.forEach((r,i)=>{n[i]=i?Math.max(e[i],n[i-1]+j[t[i-1]]+ee(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]]-ee(t[n],t[n+1])):e[n];t.forEach((e,t)=>{J[e]=(n[t]+r[t])/2})}let re=e=>Math.floor((j[e]-1)/2),ie=Array(j.length).fill(-1),ae=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=>ie[e]>=0).map(e=>[B[ie[e]],B[e]]);for(let r of C[t]){if(ie[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])=>ae[t]<0&&(!e||z(t)&&z(r))&&Math.abs(J[t]+re(t)-J[r]-re(r))<=(e?Mt:jt)).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])){ie[r]=e,ae[e]=r,n.push([B[e],B[r]]);break}}}let oe=Array(j.length).fill(-1),se=0;for(let e=0;e<j.length;e++)if(ie[e]<0){for(let t=e;t>=0;t=ae[t])oe[t]=se;se++}let X=Array.from({length:se},()=>[]);oe.forEach((e,t)=>X[e].push(t));let ce=(e,t)=>j[e]-re(e)+ee(e,t)+re(t),Z=Array(j.length).fill(-1),le=Array(j.length).fill(-1);for(let e of C)e.forEach((t,n)=>{n&&(Z[t]=e[n-1],le[e[n-1]]=t)});let ue=Array(se).fill(0),Q=!1;for(let e=0;e<=se&&!Q;e++){Q=!0;for(let e of C)for(let t=1;t<e.length;t++){let n=ue[oe[e[t-1]]]+ce(e[t-1],e[t]);ue[oe[e[t]]]<n&&(ue[oe[e[t]]]=n,Q=!1)}}if(Q){let e=X.map(e=>Math.round(e.reduce((e,t)=>e+J[t]+re(t),0)/e.length)),t=Math.min(...e.map((e,t)=>e-ue[t])),n=[...Array(se).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 X[a])Z[e]>=0&&(n=Math.max(n,ue[oe[Z[e]]]+ce(Z[e],e))),le[e]>=0&&(r=Math.min(r,ue[oe[le[e]]]-ce(e,le[e])));let o=Math.max(n,Math.min(r,e[a]-t));o!==ue[a]&&(ue[a]=o,i=!0)}if(!i)break}for(let e=0;e<j.length;e++)J[e]=ue[oe[e]]-re(e)}else for(let e of C)e.forEach((t,n)=>{J[t]=n?Math.max(Math.round(J[t]),J[e[n-1]]+j[e[n-1]]+ee(e[n-1],t)):Math.round(J[t])});let de=Math.min(...J);for(let e=0;e<J.length;e++)J[e]-=de;let fe=Math.max(...J.map((e,t)=>e+j[t])),pe=e=>J[e]+Math.floor((j[e]-1)/2)+.5,me=new Map;for(let e=0;e<j.length;e++){let t=[...M[e]].sort((e,t)=>pe(e)-pe(t)),n=J[e]+.5,r=J[e]+j[e]-.5;if(t.length>j[e]){t.forEach((r,i)=>me.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,pe(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)=>me.set(t+`|`+e,i[n]))}let he=(e,t)=>{let n=me.get(e+`|`+t);return n>=J[e]+.5&&n<=J[e]+j[e]-.5},ge=Array(j.length);for(let e=0;e<j.length;e++){let t=N[e].filter(t=>!he(e,t)).map(t=>me.get(e+`|`+t)).sort((e,t)=>e-t);ge[e]=t.length?Math.max(J[e]+.5,Math.min(J[e]+j[e]-.5,t[t.length-1>>1])):pe(e)}let _e=(e,t)=>he(e,t)?me.get(e+`|`+t):ge[e],ve=(e,t)=>{let n=_e(e,t),r=me.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(he(e,t))continue;let[n,r]=ve(e,t),i=me.get(e+`|`+t)>ge[e];r-n>Ot||I.every(([a,o])=>{if(w[a]!==w[e]||a===e&&o===t)return!0;let[s,c]=ve(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(he(e,t)||ye.has(e+`|`+t))continue;let n=me.get(e+`|`+t),r=xe.get(e)||{u:e,lo:ge[e],hi:ge[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=>!he(e.u,t)&&!ye.has(e.u+`|`+t)).map(t=>me.get(e.u+`|`+t))),i=(e,t)=>!(n[e].hi<n[t].lo-1||n[t].hi<n[e].lo-1),a=(e,t)=>+(ge[n[t].u]>n[e].lo&&ge[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=It(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)?wt:Ct,Se[n]+2*At,be[n]+2);Te[n]=De+Math.max(At,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:J[t],y:Oe-ke(t)-s[t]}:{x:ke(t),y:J[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],_e(e.u,n[1]))];for(let e=1;e<n.length;e++){let t=n[e-1],i=n[e],a=me.get(t+`|`+i);if(ye.has(t+`|`+i)){let e=Math.abs(a-ge[t]),n=Ee[w[t]](e);r.push(Ae(n,ge[t]),Ae(n+e,a));continue}let o=Te[w[t]]+(xe.get(t)?.track||0)+.5;r.push(Ae(o,_e(t,i)),Ae(o,a))}r.push(Ae(ke(e.v),me.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:fe,h:Oe,out:je}:{w:Oe,h:fe,out:je}}x(e.root,t);let T=[],E=new Map,D=new Map([[e.root,[Et,Et]]]);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+kt,r+t.y+Tt+kt])}}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=Ft(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*Et,H:M.h+2*Et,flow:t,cell:s.cell,keep:s.keep,margin:Et,items:T,links:A,trunks:O,pairs:_,orders:v}}function Ft(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 It(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 Lt={climb:5,turn45:1.5,turn90:3,foreign:2.5,crowd:.2,near:0,hug:2.5,haste:3.2},Rt=[1,1,0,-1,-1,-1,0,1],zt=[0,1,1,1,0,-1,-1,-1],Bt=3,Vt=8;function Ht(e,t,n={}){let{climb:r,turn45:i,turn90:a,foreign:o,crowd:s,near:c,hug:l,haste:u}={...Lt,...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 ct(v,e))w[t]=E;if(O){w[O.folder]=E;for(let e of ct(v,O.folder))w[e]=E}else for(let e of ct(v,t))w[e]=E;let k=v[e],L=O?null:v[t],R=O?O.ends:new Map(I(L).map(e=>[e[0],e])),z,B,V,H;if(O?.toward!==void 0)z=B=O.toward%d,V=H=O.toward/d|0;else if(O){z=V=1/0,B=H=-1/0;for(let e of R.keys()){let t=e%d,n=e/d|0;z=Math.min(z,t),B=Math.max(B,t),V=Math.min(V,n),H=Math.max(H,n)}}else z=L.gx-1,B=L.gx+L.w,V=L.gy-1,H=L.gy+L.h;let U=(e,t)=>{let n=Math.max(z-e,e-B,0),r=Math.max(V-t,t-H,0);return u*(Math.max(n,r)+.414*Math.min(n,r))},W=new Map;for(let e of I(k)){let t=e[0],n=t*9+Vt,r=Math.fround(1+s*Math.min(y[t],Bt));C[n]===E&&x[n]<=r||(C[n]=E,x[n]=r,S[n]=-1,j(r+U(t%d,t/d|0),r,n),W.set(t,e))}let G=!!O?.strict,K=-1;for(;A;){M();let e=P,t=N;if(e>=T){K=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]){K=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+Rt[T],M=F+zt[T];if(k<n||M<f||k>_||M>D)continue;let N=M*d+k;if(m[N]||G&&h[N]!==O.folder)continue;if(Rt[T]&&zt[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=(Rt[T]&&zt[T]?1.414:1)*(1+s*Math.min(y[N],Bt)+c*Math.min(b[N],Bt))+r*Math.abs(p[N]-p[u]);if(v!==Vt&&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+U(k,M),L,I))}}if(K<0)return null;let q=[];for(let e=K;e!==-1;e=S[e])q.push(e/9|0);q.reverse();for(let e of q)F(e,1);let ee=W.get(q[0]),J=R.get(q[q.length-1]),Y=[[ee[1],ee[2]]];for(let e of q)Y.push([e%d+.5,(e/d|0)+.5]);return Y.push([J[1],J[2]]),{cells:Int32Array.from(q),pts:Y}}function R(e,t){let n=v[e],r=v[t],i=Math.max(Math.abs(n.gx-r.gx),Math.abs(n.gy-r.gy)),a=Math.max(12,Math.ceil(i*.4)),o=Math.max(0,Math.min(n.gx,r.gx)-a),s=Math.max(0,Math.min(n.gy,r.gy)-a),c=Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+a),l=Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+a);return L(e,t,o,s,c,l)||(o||s||c<d-1||l<f-1?L(e,t,0,0,d-1,f-1):null)}function z(e,t){return v[e],v[t.folder],B(e,{...t,strict:!0})||B(e,t)}function B(e,t){let n=v[e],r=v[t.folder];return L(e,-1,Math.max(0,Math.min(n.gx,r.gx)-2),Math.max(0,Math.min(n.gy,r.gy)-2),Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+2),Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+2),t)}function V(e){let t=new Set;for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++){let n=Math.floor(r+(a-r)*e/s),c=Math.floor(i+(o-i)*e/s);n<0||c<0||n>=d||c>=f||m[c*d+n]||t.has(c*d+n)||(t.add(c*d+n),F(c*d+n,1))}}}return{route:R,routeTo:z,occupy:V,release:e=>{for(let t of e.cells)F(t,-1)},hold:e=>{for(let t of e.cells)F(t,1)}}}var Ut=[0,1,-1,2,-2,3,-3];function Wt(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=Ut.find(e=>!i.has(e))??0,delete t.edges})}var Gt=(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 Kt(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++)Gt(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 qt(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);Wt(o,n*r);let s={...Kt(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 Jt=[1,1,0,-1,-1,-1,0,1],Yt=[0,1,1,1,0,-1,-1,-1],Xt=8,Zt={turn45:1.5,turn90:3,diag:1.3,hug:1,share:.35,centre:.3,gather:224};function Qt(e,t=st(e),n={}){let{turn45:r,turn90:i,diag:a,hug:o,share:s,centre:c,gather:l}={...Zt,...n},{items:u,trunks:d}=e,{W:f,H:p,blocked:m,owner:h}=t,g=f*p,_=Math.max(2,Math.round(28/(e.cell??7))),v=ln(t,_),y=_,b=new Uint8Array(g),x=10/(e.cell??7),S=(e,t)=>e>=0&&t>=0&&e<f&&t<p,C=(e,t,n)=>S(e,t)&&!m[t*f+e]&&h[t*f+e]===n;function w(e,t,n){let[r,i]=e,[a,o]=t,s=n?a-r:o-i,c=n?o-i:a-r,l=Math.sign(s),u=Math.sign(c),d=Math.abs(s),f=Math.abs(c),p=[];if(d>=f){let e=Math.floor((d-f)/2);for(let t=0;t<e;t++)p.push([l,0]);for(let e=0;e<f;e++)p.push([l,u]);for(let t=0;t<d-f-e;t++)p.push([l,0])}else{let e=Math.floor(d/2);for(let t=0;t<e;t++)p.push([l,u]);for(let e=0;e<f-d;e++)p.push([0,u]);for(let t=0;t<d-e;t++)p.push([l,u])}let m=[[r,i]],h=r,g=i;for(let[e,t]of p)n?(h+=e,g+=t):(h+=t,g+=e),m.push([h,g]);return m}function T(e,t,n,r,i){let a=Math.max(e.gx-(t.gx+t.w),t.gx-(e.gx+e.w)),o=Math.max(e.gy-(t.gy+t.h),t.gy-(e.gy+e.h)),s=a>=o;if((s?a:o)<1)return null;let[c,l]=s?t.gx<e.gx?[3,2]:[2,3]:t.gy<e.gy?[1,0]:[0,1];if(i&&i.side!==c||r&&r.side!==l)return null;let u=cn(t)[c],d=cn(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?un(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($t(t,c,r,x)||$t(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===Xt||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(cn(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)&&!$t(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 en(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(cn(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)&&!$t(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 en(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+Jt[e],l=d+Yt[e];if(!C(i,l,n)||Jt[e]&&Yt[e]&&(!C(i,d,n)||!C(c,l,n)))continue;let u=l*f+i,p=r+(Jt[e]&&Yt[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=>rn(e,(e,t)=>{S(e,t)&&!m[t*f+e]&&(b[t*f+e]=1)}),z=(e,t,n)=>{let r=d[e],i=u[r.a],a=u[r.b];return T(i,a,i.parent,t,n)??F(i,a,i.parent,t,n)};for(let e of I){let t=z(e);t&&(L[e].pts=t,R(t))}let B=l/(e.cell??7),V=new Map;L.forEach((e,t)=>{if(e.pts)for(let[n,r,i]of[[`b`,e.b,e.pts[0]],[`a`,e.a,e.pts.at(-1)]]){let a=u[r];if(a.kind!==`folder`||!tn(a,i))continue;let o=nn(a,i),s=`${r}|${o}`;V.set(s,[...V.get(s)||[],{k:t,end:n,t:Math.floor(o<2?i[0]:i[1]),count:e.count}])}});let H=new Map;for(let[e,t]of V){let[n,r]=e.split(`|`).map(Number),i=u[n];cn(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])=>!$t(i,r,e,x)).reduce((e,t)=>t[1]>e[1]||t[1]===e[1]&&Math.abs(t[0]-s)<Math.abs(e[0]-s)?t:e)[0];for(let e of a)e.t!==c&&H.set(e.k,{...H.get(e.k),[e.end]:{side:r,t:c}})}}if(H.size){b.fill(0),L.forEach((e,t)=>{e.pts&&!H.has(t)&&R(e.pts)});for(let e of I){let t=H.get(e);if(!t)continue;let n=L[e],r=(e,t)=>{if(!tn(u[e],t))return;let n=nn(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 $t(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 en(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 tn(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 nn(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 rn(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 an={turn45:1.5,turn90:3,diag:1.3,hug:1,centre:1,join:.5,cross:1,haste:1.5,hasteNote:4};function on(e,t,n=st(e),r={}){let{turn45:i,turn90:a,diag:o,hug:s,centre:c,join:l,cross:u,haste:d,hasteNote:f}={...an,...r},{items:p,links:m}=e,{W:h,H:g,blocked:_,owner:v}=n,y=h*g,b=Math.max(2,Math.round(28/(e.cell??7))),x=ln(n,b),S=10/(e.cell??7),C=new Uint8Array(y);for(let e of t)e.pts&&rn(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(!tn(e,[t,n])){let i=en(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)=>(Jt[e]&&Yt[e]?Math.SQRT2*o:1)+s*(b-x[t]),O=(e,t)=>{if(e===Xt||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?i:a*(n>=3?2:1)},k=new Float32Array(y*9+1),A=new Int32Array(y*9+1),j=new Uint32Array(y*9+1),M=y*9,N=0,P=new Float64Array(4096),F=new Float64Array(4096),I=new Int32Array(4096),L=0,R=0,z=0,B=(e,t,n)=>{if(L===P.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};P=e(P,Float64Array),F=e(F,Float64Array),I=e(I,Int32Array)}let r=L++;for(;r>0;){let t=r-1>>1;if(P[t]<=e)break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n},V=()=>{P[0],R=F[0],z=I[0];let e=P[--L],t=F[L],n=I[L],r=0;for(;;){let t=2*r+1;if(t>=L||(t+1<L&&P[t+1]<P[t]&&t++,P[t]>=e))break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n};function H(e,t,n,r,i){N++,L=0;let a=(e,t)=>w(e,t)&&!_[t*h+e]&&v[t*h+e]===n,o=r%h,d=r/h|0,f=(e,t)=>{let n=Math.abs(e-o),r=Math.abs(t-d);return i*(1-l)*(Math.max(n,r)+.414*Math.min(n,r))},p=new Map;if(e.kind===`folder`)for(let t of en(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(cn(e).forEach((t,n)=>t.cells.forEach(([r,i])=>{if(!a(r,i)||$t(e,n,t.dir===6||t.dir===2?r:i,S))return;let o=t.dir===6||t.dir===2?r:i,l=i*h+r,u=l*9+t.dir,d=Math.fround(c*Math.abs(o+.5-t.mid)+s*(b-x[l]));j[u]===N&&k[u]<=d||(j[u]=N,k[u]=d,A[u]=-1,p.set(l,t.wall(o)),B(d+f(r,i),d,u))}));L;){V();let e=z,n=R;if(e===M)break;if(n!==k[e])continue;let r=e/9|0,i=e%9,o=r%h,s=r/h|0,c=t.get(r);if(c){let t=n+c.rest+O(i,c.dir);(j[M]!==N||t<k[M])&&(j[M]=N,k[M]=t,A[M]=e,B(t,t,M))}for(let t=0;t<8;t++){let r=o+Jt[t],c=s+Yt[t];if(!a(r,c)||Jt[t]&&Yt[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 U=[];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`&&U.push({folder:e.a,at:e.pts[e.pts.length-1],notes:r.map(e=>e.a),trunk:t}),p[e.b].kind===`folder`&&U.push({folder:e.b,at:e.pts[0],notes:r.map(e=>e.b),trunk:t})});let W=[],G=e=>p[e].kind===`note`,K=new Map;for(let e=0;e<U.length;e++){let{folder:t,at:n,notes:r,trunk:i}=U[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};K.has(m)||K.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}=K.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)=>G(e[0])-G(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=G(e),a=C.get(e),c=r?y:v,u=a&&c.has(a.cell)?{cells:[a.cell],pts:[a.wall,c.get(a.cell).pt,c.get(a.cell).pt]}:H(p[e],c,t,m,r?f:d);if(!u)continue;a||C.set(e,{cell:u.cells[0],wall:u.pts[0]});let g=W.length,_=u.cells.at(-1);W.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:sn(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||U.push({folder:e,at:u.pts[0],notes:n,trunk:i})}}return Wt(W,y),W.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 sn=(e,t)=>Jt.findIndex((n,r)=>n===Math.sign(e)&&Yt[r]===Math.sign(t));function cn(e){return[{dir:6,cells:un(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:un(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:un(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:un(e.gy,e.gy+e.h).map(t=>[e.gx+e.w,t]),mid:e.gy+e.h/2,wall:t=>[e.gx+e.w,t+.5]}]}function ln({W:e,H:t,blocked:n,owner:r},i){let a=e*t,o=new Uint8Array(a).fill(i),s=new Int32Array(a),c=0,l=0;for(let i=0;i<a;i++){if(n[i]){o[i]=0;continue}let a=i%e,c=i/e|0;for(let u=0;u<8;u++){let d=a+Jt[u],f=c+Yt[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+Jt[i],f=d+Yt[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 un=(e,t)=>Array.from({length:Math.max(0,t-e)},(t,n)=>e+n);function dn(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 fn(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 pn(e,t){let n={flow:t.gridFlow===`right`?`right`:`up`,grain:vn(t),plan:!!t.blocks,from:t.from??null},r=Pt(e,n);if(t.blocks){let t=mn(r,Qt(r,st(r)));[...t.values()].some(e=>e.wider.size)&&(r=Pt(e,{...n,planned:t}))}r.feeders=hn(r);let i=st(r),a=Qt(r,i),o=on(r,a,i);return dn(r,[...a,...o]),r.highways={trunks:a,feeders:o},r}function mn(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 hn(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=st(e),o=Ht(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]?Lt.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 Wt(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 gn(e){let t=st(e),n=Ht(e,t);return e=>qt(n,e,t.W,t.H)}function _n(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 vn=e=>e.grain===`coarse`||e.grain===`coarser`?e.grain:`fine`;function yn(e,t={}){return _n(JSON.stringify([14,t.gridFlow===`right`?`right`:`up`,vn(t),!!t.blocks,e]))}var bn,xn=1,Sn=new Map;function Cn(e){if(bn===void 0)try{bn=new Worker(new URL(new URL(`../workers/worker-CWkpeSVG.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),bn.onmessage=({data:e})=>{let t=Sn.get(e.id);Sn.delete(e.id),e.error===void 0?t?.resolve(e.result):t?.reject(Error(e.error))},bn.onerror=()=>{for(let e of Sn.values())e.reject(Error(`the layout worker stopped`));Sn.clear(),bn=null}}catch{bn=null}if(!bn)return Promise.reject(Error(`no worker`));let t=xn++;return new Promise((n,r)=>{Sn.set(t,{resolve:n,reject:r}),bn.postMessage({id:t,...e})})}var wn=new Map,Tn=new Map,En=``;async function Dn(e,t){let n=fn(e),r=yn(n,t),i=wn.get(r);return i||(i=await Cn({layout:{model:n,o:t}}).catch(()=>pn(n,t)),wn.size>=6&&wn.delete(wn.keys().next().value),wn.set(r,i)),{key:r,layout:i}}async function On(e,t,n){if(!n.length)return[];let r=()=>{let r=Tn.get(e);return r||(Tn.clear(),Tn.set(e,r=gn(t))),r(n)},i=En!==e;return En=e,(await Cn({routes:{key:e,layout:i?t:null,asks:n}}).catch(()=>Cn({routes:{key:e,layout:t,asks:n}})).catch(r)).routes.map(e=>e?.pts??null)}var kn=o(`<path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"></path>`),An=o(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),jn=o(`<svg class="notch svelte-m50bdg" viewBox="0 0 16 16" aria-hidden="true"><!></svg>`),Mn=m(` <wbr/> `,1),Nn=m(`<b class="order svelte-m50bdg" aria-hidden="true"> </b>`),Pn=m(`<i class="dia svelte-m50bdg" aria-hidden="true"></i>`),Fn=m(`<a data-lustre=""><!><span class="inner svelte-m50bdg"><!><span class="t svelte-m50bdg"><!></span></span><!><!></a>`);function In(n,r){z(r,!0);let i=I(r,`kind`,3,``),a=I(r,`file`,3,``),o=I(r,`prospect`,3,!1),s=I(r,`done`,3,!1),u=I(r,`behind`,3,`var(--ground-0)`),f=I(r,`mark`,3,``),m=I(r,`far`,3,0),_=I(r,`iso`,3,``),v=I(r,`dim`,3,!1),b=I(r,`moment`,3,``),x=I(r,`given`,3,!1),S=I(r,`held`,3,``),T=I(r,`changed`,3,!1),E=I(r,`order`,3,0),D=I(r,`here`,3,!1);var k=Fn();let M;var N=C(k),P=e=>{var t=jn(),n=C(t),r=e=>{var t=kn();l(()=>j(t,`fill`,s()?`currentColor`:`none`)),d(e,t)},a=e=>{var t=An();l(()=>j(t,`fill`,s()?`currentColor`:`none`)),d(e,t)};p(n,e=>{i()===`question`?e(r):e(a,-1)}),G(t),d(e,t)};p(N,e=>{i()&&e(P)});var F=A(N),R=C(F),B=e=>{ye(e,{get kind(){return a()},size:11})};p(R,e=>{a()&&e(B)});var V=A(R),H=C(V),U=e=>{var n=Mn(),i=h(n,!0),a=A(i,2,!0);l((e,n)=>{t(i,e),t(a,n)},[()=>r.title.slice(0,r.title.lastIndexOf(`.`)),()=>r.title.slice(r.title.lastIndexOf(`.`))]),d(e,n)},W=L(()=>a()&&/^[^\s]+\.\w+$/.test(r.title)),K=e=>{var n=c();l(()=>t(n,r.title)),d(e,n)};p(H,e=>{y(W)?e(U):e(K,-1)}),G(V),G(F);var q=A(F),ee=n=>{var r=Nn(),i=e(r,!0);l(()=>t(i,E())),d(n,r)};p(q,e=>{E()&&e(ee)});var J=A(q),te=e=>{var t=Pn();d(e,t)};p(J,e=>{T()&&e(te)}),G(k),l(e=>{M=Y(k,1,`n ${b()?`mo-${b()}`:``} ${_()?`p-${_()}`:``} ${f()??``} ${i()??``}`,`svelte-m50bdg`,M,{done:s(),dim:v()&&!_()&&!x(),far:m()>1,given:x(),held:S()===`on`,changed:T(),here:D(),file:!!a(),prospect:o()}),j(k,`aria-current`,D()?`page`:void 0),j(k,`href`,r.href),j(k,`aria-label`,`${o()?`Asked back, not kept: `:i()===`question`?`Question: `:i()===`problem`?`Problem${s()?`, solved`:``}: `:``}${r.title}${x()?`: in Iso's context`:S()===`on`?`: read by the agent`:``}${T()?`, changed by the agent`:``}`),j(k,`title`,x()?`In Iso's context: shift+click takes it back`:void 0),j(k,`data-note`,r.item.ref),w(k,`--x:${r.item.gx??``};--y:${r.item.gy??``};--w:${r.item.w??``};--h:${r.item.h??``};--lit:${e??``}%;--behind:${u()??``}`)},[()=>Math.max(34,100-(m()-1)*20)]),g(`click`,k,function(...e){r.onpick?.apply(this,e)}),ie(`pointerenter`,k,e=>{e.pointerType===`mouse`&&r.onpoint(!0)}),ie(`pointerleave`,k,e=>{e.pointerType===`mouse`&&r.onpoint(!1)}),ie(`focus`,k,()=>r.onpoint(!0)),ie(`blur`,k,()=>r.onpoint(!1)),d(n,k),O()}u([`click`]);var Ln=m(`<button class="frame-title svelte-ywp27z" type="button"> </button>`),Rn=m(`<span class="frame-title held svelte-ywp27z"> </span>`),zn=m(`<div><!> <!></div>`),Bn=m(`<button type="button"><span class="inner svelte-ywp27z"><span class="name svelte-ywp27z"> </span><span class="label svelte-ywp27z"> </span></span></button>`);function Vn(n,r){z(r,!0);let i=I(r,`titled`,3,!0),a=I(r,`held`,19,()=>({req:0,bld:0})),o=I(r,`dim`,3,!1),s=I(r,`given`,3,!1),c=I(r,`here`,3,!1),u=I(r,`moment`,3,``),m=L(()=>r.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),_=L(()=>r.item.depth%2?`var(--ground-0)`:`var(--ground-1)`),v=L(()=>a().req?`req`:a().bld?`bld`:``),b=L(()=>[a().req?`${a().req} required here`:``,a().bld?`${a().bld} ${a().bld===1?`builds`:`build`} on it`:``].filter(Boolean).join(` · `)),x=L(()=>`--x:${r.item.gx};--y:${r.item.gy};--w:${r.item.w};--h:${r.item.h}`);var S=f(),T=h(S),E=n=>{var a=zn();let o;var c=C(a),f=n=>{var i=Ln(),a=e(i,!0);l(()=>{j(i,`title`,s()?`In Iso's context: shift+click takes it back`:void 0),t(a,r.name)}),g(`click`,i,function(...e){r.onpick?.apply(this,e)}),d(n,i)};p(c,e=>{i()&&e(f)});var h=A(c,2),S=n=>{var r=Rn(),i=e(r,!0);l(()=>t(i,y(b))),d(n,r)};p(h,e=>{y(b)&&e(S)}),G(a),l(()=>{o=Y(a,1,`folder frame ${y(v)??``} ${u()?`mo-${u()}`:``}`,`svelte-ywp27z`,o,{given:s()}),j(a,`data-folder`,r.item.ref),w(a,`${y(x)??``};--inside:${y(m)??``};--behind:${y(_)??``};--ground-here:${y(m)??``}`)}),d(n,a)},D=n=>{var i=Bn();let a;var f=C(i),p=C(f),m=e(p,!0),h=A(p),_=e(h,!0);G(f),G(i),l(()=>{a=Y(i,1,`folder frame closed ${y(v)??``} ${u()?`mo-${u()}`:``}`,`svelte-ywp27z`,a,{dim:o(),given:s(),here:c()}),j(i,`aria-current`,c()?`page`:void 0),j(i,`data-folder`,r.item.ref),w(i,y(x)),j(i,`title`,s()?`In Iso's context: shift+click takes it back`:void 0),t(m,r.name),t(_,y(b)||`${r.count} ${r.count===1?`note`:`notes`}`)}),g(`click`,i,function(...e){r.onpick?.apply(this,e)}),d(n,i)};p(T,e=>{r.open?e(E):e(D,-1)}),d(n,S),O()}u([`click`]);var Hn=o(`<path pathLength="1"></path>`),Un=o(`<path></path>`),Wn=o(`<path class="along touch svelte-k96fgh" pathLength="1"></path>`),Gn=o(`<!><!>`,1),Kn=o(`<path class="grown svelte-k96fgh" pathLength="1"></path>`),qn=o(`<svg class="routes svelte-k96fgh" aria-hidden="true"><g class="svelte-k96fgh"><!><!></g></svg>`);function Jn(e,t){z(t,!0);let n=I(t,`pointed`,3,!1),r=I(t,`grown`,19,()=>[]),i=I(t,`beat`,3,``),a=I(t,`retracting`,19,()=>[]),o=e=>`${(e.strong?e.trunk?3:1.5:e.trunk?2:1)/t.k}px`;var s=qn(),c=C(s),u=C(c),m=e=>{var t=f(),n=h(t);_(n,17,a,e=>e.key,(e,t)=>{var n=Hn();let r,i;l(e=>{r=Y(n,0,`along retract ${y(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,r,{trunk:y(t).trunk}),j(n,`d`,y(t).d),i=w(n,``,i,{"stroke-width":e})},[()=>o(y(t))]),d(e,n)}),d(e,t)},g=e=>{var n=f(),r=h(n);_(r,17,()=>t.rest,e=>e.key,(e,t)=>{var n=Hn();let r,i;l(e=>{r=Y(n,0,`along draw ${y(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,r,{trunk:y(t).trunk}),j(n,`d`,y(t).d),i=w(n,``,i,{"stroke-width":e})},[()=>o(y(t))]),d(e,n)}),d(e,n)},v=e=>{var r=Gn(),i=h(r);_(i,17,()=>t.rest,e=>e.key,(e,t)=>{var n=Un();let r;l(()=>{r=Y(n,0,re(y(t).strong?`base`:`base weak`),`svelte-k96fgh`,r,{trunk:y(t).trunk}),j(n,`d`,y(t).d)}),d(e,n)});var a=A(i);_(a,17,()=>t.hot,e=>e.key,(e,r)=>{var i=f(),a=h(i),o=e=>{var n=Wn();let i;l(()=>{j(n,`d`,y(r).d),i=w(n,``,i,{"stroke-width":`${2/t.k}px`})}),d(e,n)},s=e=>{var t=Un();let n;l(()=>{n=Y(t,0,`lit ${y(r).kind??``}`,`svelte-k96fgh`,n,{still:y(r).still}),j(t,`d`,y(r).d)}),d(e,t)};p(a,e=>{n()&&y(r).kind!==`iso`?e(o):e(s,-1)}),d(e,i)}),d(e,r)};p(u,e=>{i()===`retract`?e(m):i()===`draw`?e(g,1):i()===``&&e(v,2)});var b=A(u);_(b,17,r,e=>e.key,(e,n)=>{var r=Kn();let i;l(()=>{j(r,`d`,y(n).d),i=w(r,``,i,{"stroke-width":`${3/t.k}px`})}),d(e,r)}),G(c),G(s),l(()=>{j(s,`data-requires`,t.counts.requires),j(s,`data-builds`,t.counts.builds),j(s,`data-uses`,t.counts.uses),j(c,`transform`,`scale(${t.k??``})`)}),d(e,s),O()}var Yn=m(`<p class="said svelte-14y1y1z"> </p>`),Xn=m(`<p class="said faint svelte-14y1y1z">There are no notes yet. The map draws itself as you write them.</p>`),Zn=m(`<span> </span>`),Qn=m(`<a class="sat web svelte-14y1y1z" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><circle cx="8" cy="8" r="5.5"></circle><path d="M2.5 8h11M8 2.5c-2 2.8-2 8.2 0 11M8 2.5c2 2.8 2 8.2 0 11"></path></svg></a>`),$n=o(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><rect x="2.5" y="3" width="11" height="10"></rect><path d="M2.5 11l3.5-3.5 3 3 1.5-1.5 3 3"></path></svg>`),er=m(`<img alt="" loading="lazy" draggable="false" class="svelte-14y1y1z"/>`),tr=m(`<a><!></a>`),nr=m(`<span role="img"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path></svg></span>`),rr=o(`<path d="M1.5 5.5h6l2 2.5h9v12.5h-17z" class="svelte-14y1y1z"></path>`),ir=o(`<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),ar=m(`<div><svg viewBox="0 0 20 24" width="20" height="24" aria-hidden="true" class="svelte-14y1y1z"><!></svg> <span class="svelte-14y1y1z"> </span></div>`),or=m(`<button type="button"><svg viewBox="0 0 12 12" width="12" height="12" aria-hidden="true" class="svelte-14y1y1z"><path d="M2 2l8 4-8 4z" class="svelte-14y1y1z"></path></svg></button>`),sr=m(`<p class="notice svelte-14y1y1z" role="alert"> </p>`),cr=m(`<p class="given svelte-14y1y1z" role="status"> </p>`),lr=m(`<p class="legend svelte-14y1y1z" aria-hidden="true"><span class="svelte-14y1y1z"><i class="k g svelte-14y1y1z"></i>you gave it</span><span class="svelte-14y1y1z"><i class="k h svelte-14y1y1z"></i>the agent read it</span><span class="svelte-14y1y1z"><i class="k d svelte-14y1y1z"></i>the agent changed it</span><span class="svelte-14y1y1z"><i class="k n svelte-14y1y1z">1</i>read, in order</span></p>`),ur=m(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◇</i>Take back from Iso</button>`),dr=m(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◆</i>Give to Iso</button>`),fr=m(`<div class="offer frame svelte-14y1y1z" role="menu"><!> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">▣</i>Open</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i class="q svelte-14y1y1z" aria-hidden="true">?</i>A question about it</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">△</i>A problem using it</button></div>`),pr=m(`<div aria-hidden="true"> </div>`),mr=m(`<!> <div><div class="scaled svelte-14y1y1z"></div> <!> <!> <div class="scaled svelte-14y1y1z"><!> <!></div> <!></div> <!> <!> <!> <!> <!> <!>`,1),hr=m(`<div role="application" aria-label="The atlas: the map of the base" tabindex="0"><div class="ground dots svelte-14y1y1z" aria-hidden="true"></div> <!></div>`);function gr(r,i){z(i,!0);let a=q(null),o=q(null),s=``,c=q(``),u=q({x:0,y:0,k:1}),m=q(1),x;K(()=>{let e=y(u).k;clearTimeout(x),Math.abs(Math.log(e/y(m)))>.35?U(m,e,!0):e!==y(m)&&(x=setTimeout(()=>U(m,e,!0),150))});let S=q(!1),T;K(()=>(y(u).x,y(u).y,y(u).k,U(S,!0),clearTimeout(T),T=setTimeout(()=>U(S,!1),200),()=>clearTimeout(T)));let D=e=>{U(u,e),U(m,e.k,!0)},k=q({w:0,h:0}),N=q(``),P=q([]),F=L(()=>y(P).at(-1)??``),I=q(void 0),B=[`fine`,`coarse`,`coarser`],V=q(ee(B.find(e=>e===te(`isorite.atlas.grain`))??`fine`)),H=q(te(`isorite.atlas.leaves`)===`on`),W=!1,J=window.innerWidth>=window.innerHeight?`right`:`up`;function te(e){try{return localStorage.getItem(e)}catch{return null}}function ne(){U(V,B[(B.indexOf(y(V))+1)%B.length],!0),W=!1;try{localStorage.setItem(`isorite.atlas.grain`,y(V))}catch{}oe()}function re(e){U(H,e,!0);try{localStorage.setItem(`isorite.atlas.leaves`,e?`on`:`off`)}catch{}}let ae=L(()=>{if(!Z.on.questions)return[];let e=[];for(let t of $.session?.turns??[])for(let n of t.items)n.kind===`question`&&!n.made&&e.push({ref:`?${n.id}`,title:n.title,about:n.about});return e});async function oe(){try{let e=await X.api.map(),t=b(()=>y(ae)),n={...e.notes};for(let e of t)n[e.ref]={title:e.title,tokens:0,kind:`question`};let r={...e,model:nt(e.model,t),notes:n},i={...r,model:rt(r.model,e=>{if(r.files?.[e])return!Z.on.pictures;let t=r.notes[e];return t?.kind===`question`?!Z.on.questions||!!t.done:t?.kind===`problem`&&!Z.on.problems})},l=`${J}|${y(V)}`,u=y(o)&&s===l?y(o).layout.orders??null:null,d=await Dn(i.model,{gridFlow:J,grain:y(V),blocks:!0,from:u});s=l;let f=!!y(o)&&y(o).key!==d.key,p=y(o)&&y(Q)?{refs:new Set(y(Q).items.map(e=>e.ref)),edges:new Set(y(a).model.edges.map(([e,t])=>`${e}>${t}`))}:null,m=!y(o)||y(o).key!==d.key&&!W,h=++we,g=matchMedia(`(prefers-reduced-motion: reduce)`).matches,_=!!p&&f&&!g;if(_){if(U(Ce,y(Me)),U(Se,`retract`),await ye(he),h!==we)return;U(Ce,[]),U(Se,`move`)}if(U(a,i),U(o,d),U(c,``),p&&f&&Oe(p),m&&y(k).w&&D(me()),_){if(await ye(ge),h!==we)return;U(Se,`draw`),await ye(ve),h===we&&U(Se,``)}}catch(e){U(c,e.message,!0)}}let ce=``;K(()=>{let e=y(ae).map(e=>e.ref).join(` `);if(e!==ce){let t=ce===``&&e===``;ce=e,t||oe()}});let le=``;K(()=>{let e=`${Z.on.questions}|${Z.on.problems}|${Z.on.pictures}`;le&&le!==e&&oe(),le=e}),K(()=>{oe();let e,t=X.on(t=>{t.type===`note-changed`&&(clearTimeout(e),e=setTimeout(()=>{oe()},400))});return()=>{t(),clearTimeout(e)}});let Q=L(()=>y(o)?He(y(o).layout):null),fe=L(()=>y(Q)?Be(y(Q)):null),pe=L(()=>y(Q)?Ue(y(Q),y(m)):``),me=()=>{let e=(y(Q)?.margin??0)/2;return et({gx:e,gy:e,w:(y(Q)?.W??1)-2*e,h:(y(Q)?.H??1)-2*e},y(k).w,y(k).h,1,y(Q)?.cell)},he=220,ge=520,ve=340,ye=e=>new Promise(t=>setTimeout(t,e)),Se=q(``),Ce=q([]),we=0,Ee=q(!1),De=q([]);async function Oe(e){if(U(Ee,!0),setTimeout(()=>U(Ee,!1),700),await v(),!y(Q)||!y(fe)||!y(a))return;let t=matchMedia(`(prefers-reduced-motion: reduce)`).matches;for(let n of y(Q).items)e.refs.has(n.ref)||n.ref.startsWith(`@`)||(y(I)?.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=y(a).model.edges.filter(([t,n])=>!e.edges.has(`${t}>${n}`)&&!t.startsWith(`@`)&&!n.startsWith(`@`)&&e.refs.has(t)&&e.refs.has(n));U(De,n.flatMap(([e,t])=>{let n=y(fe).at.get(e),r=y(fe).at.get(t);return n===void 0||r===void 0?[]:[{key:`${e}>${t}`,d:ke(y(Q).items[We(y(fe),y(pe),n)],y(Q).items[We(y(fe),y(pe),r)])}]})),y(De).length&&setTimeout(()=>U(De,[]),5600)}function ke(e,t){let n=t.gx+t.w/2-(e.gx+e.w/2),r=t.gy+t.h/2-(e.gy+e.h/2),i=11/18*Math.abs(n)>=Math.abs(r);return Qe($e(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,y(Q).cell)}K(()=>{if(!y(I))return;let e=new ResizeObserver(([e])=>{let{width:t,height:n}=e.contentRect,r=!y(k).w,i=y(k);U(k,{w:t,h:n}),r&&y(Q)?D(me()):!r&&t&&n&&U(u,{...y(u),x:y(u).x+(t-i.w)/2,y:y(u).y+(n-i.h)/2})});return e.observe(y(I)),()=>e.disconnect()});let Ae=L(()=>y(Q)?y(Q).items.flatMap((e,t)=>e.kind===`folder`&&y(pe)[t]!==`-`?[{item:e,i:t,open:y(pe)[t]===`o`}]:[]):[]),je=L(()=>y(Q)?y(Q).items.flatMap((e,t)=>e.kind===`note`&&y(pe)[t]===`s`?[{item:e,i:t}]:[]):[]),Me=L(()=>y(Q)?Ye(Ge(y(Q),y(pe),y(fe).strong,y(H))).map(e=>({key:e.key,pts:e.pts,d:Qe(e.pts,0,y(Q).cell),count:e.count,strong:e.strong,trunk:e.trunk,...Ne(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 Ne(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 Ie=L(()=>y(F)||y(N)),Le=L(()=>y(Ie)&&y(a)&&y(fe)?.at.has(y(Ie))?ue(y(a).model,y(Ie)):null),Ve=L(()=>{let e=new Map;if(!y(Le))return e;for(let t of y(Le).also)e.set(t,{mark:`also`,far:0});for(let t of y(Le).uses)e.set(t,{mark:`use`,far:0});for(let t of y(Le).builds)e.set(t,{mark:`bld`,far:0});for(let t of y(Le).requires)e.set(t,{mark:`req`,far:y(Le).depth[t]??1});for(let t of y(P))e.set(t,{mark:`req`,far:1});return e.set(y(Ie),{mark:`at`,far:0}),e}),Ke=L(()=>{if(!y(Le))return[];let e=y(P).slice(1).map((e,t)=>({from:y(P)[t],to:e,kind:`requires`})),t=y(P).at(-2);return[...e,...y(Le).links.filter(e=>e.kind===`requires`?e.from===y(Ie):e.kind!==`builds`||e.from!==t)]}),qe=L(()=>{let e=new Map;if(!y(Le)||!y(fe))return e;let t=new Set(y(fe).up[y(fe).at.get(y(Ie))]),n=(n,r)=>{for(let i of n)for(let n of y(fe).up[y(fe).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(y(Le).requires,`req`),n(y(Le).builds,`bld`),e}),Je=(e,t)=>{let n=y(qe).get(e),r=y(Q).items[e].parent;return n&&(!t||r<0||!y(qe).has(r))?n:{req:0,bld:0}},Ze=q([]),it=q({requires:0,builds:0,uses:0});function ot(e,t){if(!e.length||!y(Q)||!y(fe)||!y(o)){t([],[]);return}let n=e.flatMap(e=>{let t=y(fe).at.get(e.from),n=y(fe).at.get(e.to);return t===void 0||n===void 0?[]:[{a:t,b:n,kind:e.kind}]}),{fixed:r,asks:i}=Xe(y(Q),y(fe),y(pe),n),a=e=>t(Ye(e,!0).map(e=>({key:e.key,kind:e.kind,d:Qe(e.pts,0,y(Q).cell),count:e.count,still:!e.flow})),e);if(a(r),!i.length)return;let s=!1;return On(y(o).key,y(Q),i.map(({a:e,b:t})=>({a:e,b:t}))).then(e=>{s||a([...r,...i.flatMap((t,n)=>e[n]?[{key:t.key,kind:t.kind,pts:[...e[n]].reverse()}]:[])])}).catch(()=>void 0),()=>{s=!0}}K(()=>ot(y(Ke),(e,t)=>{U(Ze,e),U(it,{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 st=L(()=>Te.route.id===`/n/[...id]`?Te.params.id??``:``);function ct(e,t=!1){if(!y(Q)||!y(fe)||!e)return-1;let n=t?y(Q).items.findIndex(t=>t.kind===`folder`&&t.ref.replace(/\/$/,``)===e):y(fe).at.get(e)??-1;return n<0?-1:We(y(fe),y(pe),n)}let lt=L(()=>ct(y(st))),ut=L(()=>xe.elsewhere),dt=L(()=>y(ut)?ct(y(ut).id,y(ut).folder):-1),ft=L(()=>{if(!y(ut)||y(ut).folder||!y(st)||y(ut).id===y(st)||!y(a))return[];let e=y(a).model.edges.find(([e,t])=>e===y(st)&&t===y(ut).id||e===y(ut).id&&t===y(st));return e?[{from:e[0],to:e[1],kind:e[2]>=se.requires?`requires`:`uses`}]:[]}),pt=q([]);K(()=>ot(y(ft),e=>{U(pt,e.map(e=>({...e,key:`there:${e.key}`})))}));let mt=``;K(()=>{let e=y(st);b(()=>{if(e&&e!==mt&&y(F)&&y(F)===mt&&y(fe)?.at.has(e)){let t=[];if(y(Le)&&y(Le).depth[e])for(let n=e;n&&n!==y(F);n=y(Le).via[n])t.unshift(n);U(P,y(P).includes(e)?y(P).slice(0,y(P).indexOf(e)+1):t.length?[...y(P),...t]:[e])}mt=e})});function ht(e){if(!y(Q)||e<0||!y(k).w)return null;let t=y(Q).items[e],n=y(Q).cell*y(u).k,r=y(u).x+t.gx*n,i=y(u).y+t.gy*n,a=r+t.w*n,o=i+t.h*n;if(a>0&&r<y(k).w&&o>0&&i<y(k).h)return null;let s=y(k).w/2,c=y(k).h/2,l=(r+a)/2-s,d=(i+o)/2-c,f=Math.min((s-14)/Math.max(Math.abs(l),1e-6),(c-14)/Math.max(Math.abs(d),1e-6));return{x:s+l*f,y:c+d*f,angle:Math.atan2(d,l)}}let gt=L(()=>ht(y(lt))),_t=L(()=>y(dt)===y(lt)?null:ht(y(dt)));function vt(e){if(!y(Q))return;let t=y(Q).items[e],n=y(Q).cell*y(u).k;W=!0,tn({k:y(u).k,x:y(k).w/2-(t.gx+t.w/2)*n,y:y(k).h/2-(t.gy+t.h/2)*n})}let yt=L(()=>X.iso),bt=L(()=>y(yt)?.state===`reading`||y(yt)?.state===`writing`),xt=L(()=>{let e=new Map;for(let t of y(yt)?.steps??[])t.opened&&!t.failed&&!e.has(t.opened)&&e.set(t.opened,t.how);return e}),St=L(()=>Z.on.context),Ct=L(()=>new Set(be.parts.filter(e=>e.kind===`note`).map(e=>e.id))),wt=L(()=>new Set(be.parts.filter(e=>e.kind===`folder`).map(e=>e.id))),Tt=/(^|[_:./-])(edit_note|write_note|edit|write|patch)$/,Et=L(()=>new Set(($.session?.turns??[]).flatMap(e=>e.items.flatMap(e=>e.kind===`tool`&&e.note&&!e.base&&e.status!==`failed`&&!Tt.test(e.name)?[e.note]:[])))),Dt=L(()=>new Set(($.session?.turns??[]).flatMap(e=>e.items.flatMap(e=>e.kind===`tool`&&e.note&&!e.base&&e.status!==`failed`&&Tt.test(e.name)?[e.note]:[])))),Ot=L(()=>{let e=new Map;for(let t of $.session?.turns.at(-1)?.items??[])t.kind===`tool`&&t.note&&!t.base&&t.status!==`failed`&&!Tt.test(t.name)&&!e.has(t.note)&&e.set(t.note,e.size+1);return e}),kt=L(()=>y(bt)?y(yt).steps.findLast(e=>e.opened&&!e.failed)?.opened??``:``),At=L(()=>(y(yt)?.steps??[]).flatMap(e=>e.how===`link`&&e.from&&e.opened&&!e.failed?[{from:e.from,to:e.opened,kind:`iso`}]:[])),jt=q([]);K(()=>ot(y(At),e=>{U(jt,e.map(e=>({...e,key:`iso:${e.key}`})))}));let Mt=e=>{if(!y(St))return``;if(e===y(kt))return`used`;let t=y(xt).get(e);return t===`keyword`?`key`:t===`meaning`?`sem`:t?`link`:``},Nt=q(null),Pt=null,Ft=!1,It,Lt;function Rt(){clearTimeout(It),clearTimeout(Lt),It=Lt=void 0,Pt=null,Ft||U(Nt,null)}function zt(e,t){let n=null;for(let r of y(Q).items)r.kind===`folder`&&!r.ref.startsWith(`@`)&&e>=r.gx&&e<r.gx+r.w&&t>=r.gy&&t<r.gy+r.h&&(!n||r.depth>n.depth)&&(n={ref:r.ref,depth:r.depth});return n?.ref??``}function Bt(e,t){if(Rt(),y(Ht)&&!(e.target instanceof Element&&e.target.closest(`.offer`))&&U(Ht,null),Ft||!y(Q)||!y(fe)||!(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`;Lt=setTimeout(()=>{Lt=void 0,nn=!0,r?U(Ht,{ref:n,x:t.x,y:t.y}):Kt(n)},650);return}let r=y(Q).cell*y(u).k,i=Math.round((t.x-y(u).x)/r),a=Math.round((t.y-y(u).y)/r),o={dir:zt(i,a),gx:i,gy:a,w:0,h:0,folder:!1};It=setTimeout(()=>{U(Nt,o)},180),Lt=setTimeout(()=>{Lt=void 0,nn=!0,Pt=t,U(Nt,o),y(I)?.setPointerCapture(e.pointerId)},650)}function Vt(e){Pt&&y(Nt)&&!y(Nt).folder&&Math.hypot(e.x-Pt.x,e.y-Pt.y)>=24&&U(Nt,{...y(Nt),folder:!0})}let Ht=q(null),Ut=q(``),Wt=q(``),Gt;function Kt(e,t=`note`){let n=be.add({kind:t,id:e,title:t===`note`?Qt(e):$t(e)});U(Wt,n?`${t===`note`?Qt(e):$t(e)} is in Iso's context`:`${t===`note`?Qt(e):$t(e)} is in Iso's context already`,!0),clearTimeout(Gt),Gt=setTimeout(()=>U(Wt,``),2200)}function qt(e,t=`note`){if(!be.has(t,e)){Kt(e,t);return}let n=t===`note`?Qt(e):$t(e);be.remove({kind:t,id:e,title:n}),U(Wt,`${n} is out of Iso's context`),clearTimeout(Gt),Gt=setTimeout(()=>U(Wt,``),2200)}function Jt(){Pt&&y(Nt)&&(Pt=null,Yt(y(Nt)))}async function Yt(e){Ft=!0;let t=X.listing.notes.map(e=>e.id),n=e.dir;if(e.folder){let r=Pe(e.dir,`untitled-folder`,e=>!t.some(t=>t.startsWith(`${e}/`)));n=[e.dir,r.slug].filter(Boolean).join(`/`)}let r=Pe(n,`untitled-note`,e=>!t.includes(e)),i=[n,r.slug].filter(Boolean).join(`/`),a=r.n===1?`Untitled note`:`Untitled note ${r.n}`;try{await X.api.createNote(i,`---\ntype: Concept\ntitle: ${JSON.stringify(a)}\n---\n\n`),await X.refresh(),Z.fresh=i,await Z.open(i)}catch(e){U(Ut,e.message,!0)}finally{Ft=!1,U(Nt,null)}}async function Xt(e,t){try{await Fe(e,t)}catch(e){U(Ut,e.message,!0)}}let Zt=e=>e.endsWith(`/`)?e.slice(0,-1):e,Qt=e=>y(a)?.notes[e]?.title??y(a)?.files?.[e]?.title??e.split(`/`).at(-1)??e,$t=e=>e.split(`/`).at(-1)||X.session?.name||`the base`,en=0;function tn(e){if(cancelAnimationFrame(en),yn(),matchMedia(`(prefers-reduced-motion: reduce)`).matches){U(u,e);return}let t=y(u),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=y(k).w/2,l=y(k).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;U(u,a===1?e:{k:s,x:c-d*s,y:l-f*s}),a<1&&(en=requestAnimationFrame(r))};en=requestAnimationFrame(r)}let nn=!1,rn=new Map,an=null;function on(){let e=[...rn.values()];if(!e.length){an=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;an={view:y(u),x:t,y:n,span:e.length>1?Math.hypot(e[0].x-e[1].x,e[0].y-e[1].y):0}}let sn=e=>{let t=y(I).getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},cn=null,ln=q(ee({x:0,y:0}));function un(e){if(!(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:Qt(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:$t(n)}:null}function dn(e){if(!cn||e.pointerType!==`mouse`)return;U(ln,{x:e.clientX,y:e.clientY},!0);let t=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-pane="iso"]`)!=null;be.carrying={part:cn,over:t}}function fn(e){(e.pointerType!==`mouse`||e.button===0)&&(cancelAnimationFrame(en),yn(),rn.size||(nn=!1,cn=un(e)),rn.set(e.pointerId,sn(e)),on(),rn.size===1?Bt(e,sn(e)):Rt())}function pn(e){if(!rn.has(e.pointerId)||!an)return;if(rn.set(e.pointerId,sn(e)),Pt){Vt(sn(e));return}let t=[...rn.values()],n=t.reduce((e,t)=>e+t.x,0)/t.length,r=t.reduce((e,t)=>e+t.y,0)/t.length;if(!nn&&t.length===1&&Math.hypot(n-an.x,r-an.y)<5)return;if(nn||(nn=!0,Rt(),y(I).setPointerCapture(e.pointerId)),t.length===1&&cn){dn(e);return}W=!0;let i=t.length>1?Math.hypot(t[0].x-t[1].x,t[0].y-t[1].y):0,a=an.span&&i?tt(an.view,i/an.span,an.x,an.y):an.view;U(u,{k:a.k,x:a.x+n-an.x,y:a.y+r-an.y})}function mn(e){if(rn.delete(e.pointerId)){if(be.carrying){let{part:e,over:t}=be.carrying;be.carrying=null,t&&(e.kind===`note`||e.kind===`folder`)&&Kt(e.id,e.kind)}cn=null,Pt?Jt():Lt!==void 0&&Rt(),on()}}let hn=null,gn=0;function _n(e){e.preventDefault(),cancelAnimationFrame(en),W=!0;let t=sn(e),n=e.deltaMode===1?16:1,r=Math.exp(-e.deltaY*n*(e.ctrlKey?.01:.0015)),i=Math.min(3,Math.max(ze,(hn?.k??y(u).k)*r));matchMedia(`(prefers-reduced-motion: reduce)`).matches?U(u,tt(y(u),i/y(u).k,t.x,t.y)):(hn={k:i,x:t.x,y:t.y},gn||=requestAnimationFrame(vn))}function vn(){if(gn=0,!hn)return;let e=hn.k/y(u).k;Math.abs(Math.log(e))<.004?(U(u,tt(y(u),e,hn.x,hn.y)),hn=null):(U(u,tt(y(u),e**.3,hn.x,hn.y)),gn=requestAnimationFrame(vn))}function yn(){cancelAnimationFrame(gn),gn=0,hn=null}K(()=>{if(!y(I))return;let e=y(I);return e.addEventListener(`wheel`,_n,{passive:!1}),()=>e.removeEventListener(`wheel`,_n)});function bn(e,t){if(e.metaKey||e.ctrlKey||(e.preventDefault(),e.stopPropagation(),nn))return;if(t.startsWith(`?`)){Z.to(`iso`);return}if(e.shiftKey){t.startsWith(`@`)||qt(t);return}if(y(F)===t){Z.open(Zt(t));return}let n=[];if(y(Le)&&y(Ie)===y(F)&&y(Le).depth[t])for(let e=t;e&&e!==y(F);e=y(Le).via[e])n.unshift(e);U(P,y(P).includes(t)?y(P).slice(0,y(P).indexOf(t)+1):n.length?[...y(P),...n]:[t])}function xn(e,t){if(nn||!y(Q))return;let n=y(Q).items[e].ref;if(t?.shiftKey){n.startsWith(`@`)||qt(n,`folder`);return}W=!0;let r=et(y(Q).items[e],y(k).w,y(k).h,1.5,y(Q).cell),i=Math.abs(r.k-y(u).k)<.01*r.k&&Math.hypot(r.x-y(u).x,r.y-y(u).y)<4,a=y(Q).items[e].parent;tn(i?a<0?me():et(y(Q).items[a],y(k).w,y(k).h,1.5,y(Q).cell):r)}function Sn(e){if(nn||!(e.target instanceof Element)||e.target.closest(`.dock, .key`))return;let t=e.target.closest(`[data-folder]`);e.target.closest(`a, button`)||(y(F)?U(P,[]):y(yt)&&!y(bt)?X.iso=null:t&&y(Q)?xn(y(Q).items.findIndex(e=>e.kind===`folder`&&e.ref===t.dataset.folder),e):tn(me()))}function Cn(e){if(e.key===`Escape`){U(P,[]),U(N,``);return}if(e.key===`c`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){ne();return}if(e.key===`l`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){re(!y(H));return}if(e.target!==y(I))return;let t={x:y(k).w/2,y:y(k).h/2};if(e.key===`+`||e.key===`=`)U(u,tt(y(u),1.25,t.x,t.y));else if(e.key===`-`)U(u,tt(y(u),.8,t.x,t.y));else if(e.key===`0`)tn(me());else if(e.key===`ArrowLeft`)U(u,{...y(u),x:y(u).x+80});else if(e.key===`ArrowRight`)U(u,{...y(u),x:y(u).x-80});else if(e.key===`ArrowUp`)U(u,{...y(u),y:y(u).y+80});else if(e.key===`ArrowDown`)U(u,{...y(u),y:y(u).y-80});else return;e.preventDefault(),W=!0}let wn=L(()=>{if(!y(Q)||!y(k).w||y(u).k<=me().k*1.05)return-1;let e=y(Q).cell*y(u).k,t=(y(k).w/2-y(u).x)/e,n=(y(k).h/2-y(u).y)/e,r=-1;return y(Q).items.forEach((i,a)=>{i.kind!==`folder`||y(pe)[a]!==`o`||t<i.gx||t>i.gx+i.w||n<i.gy||n>i.gy+i.h||(i.w*e>=.6*y(k).w||i.h*e>=.6*y(k).h)&&(r<0||y(Q).items[r].depth<i.depth)&&(r=a)}),r});function Tn(){if(!y(Q))return;W=!0;let e=y(wn)<0?-1:y(Q).items[y(wn)].parent;tn(e<0?me():et(y(Q).items[e],y(k).w,y(k).h,1.5,y(Q).cell))}let En=L(()=>12*y(m)>=Re),kn=L(()=>y(Q)&&y(a)?at(y(je).map(e=>e.item),y(a).notes,{web:Z.on.web,code:Z.on.code}):[]);function An(e,t){let n=_e(X.api,t);typeof n==`string`?e.src=n:n.then(t=>{t&&(e.src=t)})}let jn=e=>e>=0&&y(Q).items[e].depth%2?`var(--ground-1)`:`var(--ground-0)`;K(()=>(X.atlas={chosen:y(F)?Qt(y(F)):``,chosenId:y(F),steps:y(P).length-1,here:y(wn)<0?``:$t(y(Q).items[y(wn)].ref),out:Tn,fit:()=>{W=!1,tn(me())}},()=>{X.atlas=null}));var Mn=hr();let Nn;var Pn=C(Mn),Fn=A(Pn,2),Ln=n=>{var r=Yn(),i=e(r);l(()=>t(i,`The map could not be drawn: ${y(c)??``}`)),d(n,r)},Rn=r=>{var i=mr(),o=h(i),s=e=>{var t=Xn();d(e,t)};p(o,e=>{y(Q).items.length||e(s)});var c=A(o,2);let v;var b=C(c);_(b,21,()=>y(Ae),e=>e.item.id,(e,t)=>{{let n=L(()=>$t(y(t).item.ref)),r=L(()=>y(t).item.parent<0||(y(t).item.gy-y(Q).items[y(t).item.parent].gy)*y(Q).cell*y(m)>=18),i=L(()=>Je(y(t).i,y(t).open)),a=L(()=>!!y(Le)&&!y(t).open&&!y(qe).has(y(t).i)),o=L(()=>y(St)&&y(wt).has(y(t).item.ref)),s=L(()=>!y(t).open&&y(lt)===y(t).i),c=L(()=>y(dt)===y(t).i?y(ut).who:``);Vn(e,{get item(){return y(t).item},get name(){return y(n)},get count(){return y(fe).noteCount[y(t).i]},get open(){return y(t).open},get titled(){return y(r)},get held(){return y(i)},get dim(){return y(a)},get given(){return y(o)},get here(){return y(s)},get moment(){return y(c)},onpick:e=>xn(y(t).i,e)})}}),G(b);var x=A(b,2);{let e=L(()=>!y(F)&&!!y(N)),t=L(()=>[...y(St)?y(jt):[],...y(Ze),...y(pt)]);Jn(x,{get k(){return y(m)},get rest(){return y(Me)},get pointed(){return y(e)},get hot(){return y(t)},get counts(){return y(it)},get grown(){return y(De)},get beat(){return y(Se)},get retracting(){return y(Ce)}})}var T=A(x,2),D=n=>{var r=f(),i=h(r);_(i,17,()=>y(Me),e=>e.key,(n,r)=>{var i=f(),a=h(i),o=n=>{var i=Zn(),a=e(i,!0);l(()=>{Y(i,1,`count ${y(r).side??``}`,`svelte-14y1y1z`),w(i,`--x:${y(r).mid[0]??``};--y:${y(r).mid[1]??``}`),t(a,y(r).count)}),d(n,i)};p(a,e=>{y(r).label&&e(o)}),d(n,i)}),d(n,r)};p(T,e=>{y(En)&&!y(Se)&&e(D)});var O=A(T,2),P=C(O);_(P,17,()=>y(je),e=>e.item.id,(e,t)=>{let n=L(()=>y(Ve).get(y(t).item.ref)),r=L(()=>y(n)?.mark??``);{let i=L(()=>Qt(y(t).item.ref)),o=L(()=>y(a).notes[y(t).item.ref]?.kind??``),s=L(()=>!!y(a).notes[y(t).item.ref]?.done),c=L(()=>jn(y(t).item.parent)),l=L(()=>y(n)?.far??0),u=L(()=>Mt(y(t).item.ref)),d=L(()=>y(a).files?.[y(t).item.ref]?.kind??``),f=L(()=>y(t).item.ref.startsWith(`?`)),p=L(()=>y(St)&&y(Ct).has(y(t).item.ref)),m=L(()=>y(St)&&!y(Ct).has(y(t).item.ref)&&y(Et).has(y(t).item.ref)?`on`:``),h=L(()=>y(St)&&y(Dt).has(y(t).item.ref)),g=L(()=>y(St)?y(Ot).get(y(t).item.ref)??0:0),_=L(()=>y(dt)===y(t).i?y(ut).who:``),v=L(()=>y(lt)===y(t).i),b=L(()=>!!y(Le)&&!y(r)),x=L(()=>de(Zt(y(t).item.ref)));In(e,{get item(){return y(t).item},get title(){return y(i)},get kind(){return y(o)},get done(){return y(s)},get behind(){return y(c)},get mark(){return y(r)},get far(){return y(l)},get iso(){return y(u)},get file(){return y(d)},get prospect(){return y(f)},get given(){return y(p)},get held(){return y(m)},get changed(){return y(h)},get order(){return y(g)},get moment(){return y(_)},get here(){return y(v)},get dim(){return y(b)},get href(){return y(x)},onpick:e=>bn(e,y(t).item.ref),onpoint:e=>{U(N,e?y(t).item.ref:y(N)===y(t).item.ref?``:y(N),!0),xe.onAtlas=y(N)}})}});var I=A(P,2);_(I,17,()=>y(kn),e=>e.key,(e,t)=>{var r=f(),i=h(r),a=e=>{var n=Qn();l(()=>{j(n,`href`,y(t).href),j(n,`title`,`${y(t).text} · ${y(t).href}`),j(n,`aria-label`,y(t).text),j(n,`data-sat`,y(t).key),w(n,`--x:${y(t).gx??``};--y:${y(t).gy??``}`)}),g(`click`,n,e=>{nn&&e.preventDefault(),e.stopPropagation()}),d(e,n)},o=e=>{var r=tr();let i;var a=C(r),o=e=>{var t=$n();d(e,t)},s=e=>{var r=er();E(r,(e,t)=>An?.(e,t),()=>y(t).picture),n(r),d(e,r)};p(a,e=>{y(t).broken?e(o):e(s,-1)}),G(r),l(e=>{i=Y(r,1,`sat picture svelte-14y1y1z`,null,i,{broken:y(t).broken}),j(r,`href`,e),j(r,`title`,`${y(t).text} · ${y(t).picture.from===`code`?`code:`:``}${y(t).picture.path}${y(t).broken?y(t).picture.from===`code`?` · not in the repository`:` · not in the notes`:``}`),j(r,`aria-label`,`${y(t).text}${y(t).broken?`, missing`:``}`),j(r,`data-sat`,y(t).key),w(r,`--x:${y(t).gx??``};--y:${y(t).gy??``}`)},[()=>de(y(t).note)]),g(`click`,r,e=>{nn&&e.preventDefault(),e.stopPropagation()}),d(e,r)},s=e=>{var n=nr();let r;l(e=>{r=Y(n,1,`sat code svelte-14y1y1z`,null,r,{broken:y(t).broken}),j(n,`title`,e),j(n,`aria-label`,`${y(t).text}${y(t).broken?`, not in the repository`:``}`),j(n,`data-sat`,y(t).key),w(n,`--x:${y(t).gx??``};--y:${y(t).gy??``}`)},[()=>`${y(t).text} · ${y(t).href.slice(5)}${y(t).broken?` · not in the repository`:``}`]),d(e,n)};p(i,e=>{y(t).kind===`web`?e(a):y(t).kind===`picture`?e(o,1):e(s,-1)}),d(e,r)}),G(O);var R=A(O,2),z=n=>{var r=ar();let i;var a=C(r),o=C(a),s=e=>{var t=rr();d(e,t)},c=e=>{var t=ir();M(),d(e,t)};p(o,e=>{y(Nt).folder?e(s):e(c,-1)}),G(a);var u=A(a,2),f=e(u);G(r),l(()=>{i=Y(r,1,`grasp svelte-14y1y1z`,null,i,{folder:y(Nt).folder}),w(r,`--x:${y(Nt).gx??``};--y:${y(Nt).gy??``}`),t(f,`${y(Nt).folder?`a new folder`:`a new note`}${y(Nt).dir?` in ${y(Nt).dir}`:``}`)}),d(n,r)};p(R,e=>{y(Nt)&&e(z)}),G(c);var B=A(c,2);_(B,17,()=>[{p:y(gt),i:y(lt),who:`here`},{p:y(_t),i:y(dt),who:y(ut)?.who??`you`}],e=>e.who===`here`?`here`:`there`,(e,t)=>{var n=f(),r=h(n),i=e=>{var n=or();l((e,r)=>{Y(n,1,`pip ${y(t).who??``}`,`svelte-14y1y1z`),w(n,`left:${y(t).p.x??``}px;top:${y(t).p.y??``}px;--a:${y(t).p.angle??``}rad`),j(n,`data-pip`,y(t).who===`here`?`here`:`there`),j(n,`aria-label`,`Bring ${e??``} into view`),j(n,`title`,`${r??``}${y(t).who===`here`?`: open in the Note pane`:``}`)},[()=>Qt(y(Q).items[y(t).i].ref),()=>Qt(y(Q).items[y(t).i].ref)]),g(`click`,n,e=>{e.stopPropagation(),vt(y(t).i)}),d(e,n)};p(r,e=>{y(t).p&&e(i)}),d(e,n)});var V=A(B,2),H=n=>{var r=sr(),i=e(r,!0);l(()=>t(i,y(Ut))),d(n,r)};p(V,e=>{y(Ut)&&e(H)});var W=A(V,2),K=n=>{var r=cr(),i=e(r);l(()=>t(i,`◆ ${y(Wt)??``}`)),d(n,r)};p(W,e=>{y(Wt)&&e(K)});var q=A(W,2),ee=e=>{var t=lr();d(e,t)};p(q,e=>{Z.on.context&&!y(Wt)&&Z.settings===`atlas`&&e(ee)});var J=A(q,2),te=e=>{let t=L(()=>y(Ht));var n=fr(),r=C(n),i=e=>{var n=ur();g(`click`,n,e=>{e.stopPropagation(),qt(y(t).ref),U(Ht,null)}),d(e,n)},a=L(()=>be.has(`note`,y(t).ref)),o=e=>{var n=dr();g(`click`,n,e=>{e.stopPropagation(),Kt(y(t).ref),U(Ht,null)}),d(e,n)};p(r,e=>{y(a)?e(i):e(o,-1)});var s=A(r,2),c=A(s,2),u=A(c,2);G(n),l((e,r)=>{j(n,`aria-label`,e),w(n,`left:${r??``}px;top:${y(t).y+14}px`)},[()=>Qt(y(t).ref),()=>Math.min(y(t).x,y(k).w-170)]),g(`click`,s,e=>{e.stopPropagation(),U(Ht,null),Z.open(y(t).ref,!0)}),g(`click`,c,e=>{e.stopPropagation(),U(Ht,null),Xt(`question`,y(t).ref)}),g(`click`,u,e=>{e.stopPropagation(),U(Ht,null),Xt(`problem`,y(t).ref)}),d(e,n)};p(J,e=>{y(Ht)&&e(te)});var ne=A(J,2),re=n=>{var r=pr();let i;var a=e(r);l(()=>{i=Y(r,1,`carried svelte-14y1y1z`,null,i,{over:be.carrying.over}),w(r,`left:${y(ln).x??``}px;top:${y(ln).y??``}px`),t(a,`${be.carrying.part.kind===`folder`?`▭`:`▣`} ${be.carrying.part.title??``}`)}),d(n,r)};p(ne,e=>{be.carrying&&e(re)}),l((e,t)=>{v=Y(c,1,`atlas-world svelte-14y1y1z`,null,v,{labels:y(En),shifting:y(Ee),moving:y(S)}),j(c,`data-open`,y(pe)),w(c,`transform: translate(${e??``}px, ${t??``}px) scale(${y(u).k/y(m)}); --u: ${(y(Q)?.cell??7)*y(m)}px; --k: ${y(m)??``}`),w(b,`transform: scale(${y(m)??``}); --u: ${y(Q).cell??``}px; --px: ${1/y(m)}px; --ik: ${1/y(m)}`),w(O,`transform: scale(${y(m)??``}); --u: ${y(Q).cell??``}px; --px: ${1/y(m)}px; --ik: ${1/y(m)}`)},[()=>y(S)?y(u).x:Math.round(y(u).x),()=>y(S)?y(u).y:Math.round(y(u).y)]),d(r,i)};p(Fn,e=>{y(c)?e(Ln):y(Q)&&y(a)&&e(Rn,1)}),G(Mn),R(Mn,e=>U(I,e),()=>y(I)),l(()=>{Nn=Y(Mn,1,`atlas svelte-14y1y1z`,null,Nn,{lit:!!y(Le)}),w(Pn,`transform: translate(${(y(u).x%24+24)%24}px, ${(y(u).y%24+24)%24}px)`)}),g(`pointerdown`,Mn,fn),g(`pointermove`,Mn,pn),g(`pointerup`,Mn,mn),ie(`pointercancel`,Mn,mn),g(`click`,Mn,Sn),g(`keydown`,Mn,Cn),ie(`dragstart`,Mn,e=>e.preventDefault()),g(`contextmenu`,Mn,e=>{(y(Nt)||It!==void 0||Lt!==void 0||y(Ht))&&e.preventDefault()}),d(r,Mn),O()}u([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`,`contextmenu`]);var _r=m(`<div class="map svelte-nwxyyl"><!> <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></div>`);function vr(e,t){z(t,!0);let n=q(ee((()=>{try{return localStorage.getItem(`isorite.timeline`)===`1`}catch{return!1}})())),r=q([]),i=q(null),a=e=>X.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),o=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`);async function s(){try{U(r,(await X.api.timeline()).filter(e=>!e.note.startsWith(`@`)))}catch{}}K(()=>{if(!y(n))return;s();let e,t=X.on(t=>{t.type===`journal`&&(clearTimeout(e),e=setTimeout(()=>{s()},300))});return()=>{t(),clearTimeout(e)}});function c(e){oe(`${de(e.note)}?at=${encodeURIComponent(he(e))}`)}K(()=>{let e=y(i);xe.set(`timeline`,e?{id:e.note,folder:!1,who:o(e)?`iso`:`you`}:null)});function u(){U(n,!y(n)),U(i,null);try{localStorage.setItem(`isorite.timeline`,y(n)?`1`:`0`)}catch{}}var f=_r(),m=C(f);gr(m,{});var h=A(m,2),_=C(h),v=A(_,2),b=e=>{ve(e,{get moments(){return y(r)},at:null,get pointed(){return y(i)},leftward:!0,name:`This session's timeline`,label:e=>a(e.note),point:e=>U(i,e),pick:e=>c(e)})};p(v,e=>{y(n)&&e(b)}),G(h),G(f),l(()=>j(_,`aria-pressed`,y(n))),g(`click`,_,u),d(e,f),O()}u([`click`]);var yr=m(`<p class="svelte-1n9iqy5">In a repository of their own, <code class="svelte-1n9iqy5"> </code> </p> <pre class="svelte-1n9iqy5"> </pre> <p class="svelte-1n9iqy5"><button type="button" class="more svelte-1n9iqy5"> </button> <span class="faint">isorite runs none of this itself.</span></p>`,1),br=m(`<p class="svelte-1n9iqy5"> <code class="svelte-1n9iqy5"> </code>.</p>`),xr=m(`<p class="choices svelte-1n9iqy5"><button type="button" class="btn">with the project</button> <button type="button" class="btn">apart</button></p>`),Sr=m(`<p class="faint svelte-1n9iqy5">Kept with the project. <button type="button" class="more svelte-1n9iqy5">show how to keep them apart</button></p>`),Cr=m(`<p class="svelte-1n9iqy5">To keep them apart, run these in a terminal (isorite runs none of it):</p> <pre class="svelte-1n9iqy5"> </pre> <p class="svelte-1n9iqy5"><button type="button" class="more svelte-1n9iqy5"> </button></p>`,1),wr=m(`<p class="svelte-1n9iqy5"><!> <!></p> <!> <!>`,1),Tr=m(`<p class="bad svelte-1n9iqy5" role="alert"> </p>`),Er=m(`<details class="own svelte-1n9iqy5"><summary class="label svelte-1n9iqy5">where isorite's files are kept</summary> <div class="body svelte-1n9iqy5"><!> <!></div></details>`);function Dr(n,r){z(r,!0);let i=X.api?.own??null,a=q(null),o=q(!1),s=q(``);K(()=>{i&&i.repo().then(e=>U(a,e),()=>void 0)});let u=L(()=>y(a)?.commands.join(`
1
+ import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,I as c,K as l,L as u,M as d,N as f,O as p,P as m,Q as h,R as g,T as _,U as v,V as y,W as b,X as x,Y as S,Z as C,_ as w,_t as T,b as E,c as D,ct as O,d as k,et as A,f as j,ft as M,g as N,h as P,ht as F,i as I,it as L,l as R,lt as z,m as B,mt as V,n as H,nt as U,ot as W,pt as G,q as K,rt as q,tt as ee,u as J,v as Y,w as te,x as ne,y as re,z as ie}from"../chunks/AnnzTlE8.js";import{s as ae,t as oe}from"../chunks/BMijTvgG.js";import"../chunks/xihTtKlq.js";import{C as se,a as X,d as ce,i as Z,n as le,p as ue,r as Q,s as de,t as fe,u as pe}from"../chunks/Wv-ICQRy.js";import{C as me,D as he,O as ge,_ as _e,f as ve,g as ye,h as be,i as xe,p as Se,t as Ce,x as we}from"../chunks/CA-rzUq8.js";import{t as Te}from"../chunks/CTuuQ66F.js";import{a as Ee,i as De,n as Oe,r as ke,t as Ae}from"../chunks/CSTv2fL0.js";import{t as je}from"../chunks/BHORylQC.js";var Me=T({load:()=>Ne});async function Ne(){return await X.load(),{}}function Pe(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 Fe(e,t){let n=X.listing.notes.map(e=>e.id),r=t.split(`/`).slice(0,-1).join(`/`),i=Pe(r,`untitled-${e}`,e=>!n.includes(e)),a=[r,i.slug].filter(Boolean).join(`/`),o=`Untitled ${e}${i.n===1?``:` ${i.n}`}`;return await X.api.createNote(a,`---\ntype: ${e===`question`?`Question`:`Problem`}\ntitle: ${JSON.stringify(o)}\n${e===`question`?`about`:`uses`}: [${t}]\n---\n\n`),await X.refresh(),Z.fresh=a,await Z.open(a,!0),a}var Ie=()=>_e.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});function Le(e){let t=e.items.flatMap((t,n)=>t.kind===`text`||t.kind===`question`||t.kind===`offer`?[t]:t.kind===`look`?[{kind:`tool`,id:`${e.id}:${n}`,name:t.step.tool,title:t.step.query??t.step.opened??t.step.said,status:t.step.failed?`failed`:`done`,output:``,...t.step.opened&&!t.step.away?{note:t.step.opened}:{}}]:t.kind===`change`?[{kind:`tool`,id:`${e.id}:${n}`,name:t.why===`create`?`write_note`:`edit_note`,title:t.to??t.note,status:`done`,output:``,...t.why===`delete`?{}:{note:t.to??t.note}}]:t.kind===`point`?[{kind:`text`,text:`Look at [${X.listing.notes.find(e=>e.id===t.note)?.title??t.note}](/${t.note}.md)${t.why?`: ${t.why}`:`.`}`}]:[]);return{id:e.id,asked:e.asked,from:`here`,items:t,state:e.state,given:e.given,at:e.at}}var $=new class{#e=q(null);get view(){return y(this.#e)}set view(e){U(this.#e,e)}#t=q(null);get old(){return y(this.#t)}set old(e){U(this.#t,e)}#n=q(`session`);get shown(){return y(this.#n)}set shown(e){U(this.#n,e,!0)}#r=q([]);get past(){return y(this.#r)}set past(e){U(this.#r,e)}#i=q(!1);get changing(){return y(this.#i)}set changing(e){U(this.#i,e,!0)}#a=q(``);get problem(){return y(this.#a)}set problem(e){U(this.#a,e,!0)}started=!1;get session(){return this.old??this.view}get connected(){return!!this.view?.connected}get running(){return!this.old&&(!!this.view?.busy||this.view?.turns.at(-1)?.state===`running`)}get api(){return X.api?.terminal??null}start(){!this.started&&X.api&&(this.started=!0,X.api.agentNotes().then(({may:e})=>{Z.on.notes=e},()=>void 0),Z.notesFlipped=e=>{X.api.setAgentNotes(e).catch(t=>{Z.on.notes=!e,this.problem=t.message})},this.api?(this.api.view().then(e=>this.show(e),()=>Z.setAttached(!1)),X.on(e=>{e.type===`terminal`&&this.show(e.terminal)})):Z.setAttached(!1))}show(e){let t=this.connected;this.view=e,Z.setAttached(e.connected||!!e.reading);for(let t of e.asking)this.refused.has(t.id)||(/^(shell|bash|execute)$/.test(t.action)?!Z.on.run:/^(edit|write|patch)$/.test(t.action)&&!Z.on.files)&&(this.refused.add(t.id),this.reply(t.id,`reject`));t&&e.connected&&Z.focus!==`iso`&&e.turns.length>(this.seen??e.turns.length)&&Z.unseen++,this.seen=e.turns.length}seen=null;refused=new Set;async send(e){if(this.problem=``,!e.trim()||!this.api)return!1;this.old=null;try{return await this.api.prompt(e.trim(),Ie()),!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}}async take(e){try{await this.api?.take(e)}catch(e){this.problem=e.message}}get acp(){return!!this.view&&(this.view.connected||!!this.view.reading)}async give(){if(this.acp&&this.api)try{await this.api.give(Ie())}catch(e){this.problem=e.message}}async follow(e,t){this.problem=``,this.old=null;try{await this.api?.follow(e,t)}catch(e){this.problem=e.message}}async set(e,t,n){this.problem=``;try{await this.api?.set(e,t,n)}catch(e){this.problem=e.message}}async forgetPast(e){this.problem=``;try{await X.api.deleteConversation(e),this.old?.session===e&&(this.old=null),this.past=await X.api.conversations()}catch(e){this.problem=e.message}}change(){this.changing=!0,this.shown!==`past`&&this.drawer()}async forget(e,t){this.problem=``;try{await this.api?.forget(e,t),this.view?.agentId===e&&this.view.session===t&&(this.old=null)}catch(e){this.problem=e.message}}async fresh(e){this.problem=``,this.old=null;try{await this.api?.fresh(e)}catch(e){this.problem=e.message}}async drawer(){if(this.shown===`past`)this.shown=`session`;else{this.shown=`past`,this.acp&&this.api?.list().catch(()=>void 0);try{this.past=await X.api.conversations()}catch{this.past=[]}}}async read(e){this.problem=``;try{let t=await X.api.conversation(e);t&&(this.old={connected:!1,reading:!0,agent:`Iso`,agentId:`iso`,session:t.id,title:t.turns[0]?.asked??``,busy:!1,turns:t.turns.map(Le),asking:[],cost:0,tokens:{input:0,output:0},model:``}),this.shown=`session`}catch(e){this.problem=e.message}}},Re=4.5,ze=.04;function Be(e){let t=e.items.map(t=>{let n=[];for(let r=t.parent;r>=0;r=e.items[r].parent)n.push(r);return n}),n=e.items.map(()=>0);e.items.forEach((e,r)=>{if(e.kind===`note`)for(let e of t[r])n[e]++});let r=(t,n)=>{for(;e.items[t].parent!==n;)t=e.items[t].parent;return t},i=new Map(e.trunks.map((e,t)=>[`${e.a}|${e.b}`,t])),a=e.links.some(e=>e.s>=3)?3:2,o=e.trunks.map(()=>!1);for(let t of e.links){let e=t.s>=a?i.get(`${r(t.a,t.level)}|${r(t.b,t.level)}`):void 0;e!==void 0&&(o[e]=!0)}return{up:t,noteCount:n,strong:o,at:new Map(e.items.flatMap((e,t)=>e.kind===`note`?[[e.ref,t]]:[])),trunkAt:i,feederAt:new Map(e.feeders.map((e,t)=>[`${e.trunk}|${e.folder}|${e.item}`,t])),ownPath:new Map(e.trunks.flatMap(e=>e.pts?[[`${e.a}|${e.b}`,e.pts]]:[]))}}var Ve=new WeakMap;function He(e){let t=Ve.get(e);return t||Ve.set(e,t={...e,trunks:e.highways.trunks,feeders:e.highways.feeders}),t}function Ue(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 We(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 Ge(e,t,n=[],r=!1){let i=e=>t[e]!==`-`,a=[];return e.trunks.forEach((t,r)=>{let o=e.items[t.a].kind===`folder`&&e.items[t.b].kind===`folder`;t.pts&&!t.implied&&i(t.a)&&i(t.b)&&a.push({key:`t`+r,pts:t.pts,lane:0,count:t.count,feed:!o,strong:n[r]??!0})}),e.feeders.forEach((o,s)=>{let c=e.trunks[o.trunk];(r||!o.leaf)&&!c.implied&&t[o.folder]===`o`&&i(o.item)&&i(c.a)&&i(c.b)&&a.push({key:`f`+s,pts:o.pts,lane:o.lane,count:o.count,feed:!0,strong:n[o.trunk]??!0})}),a}var Ke=(e,t)=>Math.abs(e[0]-t[0])<1e-6&&Math.abs(e[1]-t[1])<1e-6;function qe(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=>Ke(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||!Ke(e,m[t-1]))}var Je=[`uses`,`builds`,`requires`,`iso`];function Ye(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=Je.indexOf(t.kind??`requires`),a=new Set;for(let o=1;o<t.pts.length;o++){let[s,c]=t.pts[o-1],[l,u]=t.pts[o],d=Math.max(1,Math.round(Math.max(Math.abs(l-s),Math.abs(u-c))*2));for(let o=0;o<d;o++){let f=[s+(l-s)*o/d,c+(u-c)*o/d],p=[s+(l-s)*(o+1)/d,c+(u-c)*(o+1)/d],m=n(f),h=n(p),g=m<h?m+`|`+h:h+`|`+m;if(m===h||a.has(g))continue;a.add(g);let _=r.get(g);if(!_){_=m<h?{a:m,b:h,A:f,B:p,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]}:{a:h,b:m,A:p,B:f,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]},r.set(g,_);for(let e of[_.a,_.b]){let t=i.get(e);t?t.push(g):i.set(e,[g])}}_.count+=t.count??1,_.strong||=t.strong??!0,_.trunk||=t.feed===!1,_.kind=Math.max(_.kind,e),(m===_.a?_.fwd:_.back)[e]+=1}}}let a=e=>t?`${e.kind}|${e.count}`:`${e.count}|${e.strong}|${e.trunk}`,o=(e,n)=>{let r=e.fwd[e.kind],i=e.back[e.kind];return!t||r&&i?0:(r?1:-1)*(n===e.a?1:-1)},s=(e,t)=>t===e.a?e.b:e.a,c=(e,t)=>t===e.a?e.A:e.B,l=(e,t,n)=>{let r=s(e,t);return a(e)===a(n)&&o(e,t)===o(n,r)},u=new Set,d=[],f=new Set,p=(e,t)=>{let p=e,m=t,h=r.get(m),g=[c(h,p)],_=o(h,p);for(;;){u.add(m);let e=s(h,p);g.push(c(h,e));let t=i.get(e).filter(e=>e!==m);if(t.length!==1||u.has(t[0])||!l(h,p,r.get(t[0])))break;p=e,m=t[0],h=r.get(m)}_<0&&g.reverse();let v=`${n(g[0])}>${n(g.at(-1))}:${a(h)}`;for(let e=2;f.has(v);e++)v=`${v.split(`#`)[0]}#${e}`;f.add(v),d.push({key:v,pts:g,count:h.count,strong:h.strong,trunk:h.trunk,kind:Je[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 Xe(e,t,n,r){let i=[],a=[],o=new Set;for(let{a:s,b:c,kind:l}of r){let r=We(t,n,s),u=We(t,n,c),d=`${l}:${r}|${u}`;if(r===u||o.has(d))continue;o.add(d);let f=(n,i)=>r===s&&u===c?t.ownPath.get(`${n}|${i}`)??qe(e,t,n,i):t.ownPath.get(`${n}|${i}`)??null,p=f(r,u)??f(u,r)?.slice().reverse()??null;p?i.push({key:d,kind:l,pts:p}):a.push({key:d,kind:l,a:r,b:u})}return{fixed:i,asks:a}}function Ze(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 Qe(e,t=0,n=7){let r=Ze(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 $e(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 et(e,t,n,r=3,i=7){let a=Math.max(ze,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 tt(e,t,n,r){let i=Math.max(ze,Math.min(3,e.k*t)),a=i/e.k;return{k:i,x:n-(n-e.x)*a,y:r-(r-e.y)*a}}function nt(e,t){if(!t.length)return e;let n=new Map,r=new Map,i=e=>{for(let t of e.children)t.kind===`dir`?i(t):n.set(t.ref,t)};i(e.root);for(let e of t){let t=e.about.find(e=>n.has(e));t&&r.set(t,[...r.get(t)??[],e])}let a=e=>({...e,children:e.children.flatMap(e=>e.kind===`dir`?[a(e)]:[e,...(r.get(e.ref)??[]).map(t=>({kind:`concept`,id:`c:`+t.ref,ref:t.ref,weight:1,rank:e.rank+1,of:`question`}))])}),o=[...e.edges];for(let e of r.values())for(let t of e)for(let e of t.about)n.has(e)&&o.push([t.ref,e,se.uses]);return{root:a(e.root),edges:o}}function rt(e,t){let n=new Set,r=e=>({...e,children:e.children.flatMap(e=>e.kind===`dir`?[r(e)]:t(e.ref)?(n.add(e.ref),[]):[e])}),i=r(e.root);return n.size?{root:i,edges:e.edges.filter(([e,t])=>!n.has(e)&&!n.has(t))}:e}var it=1;function at(e,t,n){if(!n.web&&!n.code&&!n.pictures)return[];let r=[];for(let i of e){let e=t[i.ref],a=[...(e?.links??[]).filter(e=>n[e.kind]).map(e=>({kind:e.kind,href:e.href,text:e.text,broken:!!e.broken})),...(n.pictures?e?.pictures??[]:[]).map(e=>({kind:`picture`,href:e.href,text:e.text,broken:!!e.broken,picture:{path:e.path,from:e.from}}))],o=Math.max(1,Math.floor((i.h+it)/4));a.forEach((e,t)=>{let n=Math.floor(t/o),a=t%o;r.push({...e,key:`${i.ref} ${e.kind===`picture`?`picture:`:``}${e.href}`,note:i.ref,gx:i.gx+i.w+it+n*4,gy:i.gy+a*4})})}return r}var ot=2;function st(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??ot,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 ct(e,t){let n=e[t].kind===`folder`?[t]:[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n}var lt={bend:4,flow:1,area:.01,aspect:1,shape:1,effort:1e3,seed:0,cross:20,stay:5};function ut(e,t,n,r,i={}){let{bend:a,flow:o,area:s,aspect:c,shape:l,effort:u,seed:d,cross:f,stay:p}={...lt,...i},m=e.length,h=e.map(e=>e[0]),g=e.map(e=>e[1]);if(!m)return{x:[],y:[],w:0,h:0};let _=Array.from({length:m},(e,t)=>Array.from({length:m},(e,r)=>n(t,r))),v=new Float64Array(m),y=new Float64Array(m),b=[...Array(m).keys()],x=[...b],S=new Int32Array(m),C=new Int32Array(m),w=0,T=0,E=()=>{b.forEach((e,t)=>{S[e]=t}),x.forEach((e,t)=>{C[e]=t}),w=0,T=0;for(let e=0;e<m;e++){let t=b[e],n=0,r=0;for(let i=0;i<e;i++){let e=b[i];C[e]<C[t]?n=Math.max(n,v[e]+h[e]+_[e][t]):r=Math.max(r,y[e]+g[e]+_[e][t])}v[t]=n,y[t]=r,w=Math.max(w,n+h[t]),T=Math.max(T,r+g[t])}},D=e=>[v[e]+h[e]/2,y[e]+g[e]/2],O=()=>{E();let e=0;for(let[n,i,s]of t){let t=Math.max(0,v[i]-v[n]-h[n],v[n]-v[i]-h[i]),c=Math.max(0,y[i]-y[n]-g[n],y[n]-y[i]-g[i]);e+=s*(Math.max(t,c)+.414*Math.min(t,c)+(t>0&&c>0?a:0));let l=r===`right`?v[n]+h[n]/2-(v[i]+h[i]/2):y[i]+g[i]/2-(y[n]+g[n]/2);l>0&&(e+=o*s*l)}if(f)for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let[i,a,o]=t[n],[s,c,l]=t[r];i!==s&&i!==c&&a!==s&&a!==c&&ft(D(i),D(a),D(s),D(c))&&(e+=f*Math.min(o,l))}if(A)for(let t=0;t<m;t++)for(let n=t+1;n<m;n++)(S[t]<S[n]!=A[0][t]<A[0][n]||C[t]<C[n]!=A[1][t]<A[1][n])&&(e+=p);let n=Math.log(w/T/l);return e+s*w*T*(1+c*n*n)},k=dt(m,t);if(b.sort((e,t)=>k[e]-k[t]),x.splice(0,m,...b),r===`up`&&b.reverse(),i.pair)return b.splice(0,m,...i.pair[0]),x.splice(0,m,...i.pair[1]),E(),{x:[...v],y:[...y],w,h:T,pair:i.pair};let A=null;i.start&&(b.splice(0,m,...i.start[0]),x.splice(0,m,...i.start[1]),A=[new Int32Array(m),new Int32Array(m)],b.forEach((e,t)=>{A[0][e]=t}),x.forEach((e,t)=>{A[1][e]=t}));let j=O(),M=j,N=[...b],P=[...x];if(m<2)return E(),{x:[...v],y:[...y],w,h:T,pair:[[...b],[...x]]};let F=mt(pt(e,t)^d),I=u*m,L=i.start?Math.max(.5,j*.002):Math.max(1,j*.05),R=.001**(1/I);for(let e=0;e<I;e++,L*=R){let e=Math.floor(F()*m),t=(e+1+Math.floor(F()*(m-1)))%m,n=F(),r=n=>{let r=n[e];n[e]=n[t],n[t]=r};if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}let i=O();if(i<=j||F()<Math.exp((j-i)/L))j=i,j<M&&(M=j,N=[...b],P=[...x]);else if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}}return b.splice(0,m,...N),x.splice(0,m,...P),E(),{x:[...v],y:[...y],w,h:T,cost:M,pair:[N,P]}}function dt(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 ft(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 pt(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 mt(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 ht={cell:7,note:[18,11],gap:6,gapFolders:8,channel:6,channelFolders:8,pad:6,head:2,margin:8,minFolder:12,slant:8,keep:2},gt={fine:ht,coarse:{cell:14,note:[9,6],gap:3,gapFolders:6,channel:3,channelFolders:6,pad:3,head:1,margin:6,minFolder:6,slant:4,keep:1},coarser:{cell:18,note:[7,4],gap:2,gapFolders:5,channel:2,channelFolders:5,pad:2,head:1,margin:5,minFolder:5,slant:3,keep:1}};ht.pad;var _t=1.4,vt=8,yt=12,bt=ht.note,xt=0,St=0,Ct=0,wt=0,Tt=0,Et=0,Dt=0,Ot=0,kt=0,At=2,jt=0,Mt=0;function Nt(e){({note:bt,gap:xt,gapFolders:St,channel:Ct,channelFolders:wt,head:Tt,margin:Et,minFolder:Dt,slant:Ot,pad:kt,keep:At}=e),jt=bt[0]+xt,Mt=3*jt}function Pt(e,{flow:t=`up`,grain:n=`fine`,plan:r=!1,planCosts:i={},planned:a=null,from:o=null}={}){let s=gt[n]??ht;Nt(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:bt[0],h:bt[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(Dt,i.w+2*kt),h:i.h+kt+Tt+kt}:{w:Dt,h:Tt+2*kt})};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)?St:xt,d=l.reduce((e,t)=>e+(t.w+u)*(t.h+u),0),f=Math.max(Math.ceil(Math.sqrt(d*_t)),...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])?St:xt)+f(e,t),h=n.map(e=>[g.get(e).w,g.get(e).h]),b=t===e.root&&r===`up`?1/lt.shape:lt.shape,x,S=!d&&o?.[u];if(S){let e=new Map(n.map((e,t)=>[e.ref,t])),t=n.map((e,t)=>t).filter(e=>!S[0].includes(n[e].ref));x=S.map(n=>[...n.filter(t=>e.has(t)).map(t=>e.get(t)),...t])}let C=ut(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)?St:xt,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=It(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]+Ct),0),S=Math.max(Math.ceil(Math.sqrt(a?x*_t:x/_t)),...l),C=[],w=Array(r),T=Array(r).fill(!1);for(let e of u)T[e.p]=!0,T[e.q]=!0;let E=T.some(Boolean)&&T.some(e=>!e),D=e=>{let t=e.reduce((e,t)=>e+l[t]+o,0),n=Math.max(1,Math.ceil((t-o)/S)),r=t/n,i=null,a=0;for(let t of e)(!i||a+l[t]>S||C.length-O<n&&a>=r)&&(i=[],C.push(i),a=0),w[t]=C.length-1,i.push(t),a+=l[t]+o},O=0,k=e=>h[e].length?+!!_[e].length:2,A=e=>e.length?e.reduce((e,t)=>e+d[t],0)/e.length:0;for(let e=0;e<=Math.max(...m);e++){let t=[...Array(r).keys()].filter(t=>m[t]===e&&(T[t]||!E));t.reduce((e,t)=>e+l[t]+o,0)-o>S&&t.sort((e,t)=>k(e)-k(t)||A(h[e])-A(h[t])||e-t),O=C.length,D(t)}E&&(O=C.length,D([...Array(r).keys()].filter(e=>!T[e])));let j=[...l],M=t.map(()=>[]),N=t.map(()=>[]),P=new Map,F=new Map,I=[],L=new Set,R=new Map;for(let e of b){let t=[e.u];for(let n=w[e.u]+1;n<w[e.v];n++){let r=e.u+`|`+n;P.has(r)||(P.set(r,j.length),F.set(j.length,e.u),j.push(1),M.push([]),N.push([]),w.push(n),C[n].push(j.length-1)),t.push(P.get(r))}t.push(e.v);for(let e=1;e<t.length;e++){let n=t[e-1],r=t[e];L.has(n+`|`+r)||(L.add(n+`|`+r),I.push([n,r]),N[n].push(r),M[r].push(n))}R.set(e,t)}let z=e=>e>=r,B=Array(j.length);C.forEach(e=>e.forEach((e,t)=>{B[e]=t}));let V=(e,t)=>{let n=new Map(C[e].map(e=>[e,t[e].length?t[e].reduce((e,t)=>e+B[t],0)/t[e].length:B[e]]));C[e].sort((e,t)=>n.get(e)-n.get(t)||B[e]-B[t]),C[e].forEach((e,t)=>{B[e]=t})},H=()=>{let e=0;for(let t=0;t<C.length-1;t++){let n=[];for(let e of C[t])for(let t of N[e])n.push([B[e],B[t]]);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++)(n[t][0]-n[r][0])*(n[t][1]-n[r][1])<0&&e++}return e},U=()=>{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<vt;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)}}},W=C.map(e=>[...e]),G=(e,t)=>(z(e)?d[F.get(e)]:d[e])-(z(t)?d[F.get(t)]:d[t])||e-t,K=null,q=1/0;for(let e of[e=>e,e=>[...e].sort(G),e=>[...e].reverse()]){C.forEach((t,n)=>{t.splice(0,t.length,...e(W[n])),t.forEach((e,t)=>{B[e]=t})});let t=1/0,n=0;for(let e=0;e<24&&n<4&&q>0;e++,n++){if(e%2==0)for(let e=1;e<C.length;e++)V(e,M);else for(let e=C.length-2;e>=0;e--)V(e,N);U();let r=H();r<t&&(t=r,n=0),r<q&&(q=r,K=C.map(e=>[...e]))}}K&&C.forEach((e,t)=>{e.splice(0,e.length,...K[t]),e.forEach((e,t)=>{B[e]=t})});let ee=(e,t)=>z(e)&&z(t)?1:z(e)||z(t)?At:o,J=Array(j.length).fill(0);for(let e of C){let t=0;e.forEach((n,r)=>{r&&(t+=ee(e[r-1],n)),J[n]=t,t+=j[n]})}let Y=e=>e.length?J[e[e.length-1]]+j[e[e.length-1]]:0,te=Math.max(...C.map(Y));for(let e of C){let t=(te-Y(e))/2;for(let n of e)J[n]+=t}let ne=e=>J[e]+j[e]/2;for(let e=0;e<yt;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+ne(t),0)/t.length:ne(e))-j[e]/2}),n=[],r=[];t.forEach((r,i)=>{n[i]=i?Math.max(e[i],n[i-1]+j[t[i-1]]+ee(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]]-ee(t[n],t[n+1])):e[n];t.forEach((e,t)=>{J[e]=(n[t]+r[t])/2})}let re=e=>Math.floor((j[e]-1)/2),ie=Array(j.length).fill(-1),ae=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=>ie[e]>=0).map(e=>[B[ie[e]],B[e]]);for(let r of C[t]){if(ie[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])=>ae[t]<0&&(!e||z(t)&&z(r))&&Math.abs(J[t]+re(t)-J[r]-re(r))<=(e?Mt:jt)).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])){ie[r]=e,ae[e]=r,n.push([B[e],B[r]]);break}}}let oe=Array(j.length).fill(-1),se=0;for(let e=0;e<j.length;e++)if(ie[e]<0){for(let t=e;t>=0;t=ae[t])oe[t]=se;se++}let X=Array.from({length:se},()=>[]);oe.forEach((e,t)=>X[e].push(t));let ce=(e,t)=>j[e]-re(e)+ee(e,t)+re(t),Z=Array(j.length).fill(-1),le=Array(j.length).fill(-1);for(let e of C)e.forEach((t,n)=>{n&&(Z[t]=e[n-1],le[e[n-1]]=t)});let ue=Array(se).fill(0),Q=!1;for(let e=0;e<=se&&!Q;e++){Q=!0;for(let e of C)for(let t=1;t<e.length;t++){let n=ue[oe[e[t-1]]]+ce(e[t-1],e[t]);ue[oe[e[t]]]<n&&(ue[oe[e[t]]]=n,Q=!1)}}if(Q){let e=X.map(e=>Math.round(e.reduce((e,t)=>e+J[t]+re(t),0)/e.length)),t=Math.min(...e.map((e,t)=>e-ue[t])),n=[...Array(se).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 X[a])Z[e]>=0&&(n=Math.max(n,ue[oe[Z[e]]]+ce(Z[e],e))),le[e]>=0&&(r=Math.min(r,ue[oe[le[e]]]-ce(e,le[e])));let o=Math.max(n,Math.min(r,e[a]-t));o!==ue[a]&&(ue[a]=o,i=!0)}if(!i)break}for(let e=0;e<j.length;e++)J[e]=ue[oe[e]]-re(e)}else for(let e of C)e.forEach((t,n)=>{J[t]=n?Math.max(Math.round(J[t]),J[e[n-1]]+j[e[n-1]]+ee(e[n-1],t)):Math.round(J[t])});let de=Math.min(...J);for(let e=0;e<J.length;e++)J[e]-=de;let fe=Math.max(...J.map((e,t)=>e+j[t])),pe=e=>J[e]+Math.floor((j[e]-1)/2)+.5,me=new Map;for(let e=0;e<j.length;e++){let t=[...M[e]].sort((e,t)=>pe(e)-pe(t)),n=J[e]+.5,r=J[e]+j[e]-.5;if(t.length>j[e]){t.forEach((r,i)=>me.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,pe(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)=>me.set(t+`|`+e,i[n]))}let he=(e,t)=>{let n=me.get(e+`|`+t);return n>=J[e]+.5&&n<=J[e]+j[e]-.5},ge=Array(j.length);for(let e=0;e<j.length;e++){let t=N[e].filter(t=>!he(e,t)).map(t=>me.get(e+`|`+t)).sort((e,t)=>e-t);ge[e]=t.length?Math.max(J[e]+.5,Math.min(J[e]+j[e]-.5,t[t.length-1>>1])):pe(e)}let _e=(e,t)=>he(e,t)?me.get(e+`|`+t):ge[e],ve=(e,t)=>{let n=_e(e,t),r=me.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(he(e,t))continue;let[n,r]=ve(e,t),i=me.get(e+`|`+t)>ge[e];r-n>Ot||I.every(([a,o])=>{if(w[a]!==w[e]||a===e&&o===t)return!0;let[s,c]=ve(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(he(e,t)||ye.has(e+`|`+t))continue;let n=me.get(e+`|`+t),r=xe.get(e)||{u:e,lo:ge[e],hi:ge[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=>!he(e.u,t)&&!ye.has(e.u+`|`+t)).map(t=>me.get(e.u+`|`+t))),i=(e,t)=>!(n[e].hi<n[t].lo-1||n[t].hi<n[e].lo-1),a=(e,t)=>+(ge[n[t].u]>n[e].lo&&ge[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=It(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)?wt:Ct,Se[n]+2*At,be[n]+2);Te[n]=De+Math.max(At,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:J[t],y:Oe-ke(t)-s[t]}:{x:ke(t),y:J[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],_e(e.u,n[1]))];for(let e=1;e<n.length;e++){let t=n[e-1],i=n[e],a=me.get(t+`|`+i);if(ye.has(t+`|`+i)){let e=Math.abs(a-ge[t]),n=Ee[w[t]](e);r.push(Ae(n,ge[t]),Ae(n+e,a));continue}let o=Te[w[t]]+(xe.get(t)?.track||0)+.5;r.push(Ae(o,_e(t,i)),Ae(o,a))}r.push(Ae(ke(e.v),me.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:fe,h:Oe,out:je}:{w:Oe,h:fe,out:je}}x(e.root,t);let T=[],E=new Map,D=new Map([[e.root,[Et,Et]]]);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+kt,r+t.y+Tt+kt])}}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=Ft(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*Et,H:M.h+2*Et,flow:t,cell:s.cell,keep:s.keep,margin:Et,items:T,links:A,trunks:O,pairs:_,orders:v}}function Ft(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 It(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 Lt={climb:5,turn45:1.5,turn90:3,foreign:2.5,crowd:.2,near:0,hug:2.5,haste:3.2},Rt=[1,1,0,-1,-1,-1,0,1],zt=[0,1,1,1,0,-1,-1,-1],Bt=3,Vt=8;function Ht(e,t,n={}){let{climb:r,turn45:i,turn90:a,foreign:o,crowd:s,near:c,hug:l,haste:u}={...Lt,...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 ct(v,e))w[t]=E;if(O){w[O.folder]=E;for(let e of ct(v,O.folder))w[e]=E}else for(let e of ct(v,t))w[e]=E;let k=v[e],L=O?null:v[t],R=O?O.ends:new Map(I(L).map(e=>[e[0],e])),z,B,V,H;if(O?.toward!==void 0)z=B=O.toward%d,V=H=O.toward/d|0;else if(O){z=V=1/0,B=H=-1/0;for(let e of R.keys()){let t=e%d,n=e/d|0;z=Math.min(z,t),B=Math.max(B,t),V=Math.min(V,n),H=Math.max(H,n)}}else z=L.gx-1,B=L.gx+L.w,V=L.gy-1,H=L.gy+L.h;let U=(e,t)=>{let n=Math.max(z-e,e-B,0),r=Math.max(V-t,t-H,0);return u*(Math.max(n,r)+.414*Math.min(n,r))},W=new Map;for(let e of I(k)){let t=e[0],n=t*9+Vt,r=Math.fround(1+s*Math.min(y[t],Bt));C[n]===E&&x[n]<=r||(C[n]=E,x[n]=r,S[n]=-1,j(r+U(t%d,t/d|0),r,n),W.set(t,e))}let G=!!O?.strict,K=-1;for(;A;){M();let e=P,t=N;if(e>=T){K=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]){K=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+Rt[T],M=F+zt[T];if(k<n||M<f||k>_||M>D)continue;let N=M*d+k;if(m[N]||G&&h[N]!==O.folder)continue;if(Rt[T]&&zt[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=(Rt[T]&&zt[T]?1.414:1)*(1+s*Math.min(y[N],Bt)+c*Math.min(b[N],Bt))+r*Math.abs(p[N]-p[u]);if(v!==Vt&&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+U(k,M),L,I))}}if(K<0)return null;let q=[];for(let e=K;e!==-1;e=S[e])q.push(e/9|0);q.reverse();for(let e of q)F(e,1);let ee=W.get(q[0]),J=R.get(q[q.length-1]),Y=[[ee[1],ee[2]]];for(let e of q)Y.push([e%d+.5,(e/d|0)+.5]);return Y.push([J[1],J[2]]),{cells:Int32Array.from(q),pts:Y}}function R(e,t){let n=v[e],r=v[t],i=Math.max(Math.abs(n.gx-r.gx),Math.abs(n.gy-r.gy)),a=Math.max(12,Math.ceil(i*.4)),o=Math.max(0,Math.min(n.gx,r.gx)-a),s=Math.max(0,Math.min(n.gy,r.gy)-a),c=Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+a),l=Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+a);return L(e,t,o,s,c,l)||(o||s||c<d-1||l<f-1?L(e,t,0,0,d-1,f-1):null)}function z(e,t){return v[e],v[t.folder],B(e,{...t,strict:!0})||B(e,t)}function B(e,t){let n=v[e],r=v[t.folder];return L(e,-1,Math.max(0,Math.min(n.gx,r.gx)-2),Math.max(0,Math.min(n.gy,r.gy)-2),Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+2),Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+2),t)}function V(e){let t=new Set;for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++){let n=Math.floor(r+(a-r)*e/s),c=Math.floor(i+(o-i)*e/s);n<0||c<0||n>=d||c>=f||m[c*d+n]||t.has(c*d+n)||(t.add(c*d+n),F(c*d+n,1))}}}return{route:R,routeTo:z,occupy:V,release:e=>{for(let t of e.cells)F(t,-1)},hold:e=>{for(let t of e.cells)F(t,1)}}}var Ut=[0,1,-1,2,-2,3,-3];function Wt(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=Ut.find(e=>!i.has(e))??0,delete t.edges})}var Gt=(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 Kt(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++)Gt(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 qt(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);Wt(o,n*r);let s={...Kt(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 Jt=[1,1,0,-1,-1,-1,0,1],Yt=[0,1,1,1,0,-1,-1,-1],Xt=8,Zt={turn45:1.5,turn90:3,diag:1.3,hug:1,share:.35,centre:.3,gather:224};function Qt(e,t=st(e),n={}){let{turn45:r,turn90:i,diag:a,hug:o,share:s,centre:c,gather:l}={...Zt,...n},{items:u,trunks:d}=e,{W:f,H:p,blocked:m,owner:h}=t,g=f*p,_=Math.max(2,Math.round(28/(e.cell??7))),v=ln(t,_),y=_,b=new Uint8Array(g),x=10/(e.cell??7),S=(e,t)=>e>=0&&t>=0&&e<f&&t<p,C=(e,t,n)=>S(e,t)&&!m[t*f+e]&&h[t*f+e]===n;function w(e,t,n){let[r,i]=e,[a,o]=t,s=n?a-r:o-i,c=n?o-i:a-r,l=Math.sign(s),u=Math.sign(c),d=Math.abs(s),f=Math.abs(c),p=[];if(d>=f){let e=Math.floor((d-f)/2);for(let t=0;t<e;t++)p.push([l,0]);for(let e=0;e<f;e++)p.push([l,u]);for(let t=0;t<d-f-e;t++)p.push([l,0])}else{let e=Math.floor(d/2);for(let t=0;t<e;t++)p.push([l,u]);for(let e=0;e<f-d;e++)p.push([0,u]);for(let t=0;t<d-e;t++)p.push([l,u])}let m=[[r,i]],h=r,g=i;for(let[e,t]of p)n?(h+=e,g+=t):(h+=t,g+=e),m.push([h,g]);return m}function T(e,t,n,r,i){let a=Math.max(e.gx-(t.gx+t.w),t.gx-(e.gx+e.w)),o=Math.max(e.gy-(t.gy+t.h),t.gy-(e.gy+e.h)),s=a>=o;if((s?a:o)<1)return null;let[c,l]=s?t.gx<e.gx?[3,2]:[2,3]:t.gy<e.gy?[1,0]:[0,1];if(i&&i.side!==c||r&&r.side!==l)return null;let u=cn(t)[c],d=cn(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?un(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($t(t,c,r,x)||$t(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===Xt||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(cn(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)&&!$t(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 en(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(cn(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)&&!$t(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 en(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+Jt[e],l=d+Yt[e];if(!C(i,l,n)||Jt[e]&&Yt[e]&&(!C(i,d,n)||!C(c,l,n)))continue;let u=l*f+i,p=r+(Jt[e]&&Yt[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=>rn(e,(e,t)=>{S(e,t)&&!m[t*f+e]&&(b[t*f+e]=1)}),z=(e,t,n)=>{let r=d[e],i=u[r.a],a=u[r.b];return T(i,a,i.parent,t,n)??F(i,a,i.parent,t,n)};for(let e of I){let t=z(e);t&&(L[e].pts=t,R(t))}let B=l/(e.cell??7),V=new Map;L.forEach((e,t)=>{if(e.pts)for(let[n,r,i]of[[`b`,e.b,e.pts[0]],[`a`,e.a,e.pts.at(-1)]]){let a=u[r];if(a.kind!==`folder`||!tn(a,i))continue;let o=nn(a,i),s=`${r}|${o}`;V.set(s,[...V.get(s)||[],{k:t,end:n,t:Math.floor(o<2?i[0]:i[1]),count:e.count}])}});let H=new Map;for(let[e,t]of V){let[n,r]=e.split(`|`).map(Number),i=u[n];cn(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])=>!$t(i,r,e,x)).reduce((e,t)=>t[1]>e[1]||t[1]===e[1]&&Math.abs(t[0]-s)<Math.abs(e[0]-s)?t:e)[0];for(let e of a)e.t!==c&&H.set(e.k,{...H.get(e.k),[e.end]:{side:r,t:c}})}}if(H.size){b.fill(0),L.forEach((e,t)=>{e.pts&&!H.has(t)&&R(e.pts)});for(let e of I){let t=H.get(e);if(!t)continue;let n=L[e],r=(e,t)=>{if(!tn(u[e],t))return;let n=nn(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 $t(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 en(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 tn(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 nn(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 rn(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 an={turn45:1.5,turn90:3,diag:1.3,hug:1,centre:1,join:.5,cross:1,haste:1.5,hasteNote:4};function on(e,t,n=st(e),r={}){let{turn45:i,turn90:a,diag:o,hug:s,centre:c,join:l,cross:u,haste:d,hasteNote:f}={...an,...r},{items:p,links:m}=e,{W:h,H:g,blocked:_,owner:v}=n,y=h*g,b=Math.max(2,Math.round(28/(e.cell??7))),x=ln(n,b),S=10/(e.cell??7),C=new Uint8Array(y);for(let e of t)e.pts&&rn(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(!tn(e,[t,n])){let i=en(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)=>(Jt[e]&&Yt[e]?Math.SQRT2*o:1)+s*(b-x[t]),O=(e,t)=>{if(e===Xt||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?i:a*(n>=3?2:1)},k=new Float32Array(y*9+1),A=new Int32Array(y*9+1),j=new Uint32Array(y*9+1),M=y*9,N=0,P=new Float64Array(4096),F=new Float64Array(4096),I=new Int32Array(4096),L=0,R=0,z=0,B=(e,t,n)=>{if(L===P.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};P=e(P,Float64Array),F=e(F,Float64Array),I=e(I,Int32Array)}let r=L++;for(;r>0;){let t=r-1>>1;if(P[t]<=e)break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n},V=()=>{P[0],R=F[0],z=I[0];let e=P[--L],t=F[L],n=I[L],r=0;for(;;){let t=2*r+1;if(t>=L||(t+1<L&&P[t+1]<P[t]&&t++,P[t]>=e))break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n};function H(e,t,n,r,i){N++,L=0;let a=(e,t)=>w(e,t)&&!_[t*h+e]&&v[t*h+e]===n,o=r%h,d=r/h|0,f=(e,t)=>{let n=Math.abs(e-o),r=Math.abs(t-d);return i*(1-l)*(Math.max(n,r)+.414*Math.min(n,r))},p=new Map;if(e.kind===`folder`)for(let t of en(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(cn(e).forEach((t,n)=>t.cells.forEach(([r,i])=>{if(!a(r,i)||$t(e,n,t.dir===6||t.dir===2?r:i,S))return;let o=t.dir===6||t.dir===2?r:i,l=i*h+r,u=l*9+t.dir,d=Math.fround(c*Math.abs(o+.5-t.mid)+s*(b-x[l]));j[u]===N&&k[u]<=d||(j[u]=N,k[u]=d,A[u]=-1,p.set(l,t.wall(o)),B(d+f(r,i),d,u))}));L;){V();let e=z,n=R;if(e===M)break;if(n!==k[e])continue;let r=e/9|0,i=e%9,o=r%h,s=r/h|0,c=t.get(r);if(c){let t=n+c.rest+O(i,c.dir);(j[M]!==N||t<k[M])&&(j[M]=N,k[M]=t,A[M]=e,B(t,t,M))}for(let t=0;t<8;t++){let r=o+Jt[t],c=s+Yt[t];if(!a(r,c)||Jt[t]&&Yt[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 U=[];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`&&U.push({folder:e.a,at:e.pts[e.pts.length-1],notes:r.map(e=>e.a),trunk:t}),p[e.b].kind===`folder`&&U.push({folder:e.b,at:e.pts[0],notes:r.map(e=>e.b),trunk:t})});let W=[],G=e=>p[e].kind===`note`,K=new Map;for(let e=0;e<U.length;e++){let{folder:t,at:n,notes:r,trunk:i}=U[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};K.has(m)||K.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}=K.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)=>G(e[0])-G(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=G(e),a=C.get(e),c=r?y:v,u=a&&c.has(a.cell)?{cells:[a.cell],pts:[a.wall,c.get(a.cell).pt,c.get(a.cell).pt]}:H(p[e],c,t,m,r?f:d);if(!u)continue;a||C.set(e,{cell:u.cells[0],wall:u.pts[0]});let g=W.length,_=u.cells.at(-1);W.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:sn(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||U.push({folder:e,at:u.pts[0],notes:n,trunk:i})}}return Wt(W,y),W.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 sn=(e,t)=>Jt.findIndex((n,r)=>n===Math.sign(e)&&Yt[r]===Math.sign(t));function cn(e){return[{dir:6,cells:un(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:un(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:un(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:un(e.gy,e.gy+e.h).map(t=>[e.gx+e.w,t]),mid:e.gy+e.h/2,wall:t=>[e.gx+e.w,t+.5]}]}function ln({W:e,H:t,blocked:n,owner:r},i){let a=e*t,o=new Uint8Array(a).fill(i),s=new Int32Array(a),c=0,l=0;for(let i=0;i<a;i++){if(n[i]){o[i]=0;continue}let a=i%e,c=i/e|0;for(let u=0;u<8;u++){let d=a+Jt[u],f=c+Yt[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+Jt[i],f=d+Yt[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 un=(e,t)=>Array.from({length:Math.max(0,t-e)},(t,n)=>e+n);function dn(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 fn(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 pn(e,t){let n={flow:t.gridFlow===`right`?`right`:`up`,grain:vn(t),plan:!!t.blocks,from:t.from??null},r=Pt(e,n);if(t.blocks){let t=mn(r,Qt(r,st(r)));[...t.values()].some(e=>e.wider.size)&&(r=Pt(e,{...n,planned:t}))}r.feeders=hn(r);let i=st(r),a=Qt(r,i),o=on(r,a,i);return dn(r,[...a,...o]),r.highways={trunks:a,feeders:o},r}function mn(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 hn(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=st(e),o=Ht(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]?Lt.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 Wt(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 gn(e){let t=st(e),n=Ht(e,t);return e=>qt(n,e,t.W,t.H)}function _n(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 vn=e=>e.grain===`coarse`||e.grain===`coarser`?e.grain:`fine`;function yn(e,t={}){return _n(JSON.stringify([14,t.gridFlow===`right`?`right`:`up`,vn(t),!!t.blocks,e]))}var bn,xn=1,Sn=new Map;function Cn(e){if(bn===void 0)try{bn=new Worker(new URL(new URL(`../workers/worker-CWkpeSVG.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),bn.onmessage=({data:e})=>{let t=Sn.get(e.id);Sn.delete(e.id),e.error===void 0?t?.resolve(e.result):t?.reject(Error(e.error))},bn.onerror=()=>{for(let e of Sn.values())e.reject(Error(`the layout worker stopped`));Sn.clear(),bn=null}}catch{bn=null}if(!bn)return Promise.reject(Error(`no worker`));let t=xn++;return new Promise((n,r)=>{Sn.set(t,{resolve:n,reject:r}),bn.postMessage({id:t,...e})})}var wn=new Map,Tn=new Map,En=``;async function Dn(e,t){let n=fn(e),r=yn(n,t),i=wn.get(r);return i||(i=await Cn({layout:{model:n,o:t}}).catch(()=>pn(n,t)),wn.size>=6&&wn.delete(wn.keys().next().value),wn.set(r,i)),{key:r,layout:i}}async function On(e,t,n){if(!n.length)return[];let r=()=>{let r=Tn.get(e);return r||(Tn.clear(),Tn.set(e,r=gn(t))),r(n)},i=En!==e;return En=e,(await Cn({routes:{key:e,layout:i?t:null,asks:n}}).catch(()=>Cn({routes:{key:e,layout:t,asks:n}})).catch(r)).routes.map(e=>e?.pts??null)}var kn=o(`<path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"></path>`),An=o(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),jn=o(`<svg class="notch svelte-m50bdg" viewBox="0 0 16 16" aria-hidden="true"><!></svg>`),Mn=m(` <wbr/> `,1),Nn=m(`<b class="order svelte-m50bdg" aria-hidden="true"> </b>`),Pn=m(`<i class="dia svelte-m50bdg" aria-hidden="true"></i>`),Fn=m(`<a data-lustre=""><!><span class="inner svelte-m50bdg"><!><span class="t svelte-m50bdg"><!></span></span><!><!></a>`);function In(n,r){z(r,!0);let i=I(r,`kind`,3,``),a=I(r,`file`,3,``),o=I(r,`prospect`,3,!1),s=I(r,`done`,3,!1),u=I(r,`behind`,3,`var(--ground-0)`),f=I(r,`mark`,3,``),m=I(r,`far`,3,0),_=I(r,`iso`,3,``),v=I(r,`dim`,3,!1),b=I(r,`moment`,3,``),x=I(r,`given`,3,!1),S=I(r,`held`,3,``),T=I(r,`changed`,3,!1),E=I(r,`order`,3,0),D=I(r,`here`,3,!1);var k=Fn();let M;var N=C(k),P=e=>{var t=jn(),n=C(t),r=e=>{var t=kn();l(()=>j(t,`fill`,s()?`currentColor`:`none`)),d(e,t)},a=e=>{var t=An();l(()=>j(t,`fill`,s()?`currentColor`:`none`)),d(e,t)};p(n,e=>{i()===`question`?e(r):e(a,-1)}),G(t),d(e,t)};p(N,e=>{i()&&e(P)});var F=A(N),R=C(F),B=e=>{Se(e,{get kind(){return a()},size:11})};p(R,e=>{a()&&e(B)});var V=A(R),H=C(V),U=e=>{var n=Mn(),i=h(n,!0),a=A(i,2,!0);l((e,n)=>{t(i,e),t(a,n)},[()=>r.title.slice(0,r.title.lastIndexOf(`.`)),()=>r.title.slice(r.title.lastIndexOf(`.`))]),d(e,n)},W=L(()=>a()&&/^[^\s]+\.\w+$/.test(r.title)),K=e=>{var n=c();l(()=>t(n,r.title)),d(e,n)};p(H,e=>{y(W)?e(U):e(K,-1)}),G(V),G(F);var q=A(F),ee=n=>{var r=Nn(),i=e(r,!0);l(()=>t(i,E())),d(n,r)};p(q,e=>{E()&&e(ee)});var J=A(q),te=e=>{var t=Pn();d(e,t)};p(J,e=>{T()&&e(te)}),G(k),l(e=>{M=Y(k,1,`n ${b()?`mo-${b()}`:``} ${_()?`p-${_()}`:``} ${f()??``} ${i()??``}`,`svelte-m50bdg`,M,{done:s(),dim:v()&&!_()&&!x(),far:m()>1,given:x(),held:S()===`on`,changed:T(),here:D(),file:!!a(),prospect:o()}),j(k,`aria-current`,D()?`page`:void 0),j(k,`href`,r.href),j(k,`aria-label`,`${o()?`Asked back, not kept: `:i()===`question`?`Question: `:i()===`problem`?`Problem${s()?`, solved`:``}: `:``}${r.title}${x()?`: in Iso's context`:S()===`on`?`: read by the agent`:``}${T()?`, changed by the agent`:``}`),j(k,`title`,x()?`In Iso's context: shift+click takes it back`:void 0),j(k,`data-note`,r.item.ref),w(k,`--x:${r.item.gx??``};--y:${r.item.gy??``};--w:${r.item.w??``};--h:${r.item.h??``};--lit:${e??``}%;--behind:${u()??``}`)},[()=>Math.max(34,100-(m()-1)*20)]),g(`click`,k,function(...e){r.onpick?.apply(this,e)}),ie(`pointerenter`,k,e=>{e.pointerType===`mouse`&&r.onpoint(!0)}),ie(`pointerleave`,k,e=>{e.pointerType===`mouse`&&r.onpoint(!1)}),ie(`focus`,k,()=>r.onpoint(!0)),ie(`blur`,k,()=>r.onpoint(!1)),d(n,k),O()}u([`click`]);var Ln=m(`<button class="frame-title svelte-ywp27z" type="button"> </button>`),Rn=m(`<span class="frame-title held svelte-ywp27z"> </span>`),zn=m(`<div><!> <!></div>`),Bn=m(`<button type="button"><span class="inner svelte-ywp27z"><span class="name svelte-ywp27z"> </span><span class="label svelte-ywp27z"> </span></span></button>`);function Vn(n,r){z(r,!0);let i=I(r,`titled`,3,!0),a=I(r,`held`,19,()=>({req:0,bld:0})),o=I(r,`dim`,3,!1),s=I(r,`given`,3,!1),c=I(r,`here`,3,!1),u=I(r,`moment`,3,``),m=L(()=>r.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),_=L(()=>r.item.depth%2?`var(--ground-0)`:`var(--ground-1)`),v=L(()=>a().req?`req`:a().bld?`bld`:``),b=L(()=>[a().req?`${a().req} required here`:``,a().bld?`${a().bld} ${a().bld===1?`builds`:`build`} on it`:``].filter(Boolean).join(` · `)),x=L(()=>`--x:${r.item.gx};--y:${r.item.gy};--w:${r.item.w};--h:${r.item.h}`);var S=f(),T=h(S),E=n=>{var a=zn();let o;var c=C(a),f=n=>{var i=Ln(),a=e(i,!0);l(()=>{j(i,`title`,s()?`In Iso's context: shift+click takes it back`:void 0),t(a,r.name)}),g(`click`,i,function(...e){r.onpick?.apply(this,e)}),d(n,i)};p(c,e=>{i()&&e(f)});var h=A(c,2),S=n=>{var r=Rn(),i=e(r,!0);l(()=>t(i,y(b))),d(n,r)};p(h,e=>{y(b)&&e(S)}),G(a),l(()=>{o=Y(a,1,`folder frame ${y(v)??``} ${u()?`mo-${u()}`:``}`,`svelte-ywp27z`,o,{given:s()}),j(a,`data-folder`,r.item.ref),w(a,`${y(x)??``};--inside:${y(m)??``};--behind:${y(_)??``};--ground-here:${y(m)??``}`)}),d(n,a)},D=n=>{var i=Bn();let a;var f=C(i),p=C(f),m=e(p,!0),h=A(p),_=e(h,!0);G(f),G(i),l(()=>{a=Y(i,1,`folder frame closed ${y(v)??``} ${u()?`mo-${u()}`:``}`,`svelte-ywp27z`,a,{dim:o(),given:s(),here:c()}),j(i,`aria-current`,c()?`page`:void 0),j(i,`data-folder`,r.item.ref),w(i,y(x)),j(i,`title`,s()?`In Iso's context: shift+click takes it back`:void 0),t(m,r.name),t(_,y(b)||`${r.count} ${r.count===1?`note`:`notes`}`)}),g(`click`,i,function(...e){r.onpick?.apply(this,e)}),d(n,i)};p(T,e=>{r.open?e(E):e(D,-1)}),d(n,S),O()}u([`click`]);var Hn=o(`<path pathLength="1"></path>`),Un=o(`<path></path>`),Wn=o(`<path class="along touch svelte-k96fgh" pathLength="1"></path>`),Gn=o(`<!><!>`,1),Kn=o(`<path class="grown svelte-k96fgh" pathLength="1"></path>`),qn=o(`<svg class="routes svelte-k96fgh" aria-hidden="true"><g class="svelte-k96fgh"><!><!></g></svg>`);function Jn(e,t){z(t,!0);let n=I(t,`pointed`,3,!1),r=I(t,`grown`,19,()=>[]),i=I(t,`beat`,3,``),a=I(t,`retracting`,19,()=>[]),o=e=>`${(e.strong?e.trunk?3:1.5:e.trunk?2:1)/t.k}px`;var s=qn(),c=C(s),u=C(c),m=e=>{var t=f(),n=h(t);_(n,17,a,e=>e.key,(e,t)=>{var n=Hn();let r,i;l(e=>{r=Y(n,0,`along retract ${y(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,r,{trunk:y(t).trunk}),j(n,`d`,y(t).d),i=w(n,``,i,{"stroke-width":e})},[()=>o(y(t))]),d(e,n)}),d(e,t)},g=e=>{var n=f(),r=h(n);_(r,17,()=>t.rest,e=>e.key,(e,t)=>{var n=Hn();let r,i;l(e=>{r=Y(n,0,`along draw ${y(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,r,{trunk:y(t).trunk}),j(n,`d`,y(t).d),i=w(n,``,i,{"stroke-width":e})},[()=>o(y(t))]),d(e,n)}),d(e,n)},v=e=>{var r=Gn(),i=h(r);_(i,17,()=>t.rest,e=>e.key,(e,t)=>{var n=Un();let r;l(()=>{r=Y(n,0,re(y(t).strong?`base`:`base weak`),`svelte-k96fgh`,r,{trunk:y(t).trunk}),j(n,`d`,y(t).d)}),d(e,n)});var a=A(i);_(a,17,()=>t.hot,e=>e.key,(e,r)=>{var i=f(),a=h(i),o=e=>{var n=Wn();let i;l(()=>{j(n,`d`,y(r).d),i=w(n,``,i,{"stroke-width":`${2/t.k}px`})}),d(e,n)},s=e=>{var t=Un();let n;l(()=>{n=Y(t,0,`lit ${y(r).kind??``}`,`svelte-k96fgh`,n,{still:y(r).still}),j(t,`d`,y(r).d)}),d(e,t)};p(a,e=>{n()&&y(r).kind!==`iso`?e(o):e(s,-1)}),d(e,i)}),d(e,r)};p(u,e=>{i()===`retract`?e(m):i()===`draw`?e(g,1):i()===``&&e(v,2)});var b=A(u);_(b,17,r,e=>e.key,(e,n)=>{var r=Kn();let i;l(()=>{j(r,`d`,y(n).d),i=w(r,``,i,{"stroke-width":`${3/t.k}px`})}),d(e,r)}),G(c),G(s),l(()=>{j(s,`data-requires`,t.counts.requires),j(s,`data-builds`,t.counts.builds),j(s,`data-uses`,t.counts.uses),j(c,`transform`,`scale(${t.k??``})`)}),d(e,s),O()}var Yn=m(`<p class="said svelte-14y1y1z"> </p>`),Xn=m(`<p class="said faint svelte-14y1y1z">There are no notes yet. The map draws itself as you write them.</p>`),Zn=m(`<span> </span>`),Qn=m(`<a class="sat web svelte-14y1y1z" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><circle cx="8" cy="8" r="5.5"></circle><path d="M2.5 8h11M8 2.5c-2 2.8-2 8.2 0 11M8 2.5c2 2.8 2 8.2 0 11"></path></svg></a>`),$n=o(`<svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><rect x="2.5" y="3" width="11" height="10"></rect><path d="M2.5 11l3.5-3.5 3 3 1.5-1.5 3 3"></path></svg>`),er=m(`<img alt="" loading="lazy" draggable="false" class="svelte-14y1y1z"/>`),tr=m(`<a><!></a>`),nr=m(`<span role="img"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path></svg></span>`),rr=o(`<path d="M1.5 5.5h6l2 2.5h9v12.5h-17z" class="svelte-14y1y1z"></path>`),ir=o(`<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),ar=m(`<div><svg viewBox="0 0 20 24" width="20" height="24" aria-hidden="true" class="svelte-14y1y1z"><!></svg> <span class="svelte-14y1y1z"> </span></div>`),or=m(`<button type="button"><svg viewBox="0 0 12 12" width="12" height="12" aria-hidden="true" class="svelte-14y1y1z"><path d="M2 2l8 4-8 4z" class="svelte-14y1y1z"></path></svg></button>`),sr=m(`<p class="notice svelte-14y1y1z" role="alert"> </p>`),cr=m(`<p class="given svelte-14y1y1z" role="status"> </p>`),lr=m(`<p class="legend svelte-14y1y1z" aria-hidden="true"><span class="svelte-14y1y1z"><i class="k g svelte-14y1y1z"></i>you gave it</span><span class="svelte-14y1y1z"><i class="k h svelte-14y1y1z"></i>the agent read it</span><span class="svelte-14y1y1z"><i class="k d svelte-14y1y1z"></i>the agent changed it</span><span class="svelte-14y1y1z"><i class="k n svelte-14y1y1z">1</i>read, in order</span></p>`),ur=m(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◇</i>Take back from Iso</button>`),dr=m(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◆</i>Give to Iso</button>`),fr=m(`<div class="offer frame svelte-14y1y1z" role="menu"><!> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">▣</i>Open</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i class="q svelte-14y1y1z" aria-hidden="true">?</i>A question about it</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">△</i>A problem using it</button></div>`),pr=m(`<div aria-hidden="true"> </div>`),mr=m(`<!> <div><div class="scaled svelte-14y1y1z"></div> <!> <!> <div class="scaled svelte-14y1y1z"><!> <!></div> <!></div> <!> <!> <!> <!> <!> <!>`,1),hr=m(`<div role="application" aria-label="The atlas: the map of the base" tabindex="0"><div class="ground dots svelte-14y1y1z" aria-hidden="true"></div> <!></div>`);function gr(r,i){z(i,!0);let a=q(null),o=q(null),s=``,c=q(``),u=q({x:0,y:0,k:1}),m=q(1),x;K(()=>{let e=y(u).k;clearTimeout(x),Math.abs(Math.log(e/y(m)))>.35?U(m,e,!0):e!==y(m)&&(x=setTimeout(()=>U(m,e,!0),150))});let S=q(!1),T;K(()=>(y(u).x,y(u).y,y(u).k,U(S,!0),clearTimeout(T),T=setTimeout(()=>U(S,!1),200),()=>clearTimeout(T)));let D=e=>{U(u,e),U(m,e.k,!0)},k=q({w:0,h:0}),N=q(``),P=q([]),F=L(()=>y(P).at(-1)??``),I=q(void 0),B=[`fine`,`coarse`,`coarser`],V=q(ee(B.find(e=>e===te(`isorite.atlas.grain`))??`fine`)),H=q(te(`isorite.atlas.leaves`)===`on`),W=!1,J=window.innerWidth>=window.innerHeight?`right`:`up`;function te(e){try{return localStorage.getItem(e)}catch{return null}}function ne(){U(V,B[(B.indexOf(y(V))+1)%B.length],!0),W=!1;try{localStorage.setItem(`isorite.atlas.grain`,y(V))}catch{}oe()}function re(e){U(H,e,!0);try{localStorage.setItem(`isorite.atlas.leaves`,e?`on`:`off`)}catch{}}let ae=L(()=>{if(!Z.on.questions)return[];let e=[];for(let t of $.session?.turns??[])for(let n of t.items)n.kind===`question`&&!n.made&&e.push({ref:`?${n.id}`,title:n.title,about:n.about});return e});async function oe(){try{let e=await X.api.map(),t=b(()=>y(ae)),n={...e.notes};for(let e of t)n[e.ref]={title:e.title,tokens:0,kind:`question`};let r={...e,model:nt(e.model,t),notes:n},i={...r,model:rt(r.model,e=>{if(r.files?.[e])return!Z.on.pictures;let t=r.notes[e];return t?.kind===`question`?!Z.on.questions||!!t.done:t?.kind===`problem`&&!Z.on.problems})},l=`${J}|${y(V)}`,u=y(o)&&s===l?y(o).layout.orders??null:null,d=await Dn(i.model,{gridFlow:J,grain:y(V),blocks:!0,from:u});s=l;let f=!!y(o)&&y(o).key!==d.key,p=y(o)&&y(Q)?{refs:new Set(y(Q).items.map(e=>e.ref)),edges:new Set(y(a).model.edges.map(([e,t])=>`${e}>${t}`))}:null,m=!y(o)||y(o).key!==d.key&&!W,h=++Ce,g=matchMedia(`(prefers-reduced-motion: reduce)`).matches,_=!!p&&f&&!g;if(_){if(U(Se,y(Me)),U(xe,`retract`),await be(he),h!==Ce)return;U(Se,[]),U(xe,`move`)}if(U(a,i),U(o,d),U(c,``),p&&f&&Oe(p),m&&y(k).w&&D(me()),_){if(await be(ge),h!==Ce)return;U(xe,`draw`),await be(ve),h===Ce&&U(xe,``)}}catch(e){U(c,e.message,!0)}}let ce=``;K(()=>{let e=y(ae).map(e=>e.ref).join(` `);if(e!==ce){let t=ce===``&&e===``;ce=e,t||oe()}});let le=``;K(()=>{let e=`${Z.on.questions}|${Z.on.problems}|${Z.on.pictures}`;le&&le!==e&&oe(),le=e}),K(()=>{oe();let e,t=X.on(t=>{t.type===`note-changed`&&(clearTimeout(e),e=setTimeout(()=>{oe()},400))});return()=>{t(),clearTimeout(e)}});let Q=L(()=>y(o)?He(y(o).layout):null),fe=L(()=>y(Q)?Be(y(Q)):null),pe=L(()=>y(Q)?Ue(y(Q),y(m)):``),me=()=>{let e=(y(Q)?.margin??0)/2;return et({gx:e,gy:e,w:(y(Q)?.W??1)-2*e,h:(y(Q)?.H??1)-2*e},y(k).w,y(k).h,1,y(Q)?.cell)},he=220,ge=520,ve=340,be=e=>new Promise(t=>setTimeout(t,e)),xe=q(``),Se=q([]),Ce=0,Ee=q(!1),De=q([]);async function Oe(e){if(U(Ee,!0),setTimeout(()=>U(Ee,!1),700),await v(),!y(Q)||!y(fe)||!y(a))return;let t=matchMedia(`(prefers-reduced-motion: reduce)`).matches;for(let n of y(Q).items)e.refs.has(n.ref)||n.ref.startsWith(`@`)||(y(I)?.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=y(a).model.edges.filter(([t,n])=>!e.edges.has(`${t}>${n}`)&&!t.startsWith(`@`)&&!n.startsWith(`@`)&&e.refs.has(t)&&e.refs.has(n));U(De,n.flatMap(([e,t])=>{let n=y(fe).at.get(e),r=y(fe).at.get(t);return n===void 0||r===void 0?[]:[{key:`${e}>${t}`,d:ke(y(Q).items[We(y(fe),y(pe),n)],y(Q).items[We(y(fe),y(pe),r)])}]})),y(De).length&&setTimeout(()=>U(De,[]),5600)}function ke(e,t){let n=t.gx+t.w/2-(e.gx+e.w/2),r=t.gy+t.h/2-(e.gy+e.h/2),i=11/18*Math.abs(n)>=Math.abs(r);return Qe($e(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,y(Q).cell)}K(()=>{if(!y(I))return;let e=new ResizeObserver(([e])=>{let{width:t,height:n}=e.contentRect,r=!y(k).w,i=y(k);U(k,{w:t,h:n}),r&&y(Q)?D(me()):!r&&t&&n&&U(u,{...y(u),x:y(u).x+(t-i.w)/2,y:y(u).y+(n-i.h)/2})});return e.observe(y(I)),()=>e.disconnect()});let Ae=L(()=>y(Q)?y(Q).items.flatMap((e,t)=>e.kind===`folder`&&y(pe)[t]!==`-`?[{item:e,i:t,open:y(pe)[t]===`o`}]:[]):[]),je=L(()=>y(Q)?y(Q).items.flatMap((e,t)=>e.kind===`note`&&y(pe)[t]===`s`?[{item:e,i:t}]:[]):[]),Me=L(()=>y(Q)?Ye(Ge(y(Q),y(pe),y(fe).strong,y(H))).map(e=>({key:e.key,pts:e.pts,d:Qe(e.pts,0,y(Q).cell),count:e.count,strong:e.strong,trunk:e.trunk,...Ne(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 Ne(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 Ie=L(()=>y(F)||y(N)),Le=L(()=>y(Ie)&&y(a)&&y(fe)?.at.has(y(Ie))?ue(y(a).model,y(Ie)):null),Ve=L(()=>{let e=new Map;if(!y(Le))return e;for(let t of y(Le).also)e.set(t,{mark:`also`,far:0});for(let t of y(Le).uses)e.set(t,{mark:`use`,far:0});for(let t of y(Le).builds)e.set(t,{mark:`bld`,far:0});for(let t of y(Le).requires)e.set(t,{mark:`req`,far:y(Le).depth[t]??1});for(let t of y(P))e.set(t,{mark:`req`,far:1});return e.set(y(Ie),{mark:`at`,far:0}),e}),Ke=L(()=>{if(!y(Le))return[];let e=y(P).slice(1).map((e,t)=>({from:y(P)[t],to:e,kind:`requires`})),t=y(P).at(-2);return[...e,...y(Le).links.filter(e=>e.kind===`requires`?e.from===y(Ie):e.kind!==`builds`||e.from!==t)]}),qe=L(()=>{let e=new Map;if(!y(Le)||!y(fe))return e;let t=new Set(y(fe).up[y(fe).at.get(y(Ie))]),n=(n,r)=>{for(let i of n)for(let n of y(fe).up[y(fe).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(y(Le).requires,`req`),n(y(Le).builds,`bld`),e}),Je=(e,t)=>{let n=y(qe).get(e),r=y(Q).items[e].parent;return n&&(!t||r<0||!y(qe).has(r))?n:{req:0,bld:0}},Ze=q([]),it=q({requires:0,builds:0,uses:0});function ot(e,t){if(!e.length||!y(Q)||!y(fe)||!y(o)){t([],[]);return}let n=e.flatMap(e=>{let t=y(fe).at.get(e.from),n=y(fe).at.get(e.to);return t===void 0||n===void 0?[]:[{a:t,b:n,kind:e.kind}]}),{fixed:r,asks:i}=Xe(y(Q),y(fe),y(pe),n),a=e=>t(Ye(e,!0).map(e=>({key:e.key,kind:e.kind,d:Qe(e.pts,0,y(Q).cell),count:e.count,still:!e.flow})),e);if(a(r),!i.length)return;let s=!1;return On(y(o).key,y(Q),i.map(({a:e,b:t})=>({a:e,b:t}))).then(e=>{s||a([...r,...i.flatMap((t,n)=>e[n]?[{key:t.key,kind:t.kind,pts:[...e[n]].reverse()}]:[])])}).catch(()=>void 0),()=>{s=!0}}K(()=>ot(y(Ke),(e,t)=>{U(Ze,e),U(it,{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 st=L(()=>Te.route.id===`/n/[...id]`?Te.params.id??``:``);function ct(e,t=!1){if(!y(Q)||!y(fe)||!e)return-1;let n=t?y(Q).items.findIndex(t=>t.kind===`folder`&&t.ref.replace(/\/$/,``)===e):y(fe).at.get(e)??-1;return n<0?-1:We(y(fe),y(pe),n)}let lt=L(()=>ct(y(st))),ut=L(()=>ye.elsewhere),dt=L(()=>y(ut)?ct(y(ut).id,y(ut).folder):-1),ft=L(()=>{if(!y(ut)||y(ut).folder||!y(st)||y(ut).id===y(st)||!y(a))return[];let e=y(a).model.edges.find(([e,t])=>e===y(st)&&t===y(ut).id||e===y(ut).id&&t===y(st));return e?[{from:e[0],to:e[1],kind:e[2]>=se.requires?`requires`:`uses`}]:[]}),pt=q([]);K(()=>ot(y(ft),e=>{U(pt,e.map(e=>({...e,key:`there:${e.key}`})))}));let mt=``;K(()=>{let e=y(st);b(()=>{if(e&&e!==mt&&y(F)&&y(F)===mt&&y(fe)?.at.has(e)){let t=[];if(y(Le)&&y(Le).depth[e])for(let n=e;n&&n!==y(F);n=y(Le).via[n])t.unshift(n);U(P,y(P).includes(e)?y(P).slice(0,y(P).indexOf(e)+1):t.length?[...y(P),...t]:[e])}mt=e})});function ht(e){if(!y(Q)||e<0||!y(k).w)return null;let t=y(Q).items[e],n=y(Q).cell*y(u).k,r=y(u).x+t.gx*n,i=y(u).y+t.gy*n,a=r+t.w*n,o=i+t.h*n;if(a>0&&r<y(k).w&&o>0&&i<y(k).h)return null;let s=y(k).w/2,c=y(k).h/2,l=(r+a)/2-s,d=(i+o)/2-c,f=Math.min((s-14)/Math.max(Math.abs(l),1e-6),(c-14)/Math.max(Math.abs(d),1e-6));return{x:s+l*f,y:c+d*f,angle:Math.atan2(d,l)}}let gt=L(()=>ht(y(lt))),_t=L(()=>y(dt)===y(lt)?null:ht(y(dt)));function vt(e){if(!y(Q))return;let t=y(Q).items[e],n=y(Q).cell*y(u).k;W=!0,tn({k:y(u).k,x:y(k).w/2-(t.gx+t.w/2)*n,y:y(k).h/2-(t.gy+t.h/2)*n})}let yt=L(()=>X.iso),bt=L(()=>y(yt)?.state===`reading`||y(yt)?.state===`writing`),xt=L(()=>{let e=new Map;for(let t of y(yt)?.steps??[])t.opened&&!t.failed&&!e.has(t.opened)&&e.set(t.opened,t.how);return e}),St=L(()=>Z.on.context),Ct=L(()=>new Set(_e.parts.filter(e=>e.kind===`note`).map(e=>e.id))),wt=L(()=>new Set(_e.parts.filter(e=>e.kind===`folder`).map(e=>e.id))),Tt=/(^|[_:./-])(edit_note|write_note|edit|write|patch)$/,Et=L(()=>new Set(($.session?.turns??[]).flatMap(e=>e.items.flatMap(e=>e.kind===`tool`&&e.note&&!e.base&&e.status!==`failed`&&!Tt.test(e.name)?[e.note]:[])))),Dt=L(()=>new Set(($.session?.turns??[]).flatMap(e=>e.items.flatMap(e=>e.kind===`tool`&&e.note&&!e.base&&e.status!==`failed`&&Tt.test(e.name)?[e.note]:[])))),Ot=L(()=>{let e=new Map;for(let t of $.session?.turns.at(-1)?.items??[])t.kind===`tool`&&t.note&&!t.base&&t.status!==`failed`&&!Tt.test(t.name)&&!e.has(t.note)&&e.set(t.note,e.size+1);return e}),kt=L(()=>y(bt)?y(yt).steps.findLast(e=>e.opened&&!e.failed)?.opened??``:``),At=L(()=>(y(yt)?.steps??[]).flatMap(e=>e.how===`link`&&e.from&&e.opened&&!e.failed?[{from:e.from,to:e.opened,kind:`iso`}]:[])),jt=q([]);K(()=>ot(y(At),e=>{U(jt,e.map(e=>({...e,key:`iso:${e.key}`})))}));let Mt=e=>{if(!y(St))return``;if(e===y(kt))return`used`;let t=y(xt).get(e);return t===`keyword`?`key`:t===`meaning`?`sem`:t?`link`:``},Nt=q(null),Pt=null,Ft=!1,It,Lt;function Rt(){clearTimeout(It),clearTimeout(Lt),It=Lt=void 0,Pt=null,Ft||U(Nt,null)}function zt(e,t){let n=null;for(let r of y(Q).items)r.kind===`folder`&&!r.ref.startsWith(`@`)&&e>=r.gx&&e<r.gx+r.w&&t>=r.gy&&t<r.gy+r.h&&(!n||r.depth>n.depth)&&(n={ref:r.ref,depth:r.depth});return n?.ref??``}function Bt(e,t){if(Rt(),y(Ht)&&!(e.target instanceof Element&&e.target.closest(`.offer`))&&U(Ht,null),Ft||!y(Q)||!y(fe)||!(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`;Lt=setTimeout(()=>{Lt=void 0,nn=!0,r?U(Ht,{ref:n,x:t.x,y:t.y}):Kt(n)},650);return}let r=y(Q).cell*y(u).k,i=Math.round((t.x-y(u).x)/r),a=Math.round((t.y-y(u).y)/r),o={dir:zt(i,a),gx:i,gy:a,w:0,h:0,folder:!1};It=setTimeout(()=>{U(Nt,o)},180),Lt=setTimeout(()=>{Lt=void 0,nn=!0,Pt=t,U(Nt,o),y(I)?.setPointerCapture(e.pointerId)},650)}function Vt(e){Pt&&y(Nt)&&!y(Nt).folder&&Math.hypot(e.x-Pt.x,e.y-Pt.y)>=24&&U(Nt,{...y(Nt),folder:!0})}let Ht=q(null),Ut=q(``),Wt=q(``),Gt;function Kt(e,t=`note`){let n=_e.add({kind:t,id:e,title:t===`note`?Qt(e):$t(e)});U(Wt,n?`${t===`note`?Qt(e):$t(e)} is in Iso's context`:`${t===`note`?Qt(e):$t(e)} is in Iso's context already`,!0),clearTimeout(Gt),Gt=setTimeout(()=>U(Wt,``),2200)}function qt(e,t=`note`){if(!_e.has(t,e)){Kt(e,t);return}let n=t===`note`?Qt(e):$t(e);_e.remove({kind:t,id:e,title:n}),U(Wt,`${n} is out of Iso's context`),clearTimeout(Gt),Gt=setTimeout(()=>U(Wt,``),2200)}function Jt(){Pt&&y(Nt)&&(Pt=null,Yt(y(Nt)))}async function Yt(e){Ft=!0;let t=X.listing.notes.map(e=>e.id),n=e.dir;if(e.folder){let r=Pe(e.dir,`untitled-folder`,e=>!t.some(t=>t.startsWith(`${e}/`)));n=[e.dir,r.slug].filter(Boolean).join(`/`)}let r=Pe(n,`untitled-note`,e=>!t.includes(e)),i=[n,r.slug].filter(Boolean).join(`/`),a=r.n===1?`Untitled note`:`Untitled note ${r.n}`;try{await X.api.createNote(i,`---\ntype: Concept\ntitle: ${JSON.stringify(a)}\n---\n\n`),await X.refresh(),Z.fresh=i,await Z.open(i)}catch(e){U(Ut,e.message,!0)}finally{Ft=!1,U(Nt,null)}}async function Xt(e,t){try{await Fe(e,t)}catch(e){U(Ut,e.message,!0)}}let Zt=e=>e.endsWith(`/`)?e.slice(0,-1):e,Qt=e=>y(a)?.notes[e]?.title??y(a)?.files?.[e]?.title??e.split(`/`).at(-1)??e,$t=e=>e.split(`/`).at(-1)||X.session?.name||`the base`,en=0;function tn(e){if(cancelAnimationFrame(en),yn(),matchMedia(`(prefers-reduced-motion: reduce)`).matches){U(u,e);return}let t=y(u),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=y(k).w/2,l=y(k).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;U(u,a===1?e:{k:s,x:c-d*s,y:l-f*s}),a<1&&(en=requestAnimationFrame(r))};en=requestAnimationFrame(r)}let nn=!1,rn=new Map,an=null;function on(){let e=[...rn.values()];if(!e.length){an=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;an={view:y(u),x:t,y:n,span:e.length>1?Math.hypot(e[0].x-e[1].x,e[0].y-e[1].y):0}}let sn=e=>{let t=y(I).getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},cn=null,ln=q(ee({x:0,y:0}));function un(e){if(!(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:Qt(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:$t(n)}:null}function dn(e){if(!cn||e.pointerType!==`mouse`)return;U(ln,{x:e.clientX,y:e.clientY},!0);let t=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-pane="iso"]`)!=null;_e.carrying={part:cn,over:t}}function fn(e){(e.pointerType!==`mouse`||e.button===0)&&(cancelAnimationFrame(en),yn(),rn.size||(nn=!1,cn=un(e)),rn.set(e.pointerId,sn(e)),on(),rn.size===1?Bt(e,sn(e)):Rt())}function pn(e){if(!rn.has(e.pointerId)||!an)return;if(rn.set(e.pointerId,sn(e)),Pt){Vt(sn(e));return}let t=[...rn.values()],n=t.reduce((e,t)=>e+t.x,0)/t.length,r=t.reduce((e,t)=>e+t.y,0)/t.length;if(!nn&&t.length===1&&Math.hypot(n-an.x,r-an.y)<5)return;if(nn||(nn=!0,Rt(),y(I).setPointerCapture(e.pointerId)),t.length===1&&cn){dn(e);return}W=!0;let i=t.length>1?Math.hypot(t[0].x-t[1].x,t[0].y-t[1].y):0,a=an.span&&i?tt(an.view,i/an.span,an.x,an.y):an.view;U(u,{k:a.k,x:a.x+n-an.x,y:a.y+r-an.y})}function mn(e){if(rn.delete(e.pointerId)){if(_e.carrying){let{part:e,over:t}=_e.carrying;_e.carrying=null,t&&(e.kind===`note`||e.kind===`folder`)&&Kt(e.id,e.kind)}cn=null,Pt?Jt():Lt!==void 0&&Rt(),on()}}let hn=null,gn=0;function _n(e){e.preventDefault(),cancelAnimationFrame(en),W=!0;let t=sn(e),n=e.deltaMode===1?16:1,r=Math.exp(-e.deltaY*n*(e.ctrlKey?.01:.0015)),i=Math.min(3,Math.max(ze,(hn?.k??y(u).k)*r));matchMedia(`(prefers-reduced-motion: reduce)`).matches?U(u,tt(y(u),i/y(u).k,t.x,t.y)):(hn={k:i,x:t.x,y:t.y},gn||=requestAnimationFrame(vn))}function vn(){if(gn=0,!hn)return;let e=hn.k/y(u).k;Math.abs(Math.log(e))<.004?(U(u,tt(y(u),e,hn.x,hn.y)),hn=null):(U(u,tt(y(u),e**.3,hn.x,hn.y)),gn=requestAnimationFrame(vn))}function yn(){cancelAnimationFrame(gn),gn=0,hn=null}K(()=>{if(!y(I))return;let e=y(I);return e.addEventListener(`wheel`,_n,{passive:!1}),()=>e.removeEventListener(`wheel`,_n)});function bn(e,t){if(e.metaKey||e.ctrlKey||(e.preventDefault(),e.stopPropagation(),nn))return;if(t.startsWith(`?`)){Z.to(`iso`);return}if(e.shiftKey){t.startsWith(`@`)||qt(t);return}if(y(F)===t){Z.open(Zt(t));return}let n=[];if(y(Le)&&y(Ie)===y(F)&&y(Le).depth[t])for(let e=t;e&&e!==y(F);e=y(Le).via[e])n.unshift(e);U(P,y(P).includes(t)?y(P).slice(0,y(P).indexOf(t)+1):n.length?[...y(P),...n]:[t])}function xn(e,t){if(nn||!y(Q))return;let n=y(Q).items[e].ref;if(t?.shiftKey){n.startsWith(`@`)||qt(n,`folder`);return}W=!0;let r=et(y(Q).items[e],y(k).w,y(k).h,1.5,y(Q).cell),i=Math.abs(r.k-y(u).k)<.01*r.k&&Math.hypot(r.x-y(u).x,r.y-y(u).y)<4,a=y(Q).items[e].parent;tn(i?a<0?me():et(y(Q).items[a],y(k).w,y(k).h,1.5,y(Q).cell):r)}function Sn(e){if(nn||!(e.target instanceof Element)||e.target.closest(`.dock, .key`))return;let t=e.target.closest(`[data-folder]`);e.target.closest(`a, button`)||(y(F)?U(P,[]):y(yt)&&!y(bt)?X.iso=null:t&&y(Q)?xn(y(Q).items.findIndex(e=>e.kind===`folder`&&e.ref===t.dataset.folder),e):tn(me()))}function Cn(e){if(e.key===`Escape`){U(P,[]),U(N,``);return}if(e.key===`c`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){ne();return}if(e.key===`l`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){re(!y(H));return}if(e.target!==y(I))return;let t={x:y(k).w/2,y:y(k).h/2};if(e.key===`+`||e.key===`=`)U(u,tt(y(u),1.25,t.x,t.y));else if(e.key===`-`)U(u,tt(y(u),.8,t.x,t.y));else if(e.key===`0`)tn(me());else if(e.key===`ArrowLeft`)U(u,{...y(u),x:y(u).x+80});else if(e.key===`ArrowRight`)U(u,{...y(u),x:y(u).x-80});else if(e.key===`ArrowUp`)U(u,{...y(u),y:y(u).y+80});else if(e.key===`ArrowDown`)U(u,{...y(u),y:y(u).y-80});else return;e.preventDefault(),W=!0}let wn=L(()=>{if(!y(Q)||!y(k).w||y(u).k<=me().k*1.05)return-1;let e=y(Q).cell*y(u).k,t=(y(k).w/2-y(u).x)/e,n=(y(k).h/2-y(u).y)/e,r=-1;return y(Q).items.forEach((i,a)=>{i.kind!==`folder`||y(pe)[a]!==`o`||t<i.gx||t>i.gx+i.w||n<i.gy||n>i.gy+i.h||(i.w*e>=.6*y(k).w||i.h*e>=.6*y(k).h)&&(r<0||y(Q).items[r].depth<i.depth)&&(r=a)}),r});function Tn(){if(!y(Q))return;W=!0;let e=y(wn)<0?-1:y(Q).items[y(wn)].parent;tn(e<0?me():et(y(Q).items[e],y(k).w,y(k).h,1.5,y(Q).cell))}let En=L(()=>12*y(m)>=Re),kn=L(()=>y(Q)&&y(a)?at(y(je).map(e=>e.item),y(a).notes,{web:Z.on.web,code:Z.on.code}):[]);function An(e,t){let n=we(X.api,t);typeof n==`string`?e.src=n:n.then(t=>{t&&(e.src=t)})}let jn=e=>e>=0&&y(Q).items[e].depth%2?`var(--ground-1)`:`var(--ground-0)`;K(()=>(X.atlas={chosen:y(F)?Qt(y(F)):``,chosenId:y(F),steps:y(P).length-1,here:y(wn)<0?``:$t(y(Q).items[y(wn)].ref),out:Tn,fit:()=>{W=!1,tn(me())}},()=>{X.atlas=null}));var Mn=hr();let Nn;var Pn=C(Mn),Fn=A(Pn,2),Ln=n=>{var r=Yn(),i=e(r);l(()=>t(i,`The map could not be drawn: ${y(c)??``}`)),d(n,r)},Rn=r=>{var i=mr(),o=h(i),s=e=>{var t=Xn();d(e,t)};p(o,e=>{y(Q).items.length||e(s)});var c=A(o,2);let v;var b=C(c);_(b,21,()=>y(Ae),e=>e.item.id,(e,t)=>{{let n=L(()=>$t(y(t).item.ref)),r=L(()=>y(t).item.parent<0||(y(t).item.gy-y(Q).items[y(t).item.parent].gy)*y(Q).cell*y(m)>=18),i=L(()=>Je(y(t).i,y(t).open)),a=L(()=>!!y(Le)&&!y(t).open&&!y(qe).has(y(t).i)),o=L(()=>y(St)&&y(wt).has(y(t).item.ref)),s=L(()=>!y(t).open&&y(lt)===y(t).i),c=L(()=>y(dt)===y(t).i?y(ut).who:``);Vn(e,{get item(){return y(t).item},get name(){return y(n)},get count(){return y(fe).noteCount[y(t).i]},get open(){return y(t).open},get titled(){return y(r)},get held(){return y(i)},get dim(){return y(a)},get given(){return y(o)},get here(){return y(s)},get moment(){return y(c)},onpick:e=>xn(y(t).i,e)})}}),G(b);var x=A(b,2);{let e=L(()=>!y(F)&&!!y(N)),t=L(()=>[...y(St)?y(jt):[],...y(Ze),...y(pt)]);Jn(x,{get k(){return y(m)},get rest(){return y(Me)},get pointed(){return y(e)},get hot(){return y(t)},get counts(){return y(it)},get grown(){return y(De)},get beat(){return y(xe)},get retracting(){return y(Se)}})}var T=A(x,2),D=n=>{var r=f(),i=h(r);_(i,17,()=>y(Me),e=>e.key,(n,r)=>{var i=f(),a=h(i),o=n=>{var i=Zn(),a=e(i,!0);l(()=>{Y(i,1,`count ${y(r).side??``}`,`svelte-14y1y1z`),w(i,`--x:${y(r).mid[0]??``};--y:${y(r).mid[1]??``}`),t(a,y(r).count)}),d(n,i)};p(a,e=>{y(r).label&&e(o)}),d(n,i)}),d(n,r)};p(T,e=>{y(En)&&!y(xe)&&e(D)});var O=A(T,2),P=C(O);_(P,17,()=>y(je),e=>e.item.id,(e,t)=>{let n=L(()=>y(Ve).get(y(t).item.ref)),r=L(()=>y(n)?.mark??``);{let i=L(()=>Qt(y(t).item.ref)),o=L(()=>y(a).notes[y(t).item.ref]?.kind??``),s=L(()=>!!y(a).notes[y(t).item.ref]?.done),c=L(()=>jn(y(t).item.parent)),l=L(()=>y(n)?.far??0),u=L(()=>Mt(y(t).item.ref)),d=L(()=>y(a).files?.[y(t).item.ref]?.kind??``),f=L(()=>y(t).item.ref.startsWith(`?`)),p=L(()=>y(St)&&y(Ct).has(y(t).item.ref)),m=L(()=>y(St)&&!y(Ct).has(y(t).item.ref)&&y(Et).has(y(t).item.ref)?`on`:``),h=L(()=>y(St)&&y(Dt).has(y(t).item.ref)),g=L(()=>y(St)?y(Ot).get(y(t).item.ref)??0:0),_=L(()=>y(dt)===y(t).i?y(ut).who:``),v=L(()=>y(lt)===y(t).i),b=L(()=>!!y(Le)&&!y(r)),x=L(()=>de(Zt(y(t).item.ref)));In(e,{get item(){return y(t).item},get title(){return y(i)},get kind(){return y(o)},get done(){return y(s)},get behind(){return y(c)},get mark(){return y(r)},get far(){return y(l)},get iso(){return y(u)},get file(){return y(d)},get prospect(){return y(f)},get given(){return y(p)},get held(){return y(m)},get changed(){return y(h)},get order(){return y(g)},get moment(){return y(_)},get here(){return y(v)},get dim(){return y(b)},get href(){return y(x)},onpick:e=>bn(e,y(t).item.ref),onpoint:e=>{U(N,e?y(t).item.ref:y(N)===y(t).item.ref?``:y(N),!0),ye.onAtlas=y(N)}})}});var I=A(P,2);_(I,17,()=>y(kn),e=>e.key,(e,t)=>{var r=f(),i=h(r),a=e=>{var n=Qn();l(()=>{j(n,`href`,y(t).href),j(n,`title`,`${y(t).text} · ${y(t).href}`),j(n,`aria-label`,y(t).text),j(n,`data-sat`,y(t).key),w(n,`--x:${y(t).gx??``};--y:${y(t).gy??``}`)}),g(`click`,n,e=>{nn&&e.preventDefault(),e.stopPropagation()}),d(e,n)},o=e=>{var r=tr();let i;var a=C(r),o=e=>{var t=$n();d(e,t)},s=e=>{var r=er();E(r,(e,t)=>An?.(e,t),()=>y(t).picture),n(r),d(e,r)};p(a,e=>{y(t).broken?e(o):e(s,-1)}),G(r),l(e=>{i=Y(r,1,`sat picture svelte-14y1y1z`,null,i,{broken:y(t).broken}),j(r,`href`,e),j(r,`title`,`${y(t).text} · ${y(t).picture.from===`code`?`code:`:``}${y(t).picture.path}${y(t).broken?y(t).picture.from===`code`?` · not in the repository`:` · not in the notes`:``}`),j(r,`aria-label`,`${y(t).text}${y(t).broken?`, missing`:``}`),j(r,`data-sat`,y(t).key),w(r,`--x:${y(t).gx??``};--y:${y(t).gy??``}`)},[()=>de(y(t).note)]),g(`click`,r,e=>{nn&&e.preventDefault(),e.stopPropagation()}),d(e,r)},s=e=>{var n=nr();let r;l(e=>{r=Y(n,1,`sat code svelte-14y1y1z`,null,r,{broken:y(t).broken}),j(n,`title`,e),j(n,`aria-label`,`${y(t).text}${y(t).broken?`, not in the repository`:``}`),j(n,`data-sat`,y(t).key),w(n,`--x:${y(t).gx??``};--y:${y(t).gy??``}`)},[()=>`${y(t).text} · ${y(t).href.slice(5)}${y(t).broken?` · not in the repository`:``}`]),d(e,n)};p(i,e=>{y(t).kind===`web`?e(a):y(t).kind===`picture`?e(o,1):e(s,-1)}),d(e,r)}),G(O);var R=A(O,2),z=n=>{var r=ar();let i;var a=C(r),o=C(a),s=e=>{var t=rr();d(e,t)},c=e=>{var t=ir();M(),d(e,t)};p(o,e=>{y(Nt).folder?e(s):e(c,-1)}),G(a);var u=A(a,2),f=e(u);G(r),l(()=>{i=Y(r,1,`grasp svelte-14y1y1z`,null,i,{folder:y(Nt).folder}),w(r,`--x:${y(Nt).gx??``};--y:${y(Nt).gy??``}`),t(f,`${y(Nt).folder?`a new folder`:`a new note`}${y(Nt).dir?` in ${y(Nt).dir}`:``}`)}),d(n,r)};p(R,e=>{y(Nt)&&e(z)}),G(c);var B=A(c,2);_(B,17,()=>[{p:y(gt),i:y(lt),who:`here`},{p:y(_t),i:y(dt),who:y(ut)?.who??`you`}],e=>e.who===`here`?`here`:`there`,(e,t)=>{var n=f(),r=h(n),i=e=>{var n=or();l((e,r)=>{Y(n,1,`pip ${y(t).who??``}`,`svelte-14y1y1z`),w(n,`left:${y(t).p.x??``}px;top:${y(t).p.y??``}px;--a:${y(t).p.angle??``}rad`),j(n,`data-pip`,y(t).who===`here`?`here`:`there`),j(n,`aria-label`,`Bring ${e??``} into view`),j(n,`title`,`${r??``}${y(t).who===`here`?`: open in the Note pane`:``}`)},[()=>Qt(y(Q).items[y(t).i].ref),()=>Qt(y(Q).items[y(t).i].ref)]),g(`click`,n,e=>{e.stopPropagation(),vt(y(t).i)}),d(e,n)};p(r,e=>{y(t).p&&e(i)}),d(e,n)});var V=A(B,2),H=n=>{var r=sr(),i=e(r,!0);l(()=>t(i,y(Ut))),d(n,r)};p(V,e=>{y(Ut)&&e(H)});var W=A(V,2),K=n=>{var r=cr(),i=e(r);l(()=>t(i,`◆ ${y(Wt)??``}`)),d(n,r)};p(W,e=>{y(Wt)&&e(K)});var q=A(W,2),ee=e=>{var t=lr();d(e,t)};p(q,e=>{Z.on.context&&!y(Wt)&&Z.settings===`atlas`&&e(ee)});var J=A(q,2),te=e=>{let t=L(()=>y(Ht));var n=fr(),r=C(n),i=e=>{var n=ur();g(`click`,n,e=>{e.stopPropagation(),qt(y(t).ref),U(Ht,null)}),d(e,n)},a=L(()=>_e.has(`note`,y(t).ref)),o=e=>{var n=dr();g(`click`,n,e=>{e.stopPropagation(),Kt(y(t).ref),U(Ht,null)}),d(e,n)};p(r,e=>{y(a)?e(i):e(o,-1)});var s=A(r,2),c=A(s,2),u=A(c,2);G(n),l((e,r)=>{j(n,`aria-label`,e),w(n,`left:${r??``}px;top:${y(t).y+14}px`)},[()=>Qt(y(t).ref),()=>Math.min(y(t).x,y(k).w-170)]),g(`click`,s,e=>{e.stopPropagation(),U(Ht,null),Z.open(y(t).ref,!0)}),g(`click`,c,e=>{e.stopPropagation(),U(Ht,null),Xt(`question`,y(t).ref)}),g(`click`,u,e=>{e.stopPropagation(),U(Ht,null),Xt(`problem`,y(t).ref)}),d(e,n)};p(J,e=>{y(Ht)&&e(te)});var ne=A(J,2),re=n=>{var r=pr();let i;var a=e(r);l(()=>{i=Y(r,1,`carried svelte-14y1y1z`,null,i,{over:_e.carrying.over}),w(r,`left:${y(ln).x??``}px;top:${y(ln).y??``}px`),t(a,`${_e.carrying.part.kind===`folder`?`▭`:`▣`} ${_e.carrying.part.title??``}`)}),d(n,r)};p(ne,e=>{_e.carrying&&e(re)}),l((e,t)=>{v=Y(c,1,`atlas-world svelte-14y1y1z`,null,v,{labels:y(En),shifting:y(Ee),moving:y(S)}),j(c,`data-open`,y(pe)),w(c,`transform: translate(${e??``}px, ${t??``}px) scale(${y(u).k/y(m)}); --u: ${(y(Q)?.cell??7)*y(m)}px; --k: ${y(m)??``}`),w(b,`transform: scale(${y(m)??``}); --u: ${y(Q).cell??``}px; --px: ${1/y(m)}px; --ik: ${1/y(m)}`),w(O,`transform: scale(${y(m)??``}); --u: ${y(Q).cell??``}px; --px: ${1/y(m)}px; --ik: ${1/y(m)}`)},[()=>y(S)?y(u).x:Math.round(y(u).x),()=>y(S)?y(u).y:Math.round(y(u).y)]),d(r,i)};p(Fn,e=>{y(c)?e(Ln):y(Q)&&y(a)&&e(Rn,1)}),G(Mn),R(Mn,e=>U(I,e),()=>y(I)),l(()=>{Nn=Y(Mn,1,`atlas svelte-14y1y1z`,null,Nn,{lit:!!y(Le)}),w(Pn,`transform: translate(${(y(u).x%24+24)%24}px, ${(y(u).y%24+24)%24}px)`)}),g(`pointerdown`,Mn,fn),g(`pointermove`,Mn,pn),g(`pointerup`,Mn,mn),ie(`pointercancel`,Mn,mn),g(`click`,Mn,Sn),g(`keydown`,Mn,Cn),ie(`dragstart`,Mn,e=>e.preventDefault()),g(`contextmenu`,Mn,e=>{(y(Nt)||It!==void 0||Lt!==void 0||y(Ht))&&e.preventDefault()}),d(r,Mn),O()}u([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`,`contextmenu`]);var _r=m(`<div class="map svelte-nwxyyl"><!> <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></div>`);function vr(e,t){z(t,!0);let n=q(ee((()=>{try{return localStorage.getItem(`isorite.timeline`)===`1`}catch{return!1}})())),r=q([]),i=q(null),a=e=>X.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),o=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`);async function s(){try{U(r,(await X.api.timeline()).filter(e=>!e.note.startsWith(`@`)))}catch{}}K(()=>{if(!y(n))return;s();let e,t=X.on(t=>{t.type===`journal`&&(clearTimeout(e),e=setTimeout(()=>{s()},300))});return()=>{t(),clearTimeout(e)}});function c(e){oe(`${de(e.note)}?at=${encodeURIComponent(he(e))}`)}K(()=>{let e=y(i);ye.set(`timeline`,e?{id:e.note,folder:!1,who:o(e)?`iso`:`you`}:null)});function u(){U(n,!y(n)),U(i,null);try{localStorage.setItem(`isorite.timeline`,y(n)?`1`:`0`)}catch{}}var f=_r(),m=C(f);gr(m,{});var h=A(m,2),_=C(h),v=A(_,2),b=e=>{ve(e,{get moments(){return y(r)},at:null,get pointed(){return y(i)},leftward:!0,name:`This session's timeline`,label:e=>a(e.note),point:e=>U(i,e),pick:e=>c(e)})};p(v,e=>{y(n)&&e(b)}),G(h),G(f),l(()=>j(_,`aria-pressed`,y(n))),g(`click`,_,u),d(e,f),O()}u([`click`]);var yr=m(`<p class="svelte-1n9iqy5">In a repository of their own, <code class="svelte-1n9iqy5"> </code> </p> <pre class="svelte-1n9iqy5"> </pre> <p class="svelte-1n9iqy5"><button type="button" class="more svelte-1n9iqy5"> </button> <span class="faint">isorite runs none of this itself.</span></p>`,1),br=m(`<p class="svelte-1n9iqy5"> <code class="svelte-1n9iqy5"> </code>.</p>`),xr=m(`<p class="choices svelte-1n9iqy5"><button type="button" class="btn">with the project</button> <button type="button" class="btn">apart</button></p>`),Sr=m(`<p class="faint svelte-1n9iqy5">Kept with the project. <button type="button" class="more svelte-1n9iqy5">show how to keep them apart</button></p>`),Cr=m(`<p class="svelte-1n9iqy5">To keep them apart, run these in a terminal (isorite runs none of it):</p> <pre class="svelte-1n9iqy5"> </pre> <p class="svelte-1n9iqy5"><button type="button" class="more svelte-1n9iqy5"> </button></p>`,1),wr=m(`<p class="svelte-1n9iqy5"><!> <!></p> <!> <!>`,1),Tr=m(`<p class="bad svelte-1n9iqy5" role="alert"> </p>`),Er=m(`<details class="own svelte-1n9iqy5"><summary class="label svelte-1n9iqy5">where isorite's files are kept</summary> <div class="body svelte-1n9iqy5"><!> <!></div></details>`);function Dr(n,r){z(r,!0);let i=X.api?.own??null,a=q(null),o=q(!1),s=q(``);K(()=>{i&&i.repo().then(e=>U(a,e),()=>void 0)});let u=L(()=>y(a)?.commands.join(`
2
2
  `)??``),m=q(!1),_=L(()=>y(a)?.choice===`separate`||y(m));async function v(e){U(s,``);try{U(a,await i?.choose(e)??y(a))}catch(e){U(s,e.message,!0)}}async function b(){try{await navigator.clipboard.writeText(y(u)),U(o,!0),setTimeout(()=>U(o,!1),1500)}catch{U(s,`The browser would not copy: select the lines and copy them.`)}}var x=f(),S=h(x),w=n=>{var r=Er(),i=A(C(r),2),f=C(i),x=n=>{var r=yr(),i=h(r),s=A(C(i)),c=e(s,!0),f=A(s);G(i);var p=A(i,2),m=e(p,!0),_=A(p,2),v=C(_),x=e(v,!0);M(2),G(_),l(e=>{t(c,y(a).path),t(f,`. ${e??``}`),t(m,y(u)),t(x,y(o)?`copied`:`copy`)},[()=>y(a).remotes.length?`Remote: ${y(a).remotes.join(`, `)}. To push:`:`To keep them elsewhere, add a remote and push:`]),g(`click`,v,()=>void b()),d(n,r)},S=n=>{var r=br(),i=C(r),o=A(i),s=e(o,!0);M(),G(r),l(()=>{t(i,`Git didn't answer: ${y(a).problem??``}. isorite's files are plain files in `),t(s,y(a).path)}),d(n,r)},w=n=>{var r=wr(),i=h(r),s=C(i),f=e=>{var t=c(`The project's repository tracks them, so everyone sharing the project has your journals and kept sessions.`);d(e,t)},x=e=>{var t=c(`They are in the project's folder, to be committed with it.`);d(e,t)};p(s,e=>{y(a).state===`tracked`?e(f):e(x,-1)});var S=A(s,2),w=e=>{var t=c(`Keep them with the project, or apart from it, in a repository of their own?`);d(e,t)};p(S,e=>{y(a).ask&&e(w)}),G(i);var T=A(i,2),E=e=>{var t=xr(),n=C(t),r=A(n,2);G(t),g(`click`,n,()=>void v(`project`)),g(`click`,r,()=>void v(`separate`)),d(e,t)},D=e=>{var t=Sr(),n=A(C(t));G(t),g(`click`,n,()=>U(m,!0)),d(e,t)};p(T,e=>{y(a).ask?e(E):y(a).choice===`project`&&!y(m)&&e(D,1)});var O=A(T,2),k=n=>{var r=Cr(),i=A(h(r),2),a=e(i,!0),s=A(i,2),c=C(s),f=e(c,!0);G(s),l(()=>{t(a,y(u)),t(f,y(o)?`copied`:`copy`)}),g(`click`,c,()=>void b()),d(n,r)};p(O,e=>{y(_)&&e(k)}),d(n,r)};p(f,e=>{y(a).state===`own`?e(x):y(a).state===`unavailable`?e(S,1):e(w,-1)});var T=A(f,2),E=n=>{var r=Tr(),i=e(r,!0);l(()=>t(i,y(s))),d(n,r)};p(T,e=>{y(s)&&e(E)}),G(i),G(r),l(()=>r.open=y(a).ask),d(n,r)};p(S,e=>{y(a)&&y(a).state!==`none`&&e(w)}),d(n,x),O()}u([`click`]);var Or=m(`<h2 class="label svelte-6livgy">choose your agent</h2> <p class="soft svelte-6livgy">The agent you already use. In this pane its conversations show here, with the notes it reads lit on the Atlas. In its own terminal it has the same tools, and the pane isn't its conversation.</p>`,1),kr=m(`<p class="faint svelte-6livgy">Looking for agents on this machine…</p>`),Ar=m(`<p class="faint note svelte-6livgy"> </p>`),jr=m(`<button type="button" class="more svelte-6livgy">start it again</button> · <button type="button" class="more svelte-6livgy">stop</button>`,1),Mr=m(`<button type="button" class="btn svelte-6livgy"> </button>`),Nr=m(`<div class="steps svelte-6livgy"><p class="svelte-6livgy"><b class="svelte-6livgy">1.</b> </p> <p class="line svelte-6livgy"><code class="svelte-6livgy"> </code> <button type="button" class="more svelte-6livgy"> </button></p> <p class="svelte-6livgy"><b class="svelte-6livgy">2.</b> <span class="faint">The pane won't show that conversation.</span></p> <p class="svelte-6livgy"><b class="svelte-6livgy">Live in both places?</b> Run it from an ACP front end such as Toad or Zed with this as its agent, and the same session shows here as it happens:</p> <p class="line svelte-6livgy"><code class="svelte-6livgy"> </code> <button type="button" class="more svelte-6livgy"> </button></p></div>`),Pr=m(`<li data-lustre=""><div class="head svelte-6livgy"><b class="svelte-6livgy"> </b><span class="state svelte-6livgy"> </span></div> <!> <div class="acts svelte-6livgy"><!> <button type="button" class="more svelte-6livgy">in my terminal</button></div> <!></li>`),Fr=m(`· <span class="faint">in this pane: <span class="chosen svelte-6livgy"> </span> <button type="button" class="more svelte-6livgy">stop</button></span>`,1),Ir=m(`<p class="bad svelte-6livgy" role="alert"> </p>`),Lr=m(`<p class="faint svelte-6livgy">Reading the ACP registry…</p>`),Rr=m(`<option> </option>`),zr=m(`<label class="hidden-label" for="agent-pick">An agent of the ACP registry</label> <select id="agent-pick" class="field svelte-6livgy"><option>An agent of the ACP registry…</option><!></select>`,1),Br=m(`<form class="pick svelte-6livgy"><!> <label class="hidden-label" for="agent-command">Or the command of an ACP agent</label> <input id="agent-command" class="field svelte-6livgy" placeholder="or its command: hermes acp" autocomplete="off" spellcheck="false"/> <p class="faint svelte-6livgy">It runs on this machine, in the base's repository, with the server's environment: its key and model are set up as for its own terminal.</p> <p class="svelte-6livgy"><button type="submit" class="btn svelte-6livgy"> </button></p></form>`),Vr=m(`<pre class="svelte-6livgy"> </pre>`),Hr=m(`<p class="faint svelte-6livgy"> </p> <!>`,1),Ur=m(`<p class="svelte-6livgy"><button type="button" class="btn svelte-6livgy"> </button></p>`),Wr=m(`<p class="faint svelte-6livgy"> </p>`),Gr=m(`<!> <!> <!>`,1),Kr=m(`<p class="faint svelte-6livgy">With no agent, the notes, the Atlas and search by meaning work as they are. Nothing to set up.</p>`),qr=m(`<!> <ul class="cards svelte-6livgy"></ul> <p class="more-row svelte-6livgy"><button type="button" class="more svelte-6livgy">another agent</button> · <button type="button" class="more svelte-6livgy">the project's config</button> <!></p> <!> <!> <!> <!> <!>`,1),Jr=m(`<p class="faint svelte-6livgy">An agent is chosen from the machine isorite runs on. In the agent's own terminal, give it isorite's MCP: <code class="svelte-6livgy"> </code>.</p>`),Yr=m(`<section aria-label="Choose your agent"><!> <!> <!></section>`);function Xr(n,r){z(r,!0);let i=I(r,`compact`,3,!1),a=X.api?.terminal??null,o=new URL(pe()?`b/${encodeURIComponent(pe())}/mcp`:`mcp`,document.baseURI).href,s=[`localhost`,`127.0.0.1`,`[::1]`].includes(location.hostname),c=q(``),u=q(null),m=q(null),v=q(``),b=q(``),x=q(!1),S=q(``);K(()=>{a&&s&&(a.chosen().then(e=>U(u,e),()=>void 0),a.detected().then(e=>U(m,e),()=>U(m,[])))});let w=(e,t)=>!!e&&(`id`in e?`id`in t&&e.id===t.id:`command`in t&&e.command===t.command),T=e=>w(y(u)?.choice,{command:e.command}),E=e=>e?y(m)?.find(t=>`command`in e&&e.command===t.command)?.name??(`command`in e?e.command:e.id):``,D=e=>`isorite acp ${e.id}`;async function N(e,t=``){if(U(c,``),a){U(v,t||`none`,!0);try{U(u,await a.choose(e))}catch(e){U(c,e.message,!0)}finally{U(v,``)}}}async function F(e,t){try{await navigator.clipboard.writeText(e),U(S,t,!0),setTimeout(()=>{y(S)===t&&U(S,``)},1500)}catch{U(c,`The browser would not copy: select the line and copy it.`)}}let R=q(null),V=q(``),H=q(``);async function W(){if(U(x,!y(x)),y(x)&&!y(R)&&a)try{U(R,(await a.registry()).filter(e=>e.how))}catch(e){U(c,e.message,!0),U(R,[])}}function te(e){e.preventDefault(),y(H).trim()?N({command:y(H).trim()},`other`):y(V)&&N({id:y(V)},`other`)}let ne=q(null),re=q(ee([])),ae=q(!1);async function oe(){if(U(ae,!y(ae)),y(ae)&&!y(ne)&&a)try{U(ne,await a.project())}catch(e){U(c,e.message,!0)}}async function se(){if(U(c,``),a)try{U(re,await a.writeProject(),!0),U(ne,y(ne)&&{...y(ne),files:y(ne).files.map(e=>({...e,current:!0}))})}catch(e){U(c,e.message,!0)}}let ce=L(()=>y(ne)?.files.filter(e=>!e.current)??[]);var Z=f(),le=h(Z),ue=n=>{var r=Yr();let a;var f=C(r),w=e=>{var t=Or();M(2),d(e,t)};p(f,e=>{i()||e(w)});var O=A(f,2),I=n=>{var r=qr(),a=h(r),s=e=>{var t=kr();d(e,t)};p(a,e=>{y(m)===null&&e(s)});var c=A(a,2);_(c,21,()=>y(m)??[],e=>e.id,(n,r)=>{var i=Pr();let a;var s=C(i),c=C(s),f=e(c,!0),m=A(c),_=e(m,!0);G(s);var x=A(s,2),w=n=>{var i=Ar(),a=e(i,!0);l(()=>t(a,y(r).note)),d(n,i)};p(x,e=>{y(r).found&&e(w)});var E=A(x,2),O=C(E),k=e=>{var t=jr(),n=h(t),i=A(n,2);l(()=>{n.disabled=!!y(v),i.disabled=!!y(v)}),g(`click`,n,()=>void N({command:y(r).command},y(r).id)),g(`click`,i,()=>void N(null)),d(e,t)},P=L(()=>T(y(r))),I=n=>{var i=Mr(),a=e(i,!0);l(()=>{i.disabled=!!y(v)||!y(r).found||!y(r).ready,j(i,`title`,y(r).found?y(r).ready?void 0:y(r).note:`${y(r).name} isn't on this machine's PATH`),t(a,y(v)===y(r).id?`starting…`:`use in this pane`)}),g(`click`,i,()=>void N({command:y(r).command},y(r).id)),d(n,i)};p(O,e=>{y(P)?e(k):e(I,-1)});var R=A(O,2);G(E);var z=A(E,2),B=n=>{var i=Nr(),a=C(i),s=A(C(a));G(a);var c=A(a,2),u=C(c),f=e(u,!0),p=A(u,2),m=e(p,!0);G(c);var h=A(c,2),_=A(C(h));M(),G(h);var v=A(h,4),b=C(v),x=e(b,!0),w=A(b,2),T=e(w,!0);G(v),G(i),l(e=>{t(s,` Give ${y(r).name??``} isorite's tools. Add this MCP address to its config, or write the project's config:`),t(f,o),t(m,y(S)===`${y(r).id}-mcp`?`copied`:`copy`),t(_,` Then run ${y(r).name??``} as you do. It reads and cites the notes, and the Atlas shows what it read. `),t(x,e),t(T,y(S)===`${y(r).id}-acp`?`copied`:`copy`)},[()=>D(y(r))]),g(`click`,p,()=>void F(o,`${y(r).id}-mcp`)),g(`click`,w,()=>void F(D(y(r)),`${y(r).id}-acp`)),d(n,i)};p(z,e=>{y(b)===y(r).id&&e(B)}),G(i),l((e,n)=>{a=Y(i,1,`card frame svelte-6livgy`,null,a,{on:e,absent:!y(r).found}),t(f,y(r).name),t(_,n),j(R,`aria-expanded`,y(b)===y(r).id)},[()=>T(y(r)),()=>T(y(r))?y(u)?.running?`in this pane · running`:`in this pane`:y(r).found?`found`:`not found`]),g(`click`,R,()=>U(b,y(b)===y(r).id?``:y(r).id,!0)),d(n,i)}),G(c);var f=A(c,2),w=C(f),O=A(w,2),I=A(O,2),z=n=>{var r=Fr(),i=A(h(r)),a=A(C(i)),o=e(a,!0),s=A(a,2);G(i),l(e=>t(o,e),[()=>E(y(u).choice)]),g(`click`,s,()=>void N(null)),d(n,r)},K=L(()=>y(u)?.choice&&!y(m)?.some(T));p(I,e=>{y(K)&&e(z)}),G(f);var q=A(f,2),ee=n=>{var r=Ir(),i=e(r);l(e=>t(i,`${y(u).problem??``}${e??``}`),[()=>y(u).hint?`: ${y(u).hint}`:y(u).said?`: ${y(u).said.trim().split(`
3
- `).at(-1)}`:``]),d(n,r)};p(q,e=>{y(u)?.problem&&e(ee)});var X=A(q,2),Z=n=>{var r=Br(),i=C(r),a=e=>{var t=Lr();d(e,t)},o=n=>{var r=zr(),i=A(h(r),2),a=C(i);a.value=a.__value=``;var o=A(a);_(o,17,()=>y(R),e=>e.id,(n,r)=>{var i=Rr(),a=e(i),o={};l(()=>{j(i,`title`,y(r).description),t(a,`${y(r).name??``} ${y(r).version??``}`),o!==(o=y(r).id)&&(i.value=(i.__value=o)??``)}),d(n,i)}),G(i),P(i),g(`change`,i,()=>U(H,``)),B(i,()=>y(V),e=>U(V,e)),d(n,r)};p(i,e=>{y(R)===null?e(a):y(R).length&&e(o,1)});var s=A(i,4);k(s);var c=A(s,4),u=C(c),f=e(u,!0);G(c),G(r),l(e=>{u.disabled=e,t(f,y(v)===`other`?`starting…`:`use in this pane`)},[()=>!!y(v)||!y(V)&&!y(H).trim()]),ie(`submit`,r,te),g(`input`,s,()=>U(V,``)),J(s,()=>y(H),e=>U(H,e)),d(n,r)};p(X,e=>{y(x)&&e(Z)});var le=A(X,2),ue=n=>{var r=Gr(),i=h(r);_(i,17,()=>y(ne).files,e=>e.file,(n,r)=>{var i=Hr(),a=h(i),o=e(a),s=A(a,2),c=n=>{var i=Vr(),a=e(i,!0);l(()=>t(a,y(r).after)),d(n,i)};p(s,e=>{y(r).current||e(c)}),l(()=>t(o,`${y(r).file??``} (${y(r).harness??``})${y(r).current?`: has it`:``}`)),d(n,i)});var a=A(i,2),o=n=>{var r=Ur(),i=C(r),a=e(i);G(r),l(e=>t(a,`write ${e??``}`),[()=>y(ce).map(e=>e.file).join(` and `)]),g(`click`,i,()=>void se()),d(n,r)};p(a,e=>{y(ce).length&&e(o)});var s=A(a,2),c=n=>{var r=Wr(),i=e(r);l(e=>t(i,`Written: ${e??``}. Commit them with the project.`),[()=>y(re).join(`, `)]),d(n,r)};p(s,e=>{y(re).length&&e(c)}),d(n,r)};p(le,e=>{y(ae)&&y(ne)&&e(ue)});var Q=A(le,2),de=e=>{Dr(e,{})};p(Q,e=>{i()||e(de)});var fe=A(Q,2),pe=e=>{var t=Kr();d(e,t)};p(fe,e=>{i()||e(pe)}),l(()=>{j(w,`aria-expanded`,y(x)),j(O,`aria-expanded`,y(ae))}),g(`click`,w,()=>void W()),g(`click`,O,()=>void oe()),d(n,r)},z=n=>{var r=Jr(),i=A(C(r)),a=e(i,!0);M(),G(r),l(()=>t(a,o)),d(n,r)};p(O,e=>{s?e(I):e(z,-1)});var K=A(O,2),q=n=>{var r=Ir(),i=e(r,!0);l(()=>t(i,y(c))),d(n,r)};p(K,e=>{y(c)&&e(q)}),G(r),l(()=>a=Y(r,1,`attach svelte-6livgy`,null,a,{compact:i()})),d(n,r)};p(le,e=>{a&&e(ue)}),d(n,Z),O()}u([`click`,`change`,`input`]);var Zr=m(`<p class="faint none svelte-19hl4w"> </p>`),Qr=m(`<p class="sure svelte-19hl4w" role="group" aria-label="Remove the kept copy">Remove what isorite kept of this?<span class="faint">The agent's own history stays.</span> <button type="button" class="more bad svelte-19hl4w">remove</button> · <button type="button" class="more svelte-19hl4w">keep</button></p>`),$r=m(`<button type="button" class="more drop svelte-19hl4w">remove</button>`),ei=m(`<div role="listitem" class="svelte-19hl4w"><button type="button" data-lustre=""><!> <span class="m svelte-19hl4w"> </span> <span class="q svelte-19hl4w"> </span> <span class="m svelte-19hl4w"> </span></button> <!></div>`),ti=m(`<p class="sure svelte-19hl4w" role="group" aria-label="Remove this conversation">Remove this conversation with Iso? <button type="button" class="more bad svelte-19hl4w">remove</button> · <button type="button" class="more svelte-19hl4w">keep</button></p>`),ni=m(`<h2 class="label none svelte-19hl4w">earlier, with Iso</h2> <!>`,1),ri=m(`<p class="faint none svelte-19hl4w">Started for this pane: <code class="svelte-19hl4w"> </code> · <button type="button" class="more svelte-19hl4w">stop it</button></p>`),ii=m(`<p class="bad none svelte-19hl4w" role="alert"> </p>`),ai=m(`<div class="drawer svelte-19hl4w" role="list" aria-label="The agents' sessions"><!> <!> <!> <!> <!> <details class="change none svelte-19hl4w"><summary class="label svelte-19hl4w">change agent</summary><!></details> <!></div>`);function oi(n,r){z(r,!0);let i=864e5;function a(e){let t=new Date(e),n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime();return Number.isNaN(t.getTime())?``:t.getTime()>=r?`today · ${t.toTimeString().slice(0,5)}`:t.getTime()>=r-i?`yesterday`:t.getTime()>=r-6*i?t.toLocaleDateString(void 0,{weekday:`short`}):t.toLocaleDateString(void 0,{day:`numeric`,month:`short`,...t.getFullYear()===n.getFullYear()?{}:{year:`numeric`}})}let o=(e,t)=>`${e} ${t}${e===1?``:`s`}`,s=L(()=>$.view?.sessions??[]),c=e=>!$.old&&e.session===$.view?.session&&e.agent===$.view?.agentId,u=e=>e.busy?`at work`:e.live?`live`:e.kept?e.open?`kept`:`kept · to read`:e.open?`from its terminal`:`the agent's own`,m=X.api?.terminal??null,v=q(null);K(()=>{m&&[`localhost`,`127.0.0.1`,`[::1]`].includes(location.hostname)&&m.chosen().then(e=>U(v,e),()=>void 0)});async function b(){try{U(v,await m?.choose(null)??null)}catch(e){$.problem=e.message}}let x=q(``),S=e=>`${e.agent}/${e.session}`;async function w(e){U(x,``),await $.forgetPast(e)}async function T(e){U(x,``),await $.forget(e.agent,e.session)}async function E(e){await $.follow(e.agent,e.session),$.problem||($.shown=`session`)}var k=ai(),M=C(k),N=n=>{var r=Zr(),i=e(r);l(()=>t(i,`No sessions yet${$.acp?`: those you start in the agent's own terminal show here too, to carry on`:`: attach an agent, and its sessions are kept here`}.`)),d(n,r)};p(M,e=>{y(s).length||e(N)});var P=A(M,2);_(P,17,()=>y(s),e=>`${e.agent}/${e.session}`,(n,r)=>{var i=ei(),s=C(i);let m;var _=C(s);Ee(_,{get id(){return y(r).session},size:44,get growing(){return y(r).busy}});var v=A(_,2),b=e(v),w=A(v,2),D=e(w,!0),O=A(w,2),k=e(O,!0);G(s);var M=A(s,2),N=e=>{var t=f(),n=h(t),i=e=>{var t=Qr(),n=A(C(t),3),i=A(n,2);G(t),g(`click`,n,()=>void T(y(r))),g(`click`,i,()=>U(x,``)),d(e,t)},a=L(()=>y(x)===S(y(r))),o=e=>{var t=$r();l(()=>j(t,`aria-label`,`Remove the kept copy of ${(y(r).title||y(r).asked||`this session`)??``}`)),g(`click`,t,()=>U(x,S(y(r)),!0)),d(e,t)};p(n,e=>{y(a)?e(i):e(o,-1)}),d(e,t)};p(M,e=>{y(r).kept&&!y(r).live&&e(N)}),G(i),l((e,n,i,a,o)=>{m=Y(s,1,`spec frame svelte-19hl4w`,null,m,{on:e,live:y(r).live}),j(s,`aria-current`,n),s.disabled=!y(r).open&&!y(r).kept,j(s,`title`,!y(r).open&&!y(r).kept?`${y(r).name} isn't attached to carry it on`:!y(r).live&&!y(r).kept?`Carry on here what you did in ${y(r).name}'s own terminal`:void 0),t(b,`${y(r).name??``} · ${i??``}${a??``}`),t(D,y(r).title||y(r).asked||`A session`),t(k,o)},[()=>c(y(r)),()=>c(y(r))?`true`:void 0,()=>u(y(r)),()=>a(y(r).last)?` · ${a(y(r).last)}`:``,()=>y(r).turns?`${o(y(r).notes,`note`)} · ${o(y(r).turns,`turn`)}`:`not carried here yet`]),g(`click`,s,()=>void E(y(r))),d(n,i)});var F=A(P,2),I=n=>{var r=ni(),i=A(h(r),2);_(i,17,()=>$.past,e=>e.id,(n,r)=>{var i=ei(),s=C(i);let c;var u=C(s);Ee(u,{get id(){return y(r).id},size:44});var f=A(u,2),m=e(f),h=A(f,2),_=e(h,!0),v=A(h,2),b=e(v);G(s);var S=A(s,2),T=e=>{var t=ti(),n=A(C(t)),i=A(n,2);G(t),g(`click`,n,()=>void w(y(r).id)),g(`click`,i,()=>U(x,``)),d(e,t)},E=e=>{var t=$r();l(()=>j(t,`aria-label`,`Remove the conversation ${y(r).asked??``}`)),g(`click`,t,()=>U(x,`iso/${y(r).id}`)),d(e,t)};p(S,e=>{y(x)===`iso/${y(r).id}`?e(T):e(E,-1)}),G(i),l((e,n,i)=>{c=Y(s,1,`spec frame svelte-19hl4w`,null,c,{on:$.old?.session===y(r).id}),j(s,`aria-current`,$.old?.session===y(r).id?`true`:void 0),t(m,`Iso · to read${e??``}`),t(_,y(r).asked),t(b,`${n??``} · ${i??``}`)},[()=>a(y(r).last)?` · ${a(y(r).last)}`:``,()=>o(y(r).notes,`note`),()=>o(y(r).turns,`turn`)]),g(`click`,s,()=>void $.read(y(r).id)),d(n,i)}),d(n,r)};p(F,e=>{$.past.length&&e(I)});var R=A(F,2),B=n=>{var r=ri(),i=A(C(r)),a=e(i,!0),o=A(i,2);G(r),l(()=>t(a,y(v).choice&&`id`in y(v).choice?y(v).choice.id:y(v).command)),g(`click`,o,()=>void b()),d(n,r)};p(R,e=>{y(v)?.running&&e(B)});var V=A(R,2),H=n=>{var r=ii(),i=e(r,!0);l(()=>t(i,$.problem)),d(n,r)};p(V,e=>{$.problem&&e(H)});var W=A(V,2);Xr(A(C(W)),{compact:!0}),G(W),Dr(A(W,2),{}),G(k),D(`open`,`toggle`,W,e=>$.changing=e,()=>$.changing),d(n,k),O()}u([`click`]);var si=m(`<i></i>`),ci=m(`<span> </span>`),li=m(`<span> </span><span class="faint"> </span>`,1),ui=m(`<span class="faint"> </span>`),di=m(`<div class="strata svelte-po8nwq" role="img"></div> <p class="total svelte-po8nwq"><!><!></p>`,1),fi=m(`<p class="faint"> </p>`),pi=m(`<span class="num svelte-po8nwq"> </span>`),mi=m(`<li class="row svelte-po8nwq"><span class="r svelte-po8nwq"><span aria-hidden="true"> </span><span class="t svelte-po8nwq"> </span><span class="d svelte-po8nwq"> </span><!></span></li>`),hi=m(`<div class="column svelte-po8nwq"><!> <p class="faint"> </p></div> <h2 class="label svelte-po8nwq">notes</h2> <ul class="rows svelte-po8nwq" aria-label="The notes in the session"></ul>`,1),gi=m(`<p class="faint">With an agent attached, what it has in hand shows here: isorite's part, the notes it was given and read, and the room left.</p>`),_i=m(`<li class="row svelte-po8nwq"><span class="r svelte-po8nwq"><span class="mk svelte-po8nwq" aria-hidden="true">◆</span><span class="t svelte-po8nwq"> </span></span> <button type="button" class="x svelte-po8nwq"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button></li>`),vi=m(`<div class="context svelte-po8nwq" role="region" aria-label="What the agent has in hand"><!> <h2 class="label svelte-po8nwq">in the tray</h2> <ul class="rows svelte-po8nwq" aria-label="What you gave Iso" title="Given to the session before its next prompt, asked here or in its front end, unless given already"></ul></div>`);function yi(n,r){z(r,!0);let i=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),a=q(null),o=q({});K(()=>{$.session&&X.api.map().then(e=>U(o,Object.fromEntries(Object.entries(e.notes).map(([e,t])=>[e,t.tokens]))),()=>void 0)});let s=L(()=>{let e=new Set,t=new Set;for(let n of $.session?.turns??[]){for(let t of n.given??[])t.kind===`note`&&e.add(t.id);for(let e of n.items)e.kind===`tool`&&e.note&&!e.base&&e.status===`done`&&t.add(e.note)}let n=e=>X.listing.notes.find(t=>t.id===e)?.title??e;return[...[...e].map(e=>({id:e,how:`given`})),...[...t].filter(t=>!e.has(t)).map(e=>({id:e,how:`read`}))].map(e=>({...e,title:n(e.id),tokens:y(o)[e.id]??0}))}),c=L(()=>{let e=$.session;if(!e?.size||!e.tokens.input)return[];let t=Math.min(e.ours??0,e.tokens.input),n=Math.min(y(s).reduce((e,t)=>e+t.tokens,0),e.tokens.input-t);return[{k:`instructions`,name:`isorite's`,tokens:t},{k:`notes`,name:`notes`,tokens:n},{k:`conversation`,name:`the rest`,tokens:e.tokens.input-t-n},{k:`room`,name:`room`,tokens:Math.max(0,e.size-e.tokens.input)}].filter(e=>e.tokens>0).map(t=>({...t,w:100*t.tokens/e.size}))}),u=L(()=>y(c).find(e=>e.k===y(a)));var f=vi(),m=C(f),v=n=>{let r=L(()=>$.session);var o=hi(),f=h(o),m=C(f),v=n=>{var o=di(),s=h(o);_(s,21,()=>y(c),e=>e.k,(e,t)=>{var n=si();let r;l(e=>{Y(n,1,`s ${y(t).k??``}`,`svelte-po8nwq`),j(n,`data-k`,y(t).k),r=w(n,``,r,{width:e})},[()=>`${y(t).w.toFixed(2)??``}%`]),d(e,n)}),G(s);var f=A(s,2),m=C(f),v=n=>{var r=ci(),a=e(r);l(e=>t(a,`${y(u).name??``} · ${e??``}`),[()=>i(y(u).tokens)]),d(n,r)},b=n=>{var a=li(),o=h(a),s=e(o,!0),c=A(o),u=e(c);l((e,n)=>{t(s,e),t(u,`of ${n??``}`)},[()=>i(y(r).tokens.input),()=>i(y(r).size??0)]),d(n,a)};p(m,e=>{y(u)?e(v):e(b,-1)});var x=A(m),S=n=>{var i=ui(),a=e(i);l(e=>t(a,`· $${e??``}`),[()=>y(r).cost.toFixed(2)]),d(n,i)};p(x,e=>{y(r).cost&&e(S)}),G(f),l(e=>{j(s,`aria-label`,e),j(f,`title`,`As ${y(r).agent??``} counts it`)},[()=>y(c).map(e=>`${e.name} ${i(e.tokens)}`).join(`, `)]),g(`pointerover`,s,e=>U(a,e.target.dataset.k??null,!0)),ie(`pointerleave`,s,()=>U(a,null)),d(n,o)},b=n=>{var i=fi(),a=e(i);l(()=>t(a,`${(y(r).agent||`The agent`)??``} hasn't said how full its context is${y(r).turns.length?``:` yet`}.`)),d(n,i)};p(m,e=>{y(c).length?e(v):e(b,-1)});var x=A(m,2),S=e(x);G(f);var T=A(f,4);_(T,21,()=>y(s),e=>e.id,(n,a)=>{var o=mi(),s=C(o),c=C(s);let u;var f=e(c,!0),m=A(c),h=e(m,!0),g=A(m),_=e(g,!0),v=A(g),b=n=>{var r=pi(),o=e(r,!0);l(e=>t(o,e),[()=>i(y(a).tokens)]),d(n,r)};p(v,e=>{y(a).tokens&&e(b)}),G(s),G(o),l(()=>{j(s,`title`,y(a).how===`given`?`Given from here`:`Read by ${y(r).agent}`),u=Y(c,1,`mk svelte-po8nwq`,null,u,{iso:y(a).how===`read`}),t(f,y(a).how===`given`?`◆`:`◇`),t(h,y(a).title),t(_,y(a).how)}),d(n,o)}),G(T),l(()=>t(S,`What ${(y(r).agent||`the agent`)??``} dropped when it compacted can't be seen from here.`)),d(n,o)},b=e=>{var t=gi();d(e,t)};p(m,e=>{$.session?e(v):e(b,-1)});var x=A(m,4);_(x,21,()=>be.sent,e=>be.keyOf(e),(n,r)=>{var i=_i(),a=C(i),o=A(C(a)),s=e(o,!0);G(a);var c=A(a,2);G(i),l(()=>{t(s,y(r).kind===`passage`?`“${y(r).text}”`:y(r).title),j(c,`aria-label`,`Take ${y(r).title??``} out of Iso's context`)}),g(`click`,c,()=>be.remove(y(r))),d(n,i)}),G(x),G(f),d(n,f),O()}u([`pointerover`,`click`]);var bi=m(`<div class="permit svelte-17377q0" role="group" aria-label="The agent asks before it does this"><p> <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>`),xi=m(`<div class="said prose svelte-17377q0"></div>`),Si=m(`<button type="button" class="note-link svelte-17377q0"> </button>`),Ci=m(`<span class="qt svelte-17377q0"> </span> <button class="keep svelte-17377q0" type="button" data-lustre="">keep</button>`,1),wi=m(`<p class="qb svelte-17377q0"> </p>`),Ti=m(`<div class="asks svelte-17377q0"><p class="svelte-17377q0"><svg class="qm svelte-17377q0" viewBox="0 0 16 16" width="13" height="13" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"></path></svg><!></p> <!></div>`),Ei=m(`<span>AGENTS.md</span>`),Di=m(`<span class="in svelte-17377q0">inserted</span>`),Oi=m(`<button class="insert svelte-17377q0" type="button">insert</button>`),ki=m(`<div class="offer svelte-17377q0"><div class="prose yours svelte-17377q0"></div> <p class="for svelte-17377q0"><!> <!></p></div>`),Ai=m(`<a class="note-link svelte-17377q0" data-sveltekit-reload="" target="_blank" rel="noopener"><span class="in svelte-17377q0"> </span> </a>`),ji=m(`<code class="q svelte-17377q0"> </code>`),Mi=m(`<span class="n svelte-17377q0"><span class="add svelte-17377q0"> </span> <span class="del svelte-17377q0"> </span></span>`),Ni=m(`<span> </span>`),Pi=m(`<pre class="diff svelte-17377q0"></pre>`),Fi=m(`<pre class="out svelte-17377q0"> </pre>`),Ii=m(`<details><summary class="svelte-17377q0"><span class="v svelte-17377q0"> </span><!><!></summary> <!></details>`),Li=m(`<p class="line svelte-17377q0"><span class="v svelte-17377q0"> </span><!></p>`),Ri=m(`<div class="tool svelte-17377q0"><!> <!></div>`),zi=m(`<span class="chip svelte-17377q0"><span class="k svelte-17377q0" aria-hidden="true"> </span><span class="t svelte-17377q0"> </span></span>`),Bi=m(`<span class="gave svelte-17377q0"></span>`),Vi=m(`<button type="button" data-lustre=""><s aria-hidden="true" class="svelte-17377q0"></s><b class="svelte-17377q0"> </b> </button>`),Hi=m(`<div class="parts svelte-17377q0" role="group"></div>`),Ui=m(`<p class="doing svelte-17377q0" role="status"><!> </p>`),Wi=m(`<p class="faint end svelte-17377q0">stopped</p>`),Gi=m(`<p class="bad svelte-17377q0" role="alert"> </p>`),Ki=m(`<article class="turn svelte-17377q0"><div class="you svelte-17377q0"><p class="asked svelte-17377q0"> </p> <!> <span class="from svelte-17377q0"> </span></div> <!> <!> <!></article>`),qi=m(`<p class="title faint svelte-17377q0"> </p>`),Ji=m(`<p class="faint"> </p>`),Yi=m(`<p class="faint">A conversation with Iso, from before isorite attached your own agent: kept to read.</p>`),Xi=m(`<div class="chat svelte-17377q0" role="log" aria-label="The agent's session" aria-live="polite"><!> <!> <!> <!> <!> <!></div>`);function Zi(n,r){z(r,!0);let i=(n,r=V)=>{var i=bi(),a=C(i),o=C(a),s=A(o),c=e(s,!0);M(),G(a);var f=A(a,2),p=C(f),m=A(p),h=A(m);G(f),G(i),l(e=>{t(o,`${(y(u)?.agent||`The agent`)??``} wants to `),t(c,e)},[()=>N(r())]),g(`click`,p,()=>void $.reply(r().id,`once`)),g(`click`,m,()=>void $.reply(r().id,`always`)),g(`click`,h,()=>void $.reply(r().id,`reject`)),d(n,i)},o=(n,r=V)=>{var o=f(),s=h(o),c=e=>{var t=xi();te(t,()=>Se(r().text),!0),G(t),E(t,(e,t)=>we?.(e,t),()=>({given:r().text,copy:!0})),d(e,t)},u=n=>{var i=Ti(),a=C(i),o=A(C(a)),s=n=>{var i=Si(),a=e(i,!0);l(()=>{j(i,`data-to`,r().made),t(a,r().title)}),g(`click`,i,()=>S(`read`,r().made)),d(n,i)},c=n=>{var i=Ci(),a=h(i),o=e(a,!0),s=A(a,2);l(e=>{t(o,r().title),j(s,`aria-label`,`Keep “${r().title??``}” as an open question`),j(s,`title`,`Keep as an open question about ${e??``}`)},[()=>r().about.map(m).join(`, `)]),g(`click`,s,()=>void $.take(r().id)),d(n,i)};p(o,e=>{r().made?e(s):e(c,-1)}),G(a);var u=A(a,2),f=n=>{var i=wi(),a=e(i,!0);l(()=>t(a,r().text)),d(n,i)};p(u,e=>{r().text&&e(f)}),G(i),l(()=>{j(i,`data-question`,r().id),j(i,`data-to`,r().made??`?${r().id}`)}),d(n,i)},v=n=>{var i=ki(),a=C(i);te(a,()=>Se(r().text),!0),G(a),E(a,(e,t)=>we?.(e,t),()=>r().text);var o=A(a,2),s=C(o),c=e=>{var t=Ei();d(e,t)},u=n=>{var i=Si(),a=e(i,!0);l(e=>{j(i,`data-to`,r().note),t(a,e)},[()=>m(r().note)]),g(`click`,i,()=>S(`read`,r().note)),d(n,i)};p(s,e=>{r().note===`AGENTS.md`?e(c):e(u,-1)});var f=A(s,2),h=e=>{var t=Di();d(e,t)},_=e=>{var t=Oi();l(e=>j(t,`aria-label`,`Insert into ${e??``} as yours`),[()=>m(r().note)]),g(`click`,t,()=>void $.take(r().id)),d(e,t)};p(f,e=>{r().taken?e(h):e(_,-1)}),G(o),G(i),l(()=>j(i,`data-offer`,r().id)),d(n,i)},b=n=>{var o=Ri(),s=C(o),c=n=>{var i=Ii(),o=C(i),s=C(o),c=e(s,!0),u=A(s),f=n=>{var i=Ai(),a=C(i),o=e(a),s=A(a);G(i),l(e=>{j(i,`href`,e),j(i,`title`,`In ${r().base??``}, in a tab of its own`),t(o,`${r().base??``}:`),t(s,` ${r().note??``}`)},[()=>ce(r().base,`#/n/${r().note}`)]),d(n,i)},h=n=>{var i=Si(),a=e(i,!0);l(e=>{j(i,`data-to`,r().note),t(a,e)},[()=>m(r().note)]),g(`click`,i,e=>{e.preventDefault(),S(r().name,r().note)}),d(n,i)},v=n=>{var i=ji(),a=e(i,!0);l(()=>t(a,r().title)),d(n,i)};p(u,e=>{r().note&&r().base?e(f):r().note?e(h,1):e(v,-1)});var b=A(u),x=n=>{var i=Mi(),a=C(i),o=e(a),s=A(a,2),c=e(s);G(i),l((e,n)=>{t(o,`+${e??``}`),t(c,`−${n??``}`)},[()=>r().diff.filter(e=>e.startsWith(`+`)).length,()=>r().diff.filter(e=>e.startsWith(`-`)).length]),d(n,i)};p(b,e=>{r().diff&&e(x)}),G(o);var w=A(o,2),E=n=>{var i=Pi();_(i,21,()=>r().diff,a,(n,r)=>{var i=Ni();let a;var o=e(i,!0);l((e,n)=>{a=Y(i,1,`svelte-17377q0`,null,a,{add:e,del:n}),t(o,y(r))},[()=>y(r).startsWith(`+`),()=>y(r).startsWith(`-`)]),d(n,i)}),G(i),d(n,i)},D=n=>{var i=Fi(),a=e(i,!0);l(()=>t(a,r().output)),d(n,i)};p(w,e=>{r().diff?e(E):e(D,-1)}),G(i),l(e=>t(c,e),[()=>T(r().name)]),d(n,i)},u=n=>{var i=Li(),a=C(i),o=e(a,!0),s=A(a),c=n=>{var i=Ai(),a=C(i),o=e(a),s=A(a);G(i),l(e=>{j(i,`href`,e),j(i,`title`,`In ${r().base??``}, in a tab of its own`),t(o,`${r().base??``}:`),t(s,` ${r().note??``}`)},[()=>ce(r().base,`#/n/${r().note}`)]),d(n,i)},u=n=>{var i=Si(),a=e(i,!0);l(e=>{j(i,`data-to`,r().note),t(a,e)},[()=>m(r().note)]),g(`click`,i,()=>S(r().name,r().note)),d(n,i)},f=n=>{var i=ji(),a=e(i,!0);l(()=>t(a,r().title)),d(n,i)};p(s,e=>{r().note&&r().base?e(c):r().note?e(u,1):e(f,-1)}),G(i),l(e=>t(o,e),[()=>T(r().name)]),d(n,i)};p(s,e=>{r().output||r().diff?e(c):e(u,-1)});var f=A(s,2);_(f,17,()=>P(r().id),e=>e.id,(e,t)=>{i(e,()=>y(t))}),G(o),l(()=>j(o,`data-status`,r().status)),d(n,o)};p(s,e=>{r().kind===`text`?e(c):r().kind===`question`?e(u,1):r().kind===`offer`?e(v,2):e(b,-1)}),d(n,o)},s=(n,r=V)=>{var i=Ki(),s=C(i),c=C(s),v=e(c,!0),b=A(c,2),x=n=>{var i=Bi();_(i,21,()=>r().given,a,(n,r)=>{var i=zi(),a=C(i),o=e(a,!0),s=A(a),c=e(s,!0);G(i),l(e=>{j(i,`data-to`,y(r).kind===`note`?y(r).id:void 0),t(o,re[y(r).kind]),t(c,e)},[()=>y(r).kind===`passage`?y(r).text:y(r).kind===`folder`?y(r).id||`the base`:m(y(r).id)]),d(n,i)}),G(i),d(n,i)};p(b,e=>{r().given?.length&&e(x)});var S=A(b,2),w=e(S,!0);G(s);var T=A(s,2);_(T,17,()=>r().items,a,(e,t)=>{var n=f(),i=h(n),a=e=>{o(e,()=>y(t))},s=L(()=>!D(y(t))&&!J(r(),y(t)));p(i,e=>{y(s)&&e(a)}),d(e,n)});var E=A(T,2),O=n=>{var i=Hi();_(i,20,()=>W(r()),e=>e,(n,r)=>{var i=Vi();let a;var o=A(C(i)),s=e(o,!0),c=A(o,1,!0);G(i),l((e,n)=>{a=Y(i,1,`part svelte-17377q0`,null,a,{lit:y(ne)===r}),j(i,`data-to`,r),t(s,e),t(c,n)},[()=>m(r),()=>ee(r)]),g(`click`,i,()=>void Z.open(r,!0)),d(n,i)}),G(i),l(()=>j(i,`aria-label`,`What ${(y(u)?.agent||`the agent`)??``} drew on`)),d(n,i)},k=L(()=>r().state!==`running`&&W(r()).length);p(E,e=>{y(k)&&e(O)});var M=A(E,2),N=e=>{var n=Ui(),r=C(n),i=e=>{Ee(e,{get id(){return y(u).session},size:28,growing:!0})};p(r,e=>{y(u)?.session&&e(i)});var a=A(r);G(n),l(()=>t(a,`${(y(u)?.agent||`The agent`)??``} is at work`)),d(e,n)},P=e=>{var t=Wi();d(e,t)},F=n=>{var r=Gi(),i=e(r);l(()=>t(i,`The turn failed${$.old?``:`; ${y(u)?.agent||`the agent`} says why in its front end`}.`)),d(n,r)};p(M,e=>{r().state===`running`?e(N):r().state===`stopped`?e(P,1):r().state===`failed`&&e(F,2)}),G(i),l(()=>{j(i,`data-state`,r().state),t(v,r().asked),t(w,$.old?``:r().from===`here`?`from here`:`in its front end`)}),d(n,i)},c=q(void 0),u=L(()=>$.session),m=e=>X.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,b={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(w(e))&&Z.flip(`provenance`,!0),Z.open(t,!0)}let w=e=>e.replace(/^(mcp_+)?isorite[_:]+/,``),T=e=>b[w(e)]??w(e).replaceAll(`_`,` `),D=e=>e.kind===`tool`&&/^(ask_question|offer_text)$/.test(w(e.name)),k={shell:`run`,edit:`edit`,write:`write`,read:`read`,webfetch:`fetch`,external_directory:`reach outside the project`},N=e=>`${k[e.action]??e.action} ${e.resources.join(`, `)}`.trim(),P=e=>y(u)?.asking.filter(t=>t.tool===e)??[],F=L(()=>y(u)?.asking.filter(e=>!e.tool||!y(u).turns.some(t=>t.items.some(t=>t.kind===`tool`&&t.id===e.tool)))??[]);K(()=>{y(u),v().then(()=>{y(c)&&(y(c).scrollTop=y(c).scrollHeight)})});function I(e){if(e.pointerType!==`mouse`||!(e.target instanceof Element))return;let t=e.target.closest(`[data-to], a[href]`),n=t?.dataset.to?{id:t.dataset.to,folder:!1}:t instanceof HTMLAnchorElement?Ce(t.getAttribute(`href`)??``):null;xe.set(`iso`,n?{...n,who:`you`}:null)}let B=/\]\(\/([^)\s]+?)\.md(?:#[^)\s]*)?(?:\s+"[^"]*")?\)/g,H=e=>X.listing.notes.some(t=>t.id===e);function W(e){let t=new Set;for(let n of e.items)if(n.kind===`text`)for(let e of n.text.matchAll(B))t.add(decodeURI(e[1]));for(let n of e.items)n.kind===`tool`&&n.note&&!n.base&&n.status!==`failed`&&t.add(n.note);return[...t].filter(H)}let ee=e=>X.listing.notes.find(t=>t.id===e)?.dir.split(`/`).at(-1)||`notes`,J=(e,t)=>e.state!==`running`&&t.kind===`tool`&&!!t.note&&!t.base&&!t.diff&&t.status===`done`&&!x.has(w(t.name))&&H(t.note),ne=L(()=>xe.elsewhere?.from===`iso`&&!xe.elsewhere.folder?xe.elsewhere.id:xe.onAtlas);K(()=>{let e=y(ne);if(y(u),y(c))for(let t of y(c).querySelectorAll(`.said a.vein`))t.classList.toggle(`lit`,!!e&&Ce(t.getAttribute(`href`)??``)?.id===e)});let re={note:`▣`,folder:`▭`,passage:`“`};var ae=Xi(),oe=C(ae),se=n=>{var r=qi(),i=e(r,!0);l(()=>t(i,y(u).title)),d(n,r)};p(oe,e=>{y(u)?.title&&e(se)});var le=A(oe,2);_(le,17,()=>y(u)?.turns??[],e=>e.id,(e,t)=>{s(e,()=>y(t))});var ue=A(le,2);_(ue,17,()=>y(F),e=>e.id,(e,t)=>{i(e,()=>y(t))});var Q=A(ue,2),de=n=>{var r=Ji(),i=e(r);l(()=>t(i,`${(y(u)?.agent||`The agent`)??``}'s session shows here: what is asked in its front end or here, what it does, and what it asks before doing. Notes put in the tray go before the next prompt.`)),d(n,r)};p(Q,e=>{y(u)?.turns.length||e(de)});var fe=A(Q,2),pe=e=>{var t=Yi();d(e,t)},me=n=>{var r=Ji(),i=e(r);l(()=>t(i,`Kept here; ${y(u).agent??``} isn't attached to carry it on.`)),d(n,r)};p(fe,e=>{$.old?e(pe):y(u)?.reading&&e(me,1)});var he=A(fe,2),ge=e=>{Xr(e,{})};p(he,e=>{$.connected||e(ge)}),G(ae),R(ae,e=>U(c,e),()=>y(c)),g(`pointerover`,ae,I),ie(`pointerleave`,ae,()=>xe.set(`iso`,null)),d(n,ae),O()}u([`click`,`pointerover`]);var Qi=m(`<div class="chat svelte-d2jxoz"><!></div>`),$i=m(`<option> </option>`),ea=m(`<label class="set svelte-d2jxoz"><span class="hidden-label"> </span> <select class="field svelte-d2jxoz"></select></label>`),ta=m(`<div class="settings svelte-d2jxoz"></div>`),na=m(`<span class="faint"> </span>`),ra=m(`<li role="option"><button type="button" tabindex="-1"><b class="svelte-d2jxoz"> </b><!> <span class="d svelte-d2jxoz"> </span></button></li>`),ia=m(`<ul class="slash svelte-d2jxoz" role="listbox" aria-label="Slash commands"></ul>`),aa=m(`<button class="corner stop svelte-d2jxoz" type="button" aria-label="Stop the agent" title="Stop (Escape)"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true"><rect x="4" y="4" width="8" height="8" fill="currentColor"></rect></svg></button>`),oa=m(`<button class="corner send svelte-d2jxoz" type="button" aria-label="Send" title="Send (Enter)"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M3 8h10M9 4l4 4-4 4"></path></svg></button>`),sa=m(`<p class="bad svelte-d2jxoz" role="alert"> </p>`),ca=m(`<div><!> <div class="composer svelte-d2jxoz"><!> <!> <div class="box svelte-d2jxoz"><label class="hidden-label" for="iso-box">Message the agent</label> <textarea id="iso-box" rows="2" class="svelte-d2jxoz"></textarea> <!></div> <!></div></div>`);function la(n,r){z(r,!0);let i=q(``),a=L(()=>$.running),o=L(()=>!!$.old||$.acp);H(()=>{$.start()}),K(()=>{be.sent,$.view?.session,$.acp&&$.give()});let s=L(()=>$.view?.commands??[]),c=L(()=>$.view?.settings??[]),u=L(()=>/^\/(\S*)$/.exec(y(i))),f=L(()=>y(u)&&!$.old?y(s).filter(e=>e.name.startsWith(y(u)[1]??``)):[]),m=q(0);K(()=>{y(f).length,U(m,0)});function h(e=y(m)){let t=y(f)[e];t&&U(i,`/${t.name} `)}async function v(){await $.send(y(i))&&U(i,``)}function b(e){if(y(f).length&&!e.isComposing){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),U(m,(y(m)+(e.key===`ArrowDown`?1:y(f).length-1))%y(f).length);return}if(e.key===`Tab`||e.key===`Enter`&&!e.shiftKey&&y(i)!==`/${y(f)[y(m)]?.name}`){e.preventDefault(),h();return}if(e.key===`Escape`){e.preventDefault(),U(i,``);return}}e.key===`Enter`&&!e.shiftKey&&!e.isComposing?(e.preventDefault(),v()):e.key===`Escape`&&y(a)&&(e.preventDefault(),$.stop())}var x=ca();let S;var w=C(x),T=e=>{yi(e,{})},E=e=>{oi(e,{})},D=e=>{Zi(e,{})},k=e=>{var t=Qi();Xr(C(t),{}),G(t),d(e,t)};p(w,e=>{$.shown===`context`?e(T):$.shown===`past`?e(E,1):y(o)?e(D,2):e(k,-1)});var M=A(w,2),F=C(M),I=n=>{var r=ta();_(r,21,()=>y(c),e=>`${e.kind}:${e.id}`,(n,r)=>{var i=ea(),a=C(i),o=e(a,!0),s=A(a,2);_(s,21,()=>y(r).options,e=>e.value,(n,i)=>{var a=$i(),o=e(a),s={};l(()=>{j(a,`title`,y(i).description),t(o,`${y(r).kind===`mode`?``:`${y(r).name}: `}${y(i).name??``}`),s!==(s=y(i).value)&&(a.value=(a.__value=s)??``)}),d(n,a)}),G(s);var c;P(s),G(i),l(()=>{t(o,y(r).name),j(s,`aria-label`,y(r).name),j(s,`title`,y(r).name),c!==(c=y(r).current)&&(s.value=(s.__value=c)??``,N(s,c))}),g(`change`,s,e=>void $.set(y(r).kind,y(r).id,e.currentTarget.value)),d(n,i)}),G(r),d(n,r)};p(F,e=>{y(c).length&&$.connected&&!$.old&&e(I)});var R=A(F,2),B=n=>{var r=ia();_(r,23,()=>y(f),e=>e.name,(n,r,i)=>{var a=ra(),o=C(a);let s;var c=C(o),u=e(c),f=A(c),_=n=>{var i=na(),a=e(i,!0);l(()=>t(a,y(r).hint)),d(n,i)};p(f,e=>{y(r).hint&&e(_)});var v=A(f,2),b=e(v,!0);G(o),G(a),l(()=>{j(a,`aria-selected`,y(i)===y(m)),s=Y(o,1,`svelte-d2jxoz`,null,s,{on:y(i)===y(m)}),t(u,`/${y(r).name??``}`),t(b,y(r).description)}),g(`mousedown`,o,e=>{e.preventDefault(),h(y(i))}),d(n,a)}),G(r),d(n,r)};p(R,e=>{y(f).length&&e(B)});var V=A(R,2),ee=A(C(V),2);W(ee);var te=A(ee,2),ne=e=>{var t=aa();g(`click`,t,()=>void $.stop()),d(e,t)},re=e=>{var t=oa();g(`click`,t,()=>void v()),d(e,t)},ie=L(()=>y(i).trim());p(te,e=>{y(a)?e(ne):y(ie)&&e(re,1)}),G(V);var ae=A(V,2),oe=n=>{var r=sa(),i=e(r,!0);l(()=>t(i,$.problem||$.view?.problem)),d(n,r)};p(ae,e=>{($.problem||$.view?.problem)&&e(oe)}),G(M),G(x),l(()=>{S=Y(x,1,`iso svelte-d2jxoz`,null,S,{drop:be.carrying?.over}),j(ee,`placeholder`,$.connected?`Ask ${$.view?.agent||`the agent`}`:`Attach an agent to ask it here`)}),g(`keydown`,ee,b),J(ee,()=>y(i),e=>U(i,e)),d(n,x),O()}u([`change`,`mousedown`,`keydown`,`click`]);var ua=m(`<li><i class="tick svelte-1wk2ip3" aria-hidden="true"> </i> <a data-sveltekit-reload="" class="svelte-1wk2ip3"> </a> <button class="lend svelte-1wk2ip3" type="button" aria-label="Lent to every session"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round"><rect x="2.5" y="5.5" width="7" height="8"></rect><path d="M6.5 5.5V2.5h7v8h-4"></path></svg></button></li>`),da=m(`<p class="bad svelte-1wk2ip3" role="alert"> </p>`),fa=m(`<div class="frame bases svelte-1wk2ip3" role="dialog" aria-label="Knowledge bases" tabindex="-1"><span class="frame-title">bases</span> <ul class="svelte-1wk2ip3"></ul> <!></div>`),pa=m(`<button class="base svelte-1wk2ip3" type="button" aria-haspopup="true" title="The knowledge bases: switch to another"> </button> <span class="slash svelte-1wk2ip3" aria-hidden="true">/</span> <!>`,1);function ma(n,r){z(r,!0);let i=X.api?.bases??null,a=q(!1),o=q([]),s=q(``),c=q(!1),u=q(``),m=q(void 0),v=q(void 0),b=q(ee({top:0,left:0}));async function S(){if(i)try{await(async e=>{U(o,e.bases),U(s,e.here,!0),U(c,e.local,!0)})(await i.list()),U(u,``)}catch(e){U(u,e.message,!0)}}async function T(){if(U(a,!y(a)),y(a)&&y(v)){let e=y(v).getBoundingClientRect();U(b,{top:e.bottom+14,left:Math.max(8,e.left-8)},!0)}y(a)&&(await S(),y(m)?.querySelector(`a`)?.focus())}async function E(e){try{U(o,await i.lend(e.name,!e.lend)),U(u,``)}catch(e){U(u,e.message,!0)}}function D(e){y(a)&&e.target instanceof Node&&!y(m)?.contains(e.target)&&!y(v)?.contains(e.target)&&U(a,!1)}function k(e){y(a)&&e.key===`Escape`&&(U(a,!1),y(v)?.focus())}var M=f();ie(`pointerdown`,x,D),ie(`keydown`,x,k);var N=h(M),P=n=>{var r=pa(),i=h(r),f=e(i,!0);R(i,e=>U(v,e),()=>y(v));var x=A(i,4),S=n=>{var r=fa();let i;var a=A(C(r),2);_(a,21,()=>y(o),e=>e.name,(n,r)=>{let i=L(()=>y(r).name===(y(s)||X.session.name));var a=ua();let o;var u=C(a),f=e(u,!0),p=A(u,2),m=e(p,!0),h=A(p,2);G(a),l(e=>{o=Y(a,1,`svelte-1wk2ip3`,null,o,{here:y(i)}),t(f,y(i)?`✓`:``),j(p,`href`,e),j(p,`title`,y(r).path),j(p,`aria-current`,y(i)?`page`:void 0),t(m,y(r).name),j(h,`aria-pressed`,y(r).lend),h.disabled=!y(c),j(h,`title`,y(c)?y(r).lend?`Lent to every session's agent and Iso: press to keep it to itself`:`Lend it to every session's agent and Iso, as the agent's memory is`:`Lent or not is changed only from this machine`)},[()=>ce(y(r).name)]),g(`click`,h,()=>E(y(r))),d(n,a)}),G(a);var f=A(a,2),h=n=>{var r=da(),i=e(r,!0);l(()=>t(i,y(u))),d(n,r)};p(f,e=>{y(u)&&e(h)}),G(r),R(r,e=>U(m,e),()=>y(m)),l(()=>i=w(r,``,i,{top:`${y(b).top??``}px`,left:`${y(b).left??``}px`})),d(n,r)};p(x,e=>{y(a)&&e(S)}),l(()=>{j(i,`aria-expanded`,y(a)),t(f,X.session.name)}),g(`click`,i,T),d(n,r)};p(N,e=>{i&&X.session&&e(P)}),d(n,M),O()}u([`click`]);var ha=o(`<rect x="2.5" y="2.5" width="11" height="11"></rect><path d="M8 2.5v11"></path><rect x="8.6" y="3.1" width="4.3" height="9.8" fill="currentColor" stroke="none"></rect>`,1),ga=o(`<path d="M8 1v14" stroke-width="1.2"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor" stroke="none"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor" stroke="none"></path><rect x="5.5" y="12" width="5" height="3" stroke-width="1.2"></rect>`,1),_a=o(`<path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"></path>`),va=o(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),ya=o(`<circle cx="8" cy="8" r="5.5"></circle><path d="M2.5 8h11M8 2.5c-2 2.8-2 8.2 0 11M8 2.5c2 2.8 2 8.2 0 11"></path>`,1),ba=o(`<path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path>`),xa=o(`<rect x="2.5" y="3" width="11" height="10"></rect><path d="M2.5 11l3.5-3.5 3 3 1.5-1.5 3 3"></path><circle cx="10.5" cy="6" r="1" fill="currentColor" stroke="none"></circle>`,1),Sa=o(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path><path d="M8 5.5l2.5 2.5L8 10.5 5.5 8z" fill="currentColor" stroke="none"></path>`,1),Ca=o(`<path d="M2.5 13.5l2.5-2.5M5 11c.6-4.2 3.6-7.4 8.5-8.5C12.6 7.2 9.4 10.4 5 11zM7.2 8.8l2.6-.3M8.8 6.6l2.4-.4"></path>`),wa=o(`<path d="M3.5 2.5h5.5l3.5 3.5v7.5h-9z"></path><path d="M9 2.5V6h3.5"></path>`,1),Ta=o(`<path d="M3 4.5l3 3.5-3 3.5M7.5 12h5.5"></path>`),Ea=m(`<button type="button" class="sw svelte-ubc5lw"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><!></svg></button>`),Da=m(`<button class="icon gear svelte-ubc5lw" type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M2.5 4.5h11M2.5 8h11M2.5 11.5h11"></path><rect x="9" y="3" width="2.5" height="3" fill="var(--ground-0)"></rect><rect x="4.5" y="6.5" width="2.5" height="3" fill="var(--ground-0)"></rect><rect x="10" y="10" width="2.5" height="3" fill="var(--ground-0)"></rect></svg></button>`),Oa=m(`<div class="frame settings svelte-ubc5lw" role="dialog" tabindex="-1"><span class="frame-title"> </span> <div class="inner svelte-ubc5lw"><!></div></div>`),ka=m(`<header class="phead svelte-ubc5lw"><!> <span class="pname svelte-ubc5lw"> </span> <span class="switches svelte-ubc5lw" role="group"></span> <span class="grow svelte-ubc5lw"></span> <!> <!></header> <!>`,1);function Aa(n,i){z(i,!0);let a=I(i,`first`,3,!1),o={provenance:`Provenance: whose words are whose (Alt+P)`,timeline:`Timeline (Alt+T)`,context:`The agent's context: what it was given, what it read and changed (Alt+C)`,questions:`Open questions (Alt+Q)`,problems:`Problems (Alt+B)`,web:`Links to the web (Alt+W)`,code:`Links to code (Alt+K)`,pictures:`Files beside the notes: pictures, artifacts, data (Alt+I)`,notes:`Agents may edit the notes (Alt+N)`,files:`The agent may edit the project's files (Alt+F)`,run:`The agent may run commands (Alt+R)`},s={provenance:`growth`,timeline:`lattice`,questions:`rose`,problems:`text`,web:`lattice`,code:`lattice`,pictures:`lattice`,context:`growth`,notes:`growth`,files:`growth`,run:`growth`},c=L(()=>Q[i.pane].filter(e=>e!==`files`&&e!==`run`||Z.attached)),u=L(()=>Z.settings===i.pane),f=q(void 0);K(()=>{y(u)&&y(f)?.focus()});function m(e){y(u)&&e.target instanceof Element&&(y(f)?.contains(e.target)||e.target.closest(`[data-settings="${i.pane}"]`)||(Z.settings=null))}var v=ka();ie(`pointerdown`,x,m),ie(`keydown`,x,e=>{y(u)&&e.key===`Escape`&&(Z.settings=null)});var b=h(v),S=C(b),T=e=>{ma(e,{})};p(S,e=>{a()&&e(T)});var E=A(S,2),D=e(E,!0),k=A(E,2);_(k,20,()=>y(c),e=>e,(e,t)=>{var n=Ea();let r;var i=C(n),a=C(i),c=e=>{var t=ha();M(2),d(e,t)},u=e=>{var t=ga();M(3),d(e,t)},f=e=>{var t=_a();d(e,t)},m=e=>{var t=va();d(e,t)},h=e=>{var t=ya();M(),d(e,t)},_=e=>{var t=ba();d(e,t)},v=e=>{var t=xa();M(2),d(e,t)},y=e=>{var t=Sa();M(),d(e,t)},b=e=>{var t=Ca();d(e,t)},x=e=>{var t=wa();M(),d(e,t)},S=e=>{var t=Ta();d(e,t)};p(a,e=>{t===`provenance`?e(c):t===`timeline`?e(u,1):t===`questions`?e(f,2):t===`problems`?e(m,3):t===`web`?e(h,4):t===`code`?e(_,5):t===`pictures`?e(v,6):t===`context`?e(y,7):t===`notes`?e(b,8):t===`files`?e(x,9):e(S,-1)}),G(i),G(n),l(e=>{j(n,`data-switch`,t),j(n,`aria-pressed`,Z.on[t]),j(n,`aria-label`,e),j(n,`title`,o[t]),r=w(n,``,r,{"--c":`var(--${s[t]??``})`})},[()=>o[t].replace(/ \(Alt\+.\)$/,``)]),g(`click`,n,()=>Z.flip(t)),d(e,n)}),G(k);var N=A(k,4);r(N,()=>i.tools??V);var P=A(N,2),F=e=>{var t=Da();l(()=>{j(t,`data-settings`,i.pane),j(t,`aria-label`,`${i.name??``} settings`),j(t,`aria-expanded`,y(u)),j(t,`title`,`${i.name??``} settings`)}),g(`click`,t,()=>Z.settings=y(u)?null:i.pane),d(e,t)};p(P,e=>{i.settings&&e(F)}),G(b);var B=A(b,2),H=n=>{var a=Oa(),o=C(a),s=e(o,!0),c=A(o,2),u=C(c);r(u,()=>i.settings),G(c),G(a),R(a,e=>U(f,e),()=>y(f)),l(e=>{j(a,`aria-label`,`${i.name??``} settings`),t(s,e)},[()=>i.name.toLowerCase()]),d(n,a)};p(B,e=>{i.settings&&y(u)&&e(H)}),l(()=>{t(D,i.name),j(k,`aria-label`,`${i.name??``}'s switches`)}),d(n,v),O()}u([`click`]);var ja=m(`<button type="button" class="gauge svelte-1cyuk5c"><i></i></button>`);function Ma(e,t){z(t,!0);let n=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),r=e=>`$${e.toFixed(e>0&&e<.1?3:2)}`,i=L(()=>$.session),a=L(()=>y(i)?.size?{tokens:y(i).tokens.input,limit:y(i).size}:null),o=L(()=>y(a)?Math.min(1,y(a).tokens/y(a).limit):0),s=L(()=>!!y(a)&&y(a).tokens>=Math.min(1e5,y(a).limit/2)),c=L(()=>!!y(a)&&y(a).tokens>y(a).limit),u=L(()=>y(i)?y(i).size?`${y(i).agent}: ${n(y(i).tokens.input)} of ${n(y(i).size)} tokens${y(i).cost?`, ${r(y(i).cost)}`:``}${y(s)?`: long enough to drift`:``}`:`${y(i).agent||`The agent`} hasn't said how full its context is`:`Context: no agent attached`);var f=ja(),p=C(f);let m,h;G(f),l(()=>{j(f,`aria-label`,y(u)),j(f,`title`,y(u)),m=Y(p,1,`bar ctx svelte-1cyuk5c`,null,m,{long:y(s),full:y(c)}),h=w(p,``,h,{"--fill":y(o)})}),g(`click`,f,()=>$.shown=$.shown===`context`?`session`:`context`),d(e,f),O()}u([`click`]);var Na=m(`<h2 class="label svelte-1c4xnzk">AGENTS.md</h2> <label class="hidden-label" for="agents">AGENTS.md: your instructions for this base</label> <textarea id="agents" class="agents svelte-1c4xnzk" rows="6" spellcheck="true" placeholder="notation, level, language, how notes are named" title="Your instructions for this base, read by the agents you attach. Kept at the top of your notes, as AGENTS.md."></textarea>`,1),Pa=m(`<p class="bad svelte-1c4xnzk" role="alert"> </p>`),Fa=m(`<section class="svelte-1c4xnzk"><!> <!></section>`);function Ia(n,r){z(r,!0);let i=q(``),a=q(null),o=``;K(()=>{X.api.agents().then(e=>{U(a,e.text??``,!0),o=y(a)},()=>void 0)});async function s(){if(y(a)!==null&&y(a)!==o){U(i,``);try{await X.api.saveAgents(y(a)),o=y(a)}catch(e){U(i,e.message,!0)}}}var c=Fa(),u=C(c),f=e=>{var t=Na(),n=A(h(t),4);W(n),ie(`blur`,n,()=>void s()),J(n,()=>y(a),e=>U(a,e)),d(e,t)};p(u,e=>{y(a)!==null&&e(f)});var m=A(u,2),g=n=>{var r=Pa(),a=e(r,!0);l(()=>t(a,y(i))),d(n,r)};p(m,e=>{y(i)&&e(g)}),G(c),d(n,c),O()}var La=m(`<button class="btn quiet danger-text svelte-1h9x2hz" type="button">Delete it</button>`),Ra=m(`<div class="ask svelte-1h9x2hz" role="alertdialog" aria-label="delete this note"><span>Delete this note? <!> Its history stays.</span> <div class="row svelte-1h9x2hz"><button class="btn danger" type="button">delete</button> <button class="btn quiet" type="button">keep it</button></div></div>`),za=m(`<p class="problem svelte-1h9x2hz" role="alert"> </p>`),Ba=m(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">this note</h2> <div class="row svelte-1h9x2hz"><button class="btn" type="button">A question about it</button> <button class="btn" type="button">A problem using it</button> <!></div> <!> <!></section>`),Va=m(`<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>`),Ha=m(`<button type="button" role="radio"> </button>`),Ua=m(`<button type="button">fullscreen</button>`),Wa=o(`<path d="M5.8 2.5v11M10.2 2.5v11"></path>`),Ga=o(`<path d="M8 2.5v11M8 8h6.5"></path>`),Ka=m(`<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>`),qa=o(`<path d="M4 2.5h6l2.5 2.5v8.5H4zM6 7h5M6 9.5h5"></path>`),Ja=o(`<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),Ya=o(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path>`),Xa=m(`<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>`),Za=m(`<span class="icons svelte-1h9x2hz" role="group" aria-label="Layout"></span> <span class="icons svelte-1h9x2hz" role="group" aria-label="Panes shown"></span>`,1),Qa=m(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the screen</h2> <div class="row svelte-1h9x2hz"><!> <!></div></section>`),$a=m(`<!> <!> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the ground</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Ground"></div></section> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the code</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Code"></div></section> <!> <p class="foot svelte-1h9x2hz"><a>the parts</a></p>`,1);function eo(n,r){z(r,!0);let i={note:`Note`,atlas:`Atlas`,iso:`Iso`},a={cols:`Three columns`,stack:`The note beside the Atlas over Iso`,one:`One pane: the one in focus`},o=q(!1),s=q(!1);H(()=>{U(o,!!document.fullscreenEnabled&&!matchMedia(`(display-mode: standalone)`).matches,!0);let e=()=>{U(s,document.fullscreenElement!==null)};return e(),document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)}),q(!1);let u=q(null),f=q(``);async function m(e){U(f,``);try{let t=await X.api.map();U(u,[...new Set(t.model.edges.filter(([t,n])=>n===e&&t!==e&&!t.startsWith(`@`)).map(([e])=>t.notes[e]?.title||e))],!0)}catch(e){U(f,e.message,!0)}}async function v(e){try{await X.api.deleteNote(e,(await X.api.readNote(e)).version),U(u,null),Z.settings=null,await X.refresh(),await oe(ae(`/notes`),{replaceState:!0})}catch(e){U(f,e.message,!0),U(u,null)}}function b(){document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(()=>void 0)}var x=$a(),S=h(x),w=n=>{let r=L(()=>X.open);var i=Ba(),a=A(C(i),2),o=C(a),s=A(o,2),h=A(s,2),_=e=>{var t=La();g(`click`,t,()=>void m(y(r))),d(e,t)},b=L(()=>y(u)===null&&X.listing.notes.some(e=>e.id===y(r)));p(h,e=>{y(b)&&e(_)}),G(a);var x=A(a,2),S=e=>{var n=Ra(),i=C(n),a=A(C(i)),o=e=>{var n=c();l(e=>t(n,`${y(u).length===1?`One note links`:`${y(u).length} notes link`} to it (${e??``}); ${y(u).length===1?`its link is`:`their links are`} left broken.`),[()=>y(u).join(`, `)]),d(e,n)},s=e=>{var t=c(`No note links to it.`);d(e,t)};p(a,e=>{y(u).length?e(o):e(s,-1)}),M(),G(i);var f=A(i,2),m=C(f),h=A(m,2);G(f),G(n),g(`click`,m,()=>void v(y(r))),g(`click`,h,()=>{U(u,null)}),d(e,n)};p(x,e=>{y(u)!==null&&e(S)});var w=A(x,2),T=n=>{var r=za(),i=e(r,!0);l(()=>t(i,y(f))),d(n,r)};p(w,e=>{y(f)&&e(T)}),G(i),g(`click`,o,()=>{Z.settings=null,Fe(`question`,y(r))}),g(`click`,s,()=>{Z.settings=null,Fe(`problem`,y(r))}),d(n,i)},T=L(()=>X.open&&!X.open.startsWith(`@`));p(S,e=>{y(T)&&e(w)});var E=A(S,2),D=n=>{var r=Va(),i=A(C(r),2),a=C(i),o=e(a,!0),s=A(a,2),c=e(s);G(i);var u=A(i,2);p(u,e=>{}),G(r),l(()=>{t(o,X.session.name),t(c,`· ${X.listing.notes.length??``} ${X.listing.notes.length===1?`note`:`notes`}`)}),d(n,r)};p(E,e=>{X.session&&e(D)});var k=A(E,2),N=A(C(k),2);_(N,21,()=>Oe,([e,t])=>e,(n,r)=>{var i=L(()=>F(y(r),2));let a=()=>y(i)[0],o=()=>y(i)[1];var s=Ha();let c;var u=e(s,!0);l(()=>{c=Y(s,1,`btn svelte-1h9x2hz`,null,c,{on:De.chosen===a()}),j(s,`aria-checked`,De.chosen===a()),t(u,o())}),g(`click`,s,()=>De.choose(a())),d(n,s)}),G(N),G(k);var P=A(k,2),I=A(C(P),2);_(I,21,()=>Ae,([e,t])=>e,(n,r)=>{var i=L(()=>F(y(r),2));let a=()=>y(i)[0],o=()=>y(i)[1];var s=Ha();let c;var u=e(s,!0);l(()=>{c=Y(s,1,`btn svelte-1h9x2hz`,null,c,{on:ke.chosen===a()}),j(s,`aria-checked`,ke.chosen===a()),j(s,`title`,a()?`keywords bold, comments faint, as in print`:`coloured by what each word is`),t(u,o())}),g(`click`,s,()=>ke.choose(a())),d(n,s)}),G(I),G(P);var R=A(P,2),B=e=>{var t=Qa(),n=A(C(t),2),r=C(n),c=e=>{var t=Ua();let n;l(()=>{n=Y(t,1,`btn svelte-1h9x2hz`,null,n,{on:y(s)}),j(t,`aria-pressed`,y(s))}),g(`click`,t,b),d(e,t)};p(r,e=>{y(o)&&e(c)});var u=A(r,2),f=e=>{var t=Za(),n=h(t);_(n,20,()=>fe,e=>e,(e,t)=>{var n=Ka(),r=C(n),i=A(C(r)),o=e=>{var t=Wa();d(e,t)},s=e=>{var t=Ga();d(e,t)};p(i,e=>{t===`cols`?e(o):t===`stack`&&e(s,1)}),G(r),G(n),l(()=>{j(n,`aria-pressed`,Z.layout===t),j(n,`aria-label`,a[t]),j(n,`title`,`${a[t]??``} (Alt+L)`)}),g(`click`,n,()=>Z.setLayout(t)),d(e,n)}),G(n);var r=A(n,2);_(r,20,()=>le,e=>e,(e,t)=>{var n=Xa();let r;var a=C(n),o=C(a),s=e=>{var t=qa();d(e,t)},c=e=>{var t=Ja();M(2),d(e,t)},u=e=>{var t=Ya();d(e,t)};p(o,e=>{t===`note`?e(s):t===`atlas`?e(c,1):e(u,-1)}),G(a),G(n),l(e=>{r=Y(n,1,`icon svelte-1h9x2hz`,null,r,{off:!Z.show[t]}),j(n,`aria-pressed`,Z.show[t]),j(n,`aria-label`,`Show ${i[t]??``}`),j(n,`title`,`Show or hide ${i[t]??``} (Alt+${e??``} brings it back)${t===`iso`?` · hide it when your terminal has the session`:``}`)},[()=>le.indexOf(t)+1]),g(`click`,n,()=>Z.toggle(t)),d(e,n)}),G(r),d(e,t)};p(u,e=>{Z.narrow||e(f)}),G(n),G(t),d(e,t)};p(R,e=>{(y(o)||!Z.narrow)&&e(B)});var V=A(R,2),W=e(V);l(e=>j(W,`href`,e),[()=>ae(`/parts`)]),g(`click`,W,()=>Z.settings=null),d(n,x),O()}u([`click`]);var to=e=>{eo(e,{})},no=e=>{Ia(e,{})},ro=n=>{var r=ao(),i=A(C(r),2),a=n=>{var r=io(),i=e(r);l(()=>t(i,`${X.listing.notes.length??``} ${X.listing.notes.length===1?`note`:`notes`}`)),d(n,r)};p(i,e=>{X.atlas&&e(a)}),G(r),d(n,r)},io=m(`<p class="soft svelte-12qhfyh"> </p>`),ao=m(`<section class="set svelte-12qhfyh"><h2 class="label svelte-12qhfyh">the map</h2> <!></section>`),oo=m(`<p class="stopped svelte-12qhfyh"> </p>`),so=m(`<div class="divider svelte-12qhfyh" role="separator" aria-orientation="vertical" tabindex="0"></div>`),co=m(`<span role="status"><i aria-hidden="true" class="svelte-12qhfyh"></i><span class="hidden-label svelte-12qhfyh"> </span></span>`),lo=m(`<!> <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),uo=m(`<div class="tree svelte-12qhfyh"><!></div>`),fo=m(`<!> <div class="pbody note-body svelte-12qhfyh"><!></div> <!>`,1),po=m(`<span class="says svelte-12qhfyh"> </span>`),mo=m(`<span class="where soft svelte-12qhfyh"> </span><button class="btn out svelte-12qhfyh" type="button">↑ out</button>`,1),ho=m(`<button class="icon svelte-12qhfyh" type="button" aria-label="The whole map" title="The whole map (0)"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M2.5 6V2.5H6M10 2.5h3.5V6M13.5 10v3.5H10M6 13.5H2.5V10" class="svelte-12qhfyh"></path></svg></button>`),go=m(`<!> <!> <!>`,1),_o=m(`<!> <div class="pbody atlas-body svelte-12qhfyh"><!></div>`,1),vo=m(`<button class="chip svelte-12qhfyh" type="button" aria-label="Change agent"> <span aria-hidden="true" class="svelte-12qhfyh">▾</span></button>`),yo=o(`<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 4.5h11v8h-11zM2.5 7.5h11M6.5 10h3" class="svelte-12qhfyh"></path></svg>`),bo=m(`<span> </span>`),xo=m(`<button class="icon svelte-12qhfyh" type="button" aria-label="A new session"><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>`),So=m(`<!> <!> <!> <button class="icon past svelte-12qhfyh" type="button" aria-label="Sessions" title="The agents' sessions, and Iso's earlier conversations"><!></button> <button class="icon ctx svelte-12qhfyh" type="button" aria-label="Context" title="What the agent has in hand, and what the tray gives it"><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> <!>`,1),Co=m(`<!> <div class="pbody iso-body svelte-12qhfyh"><!></div>`,1),wo=m(`<section><!> <!></section>`),To=m(`<span class="badge svelte-12qhfyh"> </span>`),Eo=m(`<button type="button" class="svelte-12qhfyh"> <!></button>`),Do=m(`<div class="shell svelte-12qhfyh"><main class="panes svelte-12qhfyh"><!></main> <nav class="tabs svelte-12qhfyh" aria-label="Panes"></nav></div>`);function Oo(n,a){z(a,!0);let o=L(()=>Z.standing);K(()=>{Te.route.id===`/n/[...id]`&&Te.params.id&&Z.setLast(Te.params.id)}),K(()=>{Te.url.href,Z.tree=!1}),H(ge),H(()=>{let e=matchMedia(`(max-width: 760px)`);Z.narrow=e.matches;let t=()=>{Z.narrow=e.matches,Z.narrow&&requestAnimationFrame(()=>Z.scroll?.(Z.focus))};return e.addEventListener(`change`,t),Z.scroll=e=>{if(!Z.narrow||!y(c))return;let t=y(c).querySelector(`[data-pane="${e}"]`);t&&y(c).scrollTo({left:t.offsetLeft,behavior:matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`})},()=>{e.removeEventListener(`change`,t),Z.scroll=null}});let c=q(void 0),u=L(()=>{if(Z.layout===`stack`&&y(o).length===3){let[e,t]=y(o);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(y(o).map((e,t)=>[e,`abc`[t]]))}}return{template:`minmax(0, 1fr) / ${y(o).map(e=>`minmax(0, ${Z.widths[e]}fr)`).join(` `)}`,areas:{}}});function m(e,t){let n=e.currentTarget,r=y(o)[y(o).indexOf(t)-1];if(!r||!y(c))return;n.setPointerCapture(e.pointerId);let i=y(o).reduce((e,t)=>e+(Z.layout===`stack`&&t===y(o)[2]?0:Z.widths[t]),0),a=y(c).getBoundingClientRect().width/i,s=e.clientX,l=e=>{let n=(e.clientX-s)/a,i=Z.widths[r]+n,o=Z.widths[t]-n;i<.4||o<.4||(Z.setWidth(r,i),Z.setWidth(t,o),s=e.clientX)},u=()=>{n.removeEventListener(`pointermove`,l),n.removeEventListener(`pointerup`,u)};n.addEventListener(`pointermove`,l),n.addEventListener(`pointerup`,u)}function v(e,t){let n=y(o)[y(o).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 b(){Z.narrow&&y(c)&&(clearTimeout(T),T=setTimeout(()=>{let e=le[Math.round(y(c).scrollLeft/y(c).clientWidth)];e&&e!==Z.focus&&(Z.focus=e,e===`iso`&&(Z.unseen=0))},60))}let T;function E(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(le[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(k[n.toLowerCase()])Z.flip(k[n.toLowerCase()]);else return;e.preventDefault()}let D={note:`Note`,atlas:`Atlas`,iso:`Iso`},k={p:`provenance`,t:`timeline`,q:`questions`,b:`problems`,w:`web`,k:`code`,i:`pictures`,c:`context`,n:`notes`,f:`files`,r:`run`},N=L(()=>Te.route.id===`/n/[...id]`),P=L(()=>X.atlas?X.iso:null),F=L(()=>y(P)?.state===`reading`||y(P)?.state===`writing`),I=L(()=>me(y(P)?.agent)),B=L(()=>{let e=y(P)?.steps.findLast(e=>e.opened&&!e.failed)?.opened;return e?X.listing.notes.find(t=>t.id===e)?.title??e:``});var V=Do();ne(`12qhfyh`,e=>{s(()=>{S.title=y(N)&&X.here?`${X.here} · isorite`:`isorite`})}),ie(`keydown`,x,E);var W=C(V);let ee;var J=C(W),te=n=>{var r=oo(),i=e(r);l(()=>t(i,`isorite could not open the base: ${X.error??``}`)),d(n,r)},re=n=>{var s=f(),c=h(s);_(c,16,()=>le,e=>e,(n,s)=>{var c=wo();let _,b;var x=C(c),S=e=>{var t=so();l(()=>j(t,`aria-label`,`Resize ${D[s]??``}`)),g(`pointerdown`,t,e=>m(e,s)),g(`keydown`,t,e=>v(e,s)),d(e,t)};p(x,e=>{!Z.narrow&&y(o)[0]!==s&&(Z.layout!==`stack`||y(o)[2]!==s)&&e(S)});var T=A(x,2),E=n=>{var i=fo(),s=h(i);{let n=n=>{var r=lo(),i=h(r),a=n=>{var r=co();let i;var a=A(C(r)),o=e(a,!0);G(r),l(e=>{i=Y(r,1,`saved svelte-12qhfyh`,null,i,{bad:X.saving.bad,busy:e}),j(r,`title`,X.saving.text),t(o,X.saving.text)},[()=>!X.saving.text.startsWith(`saved`)]),d(n,r)};p(i,e=>{y(N)&&X.saving&&e(a)});var o=A(i,2);l(()=>j(o,`aria-pressed`,Te.route.id===`/notes`||Z.tree)),g(`click`,o,()=>{Te.route.id!==`/notes`&&(Z.tree=!Z.tree)}),d(n,r)},r=L(()=>Z.narrow||y(o)[0]===`note`);Aa(s,{pane:`note`,get first(){return y(r)},name:`Note`,get settings(){return to},tools:n,$$slots:{tools:!0}})}var c=A(s,2),u=C(c);r(u,()=>a.children),G(c);var f=A(c,2),m=e=>{var t=uo(),n=C(t);je(n,{}),G(t),d(e,t)};p(f,e=>{Z.tree&&Te.route.id!==`/notes`&&e(m)}),d(n,i)},O=n=>{var r=_o(),i=h(r);{let n=n=>{var r=go(),i=h(r),a=n=>{var r=po(),i=e(r);l(()=>t(i,`${X.atlas.steps??``} ${X.atlas.steps===1?`step`:`steps`} back`)),d(n,r)};p(i,e=>{X.atlas?.chosen&&X.atlas.steps&&e(a)});var o=A(i,2),s=n=>{var r=mo(),i=h(r),a=e(i,!0),o=A(i);l(()=>t(a,X.atlas.here)),g(`click`,o,function(...e){X.atlas.out?.apply(this,e)}),d(n,r)};p(o,e=>{X.atlas?.here&&e(s)});var c=A(o,2),u=e=>{var t=ho();g(`click`,t,function(...e){X.atlas.fit?.apply(this,e)}),d(e,t)};p(c,e=>{X.atlas&&e(u)}),d(n,r)},r=L(()=>Z.narrow||y(o)[0]===`atlas`);Aa(i,{pane:`atlas`,get first(){return y(r)},name:`Atlas`,get settings(){return ro},tools:n,$$slots:{tools:!0}})}var a=A(i,2);vr(C(a),{}),G(a),d(n,r)},k=n=>{var r=Co(),a=h(r);{let n=n=>{let r=L(()=>$.session?.session);var a=So(),o=h(a),s=n=>{var r=po(),i=e(r,!0);l(()=>{j(r,`title`,y(F)?``:`click open ground on the Atlas to let its path go`),t(i,y(F)?`${y(I)} is ${y(B)?`reading ${y(B)}`:`at work`} in its own terminal`:`${y(I)}'s turn is done`)}),d(n,r)};p(o,e=>{y(P)?.agent&&!$.acp&&e(s)});var c=A(o,2),u=e=>{var n=vo(),r=C(n);M(),G(n),l(()=>{j(n,`title`,`${$.view.agent??``} is attached: change agent`),t(r,`${$.view.agent??``} `)}),g(`click`,n,()=>$.change()),d(e,n)};p(c,e=>{$.view?.connected&&$.view.agent&&e(u)});var m=A(c,2);Ma(m,{});var _=A(m,2),v=C(_),b=e=>{Ee(e,{get id(){return y(r)},size:20})},x=e=>{var t=yo();d(e,t)};p(v,e=>{y(r)?e(b):e(x,-1)}),G(_);var S=A(_,2),w=A(C(S),2),T=n=>{var r=f(),a=h(r);i(a,()=>be.fresh,n=>{var r=bo();let i;var a=e(r,!0);l(()=>{i=Y(r,1,`n svelte-12qhfyh`,null,i,{pulse:$.shown===`session`&&be.fresh!==``}),t(a,be.sent.length)}),d(n,r)}),d(n,r)};p(w,e=>{be.sent.length&&e(T)}),G(S);var E=A(S,2),D=e=>{var t=xo();l(()=>j(t,`title`,`A new session with ${$.view.agent??``}, from here`)),g(`click`,t,()=>{$.fresh($.view?.agentId??``),$.shown=`session`}),d(e,t)};p(E,e=>{$.view?.connected&&e(D)}),l(()=>{j(_,`aria-pressed`,$.shown===`past`),j(S,`aria-pressed`,$.shown===`context`)}),g(`click`,_,()=>void $.drawer()),g(`click`,S,()=>$.shown=$.shown===`context`?`session`:`context`),d(n,a)},r=L(()=>Z.narrow||y(o)[0]===`iso`);Aa(a,{pane:`iso`,get first(){return y(r)},name:`Iso`,get settings(){return no},tools:n,$$slots:{tools:!0}})}var s=A(a,2);la(C(s),{}),G(s),d(n,r)};p(T,e=>{s===`note`?e(E):s===`atlas`?e(O,1):e(k,-1)}),G(c),l(e=>{_=Y(c,1,`pane svelte-12qhfyh`,null,_,{focus:Z.focus===s,first:y(o)[0]===s,top:Z.layout===`stack`&&y(o)[1]===s&&y(o).length===3}),j(c,`data-pane`,s),j(c,`aria-label`,D[s]),j(c,`hidden`,e),b=w(c,``,b,{"grid-area":y(u).areas[s]})},[()=>!y(o).includes(s)]),ie(`pointerdown`,c,()=>{Z.narrow||(Z.focus=s)},!0),d(n,c)}),d(n,s)};p(J,e=>{X.error?e(te):e(re,-1)}),G(W),R(W,e=>U(c,e),()=>y(c));var ae=A(W,2);_(ae,20,()=>le,e=>e,(n,r)=>{var i=Eo(),a=C(i),o=A(a),s=n=>{var r=To(),i=e(r,!0);l(()=>t(i,Z.unseen)),d(n,r)};p(o,e=>{r===`iso`&&Z.unseen&&e(s)}),G(i),l(()=>{j(i,`aria-current`,Z.focus===r),j(i,`aria-label`,D[r]),t(a,`${D[r]??``} `)}),g(`click`,i,()=>Z.to(r)),d(n,i)}),G(ae),G(V),l(()=>{j(W,`data-layout`,Z.layout),ee=w(W,``,ee,{"grid-template":y(u).template})}),ie(`scroll`,W,b),d(n,V),O()}u([`pointerdown`,`keydown`,`click`]);export{Oo as component,Me as universal};
3
+ `).at(-1)}`:``]),d(n,r)};p(q,e=>{y(u)?.problem&&e(ee)});var X=A(q,2),Z=n=>{var r=Br(),i=C(r),a=e=>{var t=Lr();d(e,t)},o=n=>{var r=zr(),i=A(h(r),2),a=C(i);a.value=a.__value=``;var o=A(a);_(o,17,()=>y(R),e=>e.id,(n,r)=>{var i=Rr(),a=e(i),o={};l(()=>{j(i,`title`,y(r).description),t(a,`${y(r).name??``} ${y(r).version??``}`),o!==(o=y(r).id)&&(i.value=(i.__value=o)??``)}),d(n,i)}),G(i),P(i),g(`change`,i,()=>U(H,``)),B(i,()=>y(V),e=>U(V,e)),d(n,r)};p(i,e=>{y(R)===null?e(a):y(R).length&&e(o,1)});var s=A(i,4);k(s);var c=A(s,4),u=C(c),f=e(u,!0);G(c),G(r),l(e=>{u.disabled=e,t(f,y(v)===`other`?`starting…`:`use in this pane`)},[()=>!!y(v)||!y(V)&&!y(H).trim()]),ie(`submit`,r,te),g(`input`,s,()=>U(V,``)),J(s,()=>y(H),e=>U(H,e)),d(n,r)};p(X,e=>{y(x)&&e(Z)});var le=A(X,2),ue=n=>{var r=Gr(),i=h(r);_(i,17,()=>y(ne).files,e=>e.file,(n,r)=>{var i=Hr(),a=h(i),o=e(a),s=A(a,2),c=n=>{var i=Vr(),a=e(i,!0);l(()=>t(a,y(r).after)),d(n,i)};p(s,e=>{y(r).current||e(c)}),l(()=>t(o,`${y(r).file??``} (${y(r).harness??``})${y(r).current?`: has it`:``}`)),d(n,i)});var a=A(i,2),o=n=>{var r=Ur(),i=C(r),a=e(i);G(r),l(e=>t(a,`write ${e??``}`),[()=>y(ce).map(e=>e.file).join(` and `)]),g(`click`,i,()=>void se()),d(n,r)};p(a,e=>{y(ce).length&&e(o)});var s=A(a,2),c=n=>{var r=Wr(),i=e(r);l(e=>t(i,`Written: ${e??``}. Commit them with the project.`),[()=>y(re).join(`, `)]),d(n,r)};p(s,e=>{y(re).length&&e(c)}),d(n,r)};p(le,e=>{y(ae)&&y(ne)&&e(ue)});var Q=A(le,2),de=e=>{Dr(e,{})};p(Q,e=>{i()||e(de)});var fe=A(Q,2),pe=e=>{var t=Kr();d(e,t)};p(fe,e=>{i()||e(pe)}),l(()=>{j(w,`aria-expanded`,y(x)),j(O,`aria-expanded`,y(ae))}),g(`click`,w,()=>void W()),g(`click`,O,()=>void oe()),d(n,r)},z=n=>{var r=Jr(),i=A(C(r)),a=e(i,!0);M(),G(r),l(()=>t(a,o)),d(n,r)};p(O,e=>{s?e(I):e(z,-1)});var K=A(O,2),q=n=>{var r=Ir(),i=e(r,!0);l(()=>t(i,y(c))),d(n,r)};p(K,e=>{y(c)&&e(q)}),G(r),l(()=>a=Y(r,1,`attach svelte-6livgy`,null,a,{compact:i()})),d(n,r)};p(le,e=>{a&&e(ue)}),d(n,Z),O()}u([`click`,`change`,`input`]);var Zr=m(`<p class="faint none svelte-19hl4w"> </p>`),Qr=m(`<p class="sure svelte-19hl4w" role="group" aria-label="Remove the kept copy">Remove what isorite kept of this?<span class="faint">The agent's own history stays.</span> <button type="button" class="more bad svelte-19hl4w">remove</button> · <button type="button" class="more svelte-19hl4w">keep</button></p>`),$r=m(`<button type="button" class="more drop svelte-19hl4w">remove</button>`),ei=m(`<div role="listitem" class="svelte-19hl4w"><button type="button" data-lustre=""><!> <span class="m svelte-19hl4w"> </span> <span class="q svelte-19hl4w"> </span> <span class="m svelte-19hl4w"> </span></button> <!></div>`),ti=m(`<p class="sure svelte-19hl4w" role="group" aria-label="Remove this conversation">Remove this conversation with Iso? <button type="button" class="more bad svelte-19hl4w">remove</button> · <button type="button" class="more svelte-19hl4w">keep</button></p>`),ni=m(`<h2 class="label none svelte-19hl4w">earlier, with Iso</h2> <!>`,1),ri=m(`<p class="faint none svelte-19hl4w">Started for this pane: <code class="svelte-19hl4w"> </code> · <button type="button" class="more svelte-19hl4w">stop it</button></p>`),ii=m(`<p class="bad none svelte-19hl4w" role="alert"> </p>`),ai=m(`<div class="drawer svelte-19hl4w" role="list" aria-label="The agents' sessions"><!> <!> <!> <!> <!> <details class="change none svelte-19hl4w"><summary class="label svelte-19hl4w">change agent</summary><!></details> <!></div>`);function oi(n,r){z(r,!0);let i=864e5;function a(e){let t=new Date(e),n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime();return Number.isNaN(t.getTime())?``:t.getTime()>=r?`today · ${t.toTimeString().slice(0,5)}`:t.getTime()>=r-i?`yesterday`:t.getTime()>=r-6*i?t.toLocaleDateString(void 0,{weekday:`short`}):t.toLocaleDateString(void 0,{day:`numeric`,month:`short`,...t.getFullYear()===n.getFullYear()?{}:{year:`numeric`}})}let o=(e,t)=>`${e} ${t}${e===1?``:`s`}`,s=L(()=>$.view?.sessions??[]),c=e=>!$.old&&e.session===$.view?.session&&e.agent===$.view?.agentId,u=e=>e.busy?`at work`:e.live?`live`:e.kept?e.open?`kept`:`kept · to read`:e.open?`from its terminal`:`the agent's own`,m=X.api?.terminal??null,v=q(null);K(()=>{m&&[`localhost`,`127.0.0.1`,`[::1]`].includes(location.hostname)&&m.chosen().then(e=>U(v,e),()=>void 0)});async function b(){try{U(v,await m?.choose(null)??null)}catch(e){$.problem=e.message}}let x=q(``),S=e=>`${e.agent}/${e.session}`;async function w(e){U(x,``),await $.forgetPast(e)}async function T(e){U(x,``),await $.forget(e.agent,e.session)}async function E(e){await $.follow(e.agent,e.session),$.problem||($.shown=`session`)}var k=ai(),M=C(k),N=n=>{var r=Zr(),i=e(r);l(()=>t(i,`No sessions yet${$.acp?`: those you start in the agent's own terminal show here too, to carry on`:`: attach an agent, and its sessions are kept here`}.`)),d(n,r)};p(M,e=>{y(s).length||e(N)});var P=A(M,2);_(P,17,()=>y(s),e=>`${e.agent}/${e.session}`,(n,r)=>{var i=ei(),s=C(i);let m;var _=C(s);Ee(_,{get id(){return y(r).session},size:44,get growing(){return y(r).busy}});var v=A(_,2),b=e(v),w=A(v,2),D=e(w,!0),O=A(w,2),k=e(O,!0);G(s);var M=A(s,2),N=e=>{var t=f(),n=h(t),i=e=>{var t=Qr(),n=A(C(t),3),i=A(n,2);G(t),g(`click`,n,()=>void T(y(r))),g(`click`,i,()=>U(x,``)),d(e,t)},a=L(()=>y(x)===S(y(r))),o=e=>{var t=$r();l(()=>j(t,`aria-label`,`Remove the kept copy of ${(y(r).title||y(r).asked||`this session`)??``}`)),g(`click`,t,()=>U(x,S(y(r)),!0)),d(e,t)};p(n,e=>{y(a)?e(i):e(o,-1)}),d(e,t)};p(M,e=>{y(r).kept&&!y(r).live&&e(N)}),G(i),l((e,n,i,a,o)=>{m=Y(s,1,`spec frame svelte-19hl4w`,null,m,{on:e,live:y(r).live}),j(s,`aria-current`,n),s.disabled=!y(r).open&&!y(r).kept,j(s,`title`,!y(r).open&&!y(r).kept?`${y(r).name} isn't attached to carry it on`:!y(r).live&&!y(r).kept?`Carry on here what you did in ${y(r).name}'s own terminal`:void 0),t(b,`${y(r).name??``} · ${i??``}${a??``}`),t(D,y(r).title||y(r).asked||`A session`),t(k,o)},[()=>c(y(r)),()=>c(y(r))?`true`:void 0,()=>u(y(r)),()=>a(y(r).last)?` · ${a(y(r).last)}`:``,()=>y(r).turns?`${o(y(r).notes,`note`)} · ${o(y(r).turns,`turn`)}`:`not carried here yet`]),g(`click`,s,()=>void E(y(r))),d(n,i)});var F=A(P,2),I=n=>{var r=ni(),i=A(h(r),2);_(i,17,()=>$.past,e=>e.id,(n,r)=>{var i=ei(),s=C(i);let c;var u=C(s);Ee(u,{get id(){return y(r).id},size:44});var f=A(u,2),m=e(f),h=A(f,2),_=e(h,!0),v=A(h,2),b=e(v);G(s);var S=A(s,2),T=e=>{var t=ti(),n=A(C(t)),i=A(n,2);G(t),g(`click`,n,()=>void w(y(r).id)),g(`click`,i,()=>U(x,``)),d(e,t)},E=e=>{var t=$r();l(()=>j(t,`aria-label`,`Remove the conversation ${y(r).asked??``}`)),g(`click`,t,()=>U(x,`iso/${y(r).id}`)),d(e,t)};p(S,e=>{y(x)===`iso/${y(r).id}`?e(T):e(E,-1)}),G(i),l((e,n,i)=>{c=Y(s,1,`spec frame svelte-19hl4w`,null,c,{on:$.old?.session===y(r).id}),j(s,`aria-current`,$.old?.session===y(r).id?`true`:void 0),t(m,`Iso · to read${e??``}`),t(_,y(r).asked),t(b,`${n??``} · ${i??``}`)},[()=>a(y(r).last)?` · ${a(y(r).last)}`:``,()=>o(y(r).notes,`note`),()=>o(y(r).turns,`turn`)]),g(`click`,s,()=>void $.read(y(r).id)),d(n,i)}),d(n,r)};p(F,e=>{$.past.length&&e(I)});var R=A(F,2),B=n=>{var r=ri(),i=A(C(r)),a=e(i,!0),o=A(i,2);G(r),l(()=>t(a,y(v).choice&&`id`in y(v).choice?y(v).choice.id:y(v).command)),g(`click`,o,()=>void b()),d(n,r)};p(R,e=>{y(v)?.running&&e(B)});var V=A(R,2),H=n=>{var r=ii(),i=e(r,!0);l(()=>t(i,$.problem)),d(n,r)};p(V,e=>{$.problem&&e(H)});var W=A(V,2);Xr(A(C(W)),{compact:!0}),G(W),Dr(A(W,2),{}),G(k),D(`open`,`toggle`,W,e=>$.changing=e,()=>$.changing),d(n,k),O()}u([`click`]);var si=m(`<i></i>`),ci=m(`<span> </span>`),li=m(`<span> </span><span class="faint"> </span>`,1),ui=m(`<span class="faint"> </span>`),di=m(`<div class="strata svelte-po8nwq" role="img"></div> <p class="total svelte-po8nwq"><!><!></p>`,1),fi=m(`<p class="faint"> </p>`),pi=m(`<span class="num svelte-po8nwq"> </span>`),mi=m(`<li class="row svelte-po8nwq"><span class="r svelte-po8nwq"><span aria-hidden="true"> </span><span class="t svelte-po8nwq"> </span><span class="d svelte-po8nwq"> </span><!></span></li>`),hi=m(`<div class="column svelte-po8nwq"><!> <p class="faint"> </p></div> <h2 class="label svelte-po8nwq">notes</h2> <ul class="rows svelte-po8nwq" aria-label="The notes in the session"></ul>`,1),gi=m(`<p class="faint">With an agent attached, what it has in hand shows here: isorite's part, the notes it was given and read, and the room left.</p>`),_i=m(`<li class="row svelte-po8nwq"><span class="r svelte-po8nwq"><span class="mk svelte-po8nwq" aria-hidden="true">◆</span><span class="t svelte-po8nwq"> </span></span> <button type="button" class="x svelte-po8nwq"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button></li>`),vi=m(`<div class="context svelte-po8nwq" role="region" aria-label="What the agent has in hand"><!> <h2 class="label svelte-po8nwq">in the tray</h2> <ul class="rows svelte-po8nwq" aria-label="What you gave Iso" title="Given to the session before its next prompt, asked here or in its front end, unless given already"></ul></div>`);function yi(n,r){z(r,!0);let i=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),a=q(null),o=q({});K(()=>{$.session&&X.api.map().then(e=>U(o,Object.fromEntries(Object.entries(e.notes).map(([e,t])=>[e,t.tokens]))),()=>void 0)});let s=L(()=>{let e=new Set,t=new Set;for(let n of $.session?.turns??[]){for(let t of n.given??[])t.kind===`note`&&e.add(t.id);for(let e of n.items)e.kind===`tool`&&e.note&&!e.base&&e.status===`done`&&t.add(e.note)}let n=e=>X.listing.notes.find(t=>t.id===e)?.title??e;return[...[...e].map(e=>({id:e,how:`given`})),...[...t].filter(t=>!e.has(t)).map(e=>({id:e,how:`read`}))].map(e=>({...e,title:n(e.id),tokens:y(o)[e.id]??0}))}),c=L(()=>{let e=$.session;if(!e?.size||!e.tokens.input)return[];let t=Math.min(e.ours??0,e.tokens.input),n=Math.min(y(s).reduce((e,t)=>e+t.tokens,0),e.tokens.input-t);return[{k:`instructions`,name:`isorite's`,tokens:t},{k:`notes`,name:`notes`,tokens:n},{k:`conversation`,name:`the rest`,tokens:e.tokens.input-t-n},{k:`room`,name:`room`,tokens:Math.max(0,e.size-e.tokens.input)}].filter(e=>e.tokens>0).map(t=>({...t,w:100*t.tokens/e.size}))}),u=L(()=>y(c).find(e=>e.k===y(a)));var f=vi(),m=C(f),v=n=>{let r=L(()=>$.session);var o=hi(),f=h(o),m=C(f),v=n=>{var o=di(),s=h(o);_(s,21,()=>y(c),e=>e.k,(e,t)=>{var n=si();let r;l(e=>{Y(n,1,`s ${y(t).k??``}`,`svelte-po8nwq`),j(n,`data-k`,y(t).k),r=w(n,``,r,{width:e})},[()=>`${y(t).w.toFixed(2)??``}%`]),d(e,n)}),G(s);var f=A(s,2),m=C(f),v=n=>{var r=ci(),a=e(r);l(e=>t(a,`${y(u).name??``} · ${e??``}`),[()=>i(y(u).tokens)]),d(n,r)},b=n=>{var a=li(),o=h(a),s=e(o,!0),c=A(o),u=e(c);l((e,n)=>{t(s,e),t(u,`of ${n??``}`)},[()=>i(y(r).tokens.input),()=>i(y(r).size??0)]),d(n,a)};p(m,e=>{y(u)?e(v):e(b,-1)});var x=A(m),S=n=>{var i=ui(),a=e(i);l(e=>t(a,`· $${e??``}`),[()=>y(r).cost.toFixed(2)]),d(n,i)};p(x,e=>{y(r).cost&&e(S)}),G(f),l(e=>{j(s,`aria-label`,e),j(f,`title`,`As ${y(r).agent??``} counts it`)},[()=>y(c).map(e=>`${e.name} ${i(e.tokens)}`).join(`, `)]),g(`pointerover`,s,e=>U(a,e.target.dataset.k??null,!0)),ie(`pointerleave`,s,()=>U(a,null)),d(n,o)},b=n=>{var i=fi(),a=e(i);l(()=>t(a,`${(y(r).agent||`The agent`)??``} hasn't said how full its context is${y(r).turns.length?``:` yet`}.`)),d(n,i)};p(m,e=>{y(c).length?e(v):e(b,-1)});var x=A(m,2),S=e(x);G(f);var T=A(f,4);_(T,21,()=>y(s),e=>e.id,(n,a)=>{var o=mi(),s=C(o),c=C(s);let u;var f=e(c,!0),m=A(c),h=e(m,!0),g=A(m),_=e(g,!0),v=A(g),b=n=>{var r=pi(),o=e(r,!0);l(e=>t(o,e),[()=>i(y(a).tokens)]),d(n,r)};p(v,e=>{y(a).tokens&&e(b)}),G(s),G(o),l(()=>{j(s,`title`,y(a).how===`given`?`Given from here`:`Read by ${y(r).agent}`),u=Y(c,1,`mk svelte-po8nwq`,null,u,{iso:y(a).how===`read`}),t(f,y(a).how===`given`?`◆`:`◇`),t(h,y(a).title),t(_,y(a).how)}),d(n,o)}),G(T),l(()=>t(S,`What ${(y(r).agent||`the agent`)??``} dropped when it compacted can't be seen from here.`)),d(n,o)},b=e=>{var t=gi();d(e,t)};p(m,e=>{$.session?e(v):e(b,-1)});var x=A(m,4);_(x,21,()=>_e.sent,e=>_e.keyOf(e),(n,r)=>{var i=_i(),a=C(i),o=A(C(a)),s=e(o,!0);G(a);var c=A(a,2);G(i),l(()=>{t(s,y(r).kind===`passage`?`“${y(r).text}”`:y(r).title),j(c,`aria-label`,`Take ${y(r).title??``} out of Iso's context`)}),g(`click`,c,()=>_e.remove(y(r))),d(n,i)}),G(x),G(f),d(n,f),O()}u([`pointerover`,`click`]);var bi=m(`<div class="permit svelte-17377q0" role="group" aria-label="The agent asks before it does this"><p> <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>`),xi=m(`<div class="said prose svelte-17377q0"></div>`),Si=m(`<button type="button" class="note-link svelte-17377q0"> </button>`),Ci=m(`<span class="qt svelte-17377q0"> </span> <button class="keep svelte-17377q0" type="button" data-lustre="">keep</button>`,1),wi=m(`<p class="qb svelte-17377q0"> </p>`),Ti=m(`<div class="asks svelte-17377q0"><p class="svelte-17377q0"><svg class="qm svelte-17377q0" viewBox="0 0 16 16" width="13" height="13" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"></path></svg><!></p> <!></div>`),Ei=m(`<span>AGENTS.md</span>`),Di=m(`<span class="in svelte-17377q0">inserted</span>`),Oi=m(`<button class="insert svelte-17377q0" type="button">insert</button>`),ki=m(`<div class="offer svelte-17377q0"><div class="prose yours svelte-17377q0"></div> <p class="for svelte-17377q0"><!> <!></p></div>`),Ai=m(`<a class="note-link svelte-17377q0" data-sveltekit-reload="" target="_blank" rel="noopener"><span class="in svelte-17377q0"> </span> </a>`),ji=m(`<code class="q svelte-17377q0"> </code>`),Mi=m(`<span class="n svelte-17377q0"><span class="add svelte-17377q0"> </span> <span class="del svelte-17377q0"> </span></span>`),Ni=m(`<span> </span>`),Pi=m(`<pre class="diff svelte-17377q0"></pre>`),Fi=m(`<pre class="out svelte-17377q0"> </pre>`),Ii=m(`<details><summary class="svelte-17377q0"><span class="v svelte-17377q0"> </span><!><!></summary> <!></details>`),Li=m(`<p class="line svelte-17377q0"><span class="v svelte-17377q0"> </span><!></p>`),Ri=m(`<div class="tool svelte-17377q0"><!> <!></div>`),zi=m(`<span class="chip svelte-17377q0"><span class="k svelte-17377q0" aria-hidden="true"> </span><span class="t svelte-17377q0"> </span></span>`),Bi=m(`<span class="gave svelte-17377q0"></span>`),Vi=m(`<button type="button" data-lustre=""><s aria-hidden="true" class="svelte-17377q0"></s><b class="svelte-17377q0"> </b> </button>`),Hi=m(`<div class="parts svelte-17377q0" role="group"></div>`),Ui=m(`<p class="doing svelte-17377q0" role="status"><!> </p>`),Wi=m(`<p class="faint end svelte-17377q0">stopped</p>`),Gi=m(`<p class="bad svelte-17377q0" role="alert"> </p>`),Ki=m(`<article class="turn svelte-17377q0"><div class="you svelte-17377q0"><p class="asked svelte-17377q0"> </p> <!> <span class="from svelte-17377q0"> </span></div> <!> <!> <!></article>`),qi=m(`<p class="title faint svelte-17377q0"> </p>`),Ji=m(`<p class="faint"> </p>`),Yi=m(`<p class="faint">A conversation with Iso, from before isorite attached your own agent: kept to read.</p>`),Xi=m(`<div class="chat svelte-17377q0" role="log" aria-label="The agent's session" aria-live="polite"><!> <!> <!> <!> <!> <!></div>`);function Zi(n,r){z(r,!0);let i=(n,r=V)=>{var i=bi(),a=C(i),o=C(a),s=A(o),c=e(s,!0);M(),G(a);var f=A(a,2),p=C(f),m=A(p),h=A(m);G(f),G(i),l(e=>{t(o,`${(y(u)?.agent||`The agent`)??``} wants to `),t(c,e)},[()=>N(r())]),g(`click`,p,()=>void $.reply(r().id,`once`)),g(`click`,m,()=>void $.reply(r().id,`always`)),g(`click`,h,()=>void $.reply(r().id,`reject`)),d(n,i)},o=(n,r=V)=>{var o=f(),s=h(o),c=e=>{var t=xi();te(t,()=>xe(r().text),!0),G(t),E(t,(e,t)=>Ce?.(e,t),()=>({given:r().text,copy:!0})),d(e,t)},u=n=>{var i=Ti(),a=C(i),o=A(C(a)),s=n=>{var i=Si(),a=e(i,!0);l(()=>{j(i,`data-to`,r().made),t(a,r().title)}),g(`click`,i,()=>S(`read`,r().made)),d(n,i)},c=n=>{var i=Ci(),a=h(i),o=e(a,!0),s=A(a,2);l(e=>{t(o,r().title),j(s,`aria-label`,`Keep “${r().title??``}” as an open question`),j(s,`title`,`Keep as an open question about ${e??``}`)},[()=>r().about.map(m).join(`, `)]),g(`click`,s,()=>void $.take(r().id)),d(n,i)};p(o,e=>{r().made?e(s):e(c,-1)}),G(a);var u=A(a,2),f=n=>{var i=wi(),a=e(i,!0);l(()=>t(a,r().text)),d(n,i)};p(u,e=>{r().text&&e(f)}),G(i),l(()=>{j(i,`data-question`,r().id),j(i,`data-to`,r().made??`?${r().id}`)}),d(n,i)},v=n=>{var i=ki(),a=C(i);te(a,()=>xe(r().text),!0),G(a),E(a,(e,t)=>Ce?.(e,t),()=>r().text);var o=A(a,2),s=C(o),c=e=>{var t=Ei();d(e,t)},u=n=>{var i=Si(),a=e(i,!0);l(e=>{j(i,`data-to`,r().note),t(a,e)},[()=>m(r().note)]),g(`click`,i,()=>S(`read`,r().note)),d(n,i)};p(s,e=>{r().note===`AGENTS.md`?e(c):e(u,-1)});var f=A(s,2),h=e=>{var t=Di();d(e,t)},_=e=>{var t=Oi();l(e=>j(t,`aria-label`,`Insert into ${e??``} as yours`),[()=>m(r().note)]),g(`click`,t,()=>void $.take(r().id)),d(e,t)};p(f,e=>{r().taken?e(h):e(_,-1)}),G(o),G(i),l(()=>j(i,`data-offer`,r().id)),d(n,i)},b=n=>{var o=Ri(),s=C(o),c=n=>{var i=Ii(),o=C(i),s=C(o),c=e(s,!0),u=A(s),f=n=>{var i=Ai(),a=C(i),o=e(a),s=A(a);G(i),l(e=>{j(i,`href`,e),j(i,`title`,`In ${r().base??``}, in a tab of its own`),t(o,`${r().base??``}:`),t(s,` ${r().note??``}`)},[()=>ce(r().base,`#/n/${r().note}`)]),d(n,i)},h=n=>{var i=Si(),a=e(i,!0);l(e=>{j(i,`data-to`,r().note),t(a,e)},[()=>m(r().note)]),g(`click`,i,e=>{e.preventDefault(),S(r().name,r().note)}),d(n,i)},v=n=>{var i=ji(),a=e(i,!0);l(()=>t(a,r().title)),d(n,i)};p(u,e=>{r().note&&r().base?e(f):r().note?e(h,1):e(v,-1)});var b=A(u),x=n=>{var i=Mi(),a=C(i),o=e(a),s=A(a,2),c=e(s);G(i),l((e,n)=>{t(o,`+${e??``}`),t(c,`−${n??``}`)},[()=>r().diff.filter(e=>e.startsWith(`+`)).length,()=>r().diff.filter(e=>e.startsWith(`-`)).length]),d(n,i)};p(b,e=>{r().diff&&e(x)}),G(o);var w=A(o,2),E=n=>{var i=Pi();_(i,21,()=>r().diff,a,(n,r)=>{var i=Ni();let a;var o=e(i,!0);l((e,n)=>{a=Y(i,1,`svelte-17377q0`,null,a,{add:e,del:n}),t(o,y(r))},[()=>y(r).startsWith(`+`),()=>y(r).startsWith(`-`)]),d(n,i)}),G(i),d(n,i)},D=n=>{var i=Fi(),a=e(i,!0);l(()=>t(a,r().output)),d(n,i)};p(w,e=>{r().diff?e(E):e(D,-1)}),G(i),l(e=>t(c,e),[()=>T(r().name)]),d(n,i)},u=n=>{var i=Li(),a=C(i),o=e(a,!0),s=A(a),c=n=>{var i=Ai(),a=C(i),o=e(a),s=A(a);G(i),l(e=>{j(i,`href`,e),j(i,`title`,`In ${r().base??``}, in a tab of its own`),t(o,`${r().base??``}:`),t(s,` ${r().note??``}`)},[()=>ce(r().base,`#/n/${r().note}`)]),d(n,i)},u=n=>{var i=Si(),a=e(i,!0);l(e=>{j(i,`data-to`,r().note),t(a,e)},[()=>m(r().note)]),g(`click`,i,()=>S(r().name,r().note)),d(n,i)},f=n=>{var i=ji(),a=e(i,!0);l(()=>t(a,r().title)),d(n,i)};p(s,e=>{r().note&&r().base?e(c):r().note?e(u,1):e(f,-1)}),G(i),l(e=>t(o,e),[()=>T(r().name)]),d(n,i)};p(s,e=>{r().output||r().diff?e(c):e(u,-1)});var f=A(s,2);_(f,17,()=>P(r().id),e=>e.id,(e,t)=>{i(e,()=>y(t))}),G(o),l(()=>j(o,`data-status`,r().status)),d(n,o)};p(s,e=>{r().kind===`text`?e(c):r().kind===`question`?e(u,1):r().kind===`offer`?e(v,2):e(b,-1)}),d(n,o)},s=(n,r=V)=>{var i=Ki(),s=C(i),c=C(s),v=e(c,!0),b=A(c,2),x=n=>{var i=Bi();_(i,21,()=>r().given,a,(n,r)=>{var i=zi(),a=C(i),o=e(a,!0),s=A(a),c=e(s,!0);G(i),l(e=>{j(i,`data-to`,y(r).kind===`note`?y(r).id:void 0),t(o,re[y(r).kind]),t(c,e)},[()=>y(r).kind===`passage`?y(r).text:y(r).kind===`folder`?y(r).id||`the base`:m(y(r).id)]),d(n,i)}),G(i),d(n,i)};p(b,e=>{r().given?.length&&e(x)});var S=A(b,2),w=e(S,!0);G(s);var T=A(s,2);_(T,17,()=>r().items,a,(e,t)=>{var n=f(),i=h(n),a=e=>{o(e,()=>y(t))},s=L(()=>!D(y(t))&&!J(r(),y(t)));p(i,e=>{y(s)&&e(a)}),d(e,n)});var E=A(T,2),O=n=>{var i=Hi();_(i,20,()=>W(r()),e=>e,(n,r)=>{var i=Vi();let a;var o=A(C(i)),s=e(o,!0),c=A(o,1,!0);G(i),l((e,n)=>{a=Y(i,1,`part svelte-17377q0`,null,a,{lit:y(ne)===r}),j(i,`data-to`,r),t(s,e),t(c,n)},[()=>m(r),()=>ee(r)]),g(`click`,i,()=>void Z.open(r,!0)),d(n,i)}),G(i),l(()=>j(i,`aria-label`,`What ${(y(u)?.agent||`the agent`)??``} drew on`)),d(n,i)},k=L(()=>r().state!==`running`&&W(r()).length);p(E,e=>{y(k)&&e(O)});var M=A(E,2),N=e=>{var n=Ui(),r=C(n),i=e=>{Ee(e,{get id(){return y(u).session},size:28,growing:!0})};p(r,e=>{y(u)?.session&&e(i)});var a=A(r);G(n),l(()=>t(a,`${(y(u)?.agent||`The agent`)??``} is at work`)),d(e,n)},P=e=>{var t=Wi();d(e,t)},F=n=>{var r=Gi(),i=e(r);l(()=>t(i,`The turn failed${$.old?``:`; ${y(u)?.agent||`the agent`} says why in its front end`}.`)),d(n,r)};p(M,e=>{r().state===`running`?e(N):r().state===`stopped`?e(P,1):r().state===`failed`&&e(F,2)}),G(i),l(()=>{j(i,`data-state`,r().state),t(v,r().asked),t(w,$.old?``:r().from===`here`?`from here`:`in its front end`)}),d(n,i)},c=q(void 0),u=L(()=>$.session),m=e=>X.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,b={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(w(e))&&Z.flip(`provenance`,!0),Z.open(t,!0)}let w=e=>e.replace(/^(mcp_+)?isorite[_:]+/,``),T=e=>b[w(e)]??w(e).replaceAll(`_`,` `),D=e=>e.kind===`tool`&&/^(ask_question|offer_text)$/.test(w(e.name)),k={shell:`run`,edit:`edit`,write:`write`,read:`read`,webfetch:`fetch`,external_directory:`reach outside the project`},N=e=>`${k[e.action]??e.action} ${e.resources.join(`, `)}`.trim(),P=e=>y(u)?.asking.filter(t=>t.tool===e)??[],F=L(()=>y(u)?.asking.filter(e=>!e.tool||!y(u).turns.some(t=>t.items.some(t=>t.kind===`tool`&&t.id===e.tool)))??[]);K(()=>{y(u),v().then(()=>{y(c)&&(y(c).scrollTop=y(c).scrollHeight)})});function I(e){if(e.pointerType!==`mouse`||!(e.target instanceof Element))return;let t=e.target.closest(`[data-to], a[href]`),n=t?.dataset.to?{id:t.dataset.to,folder:!1}:t instanceof HTMLAnchorElement?be(t.getAttribute(`href`)??``):null;ye.set(`iso`,n?{...n,who:`you`}:null)}let B=/\]\(\/([^)\s]+?)\.md(?:#[^)\s]*)?(?:\s+"[^"]*")?\)/g,H=e=>X.listing.notes.some(t=>t.id===e);function W(e){let t=new Set;for(let n of e.items)if(n.kind===`text`)for(let e of n.text.matchAll(B))t.add(decodeURI(e[1]));for(let n of e.items)n.kind===`tool`&&n.note&&!n.base&&n.status!==`failed`&&t.add(n.note);return[...t].filter(H)}let ee=e=>X.listing.notes.find(t=>t.id===e)?.dir.split(`/`).at(-1)||`notes`,J=(e,t)=>e.state!==`running`&&t.kind===`tool`&&!!t.note&&!t.base&&!t.diff&&t.status===`done`&&!x.has(w(t.name))&&H(t.note),ne=L(()=>ye.elsewhere?.from===`iso`&&!ye.elsewhere.folder?ye.elsewhere.id:ye.onAtlas);K(()=>{let e=y(ne);if(y(u),y(c))for(let t of y(c).querySelectorAll(`.said a.vein`))t.classList.toggle(`lit`,!!e&&be(t.getAttribute(`href`)??``)?.id===e)});let re={note:`▣`,folder:`▭`,passage:`“`};var ae=Xi(),oe=C(ae),se=n=>{var r=qi(),i=e(r,!0);l(()=>t(i,y(u).title)),d(n,r)};p(oe,e=>{y(u)?.title&&e(se)});var le=A(oe,2);_(le,17,()=>y(u)?.turns??[],e=>e.id,(e,t)=>{s(e,()=>y(t))});var ue=A(le,2);_(ue,17,()=>y(F),e=>e.id,(e,t)=>{i(e,()=>y(t))});var Q=A(ue,2),de=n=>{var r=Ji(),i=e(r);l(()=>t(i,`${(y(u)?.agent||`The agent`)??``}'s session shows here: what is asked in its front end or here, what it does, and what it asks before doing. Notes put in the tray go before the next prompt.`)),d(n,r)};p(Q,e=>{y(u)?.turns.length||e(de)});var fe=A(Q,2),pe=e=>{var t=Yi();d(e,t)},me=n=>{var r=Ji(),i=e(r);l(()=>t(i,`Kept here; ${y(u).agent??``} isn't attached to carry it on.`)),d(n,r)};p(fe,e=>{$.old?e(pe):y(u)?.reading&&e(me,1)});var he=A(fe,2),ge=e=>{Xr(e,{})};p(he,e=>{$.connected||e(ge)}),G(ae),R(ae,e=>U(c,e),()=>y(c)),g(`pointerover`,ae,I),ie(`pointerleave`,ae,()=>ye.set(`iso`,null)),d(n,ae),O()}u([`click`,`pointerover`]);var Qi=m(`<div class="chat svelte-d2jxoz"><!></div>`),$i=m(`<option> </option>`),ea=m(`<label class="set svelte-d2jxoz"><span class="hidden-label"> </span> <select class="field svelte-d2jxoz"></select></label>`),ta=m(`<div class="settings svelte-d2jxoz"></div>`),na=m(`<span class="faint"> </span>`),ra=m(`<li role="option"><button type="button" tabindex="-1"><b class="svelte-d2jxoz"> </b><!> <span class="d svelte-d2jxoz"> </span></button></li>`),ia=m(`<ul class="slash svelte-d2jxoz" role="listbox" aria-label="Slash commands"></ul>`),aa=m(`<button class="corner stop svelte-d2jxoz" type="button" aria-label="Stop the agent" title="Stop (Escape)"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true"><rect x="4" y="4" width="8" height="8" fill="currentColor"></rect></svg></button>`),oa=m(`<button class="corner send svelte-d2jxoz" type="button" aria-label="Send" title="Send (Enter)"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M3 8h10M9 4l4 4-4 4"></path></svg></button>`),sa=m(`<p class="bad svelte-d2jxoz" role="alert"> </p>`),ca=m(`<div><!> <div class="composer svelte-d2jxoz"><!> <!> <div class="box svelte-d2jxoz"><label class="hidden-label" for="iso-box">Message the agent</label> <textarea id="iso-box" rows="2" class="svelte-d2jxoz"></textarea> <!></div> <!></div></div>`);function la(n,r){z(r,!0);let i=q(``),a=L(()=>$.running),o=L(()=>!!$.old||$.acp);H(()=>{$.start()}),K(()=>{_e.sent,$.view?.session,$.acp&&$.give()});let s=L(()=>$.view?.commands??[]),c=L(()=>$.view?.settings??[]),u=L(()=>/^\/(\S*)$/.exec(y(i))),f=L(()=>y(u)&&!$.old?y(s).filter(e=>e.name.startsWith(y(u)[1]??``)):[]),m=q(0);K(()=>{y(f).length,U(m,0)});function h(e=y(m)){let t=y(f)[e];t&&U(i,`/${t.name} `)}async function v(){await $.send(y(i))&&U(i,``)}function b(e){if(y(f).length&&!e.isComposing){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),U(m,(y(m)+(e.key===`ArrowDown`?1:y(f).length-1))%y(f).length);return}if(e.key===`Tab`||e.key===`Enter`&&!e.shiftKey&&y(i)!==`/${y(f)[y(m)]?.name}`){e.preventDefault(),h();return}if(e.key===`Escape`){e.preventDefault(),U(i,``);return}}e.key===`Enter`&&!e.shiftKey&&!e.isComposing?(e.preventDefault(),v()):e.key===`Escape`&&y(a)&&(e.preventDefault(),$.stop())}var x=ca();let S;var w=C(x),T=e=>{yi(e,{})},E=e=>{oi(e,{})},D=e=>{Zi(e,{})},k=e=>{var t=Qi();Xr(C(t),{}),G(t),d(e,t)};p(w,e=>{$.shown===`context`?e(T):$.shown===`past`?e(E,1):y(o)?e(D,2):e(k,-1)});var M=A(w,2),F=C(M),I=n=>{var r=ta();_(r,21,()=>y(c),e=>`${e.kind}:${e.id}`,(n,r)=>{var i=ea(),a=C(i),o=e(a,!0),s=A(a,2);_(s,21,()=>y(r).options,e=>e.value,(n,i)=>{var a=$i(),o=e(a),s={};l(()=>{j(a,`title`,y(i).description),t(o,`${y(r).kind===`mode`?``:`${y(r).name}: `}${y(i).name??``}`),s!==(s=y(i).value)&&(a.value=(a.__value=s)??``)}),d(n,a)}),G(s);var c;P(s),G(i),l(()=>{t(o,y(r).name),j(s,`aria-label`,y(r).name),j(s,`title`,y(r).name),c!==(c=y(r).current)&&(s.value=(s.__value=c)??``,N(s,c))}),g(`change`,s,e=>void $.set(y(r).kind,y(r).id,e.currentTarget.value)),d(n,i)}),G(r),d(n,r)};p(F,e=>{y(c).length&&$.connected&&!$.old&&e(I)});var R=A(F,2),B=n=>{var r=ia();_(r,23,()=>y(f),e=>e.name,(n,r,i)=>{var a=ra(),o=C(a);let s;var c=C(o),u=e(c),f=A(c),_=n=>{var i=na(),a=e(i,!0);l(()=>t(a,y(r).hint)),d(n,i)};p(f,e=>{y(r).hint&&e(_)});var v=A(f,2),b=e(v,!0);G(o),G(a),l(()=>{j(a,`aria-selected`,y(i)===y(m)),s=Y(o,1,`svelte-d2jxoz`,null,s,{on:y(i)===y(m)}),t(u,`/${y(r).name??``}`),t(b,y(r).description)}),g(`mousedown`,o,e=>{e.preventDefault(),h(y(i))}),d(n,a)}),G(r),d(n,r)};p(R,e=>{y(f).length&&e(B)});var V=A(R,2),ee=A(C(V),2);W(ee);var te=A(ee,2),ne=e=>{var t=aa();g(`click`,t,()=>void $.stop()),d(e,t)},re=e=>{var t=oa();g(`click`,t,()=>void v()),d(e,t)},ie=L(()=>y(i).trim());p(te,e=>{y(a)?e(ne):y(ie)&&e(re,1)}),G(V);var ae=A(V,2),oe=n=>{var r=sa(),i=e(r,!0);l(()=>t(i,$.problem||$.view?.problem)),d(n,r)};p(ae,e=>{($.problem||$.view?.problem)&&e(oe)}),G(M),G(x),l(()=>{S=Y(x,1,`iso svelte-d2jxoz`,null,S,{drop:_e.carrying?.over}),j(ee,`placeholder`,$.connected?`Ask ${$.view?.agent||`the agent`}`:`Attach an agent to ask it here`)}),g(`keydown`,ee,b),J(ee,()=>y(i),e=>U(i,e)),d(n,x),O()}u([`change`,`mousedown`,`keydown`,`click`]);var ua=m(`<li><i class="tick svelte-1wk2ip3" aria-hidden="true"> </i> <a data-sveltekit-reload="" class="svelte-1wk2ip3"> </a> <button class="lend svelte-1wk2ip3" type="button" aria-label="Lent to every session"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round"><rect x="2.5" y="5.5" width="7" height="8"></rect><path d="M6.5 5.5V2.5h7v8h-4"></path></svg></button></li>`),da=m(`<p class="bad svelte-1wk2ip3" role="alert"> </p>`),fa=m(`<div class="frame bases svelte-1wk2ip3" role="dialog" aria-label="Knowledge bases" tabindex="-1"><span class="frame-title">bases</span> <ul class="svelte-1wk2ip3"></ul> <!></div>`),pa=m(`<button class="base svelte-1wk2ip3" type="button" aria-haspopup="true" title="The knowledge bases: switch to another"> </button> <span class="slash svelte-1wk2ip3" aria-hidden="true">/</span> <!>`,1);function ma(n,r){z(r,!0);let i=X.api?.bases??null,a=q(!1),o=q([]),s=q(``),c=q(!1),u=q(``),m=q(void 0),v=q(void 0),b=q(ee({top:0,left:0}));async function S(){if(i)try{await(async e=>{U(o,e.bases),U(s,e.here,!0),U(c,e.local,!0)})(await i.list()),U(u,``)}catch(e){U(u,e.message,!0)}}async function T(){if(U(a,!y(a)),y(a)&&y(v)){let e=y(v).getBoundingClientRect();U(b,{top:e.bottom+14,left:Math.max(8,e.left-8)},!0)}y(a)&&(await S(),y(m)?.querySelector(`a`)?.focus())}async function E(e){try{U(o,await i.lend(e.name,!e.lend)),U(u,``)}catch(e){U(u,e.message,!0)}}function D(e){y(a)&&e.target instanceof Node&&!y(m)?.contains(e.target)&&!y(v)?.contains(e.target)&&U(a,!1)}function k(e){y(a)&&e.key===`Escape`&&(U(a,!1),y(v)?.focus())}var M=f();ie(`pointerdown`,x,D),ie(`keydown`,x,k);var N=h(M),P=n=>{var r=pa(),i=h(r),f=e(i,!0);R(i,e=>U(v,e),()=>y(v));var x=A(i,4),S=n=>{var r=fa();let i;var a=A(C(r),2);_(a,21,()=>y(o),e=>e.name,(n,r)=>{let i=L(()=>y(r).name===(y(s)||X.session.name));var a=ua();let o;var u=C(a),f=e(u,!0),p=A(u,2),m=e(p,!0),h=A(p,2);G(a),l(e=>{o=Y(a,1,`svelte-1wk2ip3`,null,o,{here:y(i)}),t(f,y(i)?`✓`:``),j(p,`href`,e),j(p,`title`,y(r).path),j(p,`aria-current`,y(i)?`page`:void 0),t(m,y(r).name),j(h,`aria-pressed`,y(r).lend),h.disabled=!y(c),j(h,`title`,y(c)?y(r).lend?`Lent to every session's agent and Iso: press to keep it to itself`:`Lend it to every session's agent and Iso, as the agent's memory is`:`Lent or not is changed only from this machine`)},[()=>ce(y(r).name)]),g(`click`,h,()=>E(y(r))),d(n,a)}),G(a);var f=A(a,2),h=n=>{var r=da(),i=e(r,!0);l(()=>t(i,y(u))),d(n,r)};p(f,e=>{y(u)&&e(h)}),G(r),R(r,e=>U(m,e),()=>y(m)),l(()=>i=w(r,``,i,{top:`${y(b).top??``}px`,left:`${y(b).left??``}px`})),d(n,r)};p(x,e=>{y(a)&&e(S)}),l(()=>{j(i,`aria-expanded`,y(a)),t(f,X.session.name)}),g(`click`,i,T),d(n,r)};p(N,e=>{i&&X.session&&e(P)}),d(n,M),O()}u([`click`]);var ha=o(`<rect x="2.5" y="2.5" width="11" height="11"></rect><path d="M8 2.5v11"></path><rect x="8.6" y="3.1" width="4.3" height="9.8" fill="currentColor" stroke="none"></rect>`,1),ga=o(`<path d="M8 1v14" stroke-width="1.2"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor" stroke="none"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor" stroke="none"></path><rect x="5.5" y="12" width="5" height="3" stroke-width="1.2"></rect>`,1),_a=o(`<rect x="2.5" y="2.5" width="11" height="2.5" fill="currentColor" stroke="none"></rect><rect x="2.5" y="6.75" width="7" height="2.5" fill="currentColor" stroke="none"></rect><rect x="2.5" y="11" width="9" height="2.5" fill="currentColor" stroke="none"></rect>`,1),va=o(`<path d="M2.5 13.5l2.5-2.5M5 11c.6-4.2 3.6-7.4 8.5-8.5C12.6 7.2 9.4 10.4 5 11zM7.2 8.8l2.6-.3M8.8 6.6l2.4-.4"></path>`),ya=o(`<path d="M3.5 2.5h5.5l3.5 3.5v7.5h-9z"></path><path d="M9 2.5V6h3.5"></path>`,1),ba=o(`<path d="M3 4.5l3 3.5-3 3.5M7.5 12h5.5"></path>`),xa=o(`<svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter"><!></svg>`),Sa=m(`<button type="button" class="sw svelte-ubc5lw"><!></button>`),Ca=m(`<button class="icon gear svelte-ubc5lw" type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M2.5 4.5h11M2.5 8h11M2.5 11.5h11"></path><rect x="9" y="3" width="2.5" height="3" fill="var(--ground-0)"></rect><rect x="4.5" y="6.5" width="2.5" height="3" fill="var(--ground-0)"></rect><rect x="10" y="10" width="2.5" height="3" fill="var(--ground-0)"></rect></svg></button>`),wa=m(`<div class="frame settings svelte-ubc5lw" role="dialog" tabindex="-1"><span class="frame-title"> </span> <div class="inner svelte-ubc5lw"><!></div></div>`),Ta=m(`<header class="phead svelte-ubc5lw"><!> <span class="pname svelte-ubc5lw"> </span> <span class="switches svelte-ubc5lw" role="group"></span> <span class="grow svelte-ubc5lw"></span> <!> <!></header> <!>`,1);function Ea(n,i){z(i,!0);let a={questions:`question`,problems:`problem`,web:`web`,code:`code`,pictures:`image`},o=I(i,`first`,3,!1),s={provenance:`Provenance: whose words are whose (Alt+P)`,timeline:`Timeline (Alt+T)`,context:`The agent's context: what it was given, what it read and changed (Alt+C)`,questions:`Open questions (Alt+Q)`,problems:`Problems (Alt+B)`,web:`Links to the web (Alt+W)`,code:`Links to code (Alt+K)`,pictures:`Files beside the notes: pictures, artifacts, data (Alt+I)`,notes:`Agents may edit the notes (Alt+N)`,files:`The agent may edit the project's files (Alt+F)`,run:`The agent may run commands (Alt+R)`},c={provenance:`growth`,timeline:`lattice`,questions:`rose`,problems:`text`,web:`lattice`,code:`lattice`,pictures:`lattice`,context:`growth`,notes:`growth`,files:`growth`,run:`growth`},u=L(()=>Q[i.pane].filter(e=>e!==`files`&&e!==`run`||Z.attached)),f=L(()=>Z.settings===i.pane),m=q(void 0);K(()=>{y(f)&&y(m)?.focus()});function v(e){y(f)&&e.target instanceof Element&&(y(m)?.contains(e.target)||e.target.closest(`[data-settings="${i.pane}"]`)||(Z.settings=null))}var b=Ta();ie(`pointerdown`,x,v),ie(`keydown`,x,e=>{y(f)&&e.key===`Escape`&&(Z.settings=null)});var S=h(b),T=C(S),E=e=>{ma(e,{})};p(T,e=>{o()&&e(E)});var D=A(T,2),k=e(D,!0),N=A(D,2);_(N,20,()=>y(u),e=>e,(e,t)=>{var n=Sa();let r;var i=C(n),o=e=>{Se(e,{get kind(){return a[t]},size:16})},u=e=>{var n=xa(),r=C(n),i=e=>{var t=ha();M(2),d(e,t)},a=e=>{var t=ga();M(3),d(e,t)},o=e=>{var t=_a();M(2),d(e,t)},s=e=>{var t=va();d(e,t)},c=e=>{var t=ya();M(),d(e,t)},l=e=>{var t=ba();d(e,t)};p(r,e=>{t===`provenance`?e(i):t===`timeline`?e(a,1):t===`context`?e(o,2):t===`notes`?e(s,3):t===`files`?e(c,4):e(l,-1)}),G(n),d(e,n)};p(i,e=>{a[t]?e(o):e(u,-1)}),G(n),l(e=>{j(n,`data-switch`,t),j(n,`aria-pressed`,Z.on[t]),j(n,`aria-label`,e),j(n,`title`,s[t]),r=w(n,``,r,{"--c":`var(--${c[t]??``})`})},[()=>s[t].replace(/ \(Alt\+.\)$/,``)]),g(`click`,n,()=>Z.flip(t)),d(e,n)}),G(N);var P=A(N,4);r(P,()=>i.tools??V);var F=A(P,2),B=e=>{var t=Ca();l(()=>{j(t,`data-settings`,i.pane),j(t,`aria-label`,`${i.name??``} settings`),j(t,`aria-expanded`,y(f)),j(t,`title`,`${i.name??``} settings`)}),g(`click`,t,()=>Z.settings=y(f)?null:i.pane),d(e,t)};p(F,e=>{i.settings&&e(B)}),G(S);var H=A(S,2),W=n=>{var a=wa(),o=C(a),s=e(o,!0),c=A(o,2),u=C(c);r(u,()=>i.settings),G(c),G(a),R(a,e=>U(m,e),()=>y(m)),l(e=>{j(a,`aria-label`,`${i.name??``} settings`),t(s,e)},[()=>i.name.toLowerCase()]),d(n,a)};p(H,e=>{i.settings&&y(f)&&e(W)}),l(()=>{t(k,i.name),j(N,`aria-label`,`${i.name??``}'s switches`)}),d(n,b),O()}u([`click`]);var Da=m(`<button type="button" class="gauge svelte-1cyuk5c"><i></i></button>`);function Oa(e,t){z(t,!0);let n=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),r=e=>`$${e.toFixed(e>0&&e<.1?3:2)}`,i=L(()=>$.session),a=L(()=>y(i)?.size?{tokens:y(i).tokens.input,limit:y(i).size}:null),o=L(()=>y(a)?Math.min(1,y(a).tokens/y(a).limit):0),s=L(()=>!!y(a)&&y(a).tokens>=Math.min(1e5,y(a).limit/2)),c=L(()=>!!y(a)&&y(a).tokens>y(a).limit),u=L(()=>y(i)?y(i).size?`${y(i).agent}: ${n(y(i).tokens.input)} of ${n(y(i).size)} tokens${y(i).cost?`, ${r(y(i).cost)}`:``}${y(s)?`: long enough to drift`:``}`:`${y(i).agent||`The agent`} hasn't said how full its context is`:`Context: no agent attached`);var f=Da(),p=C(f);let m,h;G(f),l(()=>{j(f,`aria-label`,y(u)),j(f,`title`,y(u)),m=Y(p,1,`bar ctx svelte-1cyuk5c`,null,m,{long:y(s),full:y(c)}),h=w(p,``,h,{"--fill":y(o)})}),g(`click`,f,()=>$.shown=$.shown===`context`?`session`:`context`),d(e,f),O()}u([`click`]);var ka=m(`<h2 class="label svelte-1c4xnzk">AGENTS.md</h2> <label class="hidden-label" for="agents">AGENTS.md: your instructions for this base</label> <textarea id="agents" class="agents svelte-1c4xnzk" rows="6" spellcheck="true" placeholder="notation, level, language, how notes are named" title="Your instructions for this base, read by the agents you attach. Kept at the top of your notes, as AGENTS.md."></textarea>`,1),Aa=m(`<p class="bad svelte-1c4xnzk" role="alert"> </p>`),ja=m(`<section class="svelte-1c4xnzk"><!> <!></section>`);function Ma(n,r){z(r,!0);let i=q(``),a=q(null),o=``;K(()=>{X.api.agents().then(e=>{U(a,e.text??``,!0),o=y(a)},()=>void 0)});async function s(){if(y(a)!==null&&y(a)!==o){U(i,``);try{await X.api.saveAgents(y(a)),o=y(a)}catch(e){U(i,e.message,!0)}}}var c=ja(),u=C(c),f=e=>{var t=ka(),n=A(h(t),4);W(n),ie(`blur`,n,()=>void s()),J(n,()=>y(a),e=>U(a,e)),d(e,t)};p(u,e=>{y(a)!==null&&e(f)});var m=A(u,2),g=n=>{var r=Aa(),a=e(r,!0);l(()=>t(a,y(i))),d(n,r)};p(m,e=>{y(i)&&e(g)}),G(c),d(n,c),O()}var Na=m(`<button class="btn quiet danger-text svelte-1h9x2hz" type="button">Delete it</button>`),Pa=m(`<div class="ask svelte-1h9x2hz" role="alertdialog" aria-label="delete this note"><span>Delete this note? <!> Its history stays.</span> <div class="row svelte-1h9x2hz"><button class="btn danger" type="button">delete</button> <button class="btn quiet" type="button">keep it</button></div></div>`),Fa=m(`<p class="problem svelte-1h9x2hz" role="alert"> </p>`),Ia=m(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">this note</h2> <div class="row svelte-1h9x2hz"><button class="btn" type="button">A question about it</button> <button class="btn" type="button">A problem using it</button> <!></div> <!> <!></section>`),La=m(`<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>`),Ra=m(`<button type="button" role="radio"> </button>`),za=m(`<button type="button">fullscreen</button>`),Ba=o(`<path d="M5.8 2.5v11M10.2 2.5v11"></path>`),Va=o(`<path d="M8 2.5v11M8 8h6.5"></path>`),Ha=m(`<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>`),Ua=o(`<path d="M4 2.5h6l2.5 2.5v8.5H4zM6 7h5M6 9.5h5"></path>`),Wa=o(`<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),Ga=o(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path>`),Ka=m(`<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>`),qa=m(`<span class="icons svelte-1h9x2hz" role="group" aria-label="Layout"></span> <span class="icons svelte-1h9x2hz" role="group" aria-label="Panes shown"></span>`,1),Ja=m(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the screen</h2> <div class="row svelte-1h9x2hz"><!> <!></div></section>`),Ya=m(`<!> <!> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the ground</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Ground"></div></section> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the code</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Code"></div></section> <!> <p class="foot svelte-1h9x2hz"><a>the parts</a></p>`,1);function Xa(n,r){z(r,!0);let i={note:`Note`,atlas:`Atlas`,iso:`Iso`},a={cols:`Three columns`,stack:`The note beside the Atlas over Iso`,one:`One pane: the one in focus`},o=q(!1),s=q(!1);H(()=>{U(o,!!document.fullscreenEnabled&&!matchMedia(`(display-mode: standalone)`).matches,!0);let e=()=>{U(s,document.fullscreenElement!==null)};return e(),document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)}),q(!1);let u=q(null),f=q(``);async function m(e){U(f,``);try{let t=await X.api.map();U(u,[...new Set(t.model.edges.filter(([t,n])=>n===e&&t!==e&&!t.startsWith(`@`)).map(([e])=>t.notes[e]?.title||e))],!0)}catch(e){U(f,e.message,!0)}}async function v(e){try{await X.api.deleteNote(e,(await X.api.readNote(e)).version),U(u,null),Z.settings=null,await X.refresh(),await oe(ae(`/notes`),{replaceState:!0})}catch(e){U(f,e.message,!0),U(u,null)}}function b(){document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(()=>void 0)}var x=Ya(),S=h(x),w=n=>{let r=L(()=>X.open);var i=Ia(),a=A(C(i),2),o=C(a),s=A(o,2),h=A(s,2),_=e=>{var t=Na();g(`click`,t,()=>void m(y(r))),d(e,t)},b=L(()=>y(u)===null&&X.listing.notes.some(e=>e.id===y(r)));p(h,e=>{y(b)&&e(_)}),G(a);var x=A(a,2),S=e=>{var n=Pa(),i=C(n),a=A(C(i)),o=e=>{var n=c();l(e=>t(n,`${y(u).length===1?`One note links`:`${y(u).length} notes link`} to it (${e??``}); ${y(u).length===1?`its link is`:`their links are`} left broken.`),[()=>y(u).join(`, `)]),d(e,n)},s=e=>{var t=c(`No note links to it.`);d(e,t)};p(a,e=>{y(u).length?e(o):e(s,-1)}),M(),G(i);var f=A(i,2),m=C(f),h=A(m,2);G(f),G(n),g(`click`,m,()=>void v(y(r))),g(`click`,h,()=>{U(u,null)}),d(e,n)};p(x,e=>{y(u)!==null&&e(S)});var w=A(x,2),T=n=>{var r=Fa(),i=e(r,!0);l(()=>t(i,y(f))),d(n,r)};p(w,e=>{y(f)&&e(T)}),G(i),g(`click`,o,()=>{Z.settings=null,Fe(`question`,y(r))}),g(`click`,s,()=>{Z.settings=null,Fe(`problem`,y(r))}),d(n,i)},T=L(()=>X.open&&!X.open.startsWith(`@`));p(S,e=>{y(T)&&e(w)});var E=A(S,2),D=n=>{var r=La(),i=A(C(r),2),a=C(i),o=e(a,!0),s=A(a,2),c=e(s);G(i);var u=A(i,2);p(u,e=>{}),G(r),l(()=>{t(o,X.session.name),t(c,`· ${X.listing.notes.length??``} ${X.listing.notes.length===1?`note`:`notes`}`)}),d(n,r)};p(E,e=>{X.session&&e(D)});var k=A(E,2),N=A(C(k),2);_(N,21,()=>Oe,([e,t])=>e,(n,r)=>{var i=L(()=>F(y(r),2));let a=()=>y(i)[0],o=()=>y(i)[1];var s=Ra();let c;var u=e(s,!0);l(()=>{c=Y(s,1,`btn svelte-1h9x2hz`,null,c,{on:De.chosen===a()}),j(s,`aria-checked`,De.chosen===a()),t(u,o())}),g(`click`,s,()=>De.choose(a())),d(n,s)}),G(N),G(k);var P=A(k,2),I=A(C(P),2);_(I,21,()=>Ae,([e,t])=>e,(n,r)=>{var i=L(()=>F(y(r),2));let a=()=>y(i)[0],o=()=>y(i)[1];var s=Ra();let c;var u=e(s,!0);l(()=>{c=Y(s,1,`btn svelte-1h9x2hz`,null,c,{on:ke.chosen===a()}),j(s,`aria-checked`,ke.chosen===a()),j(s,`title`,a()?`keywords bold, comments faint, as in print`:`coloured by what each word is`),t(u,o())}),g(`click`,s,()=>ke.choose(a())),d(n,s)}),G(I),G(P);var R=A(P,2),B=e=>{var t=Ja(),n=A(C(t),2),r=C(n),c=e=>{var t=za();let n;l(()=>{n=Y(t,1,`btn svelte-1h9x2hz`,null,n,{on:y(s)}),j(t,`aria-pressed`,y(s))}),g(`click`,t,b),d(e,t)};p(r,e=>{y(o)&&e(c)});var u=A(r,2),f=e=>{var t=qa(),n=h(t);_(n,20,()=>fe,e=>e,(e,t)=>{var n=Ha(),r=C(n),i=A(C(r)),o=e=>{var t=Ba();d(e,t)},s=e=>{var t=Va();d(e,t)};p(i,e=>{t===`cols`?e(o):t===`stack`&&e(s,1)}),G(r),G(n),l(()=>{j(n,`aria-pressed`,Z.layout===t),j(n,`aria-label`,a[t]),j(n,`title`,`${a[t]??``} (Alt+L)`)}),g(`click`,n,()=>Z.setLayout(t)),d(e,n)}),G(n);var r=A(n,2);_(r,20,()=>le,e=>e,(e,t)=>{var n=Ka();let r;var a=C(n),o=C(a),s=e=>{var t=Ua();d(e,t)},c=e=>{var t=Wa();M(2),d(e,t)},u=e=>{var t=Ga();d(e,t)};p(o,e=>{t===`note`?e(s):t===`atlas`?e(c,1):e(u,-1)}),G(a),G(n),l(e=>{r=Y(n,1,`icon svelte-1h9x2hz`,null,r,{off:!Z.show[t]}),j(n,`aria-pressed`,Z.show[t]),j(n,`aria-label`,`Show ${i[t]??``}`),j(n,`title`,`Show or hide ${i[t]??``} (Alt+${e??``} brings it back)${t===`iso`?` · hide it when your terminal has the session`:``}`)},[()=>le.indexOf(t)+1]),g(`click`,n,()=>Z.toggle(t)),d(e,n)}),G(r),d(e,t)};p(u,e=>{Z.narrow||e(f)}),G(n),G(t),d(e,t)};p(R,e=>{(y(o)||!Z.narrow)&&e(B)});var V=A(R,2),W=e(V);l(e=>j(W,`href`,e),[()=>ae(`/parts`)]),g(`click`,W,()=>Z.settings=null),d(n,x),O()}u([`click`]);var Za=e=>{Xa(e,{})},Qa=e=>{Ma(e,{})},$a=n=>{var r=to(),i=A(C(r),2),a=n=>{var r=eo(),i=e(r);l(()=>t(i,`${X.listing.notes.length??``} ${X.listing.notes.length===1?`note`:`notes`}`)),d(n,r)};p(i,e=>{X.atlas&&e(a)}),G(r),d(n,r)},eo=m(`<p class="soft svelte-12qhfyh"> </p>`),to=m(`<section class="set svelte-12qhfyh"><h2 class="label svelte-12qhfyh">the map</h2> <!></section>`),no=m(`<p class="stopped svelte-12qhfyh"> </p>`),ro=m(`<div class="divider svelte-12qhfyh" role="separator" aria-orientation="vertical" tabindex="0"></div>`),io=m(`<span role="status"><i aria-hidden="true" class="svelte-12qhfyh"></i><span class="hidden-label svelte-12qhfyh"> </span></span>`),ao=m(`<!> <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),oo=m(`<div class="tree svelte-12qhfyh"><!></div>`),so=m(`<!> <div class="pbody note-body svelte-12qhfyh"><!></div> <!>`,1),co=m(`<span class="says svelte-12qhfyh"> </span>`),lo=m(`<span class="where soft svelte-12qhfyh"> </span><button class="btn out svelte-12qhfyh" type="button">↑ out</button>`,1),uo=m(`<button class="icon svelte-12qhfyh" type="button" aria-label="The whole map" title="The whole map (0)"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M2.5 6V2.5H6M10 2.5h3.5V6M13.5 10v3.5H10M6 13.5H2.5V10" class="svelte-12qhfyh"></path></svg></button>`),fo=m(`<!> <!> <!>`,1),po=m(`<!> <div class="pbody atlas-body svelte-12qhfyh"><!></div>`,1),mo=m(`<button class="chip svelte-12qhfyh" type="button" aria-label="Change agent"> <span aria-hidden="true" class="svelte-12qhfyh">▾</span></button>`),ho=o(`<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 4.5h11v8h-11zM2.5 7.5h11M6.5 10h3" class="svelte-12qhfyh"></path></svg>`),go=m(`<span> </span>`),_o=m(`<button class="icon svelte-12qhfyh" type="button" aria-label="A new session"><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>`),vo=m(`<!> <!> <!> <button class="icon past svelte-12qhfyh" type="button" aria-label="Sessions" title="The agents' sessions, and Iso's earlier conversations"><!></button> <button class="icon ctx svelte-12qhfyh" type="button" aria-label="Context" title="What the agent has in hand, and what the tray gives it"><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> <!>`,1),yo=m(`<!> <div class="pbody iso-body svelte-12qhfyh"><!></div>`,1),bo=m(`<section><!> <!></section>`),xo=m(`<span class="badge svelte-12qhfyh"> </span>`),So=m(`<button type="button" class="svelte-12qhfyh"> <!></button>`),Co=m(`<div class="shell svelte-12qhfyh"><main class="panes svelte-12qhfyh"><!></main> <nav class="tabs svelte-12qhfyh" aria-label="Panes"></nav></div>`);function wo(n,a){z(a,!0);let o=L(()=>Z.standing);K(()=>{Te.route.id===`/n/[...id]`&&Te.params.id&&Z.setLast(Te.params.id)}),K(()=>{Te.url.href,Z.tree=!1}),H(me),H(()=>{let e=matchMedia(`(max-width: 760px)`);Z.narrow=e.matches;let t=()=>{Z.narrow=e.matches,Z.narrow&&requestAnimationFrame(()=>Z.scroll?.(Z.focus))};return e.addEventListener(`change`,t),Z.scroll=e=>{if(!Z.narrow||!y(c))return;let t=y(c).querySelector(`[data-pane="${e}"]`);t&&y(c).scrollTo({left:t.offsetLeft,behavior:matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`})},()=>{e.removeEventListener(`change`,t),Z.scroll=null}});let c=q(void 0),u=L(()=>{if(Z.layout===`stack`&&y(o).length===3){let[e,t]=y(o);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(y(o).map((e,t)=>[e,`abc`[t]]))}}return{template:`minmax(0, 1fr) / ${y(o).map(e=>`minmax(0, ${Z.widths[e]}fr)`).join(` `)}`,areas:{}}});function m(e,t){let n=e.currentTarget,r=y(o)[y(o).indexOf(t)-1];if(!r||!y(c))return;n.setPointerCapture(e.pointerId);let i=y(o).reduce((e,t)=>e+(Z.layout===`stack`&&t===y(o)[2]?0:Z.widths[t]),0),a=y(c).getBoundingClientRect().width/i,s=e.clientX,l=e=>{let n=(e.clientX-s)/a,i=Z.widths[r]+n,o=Z.widths[t]-n;i<.4||o<.4||(Z.setWidth(r,i),Z.setWidth(t,o),s=e.clientX)},u=()=>{n.removeEventListener(`pointermove`,l),n.removeEventListener(`pointerup`,u)};n.addEventListener(`pointermove`,l),n.addEventListener(`pointerup`,u)}function v(e,t){let n=y(o)[y(o).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 b(){Z.narrow&&y(c)&&(clearTimeout(T),T=setTimeout(()=>{let e=le[Math.round(y(c).scrollLeft/y(c).clientWidth)];e&&e!==Z.focus&&(Z.focus=e,e===`iso`&&(Z.unseen=0))},60))}let T;function E(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(le[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(k[n.toLowerCase()])Z.flip(k[n.toLowerCase()]);else return;e.preventDefault()}let D={note:`Note`,atlas:`Atlas`,iso:`Iso`},k={p:`provenance`,t:`timeline`,q:`questions`,b:`problems`,w:`web`,k:`code`,i:`pictures`,c:`context`,n:`notes`,f:`files`,r:`run`},N=L(()=>Te.route.id===`/n/[...id]`),P=L(()=>X.atlas?X.iso:null),F=L(()=>y(P)?.state===`reading`||y(P)?.state===`writing`),I=L(()=>ge(y(P)?.agent)),B=L(()=>{let e=y(P)?.steps.findLast(e=>e.opened&&!e.failed)?.opened;return e?X.listing.notes.find(t=>t.id===e)?.title??e:``});var V=Co();ne(`12qhfyh`,e=>{s(()=>{S.title=y(N)&&X.here?`${X.here} · isorite`:`isorite`})}),ie(`keydown`,x,E);var W=C(V);let ee;var J=C(W),te=n=>{var r=no(),i=e(r);l(()=>t(i,`isorite could not open the base: ${X.error??``}`)),d(n,r)},re=n=>{var s=f(),c=h(s);_(c,16,()=>le,e=>e,(n,s)=>{var c=bo();let _,b;var x=C(c),S=e=>{var t=ro();l(()=>j(t,`aria-label`,`Resize ${D[s]??``}`)),g(`pointerdown`,t,e=>m(e,s)),g(`keydown`,t,e=>v(e,s)),d(e,t)};p(x,e=>{!Z.narrow&&y(o)[0]!==s&&(Z.layout!==`stack`||y(o)[2]!==s)&&e(S)});var T=A(x,2),E=n=>{var i=so(),s=h(i);{let n=n=>{var r=ao(),i=h(r),a=n=>{var r=io();let i;var a=A(C(r)),o=e(a,!0);G(r),l(e=>{i=Y(r,1,`saved svelte-12qhfyh`,null,i,{bad:X.saving.bad,busy:e}),j(r,`title`,X.saving.text),t(o,X.saving.text)},[()=>!X.saving.text.startsWith(`saved`)]),d(n,r)};p(i,e=>{y(N)&&X.saving&&e(a)});var o=A(i,2);l(()=>j(o,`aria-pressed`,Te.route.id===`/notes`||Z.tree)),g(`click`,o,()=>{Te.route.id!==`/notes`&&(Z.tree=!Z.tree)}),d(n,r)},r=L(()=>Z.narrow||y(o)[0]===`note`);Ea(s,{pane:`note`,get first(){return y(r)},name:`Note`,get settings(){return Za},tools:n,$$slots:{tools:!0}})}var c=A(s,2),u=C(c);r(u,()=>a.children),G(c);var f=A(c,2),m=e=>{var t=oo(),n=C(t);je(n,{}),G(t),d(e,t)};p(f,e=>{Z.tree&&Te.route.id!==`/notes`&&e(m)}),d(n,i)},O=n=>{var r=po(),i=h(r);{let n=n=>{var r=fo(),i=h(r),a=n=>{var r=co(),i=e(r);l(()=>t(i,`${X.atlas.steps??``} ${X.atlas.steps===1?`step`:`steps`} back`)),d(n,r)};p(i,e=>{X.atlas?.chosen&&X.atlas.steps&&e(a)});var o=A(i,2),s=n=>{var r=lo(),i=h(r),a=e(i,!0),o=A(i);l(()=>t(a,X.atlas.here)),g(`click`,o,function(...e){X.atlas.out?.apply(this,e)}),d(n,r)};p(o,e=>{X.atlas?.here&&e(s)});var c=A(o,2),u=e=>{var t=uo();g(`click`,t,function(...e){X.atlas.fit?.apply(this,e)}),d(e,t)};p(c,e=>{X.atlas&&e(u)}),d(n,r)},r=L(()=>Z.narrow||y(o)[0]===`atlas`);Ea(i,{pane:`atlas`,get first(){return y(r)},name:`Atlas`,get settings(){return $a},tools:n,$$slots:{tools:!0}})}var a=A(i,2);vr(C(a),{}),G(a),d(n,r)},k=n=>{var r=yo(),a=h(r);{let n=n=>{let r=L(()=>$.session?.session);var a=vo(),o=h(a),s=n=>{var r=co(),i=e(r,!0);l(()=>{j(r,`title`,y(F)?``:`click open ground on the Atlas to let its path go`),t(i,y(F)?`${y(I)} is ${y(B)?`reading ${y(B)}`:`at work`} in its own terminal`:`${y(I)}'s turn is done`)}),d(n,r)};p(o,e=>{y(P)?.agent&&!$.acp&&e(s)});var c=A(o,2),u=e=>{var n=mo(),r=C(n);M(),G(n),l(()=>{j(n,`title`,`${$.view.agent??``} is attached: change agent`),t(r,`${$.view.agent??``} `)}),g(`click`,n,()=>$.change()),d(e,n)};p(c,e=>{$.view?.connected&&$.view.agent&&e(u)});var m=A(c,2);Oa(m,{});var _=A(m,2),v=C(_),b=e=>{Ee(e,{get id(){return y(r)},size:20})},x=e=>{var t=ho();d(e,t)};p(v,e=>{y(r)?e(b):e(x,-1)}),G(_);var S=A(_,2),w=A(C(S),2),T=n=>{var r=f(),a=h(r);i(a,()=>_e.fresh,n=>{var r=go();let i;var a=e(r,!0);l(()=>{i=Y(r,1,`n svelte-12qhfyh`,null,i,{pulse:$.shown===`session`&&_e.fresh!==``}),t(a,_e.sent.length)}),d(n,r)}),d(n,r)};p(w,e=>{_e.sent.length&&e(T)}),G(S);var E=A(S,2),D=e=>{var t=_o();l(()=>j(t,`title`,`A new session with ${$.view.agent??``}, from here`)),g(`click`,t,()=>{$.fresh($.view?.agentId??``),$.shown=`session`}),d(e,t)};p(E,e=>{$.view?.connected&&e(D)}),l(()=>{j(_,`aria-pressed`,$.shown===`past`),j(S,`aria-pressed`,$.shown===`context`)}),g(`click`,_,()=>void $.drawer()),g(`click`,S,()=>$.shown=$.shown===`context`?`session`:`context`),d(n,a)},r=L(()=>Z.narrow||y(o)[0]===`iso`);Ea(a,{pane:`iso`,get first(){return y(r)},name:`Iso`,get settings(){return Qa},tools:n,$$slots:{tools:!0}})}var s=A(a,2);la(C(s),{}),G(s),d(n,r)};p(T,e=>{s===`note`?e(E):s===`atlas`?e(O,1):e(k,-1)}),G(c),l(e=>{_=Y(c,1,`pane svelte-12qhfyh`,null,_,{focus:Z.focus===s,first:y(o)[0]===s,top:Z.layout===`stack`&&y(o)[1]===s&&y(o).length===3}),j(c,`data-pane`,s),j(c,`aria-label`,D[s]),j(c,`hidden`,e),b=w(c,``,b,{"grid-area":y(u).areas[s]})},[()=>!y(o).includes(s)]),ie(`pointerdown`,c,()=>{Z.narrow||(Z.focus=s)},!0),d(n,c)}),d(n,s)};p(J,e=>{X.error?e(te):e(re,-1)}),G(W),R(W,e=>U(c,e),()=>y(c));var ae=A(W,2);_(ae,20,()=>le,e=>e,(n,r)=>{var i=So(),a=C(i),o=A(a),s=n=>{var r=xo(),i=e(r,!0);l(()=>t(i,Z.unseen)),d(n,r)};p(o,e=>{r===`iso`&&Z.unseen&&e(s)}),G(i),l(()=>{j(i,`aria-current`,Z.focus===r),j(i,`aria-label`,D[r]),t(a,`${D[r]??``} `)}),g(`click`,i,()=>Z.to(r)),d(n,i)}),G(ae),G(V),l(()=>{j(W,`data-layout`,Z.layout),ee=w(W,``,ee,{"grid-template":y(u).template})}),ie(`scroll`,W,b),d(n,V),O()}u([`pointerdown`,`keydown`,`click`]);export{wo as component,Me as universal};