isorite 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/dist/main.js +5688 -8903
- package/docs/setup-for-agents.md +44 -102
- package/docs/setup.md +23 -87
- package/docs/terminal.md +54 -55
- package/guide/AGENTS.md +4 -0
- package/guide/atlas/find-what-it-rests-on.md +9 -0
- package/guide/atlas/the-atlas.md +21 -0
- package/guide/atlas/the-switches/satellites.svg +17 -0
- package/guide/atlas/the-switches.md +27 -0
- package/guide/iso/agents-md.md +13 -0
- package/guide/iso/artifacts/the-guide.csv +8 -0
- package/guide/iso/artifacts/the-guide.html +35 -0
- package/guide/iso/artifacts.md +15 -0
- package/guide/iso/ask-iso.md +7 -0
- package/guide/iso/give-it-notes.md +9 -0
- package/guide/iso/in-hand.md +18 -0
- package/guide/iso/iso-writes-marked.md +15 -0
- package/guide/iso/iso.md +17 -0
- package/guide/iso/let-it-write.md +11 -0
- package/guide/iso/write-agents-md.md +11 -0
- package/guide/notes/a-note-is-markdown.md +17 -0
- package/guide/notes/a-notes-details.md +23 -0
- package/guide/notes/diagrams-and-code.md +43 -0
- package/guide/notes/every-change-is-kept.md +14 -0
- package/guide/notes/folders.md +11 -0
- package/guide/notes/go-back-a-version.md +9 -0
- package/guide/notes/link-your-notes.md +9 -0
- package/guide/notes/links-and-their-kinds.md +23 -0
- package/guide/notes/make-move-delete.md +9 -0
- package/guide/notes/write-in-your-notes.md +9 -0
- package/guide/out-of-the-base/web-and-code-links.md +13 -0
- package/guide/questions-and-problems/ask-a-question.md +9 -0
- package/guide/questions-and-problems/how-iso-reads-you.md +9 -0
- package/guide/questions-and-problems/problems.md +15 -0
- package/guide/questions-and-problems/questions.md +27 -0
- package/guide/questions-and-problems/resolve-a-question.md +9 -0
- package/guide/questions-and-problems/why-markdown-links.md +7 -0
- package/guide/solve-this-one.md +11 -0
- package/guide/start-here.md +39 -0
- package/guide/terminal/let-the-agent-remember.md +9 -0
- package/guide/terminal/memory.md +13 -0
- package/guide/terminal/your-own-agent.md +24 -0
- package/guide/your-notes.md +6 -0
- package/guide/your-own-base/keeping-a-base-well.md +16 -0
- package/guide/your-own-base/starting-a-base.md +21 -0
- package/package.json +4 -7
- package/web/_app/immutable/assets/0.BEjn1Bfl.css +1 -0
- package/web/_app/immutable/assets/4.fOHsAKBF.css +1 -0
- package/web/_app/immutable/assets/drawn.D6lJzDcc.css +1 -0
- package/web/_app/immutable/chunks/{BK6pLgdi.js → 3fCuxe18.js} +1 -1
- package/web/_app/immutable/chunks/{D5XlJBy8.js → B-DzK7Gb.js} +1 -1
- package/web/_app/immutable/chunks/{BuUzVkG2.js → B35sQTcK.js} +1 -1
- package/web/_app/immutable/chunks/{D4YEq54N.js → B6uHgLdT.js} +1 -1
- package/web/_app/immutable/chunks/{Dh1lBxfx.js → BA78_vo5.js} +1 -1
- package/web/_app/immutable/chunks/{tUSDgbpy.js → BCGaqnao.js} +1 -1
- package/web/_app/immutable/chunks/BCyLp7pS.js +1 -0
- package/web/_app/immutable/chunks/{EMo1IeTW.js → BK31dpt6.js} +1 -1
- package/web/_app/immutable/chunks/BOxykeIc.js +1 -0
- package/web/_app/immutable/chunks/{DlXrOzlh.js → BT_btfh0.js} +1 -1
- package/web/_app/immutable/chunks/{Xm0YTnxV.js → BWE_HS0c.js} +1 -1
- package/web/_app/immutable/chunks/{BLmF1B2i.js → BXBhaEho.js} +1 -1
- package/web/_app/immutable/chunks/{BAclEN0O.js → Bb_N98K9.js} +1 -1
- package/web/_app/immutable/chunks/{gPtCGHiy.js → Bd-WxALw.js} +1 -1
- package/web/_app/immutable/chunks/{BA8Hpxhg.js → BhEqJU15.js} +1 -1
- package/web/_app/immutable/chunks/{DkxkvOjx.js → BiATTH-R.js} +1 -1
- package/web/_app/immutable/chunks/{D5vocsTl.js → Bj-5n5Pb.js} +1 -1
- package/web/_app/immutable/chunks/{DRX-TQzj.js → BqipEJXw.js} +1 -1
- package/web/_app/immutable/chunks/{CiMp12cC.js → Bt-fHApV.js} +1 -1
- package/web/_app/immutable/chunks/{DXTK-eyo.js → BvPxdlBc.js} +1 -1
- package/web/_app/immutable/chunks/{DfCZPwp1.js → C2npZzkn.js} +1 -1
- package/web/_app/immutable/chunks/{DF89zyH-.js → C5Z-Y7Lu.js} +1 -1
- package/web/_app/immutable/chunks/{CD6xPodA.js → C8h1oeAZ.js} +1 -1
- package/web/_app/immutable/chunks/{DDCg82xL.js → C8nK3Jvr.js} +1 -1
- package/web/_app/immutable/chunks/{CFEI5lV9.js → CAlIuau0.js} +1 -1
- package/web/_app/immutable/chunks/{9z49435t.js → CFf_dAzX.js} +1 -1
- package/web/_app/immutable/chunks/{D3-rqfsM.js → CMIt1Ma8.js} +1 -1
- package/web/_app/immutable/chunks/{-2Meesge.js → CMikI1NP.js} +3 -3
- package/web/_app/immutable/chunks/{Czz9qOh8.js → CT4_O9X_.js} +1 -1
- package/web/_app/immutable/chunks/{DX4bJJO0.js → CTDYUZPz.js} +1 -1
- package/web/_app/immutable/chunks/{By4S_gy5.js → CdY1G_wk.js} +1 -1
- package/web/_app/immutable/chunks/Cd_SqIWq.js +523 -0
- package/web/_app/immutable/chunks/{DBC2xjOo.js → CdmC_l9F.js} +1 -1
- package/web/_app/immutable/chunks/{DbNETcPs.js → Cf-5I5_6.js} +1 -1
- package/web/_app/immutable/chunks/Cl5gQm2e.js +1 -0
- package/web/_app/immutable/chunks/{BWVMfAMh.js → CryuQgNh.js} +1 -1
- package/web/_app/immutable/chunks/{CT_Ry4q8.js → Ct_EK1xu.js} +1 -1
- package/web/_app/immutable/chunks/{BymwHy7o.js → CtkUy_15.js} +1 -1
- package/web/_app/immutable/chunks/{Dpa4Syyy.js → CzYPMYd4.js} +1 -1
- package/web/_app/immutable/chunks/{RlApGeew.js → D1LK3xRu.js} +1 -1
- package/web/_app/immutable/chunks/{DXK7PB4g.js → D6sVhEz3.js} +1 -1
- package/web/_app/immutable/chunks/{jTXVas70.js → D9JwUycj.js} +1 -1
- package/web/_app/immutable/chunks/{rghE0CVz.js → DCZYeMlH.js} +1 -1
- package/web/_app/immutable/chunks/{RFxekmX-.js → DDAG55ce.js} +1 -1
- package/web/_app/immutable/chunks/{CyFLqlvP.js → DFuPQaNa.js} +1 -1
- package/web/_app/immutable/chunks/{BXAOBcPb.js → DHJ8FcFD.js} +1 -1
- package/web/_app/immutable/chunks/{Bt7VOT5H.js → DKqMzyyE.js} +1 -1
- package/web/_app/immutable/chunks/{Bq2GBAJ0.js → DRcTlHZP.js} +1 -1
- package/web/_app/immutable/chunks/{C_amgxV1.js → DjUnonHY.js} +1 -1
- package/web/_app/immutable/chunks/{whhiiiga.js → Djr0h_v1.js} +1 -1
- package/web/_app/immutable/chunks/{vfDvz3qP.js → DrVtdHUW.js} +1 -1
- package/web/_app/immutable/chunks/{Uo6irDQW.js → O98JkczU.js} +74 -74
- package/web/_app/immutable/chunks/{oWM_kgYq.js → PsfIQCJ1.js} +1 -1
- package/web/_app/immutable/chunks/{Cl5zRP_n.js → TanDZqdf.js} +1 -1
- package/web/_app/immutable/chunks/{D95RKsvN.js → UDPiRmKc.js} +1 -1
- package/web/_app/immutable/chunks/WLe0MT1c.js +1 -0
- package/web/_app/immutable/chunks/{BTclWEfx.js → ZwM5k8r0.js} +1 -1
- package/web/_app/immutable/chunks/e2LGvGEb.js +3 -0
- package/web/_app/immutable/chunks/ej_0XxR7.js +1 -0
- package/web/_app/immutable/chunks/{CjtKPNlv.js → kG4HctVa.js} +1 -1
- package/web/_app/immutable/chunks/{CQd9D8Nc.js → l1LsK1sB.js} +1 -1
- package/web/_app/immutable/chunks/{D_jbSWJl.js → s_hW4oA1.js} +1 -1
- package/web/_app/immutable/entry/app.DM_AWBgH.js +2 -0
- package/web/_app/immutable/entry/start.BLhIKDcR.js +1 -0
- package/web/_app/immutable/nodes/0.xSbkmYPn.js +2 -0
- package/web/_app/immutable/nodes/1.BD2wJdoH.js +1 -0
- package/web/_app/immutable/nodes/2.shPqwtS_.js +1 -0
- package/web/_app/immutable/nodes/3.e_5kWaf_.js +1 -0
- package/web/_app/immutable/nodes/4.BEMEU6Jz.js +15 -0
- package/web/_app/immutable/nodes/5.DxaO-e4O.js +1 -0
- package/web/_app/immutable/nodes/6.C9ia8cDm.js +1 -0
- package/web/_app/version.json +1 -1
- package/web/index.html +16 -19
- package/dist/core.js +0 -2464
- package/plugin/assets/mark-lapis.png +0 -0
- package/plugin/assets/mark-quartz.png +0 -0
- package/plugin/assets/wordmark-lapis.png +0 -0
- package/plugin/assets/wordmark-quartz.png +0 -0
- package/plugin/isorite.ts +0 -65
- package/plugin/logo.ts +0 -99
- package/plugin/notepage.tsx +0 -165
- package/plugin/notes.ts +0 -10
- package/plugin/noteview.ts +0 -60
- package/plugin/oneatlas.ts +0 -83
- package/plugin/palette.ts +0 -21
- package/plugin/play.ts +0 -104
- package/plugin/server.ts +0 -76
- package/plugin/sources.ts +0 -18
- package/plugin/tui.tsx +0 -556
- package/plugin/wordmark.ts +0 -180
- package/web/_app/immutable/assets/0.BXPxx6Q0.css +0 -1
- package/web/_app/immutable/assets/4.CUdclsPi.css +0 -1
- package/web/_app/immutable/assets/5.rBvyRuST.css +0 -1
- package/web/_app/immutable/assets/Drawing.Q7J9MyIo.css +0 -1
- package/web/_app/immutable/assets/NoteEditor.S3q5lmKq.css +0 -1
- package/web/_app/immutable/assets/Timeline.LsRXYIBv.css +0 -1
- package/web/_app/immutable/chunks/4kgFUGOH.js +0 -1
- package/web/_app/immutable/chunks/8SS1q0nk.js +0 -7
- package/web/_app/immutable/chunks/Bk_JinGf.js +0 -1
- package/web/_app/immutable/chunks/BqrMZ9MX.js +0 -1
- package/web/_app/immutable/chunks/DThNJvmp.js +0 -1
- package/web/_app/immutable/chunks/DbeMVOH4.js +0 -1
- package/web/_app/immutable/chunks/DsQj0LyB.js +0 -523
- package/web/_app/immutable/chunks/DshHzxgH.js +0 -1
- package/web/_app/immutable/chunks/Iqr2CudW.js +0 -3
- package/web/_app/immutable/entry/app.CvK8zypr.js +0 -2
- package/web/_app/immutable/entry/start.Dcgm6sQd.js +0 -1
- package/web/_app/immutable/nodes/0.0TdRBEoR.js +0 -26
- package/web/_app/immutable/nodes/1.Dchqgt4j.js +0 -1
- package/web/_app/immutable/nodes/2.C0CMUdSu.js +0 -1
- package/web/_app/immutable/nodes/3.MjtWDMWd.js +0 -1
- package/web/_app/immutable/nodes/4.hhS0SQta.js +0 -2
- package/web/_app/immutable/nodes/5.C33_cw2J.js +0 -9
- package/web/_app/immutable/nodes/6.owNfwwRl.js +0 -1
- package/web/_app/immutable/nodes/7.BpxHVHoY.js +0 -1
- /package/web/_app/immutable/assets/{7.C00vyVPo.css → 6.C00vyVPo.css} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{$ as e,A as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,M as l,O as u,Q as d,S as f,V as p,W as m,X as h,Y as g,Z as _,a as v,at as y,c as b,ct as x,d as S,et as C,f as w,ft as T,g as E,h as ee,i as D,j as O,k,n as te,p as A,pt as j,rt as M,st as ne,tt as N,v as re,z as P}from"./Iqr2CudW.js";import{o as F,t as I}from"./4kgFUGOH.js";import"./xihTtKlq.js";import{C as L,E as ie,I as ae,P as oe,T as se,a as R,d as ce,g as le,h as ue,i as de,j as fe,l as pe,m as me,o as he,p as ge,s as _e,v as ve,y as ye}from"./Uo6irDQW.js";import{C as be,S as xe,_ as Se,a as Ce,b as we,c as Te,d as Ee,f as De,g as Oe,h as ke,i as Ae,l as je,n as Me,o as Ne,r as Pe,s as Fe,v as Ie,x as Le,y as Re}from"./DsQj0LyB.js";import{B as ze,D as z,E as Be,F as B,G as Ve,H as He,I as Ue,J as V,K as We,L as H,M as U,N as W,P as Ge,R as Ke,S as qe,W as Je,X as Ye,Y as Xe,at as Ze,ct as Qe,et as $e,it as et,lt as tt,mt as nt,n as rt,nt as it,rt as at,t as ot,ut as st,v as ct,w as lt,x as ut,y as dt}from"./BxTFtVqu.js";import{i as ft,l as pt,n as mt,o as ht,r as gt}from"./yxd8jSz3.js";var _t=2e7,vt=[`kit.js`,`chart.js`,`model.js`,`math.js`,`math.css`,`isorite.css`,`plain.css`,`kit.css`],yt=e=>e.replace(/"/g,`"`).replace(/'/g,`'`).replace(/</g,`<`).replace(/>/g,`>`).replace(/&/g,`&`);function bt(e,t){for(let n of e.matchAll(/<meta\b[^>]*>/gi)){let e=n[0];if((e.match(/\bname\s*=\s*["']([^"']*)["']/i)?.[1])?.toLowerCase()===t)return yt(e.match(/\bcontent\s*=\s*"([^"]*)"|\bcontent\s*=\s*'([^']*)'/i)?.slice(1).find(e=>e!==void 0)??``)}return null}function xt(e){return{title:yt(e.match(/<title[^>]*>([\s\S]*?)<\/title>/i)?.[1]?.trim()??``),description:bt(e,`description`)??``,author:bt(e,`author`)??``,date:bt(e,`date`)??``,kit:bt(e,`isorite:kit`),uses:(bt(e,`isorite:uses`)??``).split(/[\s,]+/).filter(Boolean)}}function St(e){let t=[];/<iso-chart[\s>]|\bPlot\.\w/.test(e)&&t.push(`chart`),/<iso-model[\s>]|<iso-chart3d[\s>]|\bTHREE\.\w/.test(e)&&t.push(`model`);let n=e.replace(/<script\b[\s\S]*?<\/script>/gi,``).replace(/<style\b[\s\S]*?<\/style>/gi,``);return(/<iso-math[\s>]|\biso\.math\(|\$\$[\s\S]+?\$\$|\\\(|\$(?=\S)[^$\n]+?(?<=\S)\$(?!\d)/.test(n)||/\biso\.math\(/.test(e))&&t.push(`math`),t}var Ct=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline'; style-src 'unsafe-inline'; img-src data: blob:; font-src data:; media-src data: blob:; connect-src 'none'">`,wt=e=>e.replace(/<\/(script|style)/gi,`<\\/$1`),Tt=e=>e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`);function Et(e,t,n={}){let r=n.look??`isorite`,i=n.ground??`lapis`,a=e.replace(/<link\b[^>]*\bhref\s*=\s*["'](?:\.\/)?kit\/[^"']*["'][^>]*>\s*/gi,``).replace(/<script\b[^>]*\bsrc\s*=\s*["'](?:\.\/)?kit\/[^"']*["'][^>]*>\s*<\/script>\s*/gi,``),o=Object.entries(n.data??{}).map(([e,t])=>typeof t==`string`?`<script type="text/plain" data-path="${Tt(e)}">${wt(t)}<\/script>`:`<script type="application/octet-stream" data-encoding="base64" data-path="${Tt(e)}">${Dt(t)}<\/script>`),s=St(a).map(e=>`${e===`math`?`<style>\n${wt(t[`math.css`])}\n</style>\n`:``}<script>\n${wt(t[`${e}.js`])}\n<\/script>`),c=[Ct,`<style data-look="isorite">\n${wt(t[`isorite.css`])}\n</style>`,`<style data-look="plain">\n${wt(t[`plain.css`])}\n</style>`,`<style>\n${wt(t[`kit.css`])}\n</style>`,...o,`<script>\n${wt(t[`kit.js`])}\n<\/script>`,...s].join(`
|
|
2
|
-
`);return(/<head\b[^>]*>/i.test(a)?a.replace(/<head\b[^>]*>/i,e=>`${e}\n${c}\n`):`<!doctype html><html><head><meta charset="utf-8">\n${c}\n</head><body>${a}</body></html>`).replace(/<html\b([^>]*)>/i,(e,t)=>`<html${t.replace(/\s+data-(?:look|ground)\s*=\s*("[^"]*"|'[^']*'|\S+)/gi,``)} data-look="${r}" data-ground="${i}">`)}function Dt(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return btoa(t)}var Ot=class{note;#e=N([]);get entries(){return P(this.#e)}set entries(e){C(this.#e,e)}#t=N(null);get prompt(){return P(this.#t)}set prompt(e){C(this.#t,e)}#n=N(null);get asking(){return P(this.#n)}set asking(e){C(this.#n,e)}#r=N(null);get failed(){return P(this.#r)}set failed(e){C(this.#r,e)}get tier(){return Oe.tier}#i=N(null);get cursor(){return P(this.#i)}set cursor(e){C(this.#i,e)}#a=N(``);get busy(){return P(this.#a)}set busy(e){C(this.#a,e,!0)}#o=N(null);get editing(){return P(this.#o)}set editing(e){C(this.#o,e,!0)}stop=null;constructor(e){this.note=e}#s=M(()=>ye(this.entries));get waiting(){return P(this.#s)}set waiting(e){C(this.#s,e)}#c=M(()=>this.waiting.filter(e=>e.form===`insert`));get proposals(){return P(this.#c)}set proposals(e){C(this.#c,e)}#l=M(()=>{let e=[],t=L(this.note.text);for(let n of this.waiting)if(n.form===`rewrite`)for(let r of n.open??[]){let i=n.regions[r],a=ge(this.note.text,i.old),o=a?this.note.text.slice(0,a.from).split(`
|
|
3
|
-
`).length-1:-1,s=t.find(e=>e.from<=o&&o<e.to);e.push({key:`r:${n.id}:${r}`,proposal:n,k:r,at:a,block:/\n/.test(i.old.text.trim())||/\n/.test(i.new.trim()),code:!!(s&&/^\s*(```|~~~)/.test(s.text))})}return e.sort((e,t)=>(e.at?.from??1/0)-(t.at?.from??1/0))});get changes(){return P(this.#l)}set changes(e){C(this.#l,e)}#u=M(()=>{try{let e=ie(this.note.text)[0];return{lines:e.split(`
|
|
4
|
-
`).length-1,chars:e.length}}catch{return{lines:0,chars:0}}});get head(){return P(this.#u)}set head(e){C(this.#u,e)}get foot(){return this.note.text.split(`
|
|
5
|
-
`).length}spans(e){return e.flatMap(e=>{let t=ge(this.note.text,e);return t?[t]:[]})}placed(e){return le(this.note.text,e)!==null}#d=M(()=>{let e=[];for(let t of this.proposals){let n=le(this.note.text,t);e.push({key:`p:${t.id}`,line:n?.form===`insert`?n.line:this.foot})}this.changes.some(e=>!e.at)&&e.push({key:`lost`,line:this.foot}),this.asking&&e.push({key:`asking`,line:this.asking.line}),this.failed&&e.push({key:`failed`,line:this.failed.line}),this.prompt&&e.push({key:`prompt`,line:this.prompt.line});let t=this.changes.filter(e=>e.at);for(let n of t)n.block&&e.push({key:n.key,line:this.note.text.slice(0,n.at.to).split(`
|
|
6
|
-
`).length});return{blocks:e,picked:this.spans(this.prompt?.regions??this.asking?.regions??[]),old:t.map(e=>e.at),inline:t.filter(e=>!e.block).map(e=>({key:e.key,at:e.at.to}))}});get layout(){return P(this.#d)}set layout(e){C(this.#d,e)}async open(){this.stop=R.on(e=>this.hear(e));let e=R.iso;e?.start&&e.note===this.note.id&&(e.state===`reading`||e.state===`writing`)&&(this.hear(e.start),this.asking&&={...this.asking,text:e.text??``,steps:e.steps});try{this.entries=await R.api.journal(this.note.id)}catch{}}close(){this.stop?.()}hear(e){if(e.type===`journal`){if(e.id!==this.note.id||this.entries.some(t=>t.id===e.entry.id))return;this.entries=[...this.entries,e.entry];let t=e.entry.kind===`discard`||e.entry.kind===`change`?e.entry.proposal:void 0;t&&this.editing?.id===t&&(this.editing=null);return}if(e.type===`note-changed`||e.type===`record`||e.type===`agent-sent`||!(`note`in e)||e.note!==this.note.id)return;if(e.type===`iso-start`){if(this.asking&&!this.asking.request){this.asking={...this.asking,request:e.request};return}let t=this.foot;if(e.place.form===`insert`||e.place.form===`rewrite`){let n=le(this.note.text,{form:`insert`,after:e.place.after,before:e.place.before});n?.form===`insert`&&(t=n.line)}this.asking={request:e.request,asked:e.asked,line:t,regions:e.place.form===`rewrite`?e.place.regions:[],text:``,steps:[]},this.failed=null,this.prompt=null;return}let t=this.asking;t&&t.request===e.request&&(e.type===`iso-text`?this.asking={...t,text:e.again?e.delta:t.text+e.delta}:e.type===`iso-step`?this.asking={...t,text:``,steps:[...t.steps,e.step]}:(e.type===`iso-failed`&&(this.failed={line:t.line,message:e.message}),this.asking=null))}promptAt(e,t){let n=L(this.note.text).find(t=>t.from<=e&&e<t.to);this.failed=null,this.prompt={line:n?n.to:e,mode:`insert`,regions:[]},t&&t.to>t.from&&(this.setMode(`rewrite`),this.pick([t]))}promptHere(){let e=this.cursor;e?this.promptAt(e.line,e):this.promptAt(this.foot)}askAt(e,t){if(t&&t.to>t.from){this.promptAt(e,t);return}let n=L(this.note.text).find(t=>t.from<=e&&e<t.to),r=n?.text.trim()??``;!n||!r||/^(```|~~~|\$\$|\|)/.test(r)?this.promptAt(e):(this.failed=null,this.prompt={line:n.to,mode:`insert`,regions:[]},this.ask(r))}askHere(){let e=this.cursor;e?this.askAt(e.line,e):this.promptAt(this.foot)}setMode(e){this.prompt&&={...this.prompt,mode:e}}get picking(){return this.prompt?.mode===`rewrite`}pick(e){let t=this.prompt;if(!t)return;let n=this.note.text,r=this.spans(t.regions);for(let t of e){let{from:e,to:i}=t;for(;e<i&&/\s/.test(n[e]);)e++;for(;i>e&&/\s/.test(n[i-1]);)i--;if(i<=e||e<this.head.chars)continue;let a=r.filter(t=>t.from<=i&&e<=t.to);r=[...r.filter(e=>!a.includes(e)),{from:Math.min(e,...a.map(e=>e.from)),to:Math.max(i,...a.map(e=>e.to))}]}r.sort((e,t)=>e.from-t.from),this.prompt={...t,regions:r.map(e=>ve(n,e.from,e.to))}}unpick(e){let t=this.prompt;if(!t)return;let n=t.regions.filter(t=>{let n=ge(this.note.text,t);return!n||e<n.from||e>=n.to});n.length!==t.regions.length&&(this.prompt={...t,regions:n})}clearPicked(){this.prompt&&={...this.prompt,regions:[]}}setTier(e){Oe.setTier(e)}async ask(e){let t=this.prompt;if(!t||!e.trim()||this.asking||t.mode===`rewrite`&&!t.regions.length)return;let n=t.mode===`rewrite`?t.regions:[];this.prompt=null,this.failed=null,this.asking={request:``,asked:e,line:t.line,regions:n,text:``,steps:[]};try{await this.note.save();let r=ue(this.note.text,t.line),i=Oe.of(this.note.id),a=Object.keys(i).length?{choice:i}:{},{request:o}=await R.api.ask(n.length?{note:this.note.id,form:`rewrite`,regions:n,after:r.after,before:r.before,asked:e,tier:this.tier,...a}:{note:this.note.id,...r,asked:e,tier:this.tier,...a});this.asking&&!this.asking.request&&(this.asking={...this.asking,request:o})}catch(e){this.asking=null,this.failed={line:t.line,message:e.message}}}async send(){if(this.asking)return``;this.failed=null,this.asking={request:``,asked:``,line:this.foot,regions:[],text:``,steps:[]};try{await this.note.save();let{request:e}=await R.api.ask({note:this.note.id,form:`note`,tier:this.tier});return this.asking&&!this.asking.request&&(this.asking={...this.asking,request:e}),e}catch(e){return this.asking=null,this.failed={line:this.foot,message:e.message},``}}halt(){let e=this.asking;if(!e)return;if(e.request){R.api.stop(e.request);return}let t=R.on(e=>{e.type===`iso-start`&&e.note===this.note.id&&(t(),R.api.stop(e.request))})}say(e,t){this.failed={line:e??this.foot,message:t.message}}lineOf(e){return this.layout.blocks.find(t=>t.key===`p:${e.id}`)?.line}edit(e){this.editing={id:e.id,text:e.text}}async done(e){let t=this.editing;if(t?.id===e.id)try{await R.api.revise(this.note.id,e.id,t.text),this.editing=null}catch(t){this.say(this.lineOf(e),t)}}async keep(e){this.busy=e.id;try{await this.note.save(),this.editing?.id===e.id&&await this.done(e),this.note.adopt(await R.api.keep(this.note.id,e.id))}catch(t){this.say(this.lineOf(e),t)}finally{this.busy=``}}async discard(e){this.busy=e.id;try{await R.api.discard(this.note.id,e.id)}catch(t){this.say(this.lineOf(e),t)}finally{this.busy=``}}async keepChange(e){this.busy=e.key;try{await this.note.save(),this.note.adopt(await R.api.keep(this.note.id,e.proposal.id,e.k))}catch(e){this.say(void 0,e)}finally{this.busy=``}}async discardChange(e){this.busy=e.key;try{await R.api.discard(this.note.id,e.proposal.id,e.k)}catch(e){this.say(void 0,e)}finally{this.busy=``}}async settleAll(e){this.busy=`all`;try{e&&await this.note.save();for(let t of[...this.changes].reverse())(!e||t.at)&&(e?this.note.adopt(await R.api.keep(this.note.id,t.proposal.id,t.k)):await R.api.discard(this.note.id,t.proposal.id,t.k))}catch(e){this.say(void 0,e)}finally{this.busy=``}}},kt=1500,At=e=>ce(`isorite.draft.${e}`);function jt(e,t){try{if(t===void 0)return JSON.parse(localStorage.getItem(At(e))??`null`);t?localStorage.setItem(At(e),JSON.stringify(t)):localStorage.removeItem(At(e))}catch{}return null}var Mt=e=>typeof e==`string`?e:e==null?``:String(e),Nt=class{id;#e=N(`loading`);get loaded(){return P(this.#e)}set loaded(e){C(this.#e,e,!0)}#t=N(`saved`);get saving(){return P(this.#t)}set saving(e){C(this.#t,e,!0)}#n=N(``);get message(){return P(this.#n)}set message(e){C(this.#n,e,!0)}#r=N(``);get text(){return P(this.#r)}set text(e){C(this.#r,e,!0)}#i=N(void 0);get theirs(){return P(this.#i)}set theirs(e){C(this.#i,e)}#a=N(0);get revision(){return P(this.#a)}set revision(e){C(this.#a,e,!0)}base=``;saved=``;timer=null;inFlight=null;stop=null;constructor(e){this.id=e}#o=M(()=>{try{return ae(this.text)[0]??{}}catch{return null}});get meta(){return P(this.#o)}set meta(e){C(this.#o,e)}#s=M(()=>{let e=this.meta??{};return{title:Mt(e.title),type:Mt(e.type),description:Mt(e.description),tags:Array.isArray(e.tags)?e.tags.map(String).join(`, `):Mt(e.tags)}});get fields(){return P(this.#s)}set fields(e){C(this.#s,e)}#c=M(()=>{try{return ie(this.text)[2]}catch{return this.text}});get body(){return P(this.#c)}set body(e){C(this.#c,e)}async open(){try{let e=await R.api.readNote(this.id),t=jt(this.id);this.take(e),t&&t.text!==e.text&&(this.text=t.text,t.base===e.version?this.changed():(this.theirs=e,this.saving=`conflict`,jt(this.id,t))),this.loaded=`ready`,this.stop=R.on(e=>this.hear(e))}catch(e){this.loaded=e instanceof pe&&e.status===404?`missing`:`error`,this.message=e.message}}async close(){this.stop?.(),await this.save()}adopt(e){this.take(e)}async restore(e){await this.settle(),this.take(await R.api.restore(this.id,e,this.base))}async move(e){await this.settle();let t=await R.api.moveNote(this.id,e,this.base);return this.stop?.(),t.id}async setDone(e){await this.settle(),this.take(await R.api.setDone(this.id,e,this.base)),await R.refresh()}async remove(){await this.settle(),await R.api.deleteNote(this.id,this.base),this.stop?.()}async settle(){if(this.saving!==`saved`&&await this.save(),this.saving!==`saved`)throw Error(this.message||`the note could not be saved first`)}take(e){this.text=this.saved=e.text,this.base=e.version,this.theirs=void 0,this.saving=`saved`,this.message=``,jt(this.id,null),this.revision++}setText(e){e!==this.text&&(this.text=e,this.changed())}setBody(e){e!==this.body&&this.setText(se(this.text,{},e))}setFields(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.trim();t[n]=n===`tags`?e?e.split(`,`).map(e=>e.trim()).filter(Boolean):null:e||null}this.setMeta(t)}setMeta(e){try{this.setText(se(this.text,e,null))}catch{}}changed(){jt(this.id,{base:this.base,text:this.text}),this.saving!==`conflict`&&(this.saving=`unsaved`,this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.save()},kt))}save(){return this.timer&&=(clearTimeout(this.timer),null),this.inFlight=(this.inFlight??Promise.resolve()).then(()=>this.send()),this.inFlight}async send(){if(this.loaded!==`ready`||this.saving===`conflict`||this.text===this.saved)return;let e=this.text;this.saving=`saving`;try{let t=await R.api.saveNote(this.id,{base:this.base,text:e});this.base=t.version,this.saved=e,this.message=``,this.text===e?(this.saving=`saved`,jt(this.id,null)):this.changed()}catch(t){if(t instanceof pe&&t.status===409&&t.current!==void 0){if(t.current?.text===e)return this.take(t.current);this.theirs=t.current,this.saving=`conflict`}else this.saving=`failed`,this.message=t.message,this.timer=setTimeout(()=>{this.save()},5e3)}}hear(e){e.type===`note-changed`&&e.id===this.id&&e.version!==this.base&&e.version!==me(this.text)&&this.saving===`saved`&&R.api.readNote(this.id).then(e=>{this.saving===`saved`&&e.version!==this.base&&this.take(e)},()=>void 0)}keepMine(){let e=this.theirs;return e===void 0?Promise.resolve():(this.theirs=void 0,this.saving=`unsaved`,e===null?R.api.createNote(this.id,this.text).then(e=>this.take(e),e=>{this.saving=`failed`,this.message=e.message}):(this.base=e.version,this.saved=e.text,this.save()))}keepTheirs(){this.theirs&&this.take(this.theirs)}},Pt=null;function Ft(){return Pt??=Promise.all(vt.map(async e=>{let t=await fetch(F(`/kit/${e}`));if(!t.ok)throw Error(`the kit's ${e} isn't there (${t.status}): build the app again`);return[e,await t.text()]})).then(e=>Object.fromEntries(e)).catch(e=>{throw Pt=null,e}),Pt}var It=e=>e.split(`/`).slice(0,-1).join(`/`);function Lt(e,t){let n=It(e).split(`/`).filter(Boolean);for(let e of t.replace(/^\.\//,``).split(`/`))if(e!==``&&e!==`.`){if(e===`..`){if(!n.length)return null;n.pop()}else n.push(e)}return n.join(`/`)}async function Rt(e,t){let n=await e.file(t);if(!n)throw Error(`no artifact at ${t}`);let r=new TextDecoder().decode(n.bytes);return{html:r,manifest:xt(r)}}async function zt(e,t,n){let r={};for(let i of n){let n=Lt(t,i),a=n===null?null:await e.file(n);a&&(r[i]=/^(text\/|application\/(json|jsonl|x-ndjson))/.test(a.type)?new TextDecoder().decode(a.bytes):a.bytes)}return r}async function Bt(e,t){return Et(e,await Ft(),t)}function Vt(e,t,n,r,i){let a=(t,n=[])=>e.contentWindow?.postMessage({isorite:0,...t},`*`,n),o=async o=>{if(o.source!==e.contentWindow)return;let s=o.data;if(s&&s.isorite===0){if(s.type===`ready`){let e=i.current();a({type:`ground`,ground:e.ground}),a({type:`look`,look:e.look})}else if(s.type===`file`||s.type===`bytes`){let e=String(s.path??``);if(!r().includes(e)){a({type:`reply`,id:s.id,error:`${e} is not in the artifact's manifest (isorite:uses)`});return}let i=Lt(n,e);try{let n=i===null?null:await t.file(i);if(!n)a({type:`reply`,id:s.id,error:`${e}: no such file beside the artifact`});else if(s.type===`bytes`){let e=n.bytes.slice().buffer;a({type:`reply`,id:s.id,bytes:e},[e])}else a({type:`reply`,id:s.id,text:new TextDecoder().decode(n.bytes)})}catch(t){a({type:`reply`,id:s.id,error:`${e}: ${t.message}`})}}else s.type===`height`?i.onHeight(Number(s.height)||0):s.type===`error`?i.onError(String(s.message)):s.type===`open`&&i.onOpen(String(s.note))}};return addEventListener(`message`,o),{tell:a,stop:()=>removeEventListener(`message`,o)}}function Ht(e,t){let n=e.split(/[#?]/)[0].trim();if(!n||/^[a-z][a-z0-9+.-]*:/i.test(n)||n.startsWith(`//`)||!/\.html?$/i.test(n))return null;let r=n.startsWith(`/`)?n.slice(1):Lt(`${t}.md`,n);return r?decodeURI(r):null}function Ut(){let e=document.documentElement.dataset.ground;return e===`lapis`||e===`quartz`?e:matchMedia(`(prefers-color-scheme: light)`).matches?`quartz`:`lapis`}function Wt(e){let t=e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`);return`<!doctype html><html lang="en"><head><meta charset="utf-8"><title>${t}</title><meta name="isorite:kit" content="1"><meta name="isorite:uses" content="${t}"></head><body><iso-model src="${t}" height="440"></iso-model></body></html>`}var Gt=l(`<p class="problem svelte-klp1mb" role="alert"> </p>`),Kt=l(`<!> <iframe sandbox="allow-scripts" class="svelte-klp1mb"></iframe>`,1);function qt(n,r){x(r,!0);let a=D(r,`look`,3,`isorite`),c=N(void 0),l=N(480),f=N(``),p=N(e(Ut()));o(()=>{let e=new MutationObserver(()=>{C(p,Ut(),!0)});e.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-ground`]});let t=matchMedia(`(prefers-color-scheme: light)`),n=()=>{C(p,Ut(),!0)};return t.addEventListener(`change`,n),()=>{e.disconnect(),t.removeEventListener(`change`,n)}});let g=null;o(()=>P(c)?(g=Vt(P(c),R.api,r.path,()=>r.uses,{onHeight:e=>{C(l,Math.max(120,Math.min(2e4,Math.ceil(e)+4)),!0)},onError:e=>r.onerror?.(e),onOpen:e=>{de.open(e.replace(/^\/+/,``).replace(/\.md$/,``))},current:()=>({ground:P(p),look:a()})}),()=>{g?.stop(),g=null}):void 0),o(()=>{if(!P(c))return;let e=P(c),t=r.html,n=s(()=>({look:a(),ground:P(p)}));C(f,``),Bt(t,n).then(t=>{e.srcdoc=t},e=>{C(f,e.message,!0)})}),o(()=>{g?.tell({type:`ground`,ground:P(p)})}),o(()=>{g?.tell({type:`look`,look:a()})});var v=Kt(),y=h(v),S=e=>{var n=Gt(),r=_(n,!0);m(()=>u(r,P(f))),t(e,n)};i(y,e=>{P(f)&&e(S)});var w=d(y,2);let T;b(w,e=>C(c,e),()=>P(c)),m(()=>{A(w,`title`,r.title),T=ee(w,``,T,{height:`${P(l)??``}px`})}),t(n,v),ne()}var Jt=l(`<span class="problem svelte-zlq7nn"> </span>`),Yt=l(`<span class="embed svelte-zlq7nn"><a class="name svelte-zlq7nn"><!> </a> <!> <!></span>`);function Xt(r,a){x(a,!0);let s=N(null),c=N(``),l=N(e([]));o(()=>{let e=a.path;Rt(R.api,e).then(e=>{C(s,e)},e=>{C(c,e.message,!0)})});var f=Yt(),p=g(f),h=g(p);De(h,{kind:`artifact`,size:11});var v=d(h,1,!0);j(p);var y=d(p,2),b=e=>{var n=Jt(),r=_(n,!0);m(()=>u(r,P(c))),t(e,n)},S=e=>{{let t=M(()=>P(s).manifest.title||a.path);qt(e,{get path(){return a.path},get html(){return P(s).html},get uses(){return P(s).manifest.uses},get title(){return P(t)},onerror:e=>{P(l).includes(e)||C(l,[...P(l),e],!0)}})}};i(y,e=>{P(c)?e(b):P(s)&&e(S,1)});var w=d(y,2);n(w,16,()=>P(l),e=>e,(e,n)=>{var r=Jt(),i=_(r,!0);m(()=>u(i,n)),t(e,r)}),j(f),m((e,t)=>{A(p,`href`,e),u(v,t)},[()=>_e(a.path),()=>P(s)?.manifest.title||a.path.split(`/`).at(-1)]),t(r,f),ne()}var Zt=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=nn(e.state,n.from);return r.line?$t(e):r.block?tn(e):!1};function Qt(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let i=e(t,n);return i?(r(n.update(i)),!0):!1}}var $t=Qt(cn,0),en=Qt(sn,0),tn=Qt((e,t)=>sn(e,t,on(t)),0);function nn(e,t){let n=e.languageDataAt(`commentTokens`,t,1);return n.length?n[0]:{}}var rn=50;function an(e,{open:t,close:n},r,i){let a=e.sliceDoc(r-rn,r),o=e.sliceDoc(i,i+rn),s=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(o)[0].length,l=a.length-s;if(a.slice(l-t.length,l)==t&&o.slice(c,c+n.length)==n)return{open:{pos:r-s,margin:s&&1},close:{pos:i+c,margin:c&&1}};let u,d;i-r<=100?u=d=e.sliceDoc(r,i):(u=e.sliceDoc(r,r+rn),d=e.sliceDoc(i-rn,i));let f=/^\s*/.exec(u)[0].length,p=/\s*$/.exec(d)[0].length,m=d.length-p-n.length;return u.slice(f,f+t.length)==t&&d.slice(m,m+n.length)==n?{open:{pos:r+f+t.length,margin:+!!/\s/.test(u.charAt(f+t.length))},close:{pos:i-p-n.length,margin:+!!/\s/.test(d.charAt(m-1))}}:null}function on(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),i=n.to<=r.to?r:e.doc.lineAt(n.to);i.from>r.from&&i.from==n.to&&(i=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let a=t.length-1;a>=0&&t[a].to>r.from?t[a].to=i.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return t}function sn(e,t,n=t.selection.ranges){let r=n.map(e=>nn(t,e.from).block);if(!r.every(e=>e))return null;let i=n.map((e,n)=>an(t,r[n],e.from,e.to));if(e!=2&&!i.every(e=>e))return{changes:t.changes(n.map((e,t)=>i[t]?[]:[{from:e.from,insert:r[t].open+` `},{from:e.to,insert:` `+r[t].close}]))};if(e!=1&&i.some(e=>e)){let e=[];for(let t=0,n;t<i.length;t++)if(n=i[t]){let i=r[t],{open:a,close:o}=n;e.push({from:a.pos-i.open.length,to:a.pos+a.margin},{from:o.pos-o.margin,to:o.pos+i.close.length})}return{changes:e}}return null}function cn(e,t,n=t.selection.ranges){let r=[],i=-1;ranges:for(let{from:e,to:a}of n){let n=r.length,o=1e9,s;for(let n=e;n<=a;){let c=t.doc.lineAt(n);if(s==null&&(s=nn(t,c.from).line,!s))continue ranges;if(c.from>i&&(e==a||a>c.from)){i=c.from;let e=/^\s*/.exec(c.text)[0].length,t=e==c.length,n=c.text.slice(e,e+s.length)==s?e:-1;e<c.text.length&&e<o&&(o=e),r.push({line:c,comment:n,token:s,indent:e,empty:t,single:!1})}n=c.to+1}if(o<1e9)for(let e=n;e<r.length;e++)r[e].indent<r[e].line.text.length&&(r[e].indent=o);r.length==n+1&&(r[n].single=!0)}if(e!=2&&r.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:i,empty:a,single:o}of r)(o||!a)&&e.push({from:t.from+i,insert:n+` `});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(e!=1&&r.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:i}of r)if(n>=0){let r=t.from+n,a=r+i.length;t.text[a-t.from]==` `&&a++,e.push({from:r,to:a})}return{changes:e}}return null}var ln=Je.define(),un=Je.define(),dn=Ye.define(),fn=Ye.define({combine(e){return Qe(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),pn=at.define({create(){return An.empty},update(e,t){let n=t.state.facet(fn),r=t.annotation(ln);if(r){let i=G.fromTransaction(t,r.selection),a=r.side,o=a==0?e.undone:e.done;return o=i?bn(o,o.length,n.minDepth,i):Tn(o,t.startState.selection),new An(a==0?r.rest:o,a==0?o:r.rest)}let i=t.annotation(un);if((i==`full`||i==`before`)&&(e=e.isolate()),t.annotation(Ze.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let a=G.fromTransaction(t),o=t.annotation(Ze.time),s=t.annotation(Ze.userEvent);return a?e=e.addChanges(a,o,s,n,t):t.selection&&(e=e.addSelection(t.startState.selection,o,s,n.newGroupDelay)),(i==`full`||i==`after`)&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}},fromJSON(e){return new An(e.done.map(G.fromJSON),e.undone.map(G.fromJSON))}});function mn(e={}){return[pn,fn.of(e),B.domEventHandlers({beforeinput(e,t){let n=e.inputType==`historyUndo`?gn:e.inputType==`historyRedo`?_n:null;return n?(e.preventDefault(),n(t)):!1}})]}function hn(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let i=n.field(pn,!1);if(!i)return!1;let a=i.pop(e,n,t);return a?(r(a),!0):!1}}var gn=hn(0,!1),_n=hn(1,!1),vn=hn(0,!0),yn=hn(1,!0),G=class e{constructor(e,t,n,r,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=i}setSelAfter(t){return new e(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){return{changes:this.changes?.toJSON(),mapped:this.mapped?.toJSON(),startSelection:this.startSelection?.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(t){return new e(t.changes&&We.fromJSON(t.changes),[],t.mapped&&Ve.fromJSON(t.mapped),t.startSelection&&V.fromJSON(t.startSelection),t.selectionsAfter.map(V.fromJSON))}static fromTransaction(t,n){let r=K;for(let e of t.startState.facet(dn)){let n=e(t);n.length&&(r=r.concat(n))}return!r.length&&t.changes.empty?null:new e(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,K)}static selection(t){return new e(void 0,K,void 0,void 0,t)}};function bn(e,t,n,r){let i=t+1>n+20?t-n-1:0,a=e.slice(i,t);return a.push(r),a}function xn(e,t){let n=[],r=!1;return e.iterChangedRanges((e,t)=>n.push(e,t)),t.iterChangedRanges((e,t,i,a)=>{for(let e=0;e<n.length;){let t=n[e++],o=n[e++];a>=t&&i<=o&&(r=!0)}}),r}function Sn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((e,n)=>e.empty!=t.ranges[n].empty).length===0}function Cn(e,t){return e.length?t.length?e.concat(t):e:t}var K=[],wn=200;function Tn(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-wn));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),bn(e,e.length-1,1e9,n.setSelAfter(r)))}return[G.selection([t])]}function En(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function Dn(e,t){if(!e.length)return e;let n=e.length,r=K;for(;n;){let i=On(e[n-1],t,r);if(i.changes&&!i.changes.empty||i.effects.length){let t=e.slice(0,n);return t[n-1]=i,t}t=i.mapped,n--,r=i.selectionsAfter}return r.length?[G.selection(r)]:K}function On(e,t,n){let r=Cn(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):K,n);if(!e.changes)return G.selection(r);let i=e.changes.map(t),a=t.mapDesc(e.changes,!0),o=e.mapped?e.mapped.composeDesc(a):a;return new G(i,it.mapEffects(e.effects,t),o,e.startSelection.map(a),r)}var kn=/^(input\.type|delete)($|\.)/,An=class e{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new e(this.done,this.undone):this}addChanges(t,n,r,i,a){let o=this.done,s=o[o.length-1];return o=s&&s.changes&&!s.changes.empty&&t.changes&&(!r||kn.test(r))&&(!s.selectionsAfter.length&&n-this.prevTime<i.newGroupDelay&&i.joinToEvent(a,xn(s.changes,t.changes))||r==`input.type.compose`)?bn(o,o.length-1,i.minDepth,new G(t.changes.compose(s.changes),Cn(it.mapEffects(t.effects,s.changes),s.effects),s.mapped,s.startSelection,K)):bn(o,o.length,i.minDepth,t),new e(o,K,n,r)}addSelection(t,n,r,i){let a=this.done.length?this.done[this.done.length-1].selectionsAfter:K;return a.length>0&&n-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&Sn(a[a.length-1],t)?this:new e(Tn(this.done,t),this.undone,n,r)}addMapping(t){return new e(Dn(this.done,t),Dn(this.undone,t),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let i=r[r.length-1],a=i.selectionsAfter[0]||(i.startSelection?i.startSelection.map(i.changes.invertedDesc,1):t.selection);if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:ln.of({side:e,rest:En(r),selection:a}),userEvent:e==0?`select.undo`:`select.redo`,scrollIntoView:!0});if(i.changes){let n=r.length==1?K:r.slice(0,r.length-1);return i.mapped&&(n=Dn(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:ln.of({side:e,rest:n,selection:a}),filter:!1,userEvent:e==0?`undo`:`redo`,scrollIntoView:!0})}return null}};An.empty=new An(K,K);var jn=[{key:`Mod-z`,run:gn,preventDefault:!0},{key:`Mod-y`,mac:`Mod-Shift-z`,run:_n,preventDefault:!0},{linux:`Ctrl-Shift-z`,run:_n,preventDefault:!0},{key:`Mod-u`,run:vn,preventDefault:!0},{key:`Alt-u`,mac:`Mod-Shift-u`,run:yn,preventDefault:!0}];function Mn(e,t){return V.create(e.ranges.map(t),e.mainIndex)}function q(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:`select`})}function J({state:e,dispatch:t},n){let r=Mn(e.selection,n);return!r.eq(e.selection,!0)&&(t(q(e,r)),!0)}function Nn(e,t){return V.cursor(t?e.to:e.from)}function Pn(e,t){return J(e,n=>n.empty?e.moveByChar(n,t):Nn(n,t))}function Y(e){return e.textDirectionAt(e.state.selection.main.head)==Ge.LTR}var Fn=e=>Pn(e,!Y(e)),In=e=>Pn(e,Y(e));function Ln(e,t){return J(e,n=>n.empty?e.moveByGroup(n,t):Nn(n,t))}var Rn=e=>Ln(e,!Y(e)),zn=e=>Ln(e,Y(e));typeof Intl<`u`&&Intl.Segmenter;function Bn(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function Vn(e,t,n){let r=z(e).resolveInner(t.head),i=n?nt.closedBy:nt.openedBy;for(let a=t.head;;){let t=n?r.childAfter(a):r.childBefore(a);if(!t)break;Bn(e,t,i)?r=t:a=n?t.to:t.from}let a=r.type.prop(i),o,s;return s=a&&(o=n?lt(e,r.from,1):lt(e,r.to,-1))&&o.matched?n?o.end.to:o.end.from:n?r.to:r.from,V.cursor(s,n?-1:1)}var Hn=e=>J(e,t=>Vn(e.state,t,!Y(e))),Un=e=>J(e,t=>Vn(e.state,t,Y(e)));function Wn(e,t){return J(e,n=>{if(!n.empty)return Nn(n,t);let r=e.moveVertically(n,t);return r.head==n.head?e.moveToLineBoundary(n,t):r})}var Gn=e=>Wn(e,!1),Kn=e=>Wn(e,!0);function qn(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,i;if(t){for(let t of e.state.facet(B.scrollMargins)){let i=t(e);i?.top&&(n=Math.max(i?.top,n)),i?.bottom&&(r=Math.max(i?.bottom,r))}i=e.scrollDOM.clientHeight-n-r}else i=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,i-5)}}function Jn(e,t){let n=qn(e),{state:r}=e,i=Mn(r.selection,r=>r.empty?e.moveVertically(r,t,n.height):Nn(r,t));if(i.eq(r.selection))return!1;let a;if(n.selfScroll){let t=e.coordsAtPos(r.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),s=o.top+n.marginTop,c=o.bottom-n.marginBottom;t&&t.top>s&&t.bottom<c&&(a=B.scrollIntoView(i.main.head,{y:`start`,yMargin:t.top-s}))}return e.dispatch(q(r,i),{effects:a}),!0}var Yn=e=>Jn(e,!1),Xn=e=>Jn(e,!0);function Zn(e,t,n){let r=e.lineBlockAt(t.head),i=e.moveToLineBoundary(t,n);if(i.head==t.head&&i.head!=(n?r.to:r.from)&&(i=e.moveToLineBoundary(t,n,!1)),!n&&i.head==r.from&&r.length){let n=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;n&&t.head!=r.from+n&&(i=V.cursor(r.from+n))}return i}var Qn=e=>J(e,t=>Zn(e,t,!0)),$n=e=>J(e,t=>Zn(e,t,!1)),er=e=>J(e,t=>Zn(e,t,!Y(e))),tr=e=>J(e,t=>Zn(e,t,Y(e))),nr=e=>J(e,t=>e.moveToLineBoundary(t,!1,!1)),rr=e=>J(e,t=>e.moveToLineBoundary(t,!0,!1));function ir(e,t,n){let r=!1,i=Mn(e.selection,t=>{let i=lt(e,t.head,-1)||lt(e,t.head,1)||t.head>0&<(e,t.head-1,1)||t.head<e.doc.length&<(e,t.head+1,-1);if(!i||!i.end)return t;r=!0;let a=i.start.from==t.head?i.end.to:i.end.from;return n?V.range(t.anchor,a):V.cursor(a)});return r?(t(q(e,i)),!0):!1}var ar=({state:e,dispatch:t})=>ir(e,t,!1);function X(e,t,n){let r=Mn(e.state.selection,e=>{e.undirectional&&e.head>=e.anchor!=t&&(e=V.range(e.head,e.anchor));let r=n(e);return V.range(e.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return!r.eq(e.state.selection)&&(e.dispatch(q(e.state,r)),!0)}function or(e,t){return X(e,t,n=>e.moveByChar(n,t))}var sr=e=>or(e,!Y(e)),cr=e=>or(e,Y(e));function lr(e,t){return X(e,t,n=>e.moveByGroup(n,t))}var ur=e=>lr(e,!Y(e)),dr=e=>lr(e,Y(e)),fr=e=>{let t=!Y(e);return X(e,t,n=>Vn(e.state,n,t))},pr=e=>{let t=Y(e);return X(e,t,n=>Vn(e.state,n,t))};function mr(e,t){return X(e,t,n=>e.moveVertically(n,t))}var hr=e=>mr(e,!1),gr=e=>mr(e,!0);function _r(e,t){return X(e,t,n=>e.moveVertically(n,t,qn(e).height))}var vr=e=>_r(e,!1),yr=e=>_r(e,!0),br=e=>X(e,!0,t=>Zn(e,t,!0)),xr=e=>X(e,!1,t=>Zn(e,t,!1)),Sr=e=>{let t=!Y(e);return X(e,t,n=>Zn(e,n,t))},Cr=e=>{let t=Y(e);return X(e,t,n=>Zn(e,n,t))},wr=e=>X(e,!1,t=>V.cursor(e.lineBlockAt(t.head).from)),Tr=e=>X(e,!0,t=>V.cursor(e.lineBlockAt(t.head).to)),Er=({state:e,dispatch:t})=>(t(q(e,{anchor:0})),!0),Dr=({state:e,dispatch:t})=>(t(q(e,{anchor:e.doc.length})),!0),Or=({state:e,dispatch:t})=>(t(q(e,{anchor:e.selection.main.anchor,head:0})),!0),kr=({state:e,dispatch:t})=>(t(q(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Ar=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:`select`})),!0),jr=({state:e,dispatch:t})=>{let n=Xr(e).map(({from:t,to:n})=>V.undirectionalRange(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:V.create(n),userEvent:`select`})),!0},Mr=({state:e,dispatch:t})=>{let n=Mn(e.selection,t=>{let n=z(e),r=n.resolveStack(t.from,1);if(t.empty){let e=n.resolveStack(t.from,-1);e.node.from>=r.node.from&&e.node.to<=r.node.to&&(r=e)}for(let e=r;e;e=e.next){let{node:n}=e;if((n.from<t.from&&n.to>=t.to||n.to>t.to&&n.from<=t.from)&&e.next)return V.undirectionalRange(n.from,n.to)}return t});return!n.eq(e.selection)&&(t(q(e,n)),!0)};function Nr(e,t){let{state:n}=e,r=n.selection,i=n.selection.ranges.slice();for(let r of n.selection.ranges){let a=n.doc.lineAt(r.head);if(t?a.to<e.state.doc.length:a.from>0)for(let n=r;;){let r=e.moveVertically(n,t);if(r.head<a.from||r.head>a.to){i.some(e=>e.head==r.head)||i.push(r);break}if(r.head==n.head)break;n=r}}return i.length!=r.ranges.length&&(e.dispatch(q(n,V.create(i,i.length-1))),!0)}var Pr=e=>Nr(e,!1),Fr=e=>Nr(e,!0),Ir=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=V.create([n.main]):n.main.empty||(r=V.create([V.cursor(n.main.head)])),r?(t(q(e,r)),!0):!1};function Lr(e,t){if(e.state.readOnly)return!1;let n=`delete.selection`,{state:r}=e,i=r.changeByRange(r=>{let{from:i,to:a}=r;if(i==a){let o=t(r);o<i?(n=`delete.backward`,o=Rr(e,o,!1)):o>i&&(n=`delete.forward`,o=Rr(e,o,!0)),i=Math.min(i,o),a=Math.max(a,o)}else i=Rr(e,i,!1),a=Rr(e,a,!0);return i==a?{range:r}:{changes:{from:i,to:a},range:V.cursor(i,i<r.head?-1:1)}});return!i.changes.empty&&(e.dispatch(r.update(i,{scrollIntoView:!0,userEvent:n,effects:n==`delete.selection`?B.announce.of(r.phrase(`Selection deleted`)):void 0})),!0)}function Rr(e,t,n){if(e instanceof B)for(let r of e.state.facet(B.atomicRanges).map(t=>t(e)))r.between(t,t,(e,r)=>{e<t&&r>t&&(t=n?r:e)});return t}var zr=(e,t,n)=>Lr(e,r=>{let i=r.from,{state:a}=e,o=a.doc.lineAt(i),s,c;if(n&&!t&&i>o.from&&i<o.from+200&&!/[^ \t]/.test(s=o.text.slice(0,i-o.from))){if(s[s.length-1]==` `)return i-1;let e=tt(s,a.tabSize)%ct(a)||ct(a);for(let t=0;t<e&&s[s.length-1-t]==` `;t++)i--;c=i}else c=st(o.text,i-o.from,t,t)+o.from,c==i&&o.number!=(t?a.doc.lines:1)?c+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(o.text.slice(c-o.from,i-o.from))&&(c=st(o.text,c-o.from,!1,!1)+o.from);return c}),Br=e=>zr(e,!1,!0),Vr=e=>zr(e,!0,!1),Hr=(e,t)=>Lr(e,n=>{let r=n.head,{state:i}=e,a=i.doc.lineAt(r),o=i.charCategorizer(r);for(let e=null;;){if(r==(t?a.to:a.from)){r==n.head&&a.number!=(t?i.doc.lines:1)&&(r+=t?1:-1);break}let s=st(a.text,r-a.from,t)+a.from,c=a.text.slice(Math.min(r,s)-a.from,Math.max(r,s)-a.from),l=o(c);if(e!=null&&l!=e)break;(c!=` `||r!=n.head)&&(e=l),r=s}return r}),Ur=e=>Hr(e,!1),Wr=e=>Hr(e,!0),Gr=e=>Lr(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),Kr=e=>Lr(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),qr=e=>Lr(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),Jr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:et.of([``,``])},range:V.cursor(e.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:`input`})),!0},Yr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||t.from==0||t.from==e.doc.length)return{range:t};let n=t.from,r=e.doc.lineAt(n),i=n==r.from?n-1:st(r.text,n-r.from,!1)+r.from,a=n==r.to?n+1:st(r.text,n-r.from,!0)+r.from;return{changes:{from:i,to:a,insert:e.doc.slice(n,a).append(e.doc.slice(i,n))},range:V.cursor(a)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:`move.character`})),!0)};function Xr(e){let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.from),a=e.doc.lineAt(r.to);if(!r.empty&&r.to==a.from&&(a=e.doc.lineAt(r.to-1)),n>=i.number){let e=t[t.length-1];e.to=a.to,e.ranges.push(r)}else t.push({from:i.from,to:a.to,ranges:[r]});n=a.number+1}return t}function Zr(e,t,n){if(e.readOnly)return!1;let r=[],i=[];for(let t of Xr(e)){if(n?t.to==e.doc.length:t.from==0)continue;let a=e.doc.lineAt(n?t.to+1:t.from-1),o=a.length+1;if(n){r.push({from:t.to,to:a.to},{from:t.from,insert:a.text+e.lineBreak});for(let n of t.ranges)i.push(V.range(Math.min(e.doc.length,n.anchor+o),Math.min(e.doc.length,n.head+o)))}else{r.push({from:a.from,to:t.from},{from:t.to,insert:e.lineBreak+a.text});for(let e of t.ranges)i.push(V.range(e.anchor-o,e.head-o))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:V.create(i,e.selection.mainIndex),userEvent:`move.line`})),!0):!1}var Qr=({state:e,dispatch:t})=>Zr(e,t,!1),$r=({state:e,dispatch:t})=>Zr(e,t,!0);function ei(e,t,n){if(e.readOnly)return!1;let r=[];for(let t of Xr(e))n?r.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):r.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});let i=e.changes(r);return t(e.update({changes:i,selection:e.selection.map(i,n?1:-1),scrollIntoView:!0,userEvent:`input.copyline`})),!0}var ti=({state:e,dispatch:t})=>ei(e,t,!1),ni=({state:e,dispatch:t})=>ei(e,t,!0),ri=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(Xr(t).map(({from:e,to:n})=>(e>0?e--:n<t.doc.length&&n++,{from:e,to:n}))),r=Mn(t.selection,t=>{let n;if(e.lineWrapping){let r=e.lineBlockAt(t.head),i=e.coordsAtPos(t.head,t.assoc||1);i&&(n=r.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:`delete.line`}),!0};function ii(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=z(e).resolveInner(t),r=n.childBefore(t),i=n.childAfter(t),a;return r&&i&&r.to<=t&&i.from>=t&&(a=r.type.prop(nt.closedBy))&&a.indexOf(i.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(i.from).from&&!/\S/.test(e.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}var ai=si(!1),oi=si(!0);function si(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(n=>{let{from:r,to:i}=n,a=t.doc.lineAt(r),o=!e&&r==i&&ii(t,r);e&&(r=i=(i<=a.to?a:t.doc.lineAt(i)).to);let s=new rt(t,{simulateBreak:r,simulateDoubleBreak:!!o}),c=dt(s,r);for(c??=tt(/^\s*/.exec(t.doc.lineAt(r).text)[0],t.tabSize);i<a.to&&/\s/.test(a.text[i-a.from]);)i++;o?{from:r,to:i}=o:r>a.from&&r<a.from+100&&!/\S/.test(a.text.slice(0,r))&&(r=a.from);let l=[``,ut(t,c)];return o&&l.push(ut(t,s.lineIndent(a.from,-1))),{changes:{from:r,to:i,insert:et.of(l)},range:V.cursor(r+1+l[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:`input`})),!0}}function ci(e,t){let n=-1;return e.changeByRange(r=>{let i=[];for(let a=r.from;a<=r.to;){let o=e.doc.lineAt(a);o.number>n&&(r.empty||r.to>o.from)&&(t(o,i,r),n=o.number),a=o.to+1}let a=e.changes(i);return{changes:i,range:V.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}var li=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new rt(e,{overrideIndentation:e=>n[e]??-1}),i=ci(e,(t,i,a)=>{let o=dt(r,t.from);if(o==null)return;/\S/.test(t.text)||(o=0);let s=/^\s*/.exec(t.text)[0],c=ut(e,o);(s!=c||a.from<t.from+s.length)&&(n[t.from]=o,i.push({from:t.from,to:t.from+s.length,insert:c}))});return i.changes.empty||t(e.update(i,{userEvent:`indent`})),!0},ui=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(ci(e,(t,n)=>{n.push({from:t.from,insert:e.facet(qe)})}),{userEvent:`input.indent`})),!0),di=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(ci(e,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let i=tt(r,e.tabSize),a=0,o=ut(e,Math.max(0,i-ct(e)));for(;a<r.length&&a<o.length&&r.charCodeAt(a)==o.charCodeAt(a);)a++;n.push({from:t.from+a,to:t.from+r.length,insert:o.slice(a)})}),{userEvent:`delete.dedent`})),!0),fi=e=>(e.setTabFocusMode(),!0),pi=[{key:`Ctrl-b`,run:Fn,shift:sr,preventDefault:!0},{key:`Ctrl-f`,run:In,shift:cr},{key:`Ctrl-p`,run:Gn,shift:hr},{key:`Ctrl-n`,run:Kn,shift:gr},{key:`Ctrl-a`,run:nr,shift:wr},{key:`Ctrl-e`,run:rr,shift:Tr},{key:`Ctrl-d`,run:Vr},{key:`Ctrl-h`,run:Br},{key:`Ctrl-k`,run:Gr},{key:`Ctrl-Alt-h`,run:Ur},{key:`Ctrl-o`,run:Jr},{key:`Ctrl-t`,run:Yr},{key:`Ctrl-v`,run:Xn}],mi=[{key:`ArrowLeft`,run:Fn,shift:sr,preventDefault:!0},{key:`Mod-ArrowLeft`,mac:`Alt-ArrowLeft`,run:Rn,shift:ur,preventDefault:!0},{mac:`Cmd-ArrowLeft`,run:er,shift:Sr,preventDefault:!0},{key:`ArrowRight`,run:In,shift:cr,preventDefault:!0},{key:`Mod-ArrowRight`,mac:`Alt-ArrowRight`,run:zn,shift:dr,preventDefault:!0},{mac:`Cmd-ArrowRight`,run:tr,shift:Cr,preventDefault:!0},{key:`ArrowUp`,run:Gn,shift:hr,preventDefault:!0},{mac:`Cmd-ArrowUp`,run:Er,shift:Or},{mac:`Ctrl-ArrowUp`,run:Yn,shift:vr},{key:`ArrowDown`,run:Kn,shift:gr,preventDefault:!0},{mac:`Cmd-ArrowDown`,run:Dr,shift:kr},{mac:`Ctrl-ArrowDown`,run:Xn,shift:yr},{key:`PageUp`,run:Yn,shift:vr},{key:`PageDown`,run:Xn,shift:yr},{key:`Home`,run:$n,shift:xr,preventDefault:!0},{key:`Mod-Home`,run:Er,shift:Or},{key:`End`,run:Qn,shift:br,preventDefault:!0},{key:`Mod-End`,run:Dr,shift:kr},{key:`Enter`,run:ai,shift:ai},{key:`Mod-a`,run:Ar},{key:`Backspace`,run:Br,shift:Br,preventDefault:!0},{key:`Delete`,run:Vr,preventDefault:!0},{key:`Mod-Backspace`,mac:`Alt-Backspace`,run:Ur,preventDefault:!0},{key:`Mod-Delete`,mac:`Alt-Delete`,run:Wr,preventDefault:!0},{mac:`Mod-Backspace`,run:Kr,preventDefault:!0},{mac:`Mod-Delete`,run:qr,preventDefault:!0}].concat(pi.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),hi=[{key:`Alt-ArrowLeft`,mac:`Ctrl-ArrowLeft`,run:Hn,shift:fr},{key:`Alt-ArrowRight`,mac:`Ctrl-ArrowRight`,run:Un,shift:pr},{key:`Alt-ArrowUp`,run:Qr},{key:`Shift-Alt-ArrowUp`,run:ti},{key:`Alt-ArrowDown`,run:$r},{key:`Shift-Alt-ArrowDown`,run:ni},{key:`Mod-Alt-ArrowUp`,run:Pr},{key:`Mod-Alt-ArrowDown`,run:Fr},{key:`Escape`,run:Ir},{key:`Mod-Enter`,run:oi},{key:`Alt-l`,mac:`Ctrl-l`,run:jr},{key:`Mod-i`,run:Mr,preventDefault:!0},{key:`Mod-[`,run:di},{key:`Mod-]`,run:ui},{key:`Mod-Alt-\\`,run:li},{key:`Shift-Mod-k`,run:ri},{key:`Shift-Mod-\\`,run:ar},{key:`Mod-/`,run:Zt},{key:`Alt-A`,mac:`Ctrl-A`,run:en},{key:`Ctrl-m`,mac:`Shift-Alt-m`,run:fi}].concat(mi),gi={key:`Tab`,run:ui,shift:di},_i=Ye.define({combine:e=>e[0]??null}),vi=/^[ \t]*\[\[!([^\]\n]+)\]\][ \t]*$/,yi={question:`<path d="M8 2.5L13.5 8L8 13.5L2.5 8Z"/>`,problem:`<path d="M8 2.5l5.8 10.5H2.2z"/>`,note:`<rect x="3.5" y="2.5" width="9" height="11"/>`},bi=`<path d="M3 8.5l3 3 7-7"/>`,xi=class extends H{ref;found;at;constructor(e,t,n){super(),this.ref=e,this.found=t,this.at=n}eq(e){return e.ref===this.ref&&JSON.stringify(e.found)===JSON.stringify(this.found)&&e.at===this.at}toDOM(e){let t=this.found,n=document.createElement(`div`);n.className=`cm-lp-embed${t?` cm-lp-embed-${t.kind}`:` cm-lp-embed-broken`}${t?.done?` cm-lp-embed-done`:``}`,n.title=`[[!${this.ref}]]`;let r=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);r.setAttribute(`viewBox`,`0 0 16 16`),r.setAttribute(`width`,`16`),r.setAttribute(`height`,`16`),r.setAttribute(`aria-hidden`,`true`),r.innerHTML=t?.done?bi:yi[t?.kind??`question`];let i=document.createElement(`span`);return i.textContent=t?t.title:this.ref,n.append(r,i),n.addEventListener(`mousedown`,n=>{n.preventDefault(),t&&!n.altKey?e.state.facet(_i)?.open(t.id):(e.dispatch({selection:{anchor:this.at},scrollIntoView:!0}),e.focus())}),n}ignoreEvent(){return!0}get estimatedHeight(){return 44}},Si=class extends H{kind;source;at;beneath;constructor(e,t,n,r){super(),this.kind=e,this.source=t,this.at=n,this.beneath=r}eq(e){return e.kind===this.kind&&e.source===this.source&&e.at===this.at&&e.beneath===this.beneath}toDOM(e){let t=document.createElement(`div`);t.className=`cm-lp-block cm-lp-${this.kind}${this.beneath?` cm-lp-beneath`:``}`;let n=document.createElement(`div`);return n.className=`prose`,t.append(n),n.innerHTML=Ce(this.source),this.beneath||(t.title=`Click to edit`,t.addEventListener(`mousedown`,t=>{t.preventDefault(),e.dispatch({selection:{anchor:this.at},scrollIntoView:!0}),e.focus()})),t}ignoreEvent(){return!0}get estimatedHeight(){return this.kind===`maths`?60:120}},Ci=new WeakMap,wi=class extends H{source;at;beneath;constructor(e,t,n){super(),this.source=e,this.at=t,this.beneath=n}eq(e){return e.source===this.source&&e.at===this.at&&e.beneath===this.beneath}toDOM(e){let t=document.createElement(`div`);t.className=`cm-lp-block cm-lp-diagram${this.beneath?` cm-lp-beneath`:``}`;let n=document.createElement(`pre`);n.className=`cm-lp-diagram-src`,n.textContent=this.source;let r=document.createElement(`div`);return r.className=`diagram`,t.append(n,r),Ci.set(t,{mounted:Pe(r,this.source,()=>t.classList.add(`cm-lp-broken-diagram`)),source:this.source}),this.beneath||(t.title=`Click to edit`,t.addEventListener(`mousedown`,t=>{t.preventDefault(),e.dispatch({selection:{anchor:this.at},scrollIntoView:!0}),e.focus()})),t}updateDOM(e){let t=Ci.get(e);return!t||!this.beneath||!e.classList.contains(`cm-lp-beneath`)?!1:(t.source!==this.source&&(t.source=this.source,e.classList.remove(`cm-lp-broken-diagram`),e.querySelector(`.cm-lp-diagram-src`).textContent=this.source,t.mounted.then(e=>Ae(e,this.source))),!0)}ignoreEvent(){return!0}get estimatedHeight(){return 160}},Ti=(e,t)=>t!==null&&e.sliceDoc(t.from,t.to).trim().split(/\s/)[0].toLowerCase()===`mermaid`;function Ei(e){let t=[],n=e.selection.ranges;z(e).iterate({enter:r=>{let i=null,a=``;if(r.name===`BlockMath`)i=`maths`,a=e.sliceDoc(r.from,r.to);else if(r.name===`Table`)i=`table`,a=e.sliceDoc(r.from,r.to);else if(r.name===`FencedCode`&&Ti(e,r.node.getChild(`CodeInfo`))){let i=r.node.getChild(`CodeText`),a=i?e.sliceDoc(i.from,i.to):``,o=e.doc.lineAt(r.from).from,s=e.doc.lineAt(r.to).to;return n.some(e=>e.to>=o&&e.from<=s)?a.trim()&&t.push(W.widget({widget:new wi(a,r.from,!0),block:!0,side:1}).range(s)):t.push(W.replace({widget:new wi(a,r.from,!1),block:!0}).range(o,s)),!1}else if(r.name===`Document`||r.name===`Blockquote`||/List|ListItem/.test(r.name))return;if(!i)return!1;let o=e.doc.lineAt(r.from).from,s=e.doc.lineAt(r.to).to;return n.some(e=>e.to>=o&&e.from<=s)?i!==`table`&&a.trim()&&t.push(W.widget({widget:new Si(i,a,r.from,!0),block:!0,side:1}).range(s)):t.push(W.replace({widget:new Si(i,a,r.from,!1),block:!0}).range(o,s)),!1}});let r=e.facet(_i);if(r){let i=!1;for(let a=1;a<=e.doc.lines;a++){let o=e.doc.line(a);if(/^\s*(```|~~~)/.test(o.text)){i=!i;continue}let s=i?null:vi.exec(o.text);if(!s||n.some(e=>e.to>=o.from&&e.from<=o.to))continue;let c=s[1].trim();t.push(W.replace({widget:new xi(c,r.find(c),o.from),block:!0}).range(o.from,o.to))}}return W.set(t,!0)}var Di=at.define({create:Ei,update(e,t){return t.docChanged||t.selection||z(t.startState)!==z(t.state)?Ei(t.state):e},provide:e=>B.decorations.from(e)}),Oi=B.theme({".cm-lp-block":{padding:`0`,cursor:`text`},".cm-lp-block .katex-display > .katex":{fontSize:`1.17em`},".cm-lp-block .prose":{maxWidth:`none`},".cm-lp-block .prose > :last-child, .cm-lp-block .table-wrap":{marginBottom:`0`},".cm-lp-block .katex-display":{margin:`0`},".cm-lp-diagram .diagram":{overflowX:`auto`,overflowY:`hidden`},".cm-lp-diagram-src":{display:`none`,margin:`0`,font:`13px/20px var(--font-mono)`,whiteSpace:`pre-wrap`,color:`var(--text-soft)`},".cm-lp-diagram.cm-lp-broken-diagram:not(.cm-lp-beneath) .cm-lp-diagram-src":{display:`block`},".cm-lp-beneath":{borderLeft:`2px solid var(--line)`,paddingLeft:`12px`,marginTop:`4px`,opacity:`.9`},".cm-lp-block:not(.cm-lp-beneath):hover":{outline:`1px dashed var(--line)`,outlineOffset:`2px`},".cm-lp-embed":{display:`flex`,alignItems:`center`,gap:`10px`,padding:`9px 12px`,border:`1px solid var(--rose)`,borderLeftWidth:`3px`,background:`var(--rose-soft)`,fontFamily:`var(--font-text)`,fontSize:`16px`,lineHeight:`1.45`,cursor:`pointer`},".cm-lp-embed svg":{flex:`none`,fill:`none`,stroke:`var(--rose)`,strokeWidth:`1.4`},".cm-lp-embed-problem":{borderColor:`var(--line-strong)`,background:`var(--ground-1)`},".cm-lp-embed-problem svg":{stroke:`var(--text-soft)`},".cm-lp-embed-done":{borderColor:`var(--malachite)`,background:`var(--malachite-soft)`},".cm-lp-embed-done svg":{stroke:`var(--malachite)`},".cm-lp-embed-broken":{borderStyle:`dashed`,borderColor:`var(--line-strong)`,background:`none`,color:`var(--text-faint)`},".cm-lp-embed-broken svg":{stroke:`var(--text-faint)`},".cm-lp-embed:hover":{borderColor:`var(--text-soft)`}});function ki(e,t){let{state:n}=e,r=t.length;return e.dispatch(n.changeByRange(e=>{let i=n.sliceDoc(e.from-r,e.from),a=n.sliceDoc(e.to,e.to+r);return i===t&&a===t?{changes:[{from:e.from-r,to:e.from},{from:e.to,to:e.to+r}],range:V.range(e.from-r,e.to-r)}:{changes:[{from:e.from,insert:t},{from:e.to,insert:t}],range:V.range(e.from+r,e.to+r)}}),{scrollIntoView:!0,userEvent:`input`}),!0}function Ai(e){let{state:t}=e,n=new Map;for(let e of t.selection.ranges)for(let r=e.from;r<=e.to;){let e=t.doc.lineAt(r);n.set(e.number,{from:e.from,text:e.text}),r=e.to+1}return[...n.values()]}function ji(e){let t=Ai(e).map(({from:e,text:t})=>{let n=/^(#{1,6}) /.exec(t),r=n?n[1].length:0,i=r>=3?``:`#`.repeat(r+1)+` `;return{from:e,to:e+(n?n[0].length:0),insert:i}});return e.dispatch({changes:t,scrollIntoView:!0,userEvent:`input`}),!0}function Mi(e){let t=Ai(e),n=t.every(({text:e})=>/^\s*[-*+] /.test(e)),r=t.map(({from:e,text:t})=>{if(n){let n=/^(\s*)[-*+] /.exec(t);return{from:e+n[1].length,to:e+n[0].length}}return{from:e+/^\s*/.exec(t)[0].length,insert:`- `}});return e.dispatch({changes:r,scrollIntoView:!0,userEvent:`input`}),!0}function Ni(e){let{state:t}=e,n=t.selection.main;if(n.empty)e.dispatch({changes:{from:n.from,insert:`[[]]`},selection:{anchor:n.from+2},userEvent:`input`});else{let r=t.sliceDoc(n.from,n.to);e.dispatch({changes:{from:n.from,to:n.to,insert:`[${r}]()`},selection:{anchor:n.from+r.length+3},userEvent:`input`})}return pt(e),!0}function Pi(e,t){switch(t){case`bold`:return ki(e,`**`);case`italic`:return ki(e,`*`);case`maths`:return ki(e,`$`);case`heading`:return ji(e);case`list`:return Mi(e);case`link`:return Ni(e);case`undo`:return gn(e);case`redo`:return _n(e)}}var Fi=[{key:`Mod-b`,preventDefault:!0,run:e=>Pi(e,`bold`)},{key:`Mod-i`,preventDefault:!0,run:e=>Pi(e,`italic`)},{key:`Mod-k`,preventDefault:!0,run:e=>Pi(e,`link`)},{key:`Mod-Shift-m`,preventDefault:!0,run:e=>Pi(e,`maths`)},{key:`Mod-Shift-h`,preventDefault:!0,run:e=>Pi(e,`heading`)},{key:`Mod-Shift-8`,preventDefault:!0,run:e=>Pi(e,`list`)}],Ii=[`requires`,`uses`,`see also`];function Li(e){if(!e||/^[a-z][a-z0-9+.-]*:/i.test(e)||e.startsWith(`#`))return null;let t=e.split(`#`)[0].split(`?`)[0];return/\.html?$/i.test(t)?`artifact`:/\.(png|jpe?g|gif|svg|webp|avif)$/i.test(t)?`image`:/\.md$/i.test(t)||t.endsWith(`/`)?`note`:null}function Ri(e,t){let n=z(e);for(let r of[-1,1])for(let i=n.resolveInner(t,r);i;i=i.parent){if(i.name!==`Link`&&i.name!==`Image`)continue;let t=i.getChild(`URL`);if(!t)break;let n=e.sliceDoc(t.from,t.to),r=Li(n);if(!r)return null;let a=i.getChild(`LinkTitle`),o=a?e.sliceDoc(a.from,a.to):null;return{from:i.from,to:i.to,embed:i.name===`Image`,url:n,urlTo:t.to,title:o===null?null:o.replace(/^["'(]|["')]$/g,``),titleFrom:a?a.from:t.to,titleTo:a?a.to:t.to,kind:r}}return null}var zi=e=>e.kind===`note`||e.kind===`artifact`&&!e.embed;function Bi(e,t,n){let r=[];return z(e).iterate({from:t,to:n,enter:i=>{if(i.name!==`Link`&&i.name!==`Image`)return;if(i.from<t||i.to>n)return!1;let a=Ri(e,i.from+1);return a&&a.from===i.from&&zi(a)&&r.push(a),!1}}),r}var Vi=(e,t)=>e.filter(e=>Z(e)!==t).map(e=>Wi(e,t)),Hi=e=>(e??``).trim().toLowerCase().replace(/[-_]/g,` `),Z=e=>Ii.includes(Hi(e.title))?Hi(e.title):Hi(e.title)===`seealso`?`see also`:null,Ui=e=>Hi(e.title)===`left`?`left`:`center`;function Wi(e,t){return t===null?{from:e.urlTo,to:e.titleTo,insert:``}:e.titleFrom===e.titleTo?{from:e.urlTo,insert:` "${t}"`}:{from:e.titleFrom,to:e.titleTo,insert:`"${t}"`}}function Gi(e,t){if(e.embed===t)return[];let n=[t?{from:e.from,insert:`!`}:{from:e.from,to:e.from+1,insert:``}];return e.title!==null&&(e.kind===`image`||Z(e)!==null)&&n.push(Wi(e,null)),n}var Q=(e,t)=>e.dispatch({changes:t,userEvent:`input.link`});function Ki(e){let t=[...Ii.map(t=>({label:t[0].toUpperCase()+t.slice(1),on:Z(e)===t,run:(e,n)=>Q(e,Wi(n,t)),hint:t===`requires`?`This note cannot be followed without it: it shapes the Atlas and the study order`:t===`uses`?`It draws on it: it shapes the Atlas`:`Related reading: shown, but it does not shape the Atlas`})),{label:`Unrated`,on:Z(e)===null,run:(e,t)=>Q(e,Wi(t,null)),hint:`No rating: counted as uses`}];if(e.kind===`note`)return t;let n=[{label:`Shown here`,on:e.embed,run:(e,t)=>Q(e,Gi(t,!0)),hint:e.kind===`image`?`The picture is shown in the note`:`The artifact is shown in the note, working`},{label:`Link`,on:!e.embed,run:(e,t)=>Q(e,Gi(t,!1)),hint:`A link to it; it opens on its own`}];return e.kind===`image`?e.embed?[...n,{label:`Centre`,on:Ui(e)===`center`,run:(e,t)=>Q(e,Wi(t,null)),hint:`In the middle, 80% of the text's width`},{label:`Left`,on:Ui(e)===`left`,run:(e,t)=>Q(e,Wi(t,`left`)),hint:`At the left, 80% of the text's width`}]:n:e.embed?n:[...n,...t]}function qi(e){let t=t=>e.every(e=>Z(e)===t),n=e.length;return[...Ii.map(e=>({label:e[0].toUpperCase()+e.slice(1),on:t(e),run:t=>Q(t,Vi(Bi(t.state,t.state.selection.main.from,t.state.selection.main.to),e)),hint:`Rate all ${n} links ${e}`})),{label:`Unrated`,on:t(null),run:e=>Q(e,Vi(Bi(e.state,e.state.selection.main.from,e.state.selection.main.to),null)),hint:`Take the rating from all ${n} links`}]}function Ji(e){let t=Z(e[0]),n=e.every(e=>Z(e)===t);return`${e.length} links, ${n?t??`unrated`:`mixed`}`}function Yi(e){return e.kind===`note`?Z(e)?Z(e)[0].toUpperCase()+Z(e).slice(1):`Unrated`:e.embed?e.kind===`image`?Ui(e)===`left`?`Shown, left`:`Shown, centre`:`Shown here`:Z(e)?`Link, ${Z(e)}`:`Link`}var Xi=(e,t)=>e===t||!!e&&!!t&&e.from===t.from&&e.to===t.to&&e.title===t.title&&e.embed===t.embed,Zi=class{view;layer;button;menu;leader;path;link=null;hover=null;many=[];open=!1;at=0;constructor(e){this.view=e,this.layer=document.createElement(`div`),this.layer.className=`cm-link-control`,this.layer.hidden=!0,this.leader=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`),this.leader.setAttribute(`class`,`cm-link-leader`),this.leader.setAttribute(`aria-hidden`,`true`),this.path=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),this.leader.append(this.path),this.button=document.createElement(`button`),this.button.type=`button`,this.button.className=`cm-link-button`,this.button.setAttribute(`aria-haspopup`,`menu`),this.button.addEventListener(`mousedown`,e=>e.preventDefault()),this.button.addEventListener(`click`,()=>this.toggle(!this.open,!1)),this.menu=document.createElement(`div`),this.menu.className=`cm-link-menu`,this.menu.setAttribute(`role`,`menu`),this.menu.hidden=!0,this.menu.tabIndex=-1,this.menu.addEventListener(`keydown`,e=>this.keys(e)),this.layer.append(this.leader,this.button,this.menu),e.dom.append(this.layer),e.dom.addEventListener(`mousemove`,this.onMove),e.dom.addEventListener(`mouseleave`,this.onLeave)}onMove=e=>{if(this.open||this.layer.contains(e.target))return;let t=this.view.posAtCoords({x:e.clientX,y:e.clientY},!1),n=t===null?null:Ri(this.view.state,t);Xi(n,this.hover)||(this.hover=n,this.view.requestMeasure(this.measure))};onLeave=e=>{this.open||this.layer.contains(e.relatedTarget)||this.hover&&(this.hover=null,this.view.requestMeasure(this.measure))};selected(){let e=this.view.state.selection.main;if(e.empty)return[];let t=Bi(this.view.state,e.from,e.to);return t.length>=2?t:[]}current(){let e=this.view.state.selection.main,t=this.selected();return t.length?t[0]:Ri(this.view.state,e.head)??(e.empty?this.hover:null)}update(e){e.docChanged&&(this.hover=null),(e.docChanged||e.selectionSet||e.geometryChanged||e.viewportChanged||e.focusChanged)&&this.view.requestMeasure(this.measure)}measure={key:`link-control`,read:e=>{let t=this.current();if(!t)return null;let n=this.selected(),r=e.dom.getBoundingClientRect(),i=e.contentDOM.getBoundingClientRect(),a=e.coordsAtPos(Math.max(t.from,t.to-1),1)??e.coordsAtPos(t.to,-1);if(n.length){let t=Math.max(r.top,0),i=Math.min(r.bottom,window.innerHeight);a=null;for(let r=n.length-1;r>=0&&!a;r--){let o=e.coordsAtPos(Math.max(n[r].from,n[r].to-1),1);o&&o.top>=t&&o.bottom<=i-34&&(a=o)}a??=e.coordsAtPos(Math.max(n[0].from,n[0].to-1),1)}return a?{l:t,many:n,x:a.right-r.left,y:(a.top+a.bottom)/2-r.top,right:i.right-r.left,width:r.width}:null},write:e=>{if(!e){this.link=null,this.many=[],this.layer.hidden=!0,this.toggle(!1,!1);return}let t=e.many.length?Ji(e.many):Yi(e.l),n=!Xi(e.l,this.link)||e.many.length!==this.many.length||t!==this.button.textContent;this.link=e.l,this.many=e.many,this.layer.hidden=!1,this.button.textContent=t,this.button.title=e.many.length?`Rate all the selected links (Alt+L)`:`What this link is (Alt+L)`,this.button.setAttribute(`aria-label`,e.many.length?`${t}. Rate them all`:`This link: ${t}. Change it`);let r=this.button.offsetWidth||90,i=e.width-e.right>=r+20,a=i?e.right+14:Math.max(0,e.width-r-2),o=i?e.y-13:e.y+12;this.button.style.transform=`translate(${Math.round(a)}px, ${Math.round(o)}px)`,this.menu.style.transform=`translate(${Math.round(Math.min(a,e.width-250))}px, ${Math.round(o+30)}px)`;let s=a,c=o+13;this.path.setAttribute(`d`,i?`M${e.x+3} ${e.y} H${Math.max(e.x+3,s-3)}`:`M${e.x+3} ${e.y} V${c} H${s-3}`),n&&this.open&&(this.fill(),this.mark(this.at))}};fill(){let e=this.link;e&&this.menu.replaceChildren(...(this.many.length?qi(this.many):Ki(e)).map((t,n)=>{let r=document.createElement(`button`);return r.type=`button`,r.tabIndex=-1,r.id=`cm-link-choice-${n}`,r.addEventListener(`mousedown`,e=>e.preventDefault()),r.addEventListener(`mousemove`,()=>this.mark(n)),r.setAttribute(`role`,`menuitemradio`),r.setAttribute(`aria-checked`,String(t.on)),r.title=t.hint,r.innerHTML=`<b></b><span></span>`,r.querySelector(`b`).textContent=t.label,r.querySelector(`span`).textContent=t.hint,r.addEventListener(`click`,()=>{let n=this.current()??e;t.run(this.view,n),this.toggle(!1,!0)}),r}))}toggle(e,t){if(e&&(this.link=this.current()??this.link,this.many=this.selected()),!e||this.link){if(this.open=e,this.menu.hidden=!e,this.layer.classList.toggle(`open`,e),this.button.setAttribute(`aria-expanded`,String(e)),e){this.fill();let e=[...this.menu.querySelectorAll(`button`)];this.mark(Math.max(0,e.findIndex(e=>e.getAttribute(`aria-checked`)===`true`))),this.menu.focus()}else t&&this.view.focus()}}mark(e){let t=[...this.menu.querySelectorAll(`button`)];this.at=t.length?(e+t.length)%t.length:0,t.forEach((e,t)=>e.classList.toggle(`on`,t===this.at)),this.menu.setAttribute(`aria-activedescendant`,t[this.at]?.id??``)}keys(e){let t=[...this.menu.querySelectorAll(`button`)],n=!0;if(e.key===`Escape`)this.toggle(!1,!0);else if(e.key===`Enter`||e.key===` `)t[this.at]?.click();else if(e.key===`ArrowDown`)this.mark(this.at+1);else if(e.key===`ArrowUp`)this.mark(this.at-1);else if(e.key===`Home`)this.mark(0);else if(e.key===`End`)this.mark(t.length-1);else if(e.key===`Tab`)this.toggle(!1,!0);else if(e.key.length===1&&!e.altKey&&!e.ctrlKey&&!e.metaKey){let r=t.findIndex(t=>t.textContent.toLowerCase().startsWith(e.key.toLowerCase()));r>=0?this.mark(r):n=!1}else n=!1;n&&(e.preventDefault(),e.stopPropagation())}destroy(){this.view.dom.removeEventListener(`mousemove`,this.onMove),this.view.dom.removeEventListener(`mouseleave`,this.onLeave),this.layer.remove()}},Qi=Ue.fromClass(Zi),$i=e=>t=>{let n=Ri(t.state,t.state.selection.main.head);return n?(e(t,n),!0):!1},ea=e=>t=>{let n=t.state.selection.main,r=n.empty?[]:Bi(t.state,n.from,n.to);return r.length>=2?(Q(t,Vi(r,e)),!0):$i((t,n)=>{zi(n)&&Q(t,Wi(n,e))})(t)},ta=[{key:`Alt-l`,run:e=>{let t=e.plugin(Qi);return!t||!t.current()?!1:(t.toggle(!0,!1),!0)}},{key:`Alt-1`,run:ea(`requires`)},{key:`Alt-2`,run:ea(`uses`)},{key:`Alt-3`,run:ea(`see also`)},{key:`Alt-0`,run:ea(null)},{key:`Alt-e`,run:$i((e,t)=>{t.kind!==`note`&&Q(e,Gi(t,!t.embed))})}],na=[Qi,B.baseTheme({"&":{position:`relative`},".cm-link-control":{position:`absolute`,inset:`0`,pointerEvents:`none`,zIndex:`4`,overflow:`visible`},".cm-link-control[hidden]":{display:`none`},".cm-link-leader":{position:`absolute`,left:`0`,top:`0`,width:`100%`,height:`100%`,overflow:`visible`},".cm-link-leader path":{fill:`none`,stroke:`var(--lattice)`,strokeWidth:`1.75`,strokeDasharray:`.1 5`,strokeLinecap:`round`,opacity:`.7`},".cm-link-control:hover .cm-link-leader path, .cm-link-control:focus-within .cm-link-leader path, .cm-link-control.open .cm-link-leader path":{opacity:`1`,animation:`cm-link-run .6s linear infinite`},"@keyframes cm-link-run":{to:{strokeDashoffset:`-5.1`}},"@media (prefers-reduced-motion: reduce)":{".cm-link-leader path":{animation:`none !important`}},".cm-link-button":{position:`absolute`,left:`0`,top:`0`,pointerEvents:`auto`,height:`26px`,padding:`0 9px`,font:`12.5px var(--font-ui)`,whiteSpace:`nowrap`,color:`var(--text)`,background:`var(--ground-1)`,border:`1px solid var(--lattice)`,cursor:`pointer`},".cm-link-button:hover, .cm-link-button[aria-expanded=true]":{background:`var(--lattice-soft)`},".cm-link-button:focus-visible":{outline:`2px solid var(--focus-ring)`,outlineOffset:`2px`},".cm-link-menu":{position:`absolute`,left:`0`,top:`0`,pointerEvents:`auto`,width:`248px`,padding:`4px`,background:`var(--ground-1)`,border:`1px solid var(--line)`,display:`grid`,gap:`1px`},".cm-link-menu[hidden]":{display:`none`},".cm-link-menu button":{display:`grid`,gap:`1px`,textAlign:`left`,padding:`6px 8px 6px 24px`,background:`none`,border:`0`,color:`var(--text)`,font:`13.5px var(--font-ui)`,cursor:`pointer`,position:`relative`},".cm-link-menu button b":{fontWeight:`600`},".cm-link-menu button span":{fontSize:`12px`,color:`var(--text-faint)`,lineHeight:`1.3`},".cm-link-menu button[aria-checked=true]::before":{content:`"●"`,position:`absolute`,left:`8px`,top:`7px`,fontSize:`10px`,color:`var(--lattice)`},".cm-link-menu:focus":{outline:`none`},".cm-link-menu button.on":{background:`var(--lattice-soft)`},".cm-link-menu:focus-visible button.on":{outline:`2px solid var(--focus-ring)`,outlineOffset:`-2px`}}),ze.of(ta)];function ra(e){return t=>{let n=t.matchBefore(/\[\[(?!!)[^\]\n]*$/);if(!n)return null;let r=e().map(e=>({label:e.title,detail:e.folder,apply:(t,n,r,i)=>{let a=`[${e.title}](/${e.id}.md)`,o=r-2,s=t.state.sliceDoc(i,i+2)===`]]`?i+2:i;t.dispatch({changes:{from:o,to:s,insert:a},selection:{anchor:o+a.length}})}}));return{from:n.from+2,options:r,filter:!0,validFor:/^[^\]\n]*$/}}}var ia=e=>e.split(`/`).at(-1).replace(/\.[^.]+$/,``).replace(/[-_]+/g,` `).trim(),aa=e=>/[\s()<>]/.test(e)?`<${e}>`:e;function oa(e,t){return async n=>{let r=n.matchBefore(/\[\[![^\]\n]*$/);if(!r)return null;let i=(e,t,n,r,i)=>{let a=t-3,o=e.state.sliceDoc(n,n+2)===`]]`?n+2:n;e.dispatch({changes:{from:a,to:o,insert:r},selection:i?{anchor:a+i[0],head:a+i[1]}:{anchor:a+r.length}})},a=t?.here()??``,o=a.includes(`/`)?a.slice(0,a.lastIndexOf(`/`)):``,s=(t?await t.pictures().catch(()=>[]):[]).map(e=>{let t=e.path.includes(`/`)?e.path.slice(0,e.path.lastIndexOf(`/`)):``;return{label:e.path.split(`/`).at(-1),detail:t,picture:e,type:`picture`,boost:t===a?2:+(t===o),info:()=>la(e),apply:(t,n,r,a)=>{let o=ia(e.path),s=`})`;i(t,r,a,s,[2,2+o.length])}}}),c=e().map(e=>e.id);for(let t of e())t.kind&&s.push({label:t.title,detail:t.kind,boost:-1,apply:(e,n,r,a)=>i(e,r,a,fe(t.id,c))});return t&&s.push({label:`Paste or drop a picture to add one`,type:`hint`,boost:-99,apply:()=>void 0}),{from:r.from+3,options:s,filter:!0,validFor:/^[^\]\n]*$/}}}function sa(e,t){return async n=>{let r=n.matchBefore(/\]\([^)\s]*$/);if(!r)return null;let i=t?await t.pictures().catch(()=>[]):[];return{from:r.from+2,options:[...e().map(e=>({label:`/${e.id}.md`,detail:e.title})),...i.map(e=>({label:`/${e.path}`,detail:`picture`,picture:e,type:`picture`,info:()=>la(e)}))],validFor:/^[^)\s]*$/}}}function ca(e,t){e.alt=``,e.decoding=`async`,typeof t.src==`string`?e.src=t.src:t.src.then(t=>{t&&(e.src=t)})}function la(e){let t=document.createElement(`div`);t.className=`cm-picture-preview`;let n=document.createElement(`img`);ca(n,e);let r=document.createElement(`div`);return r.className=`cm-picture-size`,r.textContent=e.width&&e.height?`${e.width} × ${e.height}`:``,t.append(n,r),t}function ua(e,t=null){return mt({override:[oa(e,t),ra(e),sa(e,t)],icons:!1,activateOnTyping:!0,addToOptions:[{position:20,render:e=>{if(!e.picture)return null;let t=document.createElement(`img`);return t.className=`cm-picture-thumb`,t.loading=`lazy`,ca(t,e.picture),t}}]})}var da=36,fa=92,pa=40,ma=/^\$\$([^$]*?[^\\])\$\$/,ha=/^\$((?:[^\s\\])|(?:\S.*?[^\s\\]))\$(?!\d)/,ga=/^\\\((.+?)\\\)/,_a=/^\$\$([^$]*?[^\\])\$\$(?:[ \t]*\([^)\s]+?\))?(?=[ \t]*(?:\n|$))/,va=/^\\\[([\s\S]+?)\\\](?:[ \t]*\([^)$\r\n]+?\))?(?=[ \t]*(?:\n|$))/;function ya(e,t,n){if(t===da){if(n>e.offset&&e.char(n-1)===fa)return-1;let t=e.slice(n,e.end),r=(t.charCodeAt(1)===da?ma:ha).exec(t);return r?e.addElement(e.elt(`InlineMath`,n,n+r[0].length,[e.elt(`MathMark`,n,n+(r[0].startsWith(`$$`)?2:1)),e.elt(`MathMark`,n+r[0].length-(r[0].startsWith(`$$`)?2:1),n+r[0].length)])):-1}if(t===fa&&e.char(n+1)===pa){let t=ga.exec(e.slice(n,e.end));if(!t)return-1;let r=n+t[0].length;return e.addElement(e.elt(`InlineMath`,n,r,[e.elt(`MathMark`,n,n+2),e.elt(`MathMark`,r-2,r)]))}return-1}var ba=2e4;function xa(e,t){let n=t.text.slice(t.pos),r=n.startsWith(`$$`)?_a:n.startsWith(`\\[`)?va:null;if(!r)return!1;let i=e.lineStart+t.pos,a=e.input,o=r.exec(a.read(i,Math.min(a.length,i+ba)));if(!o)return!1;let s=i+o[0].length;for(;e.lineStart+t.text.length<s&&e.nextLine(););return e.addElement(e.elt(`BlockMath`,i,s)),e.nextLine(),!0}var Sa={defineNodes:[{name:`InlineMath`,style:U.special(U.content)},{name:`BlockMath`,block:!0,style:U.special(U.content)},{name:`MathMark`,style:U.processingInstruction}],parseInline:[{name:`InlineMath`,parse:ya,before:`Escape`}],parseBlock:[{name:`BlockMath`,parse:xa,before:`FencedCode`}]};function Ca(e){let t;return(t=/^\$\$([\s\S]*?)\$\$/.exec(e))||(t=/^\\\[([\s\S]*?)\\\]/.exec(e))?{tex:t[1],display:!0}:(t=/^\\\(([\s\S]*?)\\\)$/.exec(e))||(t=/^\$([\s\S]*?)\$$/.exec(e))?{tex:t[1],display:!1}:{tex:e,display:!1}}var wa=class extends H{eq(){return!0}toDOM(){let e=document.createElement(`span`);return e.className=`cm-lp-bullet`,e.textContent=`•`,e}},Ta=class extends H{eq(){return!0}toDOM(){let e=document.createElement(`span`);return e.className=`cm-lp-hr`,e}},Ea=class extends H{name;constructor(e){super(),this.name=e}eq(e){return e.name===this.name}toDOM(){let e=document.createElement(`span`);return e.className=`cm-lp-lang`,e.textContent=this.name,e}},Da=class extends H{source;constructor(e){super(),this.source=e}eq(e){return e.source===this.source}toDOM(){let e=document.createElement(`span`);e.className=`cm-lp-imaths`;let{tex:t,display:n}=Ca(this.source);return e.innerHTML=Ee.renderToString(t,{displayMode:n,throwOnError:!1}),e}},Oa=class extends H{key;src;alt;left;constructor(e,t,n,r){super(),this.key=e,this.src=t,this.alt=n,this.left=r}eq(e){return e.key===this.key&&e.alt===this.alt&&e.left===this.left}toDOM(e){let t=document.createElement(`span`);t.className=this.left?`cm-lp-picture cm-lp-picture-left`:`cm-lp-picture`;let n=()=>{t.replaceChildren(),t.classList.add(`cm-lp-picture-broken`),t.textContent=this.key.replace(/^notes:/,``),t.title=this.key.startsWith(`code:`)?`not in the repository`:`not in the notes`,e.requestMeasure()},r=document.createElement(`img`);return r.alt=this.alt,this.alt&&(r.title=this.alt),r.loading=`lazy`,r.decoding=`async`,r.onload=()=>e.requestMeasure(),r.onerror=n,t.append(r),typeof this.src==`string`?r.src=this.src:this.src.then(e=>{e?r.src=e:n()}),t}ignoreEvent(){return!1}},ka=class extends H{path;mount;constructor(e,t){super(),this.path=e,this.mount=t}eq(e){return e.path===this.path}stop=null;toDOM(e){let t=document.createElement(`span`);return t.className=`cm-lp-artifact`,this.stop=this.mount(t),new ResizeObserver(()=>e.requestMeasure()).observe(t),t}destroy(){this.stop?.(),this.stop=null}ignoreEvent(){return!0}},$=W.replace({}),Aa=W.replace({widget:new wa}),ja=W.replace({widget:new Ta}),Ma=e=>W.mark({class:e}),Na=e=>W.line({class:e});function Pa(e,t){let n=new Set;if(!t)return n;for(let t of e.selection.ranges){let r=e.doc.lineAt(t.from).number,i=e.doc.lineAt(t.to).number;for(let e=r;e<=i;e++)n.add(e)}return n}function Fa(e){let{state:t}=e,n=Pa(t,e.hasFocus),r=e=>n.has(t.doc.lineAt(e).number),i=[],a=(e,n,r)=>{for(let a=t.doc.lineAt(e).number,o=t.doc.lineAt(n).number;a<=o;a++)i.push(Na(r).range(t.doc.line(a).from))},o=e.visibleRanges;if(o.length){let e=o[0].from,s=o[o.length-1].to,c=/^ {0,3}([-*_])(?: *\1){2,} *$/,l=t.doc.lineAt(e).number,u=t.doc.lineAt(s).number,d=e=>e>=1&&e<=t.doc.lines?t.doc.line(e).text:``;for(let e=l;e<=u;e++){let r=t.doc.line(e);if(r.length!==0||/Code|Math|HTML|Comment/.test(z(t).resolveInner(r.from,1).name))continue;let a=e>1&&t.doc.line(e-1).length===0&&!n.has(e),o=c.test(d(e-1))||c.test(d(e+1));i.push(Na(a?`cm-lp-gap cm-lp-gap-more`:o?`cm-lp-gap cm-lp-gap-rule`:`cm-lp-gap`).range(r.from))}z(t).iterate({from:e,to:s,enter:e=>{let n=e.name,o=/^(?:ATX|Setext)Heading(\d)$/.exec(n);if(o)a(e.from,e.to,`cm-lp-h${o[1]}`);else switch(n){case`HeaderMark`:{if(r(e.from))break;if((e.node.parent?.name??``).startsWith(`SetextHeading`)){i.push($.range(t.doc.lineAt(e.from).from,e.to));break}let n=t.sliceDoc(e.to,e.to+1)===` `?e.to+1:e.to;n>e.from&&i.push($.range(e.from,n));break}case`EmphasisMark`:case`StrikethroughMark`:r(e.from)||i.push($.range(e.from,e.to));break;case`Emphasis`:i.push(Ma(`cm-lp-em`).range(e.from,e.to));break;case`StrongEmphasis`:i.push(Ma(`cm-lp-strong`).range(e.from,e.to));break;case`Strikethrough`:i.push(Ma(`cm-lp-strike`).range(e.from,e.to));break;case`InlineCode`:if(i.push(Ma(`cm-lp-code`).range(e.from,e.to)),!r(e.from)){let t=e.node;for(let e=t.firstChild;e;e=e.nextSibling)e.name===`CodeMark`&&i.push($.range(e.from,e.to))}return!1;case`InlineMath`:return r(e.from)?i.push(Ma(`cm-lp-mathsrc`).range(e.from,e.to)):i.push(W.replace({widget:new Da(t.sliceDoc(e.from,e.to))}).range(e.from,e.to)),!1;case`BlockMath`:case`Table`:return a(e.from,e.to,`cm-lp-codeblock`),!1;case`Link`:{let n=e.node,a=[],o=!1;for(let e=n.firstChild;e;e=e.nextSibling)e.name===`LinkMark`&&a.push(e),e.name===`URL`&&(o=!0);let s=a[0],c=a[1],l=n.getChild(`URL`),u=l?t.sliceDoc(l.from,l.to):``,d=u.startsWith(`code:`),f=/^https?:/i.test(u),p=n.getChild(`LinkTitle`),m=oe(p?t.sliceDoc(p.from+1,p.to-1):null),h=d?t.facet(Ra)(u)?`cm-lp-link cm-lp-codelink cm-lp-broken`:`cm-lp-link cm-lp-codelink`:f?`cm-lp-link cm-lp-weblink vein web`:`cm-lp-link vein ${m===`requires`?`requires`:m===`see also`?`also`:`uses`}`;s&&c&&c.from>s.to&&i.push((d?W.mark({class:h,attributes:{title:t.facet(Ra)(u)?`${u.slice(5)}: not in the repository`:u.slice(5)}}):Ma(h)).range(s.to,c.from)),!r(e.from)&&o&&s&&c&&(i.push($.range(s.from,s.to)),i.push($.range(c.from,e.to)));break}case`Image`:{let n=e.node,a=n.getChild(`URL`),o=n.getChildren(`LinkMark`),s=a?t.facet(La)(t.sliceDoc(a.from,a.to)):null;if(s&&o.length>=2){let t=new ka(s.path,s.mount);return r(e.from)?i.push(W.widget({widget:t,side:1}).range(e.to)):i.push(W.replace({widget:t}).range(e.from,e.to)),!1}let c=a?t.facet(Ia)(t.sliceDoc(a.from,a.to)):null;if(!c||o.length<2)break;let l=n.getChild(`LinkTitle`),u=l?t.sliceDoc(l.from+1,l.to-1).trim().toLowerCase():``,d=new Oa(c.key,c.src,t.sliceDoc(o[0].to,o[1].from),u===`left`);return r(e.from)?i.push(W.widget({widget:d,side:1}).range(e.to)):i.push(W.replace({widget:d}).range(e.from,e.to)),!1}case`ListMark`:{let n=t.sliceDoc(e.from,e.to);!r(e.from)&&/^[-*+]$/.test(n)?i.push(Aa.range(e.from,e.to)):i.push(Ma(`cm-lp-listmark`).range(e.from,e.to));break}case`TaskMarker`:i.push(Ma(`cm-lp-task`).range(e.from,e.to));break;case`Blockquote`:a(e.from,e.to,`cm-lp-quote`);break;case`QuoteMark`:if(!r(e.from)){let n=t.sliceDoc(e.to,e.to+1)===` `?e.to+1:e.to;i.push($.range(e.from,n))}break;case`HorizontalRule`:r(e.from)||(i.push(ja.range(e.from,e.to)),a(e.from,e.to,`cm-lp-ruleline`));break;case`FencedCode`:{a(e.from,e.to,`cm-lp-codeblock`);let n=e.node,o=t.doc.lineAt(e.from),s=t.doc.lineAt(e.to),c=n.getChild(`CodeInfo`),l=n.lastChild?.name===`CodeMark`&&n.lastChild.from>=s.from?n.lastChild:null;if(!r(o.from)){i.push(Na(`cm-lp-fence`).range(o.from));let e=c?t.sliceDoc(c.from,c.to).trim().split(/\s/)[0]:``;i.push((e?W.replace({widget:new Ea(e)}):$).range(o.from,o.to))}return l&&s.number>o.number&&!r(s.from)&&(i.push(Na(`cm-lp-fence`).range(s.from)),s.to>s.from&&i.push($.range(s.from,s.to))),!1}case`CodeBlock`:return a(e.from,e.to,`cm-lp-codeblock`),!1;case`HTMLBlock`:case`CommentBlock`:return a(e.from,e.to,`cm-lp-codeblock`),!1}}})}i.sort((e,t)=>e.from-t.from||e.value.startSide-t.value.startSide);let s=new $e;for(let e of i)s.add(e.from,e.to,e.value);return s.finish()}var Ia=Ye.define({combine:e=>e[0]??(()=>null)}),La=Ye.define({combine:e=>e[0]??(()=>null)}),Ra=Ye.define({combine:e=>e[0]??(()=>!1)}),za=Ue.fromClass(class{decorations;constructor(e){this.decorations=Fa(e)}update(e){(e.docChanged||e.viewportChanged||e.selectionSet||e.focusChanged||z(e.startState)!==z(e.state))&&(this.decorations=Fa(e.view))}},{decorations:e=>e.decorations}),Ba=B.theme({".cm-scroller":{fontFamily:`var(--font-text)`,fontSize:`var(--text-size)`,lineHeight:`1.55`},".cm-lp-gap":{lineHeight:`20px`},".cm-lp-gap-rule":{lineHeight:`10px`},".cm-lp-gap-more":{lineHeight:`4px`},".cm-lp-ruleline":{lineHeight:`12px`},".cm-content":{fontVariationSettings:`"opsz" 18`},".cm-lp-h1, .cm-lp-h2, .cm-lp-h3, .cm-lp-h4, .cm-lp-h5, .cm-lp-h6":{fontWeight:`600`,lineHeight:`1.3`,fontVariationSettings:`"opsz" 36`,paddingTop:`.5em !important`},".cm-lp-h1":{fontSize:`26px`},".cm-lp-artifact":{display:`block`,margin:`8px 0 12px`,fontFamily:`var(--font-ui)`,fontSize:`12px`,lineHeight:`1.4`},".cm-lp-h2":{fontSize:`22px`},".cm-lp-h3":{fontSize:`19px`},".cm-lp-h4":{fontSize:`17px`,fontWeight:`700`},".cm-lp-em":{fontStyle:`italic`},".cm-lp-strong":{fontWeight:`700`},".cm-lp-strike":{textDecoration:`line-through`},".cm-lp-code":{fontFamily:`var(--font-mono)`,fontSize:`.86em`,background:`color-mix(in srgb, var(--text) 8%, transparent)`,padding:`.1em .2em`},".cm-lp-codelink":{color:`var(--lattice)`,fontFamily:`var(--font-mono)`,fontSize:`.86em`,textDecoration:`none`,borderBottom:`1px solid color-mix(in srgb, var(--lattice) 50%, transparent)`},".cm-lp-broken":{color:`var(--rose)`,textDecoration:`line-through`,borderBottomColor:`transparent`},".cm-lp-picture":{display:`block`,margin:`6px auto`,width:`fit-content`,maxWidth:`100%`,lineHeight:`0`},".cm-lp-picture img":{display:`block`,maxWidth:`100%`,height:`auto`},".cm-lp-picture-left":{float:`left`,margin:`4px 16px 4px 0`,maxWidth:`50%`},".cm-lp-picture-broken":{display:`inline-block`,lineHeight:`1.4`,fontFamily:`var(--font-mono)`,fontSize:`.86em`,color:`var(--rose)`,textDecoration:`line-through`,border:`1px dashed color-mix(in srgb, var(--rose) 50%, transparent)`,padding:`6px 10px`,margin:`4px 0`},".cm-lp-bullet":{color:`var(--text-faint)`,display:`inline-block`,minWidth:`1ch`},".cm-lp-listmark, .cm-lp-task":{color:`var(--text-faint)`,fontFamily:`var(--font-mono)`},".cm-lp-quote":{borderLeft:`3px solid var(--lattice)`,paddingLeft:`14px !important`,color:`var(--text-soft)`},".cm-lp-codeblock":{fontFamily:`var(--font-mono)`,fontSize:`13px`,lineHeight:`20px`,background:`color-mix(in srgb, var(--line) 38%, transparent)`,borderLeft:`2px solid var(--line-strong)`,padding:`0 16px !important`},".cm-lp-codeblock.cm-lp-fence":{lineHeight:`12px`,position:`relative`},".cm-lp-lang":{position:`absolute`,top:`8px`,right:`12px`,fontFamily:`var(--font-ui)`,fontSize:`12px`,lineHeight:`16px`,color:`var(--text-faint)`,pointerEvents:`none`},".cm-lp-mathsrc":{fontFamily:`var(--font-mono)`,fontSize:`.86em`,color:`var(--text-soft)`},".cm-lp-imaths .katex":{fontSize:`1.05em`},".cm-lp-imaths .katex-display":{margin:`0`,padding:`6px 0`},".cm-lp-imaths .katex-display > .katex":{fontSize:`1.17em`},".cm-lp-hr":{display:`inline-block`,width:`100%`,borderTop:`1px solid var(--line)`,verticalAlign:`middle`}});function Va(e){let t=e.split(`#`)[0];return t.startsWith(`/`)&&t.endsWith(`.md`)?t.slice(1,-3):null}function Ha(e){let t=e.split(/[#?]/)[0];return t.startsWith(`/`)&&!t.startsWith(`//`)&&/\/[^/]*\.[^./]+$/.test(t)&&!t.endsWith(`.md`)?decodeURI(t.slice(1)):null}var Ua=it.define(),Wa=it.define(),Ga=[at.define({create:()=>W.none,update(e,t){for(let e of t.effects){if(!e.is(Wa))continue;let n=t.state.doc,r=e.value;if(!r)return W.none;let i=W.line({class:`cm-touched cm-touched-${r.who}`});return W.set([...new Set(r.lines)].filter(e=>e>=0&&e<n.lines&&n.line(e+1).text.trim()!==``).sort((e,t)=>e-t).map(e=>i.range(n.line(e+1).from)))}return t.docChanged?e.map(t.changes):e},provide:e=>B.decorations.from(e)}),B.theme({".cm-line.cm-touched-you":{background:`var(--lattice-soft)`,boxShadow:`-10px 0 0 var(--lattice-soft), -13px 0 0 var(--lattice), 10px 0 0 var(--lattice-soft)`},".cm-line.cm-touched-iso":{background:`var(--growth-soft)`,boxShadow:`-10px 0 0 var(--growth-soft), -13px 0 0 var(--growth), 10px 0 0 var(--growth-soft)`}})],Ka=it.define(),qa=class extends H{key;mount;block;down=null;watch=null;constructor(e,t,n){super(),this.key=e,this.mount=t,this.block=n}eq(e){return e.key===this.key&&e.block===this.block}toDOM(e){let t=document.createElement(this.block?`div`:`span`);return t.className=this.block?`cm-overlay`:`cm-iso-change`,t.contentEditable=`false`,this.down=this.mount(t,this.key),this.watch=new ResizeObserver(()=>e.requestMeasure()),this.watch.observe(t),t}destroy(){this.watch?.disconnect(),this.watch=null,this.down?.(),this.down=null}ignoreEvent(){return!0}get estimatedHeight(){return this.block?120:-1}};function Ja(e){return[at.define({create:()=>W.none,update(t,n){for(let t of n.effects){if(!t.is(Ua))continue;let r=n.state.doc;return W.set(t.value.map(t=>{let n=t.line>=r.lines,i=n?r.length:r.line(Math.max(1,t.line+1)).from;return W.widget({widget:new qa(t.key,e,!0),block:!0,side:n?1:-1}).range(i)}),!0)}return n.docChanged?t.map(n.changes):t},provide:e=>B.decorations.from(e)}),at.define({create:()=>W.none,update(t,n){for(let t of n.effects){if(!t.is(Ka))continue;let r=n.state.doc.length,i=[];for(let e of t.value.marks){let t=Math.max(0,Math.min(r,e.from)),n=Math.max(0,Math.min(r,e.to));n>t&&i.push(W.mark({class:`cm-iso-${e.kind}`}).range(t,n))}for(let n of t.value.inline)i.push(W.widget({widget:new qa(n.key,e,!1),side:1}).range(Math.max(0,Math.min(r,n.at))));return W.set(i,!0)}return n.docChanged?t.map(n.changes):t},provide:e=>B.decorations.from(e)}),B.theme({".cm-overlay":{cursor:`default`,userSelect:`text`,padding:`10px 0`,display:`flow-root`,whiteSpace:`normal`},".cm-iso-picked":{background:`var(--lattice-soft)`,boxShadow:`inset 0 -2px 0 var(--lattice)`,cursor:`pointer`},".cm-iso-old":{textDecoration:`line-through`,textDecorationColor:`var(--text-faint)`,color:`var(--text-faint)`},".cm-iso-old *":{color:`var(--text-faint) !important`},".cm-iso-change":{cursor:`default`},".cm-iso-by-iso":{background:`var(--growth-soft)`,boxShadow:`inset 0 -1.5px 0 var(--growth)`},".cm-iso-given":{textDecoration:`underline dashed var(--growth)`,textUnderlineOffset:`4px`,textDecorationThickness:`1.5px`}})]}function Ya(e){let t=e.split(`#`)[0].split(`?`)[0];return!t.startsWith(`/`)||t.startsWith(`//`)?null:t.endsWith(`.md`)?{id:decodeURIComponent(t.slice(1,-3)),folder:!1}:t.endsWith(`/`)&&t.length>1?{id:decodeURIComponent(t.slice(1,-1)),folder:!0}:null}var Xa=it.define(),Za=W.mark({class:`cm-pointed`});function Qa(e,t){if(!t)return W.none;let n=[];return z(e).iterate({enter:r=>{if(r.name!==`Link`)return;let i=Ri(e,r.from+1);return i&&!i.embed&&i.from===r.from&&Ya(i.url)?.id===t&&n.push(Za.range(i.from,i.to)),!1}}),W.set(n)}var $a=at.define({create:()=>({id:``,marks:W.none}),update(e,t){let n=e.id;for(let e of t.effects)e.is(Xa)&&(n=e.value);return n!==e.id||n&&t.docChanged?{id:n,marks:Qa(t.state,n)}:e},provide:e=>B.decorations.from(e,e=>e.marks)}),eo=B.theme({".cm-pointed":{backgroundColor:`var(--lattice-soft)`,boxShadow:`0 2px 0 var(--lattice)`}});function to(e){if(!e)return[$a,eo];let t=``,n=n=>{let r=n?`${n.folder?`d`:`n`}:${n.id}`:``;r!==t&&(t=r,e(n))};return[$a,eo,B.domEventHandlers({pointermove(e,t){if(e.pointerType!==`mouse`)return!1;let r=t.posAtCoords({x:e.clientX,y:e.clientY},!1),i=r===null?null:Ri(t.state,r);return n(i&&!i.embed?Ya(i.url):null),!1},pointerleave(){return n(null),!1}})]}var no=B.theme({".cm-scroller":{fontFamily:`var(--font-mono)`,fontSize:`14px`,lineHeight:`1.6`}}),ro=B.theme({"&":{color:`var(--text)`,backgroundColor:`transparent`,fontSize:`16px`},"&.cm-focused":{outline:`none`},".cm-scroller":{overflow:`visible`},".cm-content":{padding:`12px 0 40vh`,caretColor:`var(--lattice)`},".cm-line":{padding:`0 2px`},".cm-cursor, .cm-dropCursor":{borderLeftColor:`var(--lattice)`,borderLeftWidth:`2px`},".cm-selectionBackground":{backgroundColor:`color-mix(in srgb, var(--lattice) 22%, transparent) !important`},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection":{backgroundColor:`color-mix(in srgb, var(--lattice) 40%, transparent) !important`},".cm-placeholder":{color:`var(--text-faint)`},".cm-tooltip-autocomplete":{background:`var(--ground-1)`,border:`1px solid var(--line-strong)`,fontFamily:`var(--font-ui)`,fontSize:`13px`},".cm-tooltip.cm-tooltip-autocomplete > ul":{fontFamily:`var(--font-ui)`,maxHeight:`16em`},".cm-tooltip-autocomplete > ul > li":{padding:`6px 10px !important`,lineHeight:`1.3`},".cm-picture-thumb":{width:`32px`,height:`32px`,objectFit:`cover`,verticalAlign:`middle`,marginRight:`8px`,background:`var(--ground-2)`},".cm-tooltip-autocomplete > ul > li:has(.cm-picture-thumb)":{padding:`3px 10px !important`},".cm-picture-preview":{padding:`8px`},".cm-picture-preview img":{display:`block`,maxWidth:`240px`,maxHeight:`240px`},".cm-picture-size":{fontFamily:`var(--font-ui)`,fontSize:`12px`,color:`var(--text-faint)`,marginTop:`4px`},".cm-completionInfo":{background:`var(--ground-1)`,border:`1px solid var(--line-strong)`,padding:`0`},".cm-tooltip-autocomplete > ul > li[aria-selected]":{background:`var(--lattice-soft)`,color:`var(--text)`},".cm-completionDetail":{color:`var(--text-faint)`,fontStyle:`normal`,marginLeft:`10px`}}),io=ot.define([{tag:U.heading,fontWeight:`700`,color:`var(--text)`},{tag:U.strong,fontWeight:`700`},{tag:U.emphasis,fontStyle:`italic`},{tag:U.strikethrough,textDecoration:`line-through`},{tag:[U.link,U.url],color:`var(--lattice)`},{tag:[U.processingInstruction,U.punctuation,U.contentSeparator],color:`var(--text-faint)`},{tag:U.monospace,color:`var(--text-soft)`},{tag:U.quote,color:`var(--text-soft)`,fontStyle:`italic`}]);function ao(e){let t=e.selection.main;return{line:e.doc.lineAt(t.to).number-1,from:t.from,to:t.to}}function oo(e){let t=e=>[...e??[]].filter(e=>e.type.startsWith(`image/`));return B.domEventHandlers({paste(n,r){let i=t(n.clipboardData?.files);return i.length?(n.preventDefault(),e(i,r.state.selection.main.head,!0),!0):!1},drop(n,r){let i=t(n.dataTransfer?.files);return i.length?(n.preventDefault(),e(i,r.posAtCoords({x:n.clientX,y:n.clientY})??r.state.selection.main.head,!1),!0):!1}})}function so(e,t){let n=Xe.create({doc:t.doc,extensions:[mn(),Ke(),B.lineWrapping,Te({base:je,extensions:[Sa],completeHTMLTags:!1,codeLanguages:Fe}),Be(io),Be(Ne),ro,...t.source?[no]:[za,Ba,Di,Oi,na,...t.embeds?[_i.of(t.embeds)]:[],...t.codeBroken?[Ra.of(t.codeBroken)]:[],...t.pictures?[Ia.of(t.pictures)]:[],...t.artifacts?[La.of(t.artifacts)]:[]],gt(),Xe.languageData.of(()=>[{closeBrackets:{brackets:[`(`,`[`]}}]),...t.mountOverlay?[Ja(t.mountOverlay)]:[],Ga,to(t.onPoint),...t.readOnly?[Xe.readOnly.of(!0),B.editable.of(!1)]:[],ua(t.notes,t.pictureSource??null),...t.onPictures&&!t.readOnly?[oo(t.onPictures)]:[],He(t.placeholder??`Write the note here. # for a heading, [[ to link to another note, [[! to show a picture, $x$ for maths.`),B.contentAttributes.of({"aria-label":t.label,spellcheck:`true`,autocapitalize:`sentences`,autocorrect:`on`}),ze.of([{key:`Mod-s`,preventDefault:!0,run:()=>(t.onSave(),!0)},{key:`Mod-Enter`,preventDefault:!0,run:e=>(t.onAsk?.(ao(e.state)),!!t.onAsk)},...Fi,...ft,...ht,gi,...hi,...jn]),B.domEventHandlers((()=>{let e=(e,n)=>{if(!t.picking?.())return;let r=e.state.selection,i=r.ranges.filter(e=>!e.empty).map(e=>({from:e.from,to:e.to}));i.length?(t.onPick?.(i),setTimeout(()=>e.dispatch({selection:{anchor:Math.min(r.main.head,e.state.doc.length)}}),0)):n&&t.onUnpick?.(r.main.head)};return{mouseup:(t,n)=>(e(n,t.detail===1),!1),touchend:(t,n)=>(e(n,!1),!1),keyup:(t,n)=>(t.key===`Shift`&&e(n,!1),!1)}})()),B.domEventHandlers({mousedown(e,n){if(!t.onFollow||!(e.ctrlKey||e.metaKey)||e.button!==0)return!1;let r=n.posAtCoords({x:e.clientX,y:e.clientY},!1),i=r===null?null:Ri(n.state,r),a=i?i.embed?Ha(i.url):Va(i.url)??Ha(i.url):null;return a!==null&&(e.preventDefault(),t.onFollow(a),!0)}}),B.updateListener.of(e=>{e.docChanged&&t.onChange(e.state.doc.toString()),t.onCursor&&(e.selectionSet||e.docChanged)&&t.onCursor(ao(e.state))})]});return new B({state:n,parent:e})}function co(e,t){if(t===e.state.doc.toString())return;let n=Math.min(e.state.selection.main.head,t.length);e.dispatch({changes:{from:0,to:e.state.doc.length,insert:t},selection:{anchor:n}})}var lo=l(`<p class="same svelte-18j5w6l">This picture is already in the notes as <code> </code>.</p>`),uo=l(`<code> </code> is taken: Enter makes it <code> </code>`,1),fo=l(`<code> </code>`),po=l(`<label class="svelte-18j5w6l"><span class="svelte-18j5w6l">name</span> <span class="name svelte-18j5w6l"><input class="field mono svelte-18j5w6l" spellcheck="false" autocomplete="off" aria-label="Its name"/><span class="ext svelte-18j5w6l"> </span></span></label> <p><!></p>`,1),mo=l(`<button class="btn" type="button"> </button>`),ho=l(`<div class="picture-name svelte-18j5w6l" role="dialog" aria-label="Name the picture" tabindex="-1"><img alt="" class="svelte-18j5w6l"/> <div class="fields svelte-18j5w6l"><!> <label class="svelte-18j5w6l"><span class="svelte-18j5w6l">what it shows</span> <input class="field" placeholder="Iso reads this, not the picture" aria-label="What it shows" autocomplete="off"/></label> <div class="actions svelte-18j5w6l"><!> <button class="btn" type="button">Cancel</button> <button class="btn primary" type="button"> </button></div></div></div>`);function go(n,r){x(r,!0);let a=M(()=>({"image/png":`png`,"image/jpeg":`jpg`,"image/gif":`gif`,"image/webp":`webp`,"image/svg+xml":`svg`,"image/avif":`avif`})[r.file.type]??`png`),o=N(e(r.suggested)),s=N(``),l=N(!1),f=N(void 0),p,v=M(()=>xe(P(o))||`picture`),y=M(()=>`${r.folder?r.folder+`/`:``}${P(v)}.${P(a)}`),D=M(()=>r.taken(P(y))),O=M(()=>{for(let e=2;;e++)if(!r.taken(`${r.folder?r.folder+`/`:``}${P(v)}-${e}.${P(a)}`))return`${P(v)}-${e}`}),k=M(()=>r.same!==null&&!P(l));te(()=>{P(f)?(P(f).focus(),P(f).select()):p.focus()});function re(e){e.key===`Escape`?(e.preventDefault(),r.onDone(null)):e.key===`Enter`&&(e.preventDefault(),F())}function F(){if(!P(k)&&P(D)){C(o,P(O),!0);return}let e=P(k)?r.same:P(y);r.onDone({path:e,alt:P(s).trim()||ia(e),save:!P(k)})}var I=ho();let L;var ie=g(I),ae=d(ie,2),oe=g(ae),se=e=>{var n=lo(),i=d(g(n)),a=_(i,!0);T(),j(n),m(()=>u(a,r.same)),t(e,n)},R=e=>{var n=po(),r=h(n),s=d(g(r),2),c=g(s);w(c),b(c,e=>C(f,e),()=>P(f));var l=d(c),p=_(l);j(s),j(r);var v=d(r,2);let x;var T=g(v),ee=e=>{var n=uo(),r=h(n),i=_(r,!0),o=d(r,2),s=_(o);m(()=>{u(i,P(y)),u(s,`${P(O)??``}.${P(a)??``}`)}),t(e,n)},k=e=>{var n=fo(),r=_(n,!0);m(()=>u(r,P(y))),t(e,n)};i(T,e=>{P(D)?e(ee):e(k,-1)}),j(v),m(()=>{u(p,`.${P(a)??``}`),x=E(v,1,`path svelte-18j5w6l`,null,x,{taken:P(D)})}),S(c,()=>P(o),e=>C(o,e)),t(e,n)};i(oe,e=>{P(k)?e(se):e(R,-1)});var ce=d(oe,2),le=d(g(ce),2);w(le),b(le,e=>p=e,()=>p),j(ce);var ue=d(ce,2),de=g(ue),fe=e=>{var n=mo(),r=_(n,!0);m(()=>u(r,P(l)?`Use the one there`:`Save a copy`)),c(`click`,n,()=>{C(l,!P(l)),P(l)&&requestAnimationFrame(()=>{P(f)?.focus(),P(f)?.select()})}),t(e,n)};i(de,e=>{r.same!==null&&e(fe)});var pe=d(de,2),me=d(pe,2),he=_(me,!0);j(ue),j(ae),j(I),m(()=>{L=ee(I,``,L,{left:`${r.at.left??``}px`,top:`${r.at.top??``}px`}),A(ie,`src`,r.src),u(he,P(k)?`Show it`:`Save`)}),c(`keydown`,I,re),S(le,()=>P(s),e=>C(s,e)),c(`click`,pe,()=>r.onDone(null)),c(`click`,me,F),t(n,I),ne()}a([`keydown`,`click`]);var _o=l(`<span class="soft picked svelte-192cp36" role="status"> </span>`),vo=l(`<div class="between svelte-192cp36"><!> <div class="ask svelte-192cp36"><i class="dia open svelte-192cp36" aria-hidden="true"></i> <textarea rows="1" aria-label="Ask Iso" class="svelte-192cp36"></textarea></div> <div class="foot svelte-192cp36"><span class="grow"></span> <button class="link faint svelte-192cp36" type="button">cancel</button> <button class="btn primary" type="button">ask Iso</button></div></div>`),yo=l(`<div class="prose said svelte-192cp36"></div>`),bo=l(`<span class="faint"> </span>`),xo=l(`<div class="between working svelte-192cp36" aria-live="polite"><!> <div class="foot svelte-192cp36"><i class="dia svelte-192cp36" aria-hidden="true"></i> <span class="soft doing svelte-192cp36"> <!></span> <span class="grow"></span> <button class="link svelte-192cp36" type="button">stop</button></div></div>`),So=l(`<div class="between stopped svelte-192cp36" role="alert"><p class="bad svelte-192cp36"> </p> <div class="foot svelte-192cp36"><span class="grow"></span><button class="link svelte-192cp36" type="button">dismiss</button></div></div>`),Co=l(`<p class="soft lost svelte-192cp36"><span class="strike svelte-192cp36"> </span> </p>`),wo=l(`<div class="between stopped svelte-192cp36"><p class="label"> </p> <!> <div class="foot svelte-192cp36"><span class="grow"></span><button class="btn remove" type="button">remove</button></div></div>`),To=l(`<p class="label">The place this was written for is no longer in the note, so it is shown here. Keeping it adds it at the end.</p>`),Eo=l(`<textarea class="revision svelte-192cp36" aria-label="Iso's text, to edit"></textarea>`),Do=l(`<p class="label"> </p>`),Oo=l(`<button class="btn edit" type="button">done</button>`),ko=l(`<button class="btn edit" type="button">edit</button>`),Ao=l(`<div class="between svelte-192cp36"><!> <!> <!> <div class="foot svelte-192cp36"><i class="dia svelte-192cp36" aria-hidden="true"></i> <span class="grow"></span> <button class="btn keep" type="button">keep</button> <!> <button class="btn remove" type="button">remove</button></div></div>`);function jo(e,r){x(r,!0);let a=D(r,`iso`,7),s=M(()=>r.key.startsWith(`p:`)?a().proposals.find(e=>e.id===r.key.slice(2)):void 0),l=M(()=>P(s)&&a().editing?.id===P(s).id?a().editing:null),v=M(()=>!!P(s)&&a().busy===P(s)?.id),w=M(()=>a().changes.filter(e=>!e.at)),T=N(``),E=N(void 0);o(()=>{r.key===`prompt`&&p().then(()=>P(E)?.focus())});let ee=M(()=>a().asking?.steps.at(-1)?.said??``),k=M(()=>(a().asking?.regions.length??0)>0),te=M(()=>a().prompt?.mode===`rewrite`),F=M(()=>a().prompt?.regions.length??0),I=M(()=>!!P(T).trim()&&(!P(te)||P(F)>0));function L(e){e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),a().ask(P(T))):e.key===`Escape`&&(e.preventDefault(),a().prompt=null)}var ie=O(),ae=h(ie),oe=e=>{var n=vo(),r=g(n),o=e=>{var n=_o(),r=_(n,!0);m(()=>u(r,P(F)===0?`select text in the note to rewrite`:`rewriting ${P(F)} ${P(F)===1?`passage`:`passages`} · select more, or click one to drop it`)),t(e,n)};i(r,e=>{P(te)&&e(o)});var s=d(r,2),l=d(g(s),2);y(l),b(l,e=>C(E,e),()=>P(E)),j(s);var f=d(s,2),p=d(g(f),2),h=d(p,2);j(f),j(n),m(()=>{A(l,`placeholder`,P(te)?`how should Iso rewrite it?`:`what should Iso write here?`),h.disabled=!P(I)}),c(`keydown`,l,L),S(l,()=>P(T),e=>C(T,e)),c(`click`,p,()=>a().prompt=null),c(`click`,h,()=>a().ask(P(T))),t(e,n)},se=e=>{var n=xo(),r=g(n),o=e=>{var n=yo();f(n,()=>Ce(a().asking.text),!0),j(n),re(n,(e,t)=>Me?.(e,t),()=>a().asking.text),t(e,n)};i(r,e=>{a().asking.text&&!P(k)&&e(o)});var s=d(r,2),l=d(g(s),2),p=g(l,!0),h=d(p),v=e=>{var n=bo(),r=_(n);m(()=>u(r,`· ${P(ee)??``}`)),t(e,n)};i(h,e=>{P(ee)&&e(v)}),j(l);var y=d(l,4);j(s),j(n),m(()=>u(p,a().asking.text?P(k)?`Iso is rewriting`:`Iso is writing`:`Iso is thinking`)),c(`click`,y,()=>a().halt()),t(e,n)},R=e=>{var n=So(),r=g(n),i=_(r,!0),o=d(r,2),s=d(g(o));j(o),j(n),m(()=>u(i,a().failed.message)),c(`click`,s,()=>a().failed=null),t(e,n)},ce=e=>{var r=wo(),i=g(r),o=_(i),s=d(i,2);n(s,17,()=>P(w),e=>e.key,(e,n)=>{var r=Co(),i=g(r),a=_(i,!0),o=d(i);j(r),m((e,t)=>{u(a,e),u(o,` → ${t??``}`)},[()=>P(n).proposal.regions[P(n).k].old.text.trim(),()=>P(n).proposal.regions[P(n).k].new.trim()||`(taken out)`]),t(e,r)});var l=d(s,2),f=d(g(l));j(l),j(r),m(()=>u(o,`${P(w).length===1?`One change Iso offered is`:`${P(w).length} changes Iso offered are`} for text that is no longer in the note as it was, so ${P(w).length===1?`it`:`they`} cannot be kept.`)),c(`click`,f,()=>{for(let e of P(w))a().discardChange(e)}),t(e,r)},le=e=>{var n=Ao(),r=g(n),o=e=>{var n=To();t(e,n)},p=M(()=>!a().placed(P(s)));i(r,e=>{P(p)&&e(o)});var h=d(r,2),b=e=>{var n=Eo();y(n),m(e=>A(n,`rows`,e),[()=>Math.max(3,P(l).text.split(`
|
|
7
|
-
`).length+1)]),S(n,()=>P(l).text,e=>P(l).text=e),t(e,n)},x=e=>{var n=yo();f(n,()=>Ce(P(s).text),!0),j(n),re(n,(e,t)=>Me?.(e,t),()=>({given:P(s).text,copy:!0})),t(e,n)};i(h,e=>{P(l)?e(b):e(x,-1)});var C=d(h,2),w=e=>{var n=Do(),r=_(n,!0);m(()=>u(r,P(s).notice)),t(e,n)};i(C,e=>{P(s).notice&&e(w)});var T=d(C,2),E=d(g(T),4),ee=d(E,2),D=e=>{var n=Oo();c(`click`,n,()=>a().done(P(s))),t(e,n)},O=e=>{var n=ko();m(()=>n.disabled=P(v)),c(`click`,n,()=>a().edit(P(s))),t(e,n)};i(ee,e=>{P(l)?e(D):e(O,-1)});var k=d(ee,2);j(T),j(n),m(()=>{A(n,`data-proposal`,P(s).id),E.disabled=P(v),k.disabled=P(v)}),c(`click`,E,()=>a().keep(P(s))),c(`click`,k,()=>a().discard(P(s))),t(e,n)};i(ae,e=>{r.key===`prompt`?e(oe):r.key===`asking`&&a().asking?e(se,1):r.key===`failed`&&a().failed?e(R,2):r.key===`lost`&&P(w).length?e(ce,3):P(s)&&e(le,4)}),t(e,ie),ne()}a([`keydown`,`click`]);var Mo=l(`<span class="label who svelte-1o10yjh"> </span>`),No=l(`<!> <span class="act svelte-1o10yjh"><button class="keep svelte-1o10yjh" type="button" aria-label="Keep this change">keep</button><button class="remove svelte-1o10yjh" type="button" aria-label="Remove this change">remove</button></span>`,1),Po=l(`<span class="gone svelte-1o10yjh">the passage above is taken out</span>`),Fo=l(`<pre class="new svelte-1o10yjh"> </pre>`),Io=l(`<div class="new prose svelte-1o10yjh"></div>`),Lo=l(`<div><!> <div class="foot svelte-1o10yjh"><i class="dia svelte-1o10yjh" aria-hidden="true"></i><span class="label">in place of the lines struck through above</span><span class="grow"></span><!></div></div>`),Ro=l(`<span class="new svelte-1o10yjh"></span>`),zo=l(`<span class="gone svelte-1o10yjh">taken out</span>`),Bo=l(`<span class="change svelte-1o10yjh"><!> <!></span>`);function Vo(e,n){x(n,!0);let r=e=>{var r=No(),o=h(r),l=e=>{var n=Mo(),r=_(n,!0);m(()=>{A(n,`title`,P(a)?.proposal.asked),u(r,P(v))}),t(e,n)};i(o,e=>{P(v)&&e(l)});var f=d(o,2),p=g(f),y=d(p);j(f),m(()=>{p.disabled=P(s),y.disabled=P(s)}),c(`click`,p,()=>P(a)&&n.iso.keepChange(P(a))),c(`click`,y,()=>P(a)&&n.iso.discardChange(P(a))),t(e,r)},a=M(()=>n.iso.changes.find(e=>e.key===n.key)),o=M(()=>P(a)?P(a).proposal.regions[P(a).k].new:``),s=M(()=>n.iso.busy===n.key||n.iso.busy===`all`),l=M(()=>Ce(P(o).trim())),p=M(()=>P(l).replace(/^<p>([\s\S]*)<\/p>\s*$/,`$1`)),v=M(()=>P(a)?be(P(a).proposal.who):``);var y=O(),b=h(y),S=e=>{var s=Lo();let c;var p=g(s),h=e=>{var n=Po();t(e,n)},v=M(()=>!P(o).trim()),y=e=>{var n=Fo(),r=_(n,!0);m(e=>u(r,e),[()=>P(o).replace(/^\n+|\s+$/g,``)]),t(e,n)},b=e=>{var n=Io();f(n,()=>P(l),!0),j(n),re(n,(e,t)=>Me?.(e,t),()=>P(l)),t(e,n)};i(p,e=>{P(v)?e(h):P(a).code?e(y,1):e(b,-1)});var x=d(p,2),S=d(g(x),3);r(S),j(x),j(s),m(()=>{c=E(s,1,`change block svelte-1o10yjh`,null,c,{code:P(a).code}),A(s,`data-change`,n.key)}),t(e,s)},C=e=>{var a=Bo(),s=g(a),c=e=>{var n=Ro();f(n,()=>P(p),!0),j(n),t(e,n)},l=M(()=>P(o).trim()),u=e=>{var n=zo();t(e,n)};i(s,e=>{P(l)?e(c):e(u,-1)});var h=d(s,2);r(h),j(a),m(()=>A(a,`data-change`,n.key)),t(e,a)};i(b,e=>{P(a)?.block?e(S):P(a)&&e(C,1)}),t(e,y),ne()}a([`click`]);var Ho=l(`<p class="said svelte-hrl8lz" role="status"> </p>`),Uo=l(`<div></div> <!> <!>`,1);function Wo(e,n){x(n,!0);let a=D(n,`iso`,7),c=D(n,`touched`,3,null),l=D(n,`lens`,19,()=>[]),f,p=N(void 0),g=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/svg+xml`,`image/avif`],y=N(null),S=N(null),w,T=e=>{C(S,e,!0),clearTimeout(w),w=setTimeout(()=>C(S,null),8e3)};async function ee(e,t,r){if(!P(p)||P(y))return;let i=n.note.id,a=!i.startsWith(`@`),o=a?i:`pictures`,s=e=>a&&e.startsWith(`${i}/`)?aa(e.slice(i.lastIndexOf(`/`)+1)):`/${aa(e)}`,c=[];try{c=await R.api.pictures()}catch{}let l=new Set(c.map(e=>e.path));for(let n of e){if(!g.includes(n.type)){T(`${n.name||`That`} isn't a picture isorite keeps: png, jpg, gif, webp, svg and avif are.`);continue}if(n.size>2e7){T(`${n.name||`That picture`} is larger than isorite takes (${_t/1e6} MB).`);continue}let e=new Uint8Array(await n.arrayBuffer()),i=await Ie(e),a=c.find(e=>e.sha256===i)?.path??null,u=URL.createObjectURL(n),d=P(p),m=d.coordsAtPos(Math.min(t,d.state.doc.length)),h=f.getBoundingClientRect(),_=await new Promise(e=>{C(y,{file:n,src:u,folder:o,same:a,onDone:e,suggested:r||!n.name?Re():xe(n.name)||`picture`,taken:e=>l.has(e),at:{left:Math.max(16,Math.min(m?.left??h.left,innerWidth-476)),top:Math.min((m?.bottom??h.top)+6,innerHeight-220)}})});if(C(y,null),URL.revokeObjectURL(u),!_)continue;if(_.save)try{let t=await R.api.savePicture(_.path,e);c.push(t),l.add(t.path)}catch(e){T(`It wasn't saved: ${e.message}`);continue}let v=`![${_.alt.replace(/[[\]]/g,``)}](${s(_.path)})`;d.dispatch({changes:{from:t,insert:v},selection:{anchor:t+v.length}}),t+=v.length}P(p).focus()}let O=M(()=>n.source||!a()?{lines:0,chars:0}:a().head),A=M(()=>{if(!a())return{blocks:[],marks:[],inline:[]};let e=e=>t=>({kind:e,from:t.from-P(O).chars,to:t.to-P(O).chars});return{blocks:a().layout.blocks.map(e=>({key:e.key,line:Math.max(0,e.line-P(O).lines)})).sort((e,t)=>e.line-t.line),marks:[...a().layout.picked.map(e(`picked`)),...a().layout.old.map(e(`old`)),...l().map(t=>e(t.kind)(t))].filter(e=>e.to>0),inline:a().layout.inline.map(e=>({key:e.key,at:e.at-P(O).chars})).filter(e=>e.at>=0)}});te(()=>{let e=so(f,{doc:n.source?n.note.text:n.note.body,source:n.source,label:n.source?`The note's file`:`The note`,notes:()=>R.listing.notes.filter(e=>e.id!==n.note.id).map(e=>({id:e.id,title:e.title,folder:e.dir,...e.kind?{kind:e.kind}:{}})),onPictures:(e,t,n)=>{ee(e,t,n)},pictureSource:{pictures:async()=>(await R.api.pictures()).map(e=>({path:e.path,width:e.width,height:e.height,src:Le(R.api,{path:e.path,from:`notes`})})),here:()=>n.note.id},onChange:e=>n.source?n.note.setText(e):n.note.setBody(e),onSave:()=>{n.note.save()},onFollow:e=>{I(_e(e))},embeds:{find:he,open:e=>{I(_e(e))}},onPoint:e=>ke.set(`note`,e?{...e,who:`you`}:null),codeBroken:e=>R.listing.notes.find(e=>e.id===n.note.id)?.broken?.includes(e)??!1,pictures:e=>{let t=we(e,n.note.id);return t?{key:`${t.from}:${t.path}`,src:Le(R.api,t)}:null},artifacts:e=>{let t=Ht(e,n.note.id);return t?{path:t,mount:e=>{let n=r(Xt,{target:e,props:{path:t}});return()=>{k(n)}}}:null},...a()?{onAsk:e=>{let t=n.note.text.slice(e.from+P(O).chars,e.to+P(O).chars).trim();t&&Se.add({kind:`passage`,id:n.note.id,title:n.note.fields.title||n.note.id,text:t}),de.to(`iso`),requestAnimationFrame(()=>document.getElementById(`iso-box`)?.focus())},onCursor:e=>{a().cursor={line:e.line+P(O).lines,from:e.from+P(O).chars,to:e.to+P(O).chars}},picking:()=>a().picking,onPick:e=>a().pick(e.map(e=>({from:e.from+P(O).chars,to:e.to+P(O).chars}))),onUnpick:e=>a().unpick(e+P(O).chars),mountOverlay:(e,t)=>{let n=r(t.startsWith(`r:`)?Vo:jo,{target:e,props:{iso:a(),key:t}});return()=>{k(n)}}}:{placeholder:s(()=>n.placeholder)??`Write what you understand, what you do not, and what you want from Iso. [[ links a note it should rest on.`}});return C(p,e),()=>{e.destroy(),ke.set(`note`,null)}}),o(()=>{n.note.revision,s(()=>{P(p)&&co(P(p),n.source?n.note.text:n.note.body)})}),o(()=>{let e=c(),t=P(O).lines;P(p)&&P(p).dispatch({effects:Wa.of(e?{who:e.who,lines:e.lines.map(e=>e-t)}:null)})}),o(()=>{let e=ke.onAtlas;P(p)&&P(p).dispatch({effects:Xa.of(e)})}),o(()=>{let{blocks:e,marks:t,inline:n}=P(A);P(p)&&P(p).dispatch({effects:[Ua.of(e),Ka.of({marks:t,inline:n})]})});var j=Uo(),re=h(j);let F;b(re,e=>f=e,()=>f);var L=d(re,2),ie=e=>{go(e,v(()=>P(y)))};i(L,e=>{P(y)&&e(ie)});var ae=d(L,2),oe=e=>{var n=Ho(),r=_(n,!0);m(()=>u(r,P(S))),t(e,n)};i(ae,e=>{P(S)&&e(oe)}),m(()=>F=E(re,1,`editor svelte-hrl8lz`,null,F,{source:n.source})),t(e,j),ne()}export{zt as a,Rt as c,Nt as d,Ot as f,qt as i,Wt as l,so as n,Bt as o,Wa as r,Ut as s,Wo as t,Lt as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,C as t,E as n,F as r,I as i,L as a,M as o,O as s,Q as c,W as l,Y as u,Z as d,ct as f,d as p,et as m,f as h,g,i as _,p as v,pt as y,rt as b,st as x,tt as S,z as C}from"./Iqr2CudW.js";import"./xihTtKlq.js";import{a as w}from"./Uo6irDQW.js";var T=o(`<li role="option"><button type="button" tabindex="-1" class="svelte-35e6rs"><span class="dir svelte-35e6rs"> </span><span class="detail svelte-35e6rs"> </span></button></li>`),E=o(`<ul class="suggest svelte-35e6rs" role="listbox" aria-label="folders"></ul>`),D=o(`<span class="field-wrap svelte-35e6rs"><input autocomplete="off" spellcheck="false" role="combobox" aria-autocomplete="list"/> <!></span>`);function O(r,o){f(o,!0);let O=_(o,`value`,15,``),k=_(o,`placeholder`,3,``),A=_(o,`id`,3,`folder`),j=_(o,`quiet`,3,!1),M=S(!1),N=S(0),P=b(()=>O().trim().replace(/^\/+|\/+$/g,``).toLowerCase()),F=e=>w.listing.notes.filter(t=>t.dir===e).length,I=b(()=>{let e=w.listing.dirs.filter(e=>e.toLowerCase().includes(C(P))),t=e=>e.split(`/`).at(-1).toLowerCase().startsWith(C(P))?0:e.toLowerCase().startsWith(C(P))?1:2,n=e.sort((e,n)=>t(e)-t(n)||e.localeCompare(n)).map(e=>({dir:e,made:!1}));return C(P)&&!w.listing.dirs.some(e=>e.toLowerCase()===C(P))&&n.push({dir:O().trim().replace(/^\/+|\/+$/g,``),made:!0}),n.slice(0,8)});function L(e){O(e),m(M,!1),o.onpick?.(e)}function R(e){if(C(M)&&C(I).length){if(e.key===`ArrowDown`){m(N,(C(N)+1)%C(I).length),e.preventDefault();return}if(e.key===`ArrowUp`){m(N,(C(N)-1+C(I).length)%C(I).length),e.preventDefault();return}if((e.key===`Enter`||e.key===`Tab`)&&C(I)[C(N)]&&(e.key===`Enter`||C(P))){e.key===`Enter`&&e.preventDefault(),L(C(I)[C(N)].dir);return}if(e.key===`Escape`){m(M,!1),e.stopPropagation();return}}o.onkeydown?.(e)}var z=D(),B=u(z);h(B);let V;var H=c(B,2),U=n=>{var r=E();t(r,23,()=>C(I),e=>e.dir+e.made,(t,n,r)=>{var o=T();let f;var p=u(o),h=u(p),_=d(h,!0),b=c(h),x=d(b,!0);y(p),y(o),l(e=>{v(o,`id`,`${A()??``}-opt-${C(r)??``}`),v(o,`aria-selected`,C(r)===C(N)),f=g(o,1,`svelte-35e6rs`,null,f,{at:C(r)===C(N)}),s(_,C(n).dir),s(x,e)},[()=>C(n).made?`new folder`:`${F(C(n).dir)} ${F(C(n).dir)===1?`note`:`notes`}`]),i(`mousedown`,p,e=>e.preventDefault()),i(`click`,p,()=>L(C(n).dir)),a(`mouseenter`,p,()=>m(N,C(r),!0)),e(t,o)}),y(r),l(()=>v(r,`id`,`${A()??``}-list`)),e(n,r)};n(H,e=>{C(M)&&C(I).length&&e(U)}),y(z),l(()=>{v(B,`id`,A()),V=g(B,1,`mono svelte-35e6rs`,null,V,{field:!j(),quiet:j()}),v(B,`placeholder`,k()),v(B,`aria-label`,o.label),v(B,`aria-expanded`,C(M)&&C(I).length>0),v(B,`aria-controls`,`${A()??``}-list`),v(B,`aria-activedescendant`,C(M)&&C(I)[C(N)]?`${A()}-opt-${C(N)}`:void 0)}),a(`focus`,B,()=>{m(M,!0),m(N,0)}),i(`input`,B,()=>{m(M,!0),m(N,0)}),a(`blur`,B,()=>setTimeout(()=>m(M,!1),120)),i(`keydown`,B,R),p(B,O),e(r,z),x()}r([`input`,`keydown`,`mousedown`,`click`]);export{O as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{dt as e}from"./Iqr2CudW.js";e();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,C as t,E as n,F as r,I as i,L as a,M as o,O as s,Q as c,W as l,X as u,Y as d,Z as f,ct as p,g as m,h,i as g,j as _,p as v,pt as y,rt as b,st as x,z as S}from"./Iqr2CudW.js";import"./xihTtKlq.js";import"./Uo6irDQW.js";import{C}from"./DsQj0LyB.js";var w={wrote:`wrote the note`,found:`found`,edited:`edited`,kept:`kept`,offered:`offered`,discarded:`removed`,restored:`restored an earlier version`,moved:`moved the note`,"changed elsewhere":`changed elsewhere`};function T(e){let t=e.who===`you`?`you`:e.who===`external`?`outside isorite`:e.who.startsWith(`agent:`)?C(e.who):`Iso`;return e.asked===void 0?e.who===`external`?e.what===`found`?`found as it was, outside isorite`:`changed outside isorite`:`${t} ${w[e.what]}`:`${t} · “${e.asked.length>80?e.asked.slice(0,80)+`…`:e.asked}” · ${e.what===`offered`?`not kept yet`:w[e.what]}`}function E(e,t=Date.now()){let n=Math.max(0,(t-Date.parse(e))/1e3),[r,i]=n<90?[0,`now`]:n<5400?[Math.round(n/60),`minute`]:n<129600?[Math.round(n/3600),`hour`]:[Math.round(n/86400),`day`];return i===`now`?`just now`:`${r} ${i}${r===1?``:`s`} ago`}var D=e=>e.ids.at(-1),O=`.btn:not(:disabled), .chip, [data-lustre]`,k=`input:not([type=button],[type=checkbox],[type=radio],[type=range],[type=submit]), textarea, select, [contenteditable], [contenteditable] *`;function A(e){let t=[[0]];for(;t.length<e;){let e=t.length,n=[];for(let r=0;r<2*e;r++){n.push([]);for(let i=0;i<2*e;i++)n[r].push(4*t[r%e][i%e]+[[0,2],[3,1]][Math.floor(r/e)][Math.floor(i/e)])}t=n}return t.map(t=>t.map(t=>(t+.5)/(e*e)))}var j=A(4),M=2,N=320,P=24,F=()=>matchMedia(`(prefers-reduced-motion: reduce)`).matches,I=new WeakMap;function L(e,t){let[n,r,i,a]=[t.top,t.right,t.bottom,t.left];for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){let e=getComputedStyle(t);if(e.overflowX===`visible`&&e.overflowY===`visible`)continue;let o=t.getBoundingClientRect();n=Math.max(n,o.top),r=Math.min(r,o.right),i=Math.min(i,o.bottom),a=Math.max(a,o.left)}return n<i&&a<r?[n-t.top,t.right-r,t.bottom-i,a-t.left]:null}function R(e,t=!1){if(F()||I.has(e)&&!t)return;I.get(e)?.remove();let n=e.getBoundingClientRect(),r=L(e,n);if(!r||n.width<8)return;let i=Math.ceil(n.width/M),a=Math.ceil(n.height/M),o=getComputedStyle(e),[s,c,l]=o.getPropertyValue(`--sheen`).trim().split(/\s+/).map(Number),u=Math.min(1,(parseFloat(o.getPropertyValue(`--glint`))||.4)*1.05*(parseFloat(o.getPropertyValue(`--sheen-k`))||1)),d=(parseFloat(o.getPropertyValue(`--cut`))||0)/M,f=document.createElement(`canvas`);f.className=`lustre`,f.width=i,f.height=a,Object.assign(f.style,{left:`${n.left}px`,top:`${n.top}px`,width:`${i*M}px`,height:`${a*M}px`,clipPath:`inset(${r.map(e=>`${e}px`).join(` `)})`}),document.body.append(f);let p=f.getContext(`2d`),m=p.createImageData(i,a),h=m.data,g=Math.max(4,Math.round(i*.1)),_=performance.now();I.set(e,f);let v=-1,y=t=>{let n=Math.floor((t-_)/1e3*P),r=n*1e3/P/N;if(I.get(e)===f){if(r>=1||!e.isConnected)f.remove(),I.delete(e);else{if(n!==v){v=n;let e=Math.round(-g+r*(i+a/2+2*g));for(let t=0;t<a;t++)for(let n=0;n<i;n++){let r=(t*i+n)*4,o=Math.max(0,1-Math.abs(n+t/2-e)/g),f=d>0&&(n+t<d||i-1-n+(a-1-t)<d);h[r]=s,h[r+1]=c,h[r+2]=l,h[r+3]=!f&&o>j[t%4][n%4]?u*255:0}p.putImageData(m,0,0)}requestAnimationFrame(y)}}};requestAnimationFrame(y)}function z(){let e=document.createElement(`div`);e.className=`brackets`,e.setAttribute(`aria-hidden`,`true`),document.body.append(e);let t=null,n=()=>{let n=t?.isConnected?t.getBoundingClientRect():null;e.hidden=!n||!n.width,n&&!e.hidden&&Object.assign(e.style,{left:`${Math.round(n.left)-4}px`,top:`${Math.round(n.top)-4}px`,width:`${Math.round(n.width)+8}px`,height:`${Math.round(n.height)+8}px`})};return{at:e=>{t=e,n()},place:n}}function B(){let e=z(),t=e=>{if(e.pointerType!==`mouse`)return;let t=e.target.closest?.(O);t&&!(e.relatedTarget instanceof Node&&t.contains(e.relatedTarget))&&R(t)},n=t=>{let n=t.target;if(!n.matches?.(`:focus-visible`)||n.matches(k)){e.at(null);return}e.at(n);let r=n.closest(O);r&&R(r)},r=()=>e.at(null),i=0,a=()=>{i||=requestAnimationFrame(()=>{i=0,e.place()})};document.addEventListener(`pointerover`,t),document.addEventListener(`focusin`,n),document.addEventListener(`focusout`,r),addEventListener(`scroll`,a,!0),addEventListener(`resize`,a);let o=setInterval(a,250);return()=>{document.removeEventListener(`pointerover`,t),document.removeEventListener(`focusin`,n),document.removeEventListener(`focusout`,r),removeEventListener(`scroll`,a,!0),removeEventListener(`resize`,a),clearInterval(o),document.querySelector(`.brackets`)?.remove()}}var V=o(`<i aria-hidden="true"></i>`);function H(t,r){p(r,!0);let i=b(()=>r.moment.who.startsWith(`iso:`)),a=b(()=>r.moment.who.startsWith(`agent:`));var o=_(),s=u(o),c=t=>{var n=V();let i;l(()=>i=m(n,1,`dia svelte-1jroppb`,null,i,{open:r.moment.what===`offered`||r.moment.what===`discarded`,gone:r.moment.what===`discarded`,agent:S(a)})),e(t,n)},d=t=>{var n=V();let i;l(()=>i=m(n,1,`sq`,null,i,{empty:r.moment.who===`external`})),e(t,n)};n(s,e=>{S(i)||S(a)?e(c):e(d,-1)}),e(t,o),x()}var U=o(`<span class="asked svelte-112n2zp" aria-hidden="true"> </span>`),W=o(`<li class="svelte-112n2zp"><button type="button"><!></button> <!></li>`),G=o(`<ol></ol>`);function K(r,o){p(o,!0);let u=e=>e.asked===void 0?`${T(e)} · ${E(e.at)}${e.added||e.removed?` · +${e.added} −${e.removed}`:``}`:`“${e.asked}”`,_=g(o,`strata`,3,!1),C=g(o,`label`,3,e=>_()?u(e):e.asked===void 0?void 0:`“${e.asked}”`),w=g(o,`name`,3,`The note's timeline`),O=g(o,`leftward`,3,!1),k=b(()=>_()?[...o.moments].reverse():o.moments),A=e=>Math.min(40,Math.round(4+2.5*Math.sqrt(e.added+e.removed))),j=e=>e.who.startsWith(`iso:`)?`iso`:e.who.startsWith(`agent:`)?`agent`:e.who===`external`?`external`:`you`;var M=G();let N;t(M,21,()=>S(k),e=>e.ids[0],(t,r)=>{var u=W(),p=d(u);let g,x;var w=d(p),O=e=>{H(e,{get moment(){return S(r)}})};n(w,e=>{_()||e(O)}),y(p);var k=c(p,2),M=t=>{var n=U(),i=f(n,!0);l(e=>s(i,e),[()=>C()(S(r))]),e(t,n)},N=b(()=>o.pointed===S(r)&&C()(S(r))!==void 0);n(k,e=>{S(N)&&e(M)}),y(u),l((e,t,n,r,i,a)=>{g=m(p,1,`moment ${e??``}`,`svelte-112n2zp`,g,{at:t}),v(p,`aria-current`,n),v(p,`aria-label`,`${r??``}, ${i??``}`),x=h(p,``,x,{height:a})},[()=>_()?`layer ${j(S(r))} ${S(r).what}`:``,()=>o.at===D(S(r)),()=>o.at===D(S(r))?`step`:void 0,()=>T(S(r)),()=>E(S(r).at),()=>_()?`${A(S(r))}px`:void 0]),a(`pointerenter`,p,()=>o.point(S(r))),a(`pointerleave`,p,()=>o.point(null)),a(`focus`,p,()=>o.point(S(r))),a(`blur`,p,()=>o.point(null)),i(`click`,p,()=>o.pick(S(r))),e(t,u)}),y(M),l(()=>{N=m(M,1,`timeline svelte-112n2zp`,null,N,{leftward:O(),strata:_()}),v(M,`aria-label`,w())}),e(r,M),x()}r([`click`]);export{T as a,E as i,B as n,D as o,R as r,K as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,C as t,E as n,F as r,G as i,I as a,L as o,M as s,O as c,Q as l,W as u,Y as d,Z as f,ct as p,d as m,et as h,f as g,g as _,gt as v,it as y,p as b,pt as x,rt as S,st as C,tt as w,z as T}from"./Iqr2CudW.js";import{t as E}from"./4kgFUGOH.js";import"./xihTtKlq.js";import{a as D,c as O,i as k,s as A}from"./Uo6irDQW.js";import{t as j}from"./Bk_JinGf.js";var M=s(`<p class="problem svelte-btgyzc" role="alert"> </p>`),N=s(`<form class="frame new svelte-btgyzc"><span class="frame-title">a new note</span> <label class="svelte-btgyzc"><span class="label">title</span> <input class="field" placeholder="Entropy" autocomplete="off"/></label> <label for="new-folder" class="svelte-btgyzc"><span class="label">folder</span></label> <!> <p class="faint path svelte-btgyzc"> </p> <!> <div class="row svelte-btgyzc"><button class="btn primary" type="submit">make it</button><button class="btn quiet" type="button">cancel</button></div></form>`),ee=s(`<p class="soft empty svelte-btgyzc">This base has no notes yet. Make the first one.</p>`),te=s(`<span class="soft desc svelte-btgyzc"> </span>`),ne=s(`<li class="svelte-btgyzc"><a data-lustre=""><span class="serif title svelte-btgyzc"> </span><!></a></li>`),re=s(`<section><h2 class="svelte-btgyzc"><span class="label"> </span><button class="btn quiet add svelte-btgyzc" type="button">+</button></h2> <ul class="svelte-btgyzc"></ul></section>`),ie=s(`<li class="svelte-btgyzc"><a data-lustre=""><span class="serif title svelte-btgyzc"> </span><span class="soft desc svelte-btgyzc"> </span></a></li>`),ae=s(`<section><h2 class="svelte-btgyzc"><span class="label">in the text</span></h2> <ul class="svelte-btgyzc"></ul></section>`),oe=s(`<p class="soft empty svelte-btgyzc">No note matches.</p>`),P=s(`<div class="notes svelte-btgyzc"><div class="top svelte-btgyzc"><label class="hidden-label" for="filter">Find a note</label> <input id="filter" class="field grow" type="search" placeholder="find a note" autocomplete="off"/> <button class="btn primary" type="button" data-tour="new-note">new note</button></div> <!> <!> <!> <!> <!></div>`);function F(r,s){p(s,!0);let F=w(``),I=w([]),L=w(!1),R=w(``),z=w(``),B=w(``),V=S(()=>T(F).trim().toLowerCase().split(/\s+/).filter(Boolean)),H=e=>T(V).every(t=>`${e.title}\n${e.id}\n${e.description}`.toLowerCase().includes(t)),U=S(()=>T(V).length?D.listing.notes.filter(H):D.listing.notes),se=S(()=>{let e=new Map;if(!T(V).length)for(let t of D.listing.dirs)e.set(t,[]);for(let t of T(U))e.set(t.dir,[...e.get(t.dir)??[],t]);return[...e].sort(([e],[t])=>e<t?-1:+(e>t))}),W=S(()=>T(V).length?T(I).filter(e=>!T(U).some(t=>t.id===e.id)):[]);i(()=>{let e=T(F).trim();if(e.length<2){h(I,[]);return}let t=setTimeout(()=>{D.api.search(e).then(t=>{T(F).trim()===e&&h(I,t)},()=>void 0)},200);return()=>clearTimeout(t)});let G=S(()=>[T(z).trim().replace(/^\/+|\/+$/g,``),O(T(R))].filter(Boolean).join(`/`));function K(e=``){h(L,!0),h(z,e,!0),h(R,``),h(B,``)}async function ce(e){if(e.preventDefault(),!O(T(R)))h(B,`Give the note a title.`);else try{await D.api.createNote(T(G),`---\ntype: Concept\ntitle: ${JSON.stringify(T(R).trim())}\n---\n\n`),await D.refresh(),await E(A(T(G)))}catch(e){h(B,e.message,!0)}}var q=P(),J=d(q),Y=l(d(J),2);g(Y),y(Y,!0);var le=l(Y,2);x(J);var X=l(J,2),ue=t=>{var r=N(),i=l(d(r),2),s=l(d(i),2);g(s),y(s,!0),x(i);var p=l(i,4);j(p,{id:`new-folder`,label:`folder`,placeholder:`none: the top of the base`,get value(){return T(z)},set value(e){h(z,e,!0)}});var _=l(p,2),v=f(_,!0),b=l(_,2),S=t=>{var n=M(),r=f(n,!0);u(()=>c(r,T(B))),e(t,n)};n(b,e=>{T(B)&&e(S)});var C=l(b,2),w=l(d(C));x(C),x(r),u(()=>c(v,T(G)?`${T(G)}.md`:` `)),o(`submit`,r,ce),m(s,()=>T(R),e=>h(R,e)),a(`click`,w,()=>h(L,!1)),e(t,r)};n(X,e=>{T(L)&&e(ue)});var Z=l(X,2),de=t=>{var n=ee();e(t,n)};n(Z,e=>{!D.listing.notes.length&&!T(L)&&e(de)});var Q=l(Z,2);t(Q,17,()=>T(se),([e,t])=>e,(r,i)=>{var o=S(()=>v(T(i),2));let s=()=>T(o)[0],p=()=>T(o)[1];var m=re(),h=d(m),g=d(h),y=f(g,!0),C=l(g);x(h);var w=l(h,2);t(w,21,p,e=>e.id,(t,r)=>{var i=ne(),a=d(i);let o;var s=d(a),p=f(s,!0),m=l(s),h=t=>{var n=te(),i=f(n,!0);u(()=>c(i,T(r).description)),e(t,n)};n(m,e=>{T(r).description&&e(h)}),x(a),x(i),u(e=>{o=_(a,1,`vein-row svelte-btgyzc`,null,o,{on:T(r).id===k.last}),b(a,`href`,e),c(p,T(r).title)},[()=>A(T(r).id)]),e(t,i)}),x(w),x(m),u(()=>{c(y,s()||`the top of the base`),b(C,`aria-label`,`New note in ${s()||`the top of the base`}`)}),a(`click`,C,()=>K(s())),e(r,m)});var $=l(Q,2),fe=n=>{var r=ae(),i=l(d(r),2);t(i,21,()=>T(W),e=>e.id,(t,n)=>{var r=ie(),i=d(r);let a;var o=d(i),s=f(o,!0),p=l(o),m=f(p,!0);x(i),x(r),u(e=>{a=_(i,1,`vein-row svelte-btgyzc`,null,a,{on:T(n).id===k.last}),b(i,`href`,e),c(s,T(n).title),c(m,T(n).snippet)},[()=>A(T(n).id)]),e(t,r)}),x(i),x(r),e(n,r)};n($,e=>{T(W).length&&e(fe)});var pe=l($,2),me=t=>{var n=oe();e(t,n)};n(pe,e=>{T(V).length&&!T(U).length&&!T(W).length&&e(me)}),x(q),m(Y,()=>T(F),e=>h(F,e)),a(`click`,le,()=>K()),e(r,q),C()}r([`click`]);export{F as t};
|