islandflow/docs/turns/2026-06-13-0338-configure-hosted-api-endpoint.html

493 lines
298 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Configure Hosted API Endpoint</title>
<style>
:root {
color-scheme: dark;
--bg: #06080b;
--panel: #101720;
--panel-2: #0b1118;
--ink: #e6edf4;
--muted: #9aa8b8;
--faint: #738195;
--line: rgba(255, 255, 255, 0.12);
--accent: #f5a623;
}
* { box-sizing: border-box; }
body {
margin: 0;
background: radial-gradient(circle at 12% 0%, rgba(245, 166, 35, 0.09), transparent 28%), var(--bg);
color: var(--ink);
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
line-height: 1.55;
}
main {
width: min(1120px, calc(100vw - 32px));
margin: 0 auto;
padding: 48px 0 64px;
}
header {
border-bottom: 1px solid var(--line);
padding-bottom: 24px;
margin-bottom: 28px;
}
.eyebrow {
margin: 0 0 10px;
color: var(--accent);
font: 700 0.76rem/1.2 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
letter-spacing: 0.08em;
text-transform: uppercase;
}
h1, h2, h3 {
margin: 0;
text-wrap: balance;
line-height: 1.1;
}
h1 {
max-width: 760px;
font-size: 2.35rem;
letter-spacing: 0;
}
h2 {
margin-bottom: 12px;
font-size: 1.05rem;
color: #f3f7fb;
}
p { max-width: 78ch; }
p, ul { margin: 0; color: var(--muted); }
section {
margin-top: 18px;
padding: 20px;
border: 1px solid var(--line);
border-radius: 12px;
background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.018)), var(--panel);
}
ul { padding-left: 1.2rem; }
li + li { margin-top: 6px; }
code {
color: #ffe0a8;
background: rgba(255,255,255,0.055);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 6px;
padding: 0.1rem 0.32rem;
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
font-size: 0.93em;
}
.facts {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
gap: 10px;
margin-top: 18px;
}
.fact {
padding: 12px 14px;
border: 1px solid var(--line);
border-radius: 10px;
background: var(--panel-2);
}
.fact span {
display: block;
color: var(--faint);
font: 700 0.72rem/1.2 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.fact strong {
display: block;
margin-top: 4px;
color: var(--ink);
font-size: 0.94rem;
overflow-wrap: anywhere;
}
.diff-frame {
display: block;
width: 100%;
height: min(760px, 74vh);
margin-top: 12px;
border: 1px solid var(--line);
border-radius: 12px;
background: #080d12;
}
.note {
color: var(--faint);
font-size: 0.92rem;
}
</style>
</head>
<body>
<main>
<header>
<p class="eyebrow">Turn Document · June 13, 2026</p>
<h1>Configure Local Web and Desktop Development for the Hosted API</h1>
<div class="facts">
<div class="fact"><span>Branch</span><strong>lavender/configure-hosted-api-endpoint</strong></div>
<div class="fact"><span>Issue</span><strong>islandflow-7l2</strong></div>
<div class="fact"><span>API Host</span><strong>https://api.flow.deltaisland.io</strong></div>
<div class="fact"><span>App Host</span><strong>https://flow.deltaisland.io</strong></div>
</div>
</header>
<section>
<h2>Summary</h2>
<p>Local web development and the desktop local-UI workflow now default API and WebSocket traffic to <code>https://api.flow.deltaisland.io</code>, while the hosted desktop window still opens the app at <code>https://flow.deltaisland.io</code>.</p>
</section>
<section>
<h2>Changes Made</h2>
<ul>
<li>Added a local web development default API origin in <code>apps/web/scripts/dev.ts</code>.</li>
<li>Changed <code>scripts/dev-desktop.ts</code> so its spawned local web UI uses the API subdomain by default.</li>
<li>Updated README guidance for web and desktop development to distinguish the hosted app origin from the hosted API origin.</li>
<li>Updated the ignored local file <code>apps/web/.env.local</code> on this machine to point at the API subdomain. That local file is not committed.</li>
</ul>
</section>
<section>
<h2>Context</h2>
<p>The VPS check over <code>ssh di</code> confirmed <code>https://api.flow.deltaisland.io/health</code> returns <code>200</code>, while <code>https://flow.deltaisland.io/health</code> returns <code>404</code>. The app origin remains the hosted UI, and the API subdomain is the correct base for local dev API and WebSocket calls.</p>
</section>
<section>
<h2>Important Implementation Details</h2>
<ul>
<li><code>bun run dev:web</code> now passes <code>NEXT_PUBLIC_API_URL</code> into Next.js when the variable is not already set.</li>
<li><code>bun run dev:desktop</code> still launches Electron at <code>http://127.0.0.1:3000</code>, but the local web child receives the hosted API origin.</li>
<li><code>bun run dev:desktop:remote</code> still loads <code>https://flow.deltaisland.io</code> directly and does not start the local web child.</li>
</ul>
</section>
<section>
<h2>Relevant Diff Snippets</h2>
<p class="note">Rendered with <code>@pierre/diffs/ssr</code> from the focused endpoint patch and contained in an offline iframe.</p>
<iframe class="diff-frame" title="Rendered endpoint diff" srcdoc="<!doctype html><html><head><meta charset=&quot;utf-8&quot;><style>
:root{color-scheme:dark;--diffs-dark:#f4f7fb;--diffs-dark-bg:#080d12;--diffs-dark-addition-color:#25c17a;--diffs-dark-deletion-color:#ff6b5f;--diffs-dark-modified-color:#4da3ff;}
html,body{margin:0;background:#080d12;color:#f4f7fb;font-family:system-ui,-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,sans-serif;}
body{padding:0;}
.diff-frame-inner{min-width:max-content;}
[data-diffs-header]{border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);}
[data-line-type=&quot;change-addition&quot;] [data-line], [data-line-type=&quot;change-addition&quot;]{background-color:rgba(37,193,122,.16)!important;}
[data-line-type=&quot;change-deletion&quot;] [data-line], [data-line-type=&quot;change-deletion&quot;]{background-color:rgba(255,107,95,.16)!important;}
</style></head><body><div class=&quot;diff-frame-inner&quot;><svg data-icon-sprite aria-hidden=&quot;true&quot; width=&quot;0&quot; height=&quot;0&quot;>
<symbol id=&quot;diffs-icon-arrow-right-short&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-brand-github&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 0c4.42 0 8 3.58 8 8a8.01 8.01 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27s-1.36.09-2 .27c-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-chevron&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.47 4.47a.75.75 0 0 1 1.06 0L8 9.94l5.47-5.47a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-chevrons-narrow&quot; viewBox=&quot;0 0 10 16&quot;>
<path d=&quot;M4.47 2.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1-1.06 1.06L5 3.81 2.28 6.53a.75.75 0 0 1-1.06-1.06zM1.22 9.47a.75.75 0 0 1 1.06 0L5 12.19l2.72-2.72a.75.75 0 0 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0l-3.25-3.25a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-diff-split&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M14 0H8.5v16H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2m-1.5 6.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0&quot;/><path d=&quot;M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.5V0zm.5 7.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1&quot; opacity=&quot;.3&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-diff-unified&quot; viewBox=&quot;0 0 16 16&quot;>
<path fill-rule=&quot;evenodd&quot; d=&quot;M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8.5h16zm-8-4a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1A.5.5 0 0 0 8 10&quot; clip-rule=&quot;evenodd&quot;/><path fill-rule=&quot;evenodd&quot; d=&quot;M14 0a2 2 0 0 1 2 2v5.5H0V2a2 2 0 0 1 2-2zM6.5 3.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1z&quot; clip-rule=&quot;evenodd&quot; opacity=&quot;.4&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-expand&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M3.47 5.47a.75.75 0 0 1 1.06 0L8 8.94l3.47-3.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-expand-all&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M11.47 9.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L8 12.94zM7.526 1.418a.75.75 0 0 1 1.004.052l4 4a.75.75 0 1 1-1.06 1.06L8 3.06 4.53 6.53a.75.75 0 1 1-1.06-1.06l4-4z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-file-code&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M10.75 0c.199 0 .39.08.53.22l3.5 3.5c.14.14.22.331.22.53v9A2.75 2.75 0 0 1 12.25 16h-8.5A2.75 2.75 0 0 1 1 13.25V2.75A2.75 2.75 0 0 1 3.75 0zm-7 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V5h-1.25A2.25 2.25 0 0 1 10 2.75V1.5z&quot;/><path d=&quot;M7.248 6.19a.75.75 0 0 1 .063 1.058L5.753 9l1.558 1.752a.75.75 0 0 1-1.122.996l-2-2.25a.75.75 0 0 1 0-.996l2-2.25a.75.75 0 0 1 1.06-.063M8.69 7.248a.75.75 0 1 1 1.12-.996l2 2.25a.75.75 0 0 1 0 .996l-2 2.25a.75.75 0 1 1-1.12-.996L10.245 9z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-plus&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 3a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 8 3&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-added&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4&quot;/><path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-deleted&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8&quot;/><path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-diffstat&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/><path d=&quot;M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-ignored&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m11.53-2.47a.75.75 0 0 0-1.06-1.06l-6 6a.75.75 0 1 0 1.06 1.06z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-modified&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-moved&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/><path d=&quot;M8.495 4.695a.75.75 0 0 0-.05 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.05 1.06l2.044 2.248-1.796 1.995a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-ref&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706.286.286.71.54 1.41.73V1.86c-.7.19-1.124.444-1.41.73-.324.325-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8m4 6.397c.697.07 1.522.103 2.5.103 1.613 0 2.806-.088 3.704-.288.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5c-.978 0-1.803.033-2.5.103zM0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m7-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z&quot;/>
</symbol>
</svg><style data-core-css=&quot;&quot;>@layer base, theme, rendered, unsafe;
@layer base,theme,rendered,unsafe;@layer base{:host{--diffs-font-fallback:&quot;SF Mono&quot;, Monaco, Consolas, &quot;Ubuntu Mono&quot;, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace;--diffs-header-font-fallback:system-ui, -apple-system, &quot;Segoe UI&quot;, Roboto, &quot;Helvetica Neue&quot;, &quot;Noto Sans&quot;, &quot;Liberation Sans&quot;, Arial, sans-serif;--diffs-mixer:light-dark(#000,#fff);--diffs-gap-fallback:8px;--diffs-scrollbar-gutter-fallback:6px;--diffs-scrollbar-gutter:var(--diffs-scrollbar-gutter-override,var(--diffs-scrollbar-gutter-measured,var(--diffs-scrollbar-gutter-fallback)));--diffs-added-light:#0dbe4e;--diffs-added-dark:#5ecc71;--diffs-modified-light:#009fff;--diffs-modified-dark:#69b1ff;--diffs-deleted-light:#ff2e3f;--diffs-deleted-dark:#ff6762;color-scheme:light dark;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);font-feature-settings:var(--diffs-font-features);--diffs-bg:light-dark(var(--diffs-light-bg,#fff),var(--diffs-dark-bg,#000));--diffs-bg-buffer:var(--diffs-bg-buffer-override,light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));--diffs-bg-context:var(--diffs-bg-context-override,light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));--diffs-bg-context-gutter:var(--diffs-bg-context-gutter-override,light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)),color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));--diffs-bg-separator:var(--diffs-bg-separator-override,light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));--diffs-fg:light-dark(var(--diffs-light,#000),var(--diffs-dark,#fff));--diffs-fg-number:var(--diffs-fg-number-override,light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));--diffs-fg-conflict-marker:var(--diffs-fg-conflict-marker-override,var(--diffs-fg-number));--diffs-deletion-base:var(--diffs-deletion-color-override,light-dark(var(--diffs-light-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-light))),var(--diffs-dark-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-dark)))));--diffs-addition-base:var(--diffs-addition-color-override,light-dark(var(--diffs-light-addition-color,var(--diffs-addition-color,var(--diffs-added-light))),var(--diffs-dark-addition-color,var(--diffs-addition-color,var(--diffs-added-dark)))));--diffs-modified-base:var(--diffs-modified-color-override,light-dark(var(--diffs-light-modified-color,var(--diffs-modified-color,var(--diffs-modified-light))),var(--diffs-dark-modified-color,var(--diffs-modified-color,var(--diffs-modified-dark)))));--diffs-bg-deletion:var(--diffs-bg-deletion-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));--diffs-bg-deletion-emphasis:var(--diffs-bg-deletion-emphasis-override,light-dark(rgb(from var(--diffs-deletion-base) r g b / .15),rgb(from var(--diffs-deletion-base) r g b / .2)));--diffs-bg-addition:var(--diffs-bg-addition-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));--diffs-bg-addition-emphasis:var(--diffs-bg-addition-emphasis-override,light-dark(rgb(from var(--diffs-addition-base) r g b / .15),rgb(from var(--diffs-addition-base) r g b / .2)));--diffs-selection-base:var(--diffs-modified-base);--diffs-selection-number-fg:light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));background-color:var(--diffs-bg);color:var(--diffs-fg);display:block}pre,code,[data-error-wrapper]{isolation:isolate;font-family:var(--diffs-font-family,var(--diffs-font-fallback));outline:none;margin:0;padding:0;display:block}pre,code{background-color:var(--diffs-bg)}code{contain:content}*,:before,:after{box-sizing:border-box}[data-icon-sprite]{display:none}[data-diffs-header],[data-separator]{font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback))}[data-diffs-header][data-sticky]{z-index:1;background-color:var(--diffs-bg);position:sticky;top:0}[data-file-info]{color:var(--fg);background-color:color-mix(in lab, var(--bg) 98%, var(--fg));border-block:1px solid color-mix(in lab, var(--bg) 95%, var(--fg));padding:10px;font-weight:700}[data-diff],[data-file]{--diffs-grid-number-column-width:minmax(min-content, max-content);--diffs-code-grid:var(--diffs-grid-number-column-width) 1fr}[data-dehydrated]:is([data-diff],[data-file]){--diffs-code-grid:var(--diffs-grid-number-column-width) minmax(0, 1fr)}:is([data-diff],[data-file]):hover [data-code]::-webkit-scrollbar-thumb{background-color:var(--diffs-bg-context)}@supports (-webkit-touch-callout:none){:host{--diffs-scrollbar-gutter-fallback:0px}}[data-line] span{color:light-dark(var(--diffs-token-light,var(--diffs-light)),var(--diffs-token-dark,var(--diffs-dark)));background-color:light-dark(var(--diffs-token-light-bg,inherit),var(--diffs-token-dark-bg,inherit));font-weight:light-dark(var(--diffs-token-light-font-weight,inherit),var(--diffs-token-dark-font-weight,inherit));font-style:light-dark(var(--diffs-token-light-font-style,inherit),var(--diffs-token-dark-font-style,inherit));-webkit-text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit));text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit))}[data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);color:var(--diffs-fg);background-color:var(--diffs-line-bg,var(--diffs-bg))}@media (pointer:fine){:is([data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]):where([data-hovered]){--diffs-computed-hovered-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-selected-line-bg) 97%, var(--diffs-bg-hover-override,var(--diffs-mixer))),color-mix(in lab, var(--diffs-computed-selected-line-bg) 91%, var(--diffs-bg-hover-override,var(--diffs-mixer))));--diffs-line-bg:var(--diffs-computed-hovered-line-bg,inherit)}}[data-decoration-bg]:is([data-line],[data-no-newline]){--mix-deco-light:92%;--mix-deco-dark:85%}[data-decoration-bg][data-decoration-bg-depth=&quot;2&quot;]:is([data-line],[data-no-newline]){--mix-deco-light:88%;--mix-deco-dark:80%}[data-decoration-bg][data-decoration-bg-depth=&quot;3&quot;]:is([data-line],[data-no-newline]){--mix-deco-light:85%;--mix-deco-dark:78%}@media (pointer:fine){[data-decoration-bg][data-hovered]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:85%;--mix-deco-dark:85%}[data-decoration-bg][data-hovered][data-decoration-bg-depth=&quot;2&quot;]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:83%;--mix-deco-dark:83%}[data-decoration-bg][data-hovered][data-decoration-bg-depth=&quot;3&quot;]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:81%;--mix-deco-dark:81%}}[data-decoration-bg]:is([data-line],[data-no-newline]){--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) var(--mix-deco-light), var(--diffs-decoration-bg)),color-mix(in lab, var(--diffs-bg) var(--mix-deco-dark), var(--diffs-decoration-bg)));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-line-annotation],[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context);--diffs-computed-decoration-bg:var(--diffs-annotation-bg);--diffs-computed-diff-line-bg:var(--diffs-annotation-bg);--diffs-computed-selected-line-bg:var(--diffs-annotation-bg);--diffs-line-bg:var(--diffs-annotation-bg)}[data-merge-conflict-actions],[data-gutter-buffer=merge-conflict-action],[data-gutter-buffer=merge-conflict-marker-base],[data-gutter-buffer=merge-conflict-marker-separator],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator]{--diffs-computed-decoration-bg:var(--diffs-bg-context);--diffs-computed-diff-line-bg:var(--diffs-bg-context);--diffs-computed-selected-line-bg:var(--diffs-bg-context);--diffs-line-bg:var(--diffs-bg-context)}[data-gutter-buffer=merge-conflict-marker-start],[data-merge-conflict=marker-start]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-gutter-buffer=merge-conflict-marker-end],[data-merge-conflict=marker-end]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-has-merge-conflict] [data-line-annotation],[data-has-merge-conflict] [data-gutter-buffer=annotation]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);--diffs-line-bg:var(--diffs-bg)}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number]{--mix-light:91%;--mix-dark:85%}:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--mix-light:88%;--mix-dark:80%}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--diffs-diff-line-mix-target:var(--diffs-bg)}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-deletion-override,var(--diffs-deletion-base))}@media (pointer:fine){[data-line-type=change-deletion][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:75%}}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-deletion-override,var(--diffs-deletion-base));--diffs-diff-line-mix-target:var(--diffs-bg-deletion-number-override,var(--diffs-deletion-base))}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-addition-override,var(--diffs-addition-base))}@media (pointer:fine){[data-line-type=change-addition][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--diffs-bg-addition-number-override,var(--diffs-addition-base))}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-current-override,var(--diffs-addition-base))}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--conflict-bg-current-number-override,var(--diffs-addition-base))}@media (pointer:fine){[data-merge-conflict=current][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-incoming-override,var(--diffs-modified-base))}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-modified-base);--diffs-diff-line-mix-target:var(--conflict-bg-incoming-number-override,var(--diffs-modified-base))}@media (pointer:fine){[data-merge-conflict=incoming][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]{--diffs-selection-mix-target:var(--diffs-bg-selection-override,var(--diffs-selection-base))}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--mix-selection-light:82%;--mix-selection-dark:75%}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:75%;--mix-selection-dark:70%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]){--mix-selection-light:75%;--mix-selection-dark:60%;--diffs-selection-mix-target:var(--diffs-bg-selection-number-override,var(--diffs-selection-base))}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:70%;--mix-selection-dark:55%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--diffs-computed-selected-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-light), var(--diffs-selection-mix-target)),color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-dark), var(--diffs-selection-mix-target)));--diffs-line-bg:var(--diffs-computed-selected-line-bg,inherit)}[data-selected-line]:is([data-gutter-buffer],[data-column-number]){color:var(--diffs-selection-number-fg)}[data-no-newline]{-webkit-user-select:none;user-select:none}[data-no-newline] span{opacity:.6}[data-diff-type=split][data-overflow=scroll]{grid-template-columns:1fr 1fr;display:grid}[data-diff-type=split][data-overflow=scroll] [data-additions]{border-left:1px solid var(--diffs-bg)}[data-diff-type=split][data-overflow=scroll] [data-deletions]{border-right:1px solid var(--diffs-bg)}[data-code]{grid-auto-flow:dense;grid-template-columns:var(--diffs-code-grid);overflow:var(--diffs-overflow-override,scroll) clip;overscroll-behavior-x:none;tab-size:var(--diffs-tab-size,2);padding-top:var(--diffs-gap-block,var(--diffs-gap-fallback));padding-bottom:max(0px, calc(var(--diffs-gap-block,var(--diffs-gap-fallback)) - var(--diffs-scrollbar-gutter)));scrollbar-gutter:stable;align-self:flex-start;display:grid}[data-diffs-scrollbar-measure]{opacity:0;pointer-events:none;scrollbar-gutter:auto;grid-template-columns:none;width:100px;height:100px;padding:0;position:absolute;top:-200px;left:-200px}[data-container-size]{container-type:inline-size}[data-code]::-webkit-scrollbar{width:0;height:var(--diffs-scrollbar-gutter)}[data-code]::-webkit-scrollbar-track{background:0 0}[data-code]::-webkit-scrollbar-thumb{background-color:#0000;background-clip:content-box;border:1px solid #0000;border-radius:3px}[data-code]::-webkit-scrollbar-corner{background-color:#0000}@supports ((-moz-appearance:none)){[data-code]{scrollbar-width:thin;scrollbar-color:var(--diffs-bg-context) transparent;padding-bottom:var(--diffs-gap-block,var(--diffs-gap-fallback))}}:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]) [data-code],[data-overflow=wrap]:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]){padding-top:0}[data-gutter]{grid-template-rows:subgrid;grid-template-columns:subgrid;z-index:3;background-color:var(--diffs-bg);grid-column:1;display:grid;position:relative}[data-gutter] [data-gutter-buffer],[data-gutter] [data-column-number]{border-right:var(--diffs-gap-style,2px solid var(--diffs-bg))}[data-content]{grid-template-rows:subgrid;grid-template-columns:subgrid;background-color:var(--diffs-bg);grid-column:2;min-width:0;display:grid}[data-diff-type=split][data-overflow=wrap]{grid-auto-flow:dense;grid-template-columns:repeat(2, var(--diffs-code-grid));padding-block:var(--diffs-gap-block,var(--diffs-gap-fallback));display:grid}[data-diff-type=split][data-overflow=wrap] [data-deletions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-gutter]{grid-column:1}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-content]{border-right:1px solid var(--diffs-bg);grid-column:2}[data-diff-type=split][data-overflow=wrap] [data-additions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-gutter]{border-left:1px solid var(--diffs-bg);grid-column:3}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-content]{grid-column:4}[data-overflow=scroll] [data-gutter]{position:sticky;left:0}[data-interactive-lines] [data-line]{cursor:pointer}[data-interactive-line-numbers] [data-column-number]{cursor:pointer;touch-action:none}[data-content-buffer],[data-gutter-buffer]{-webkit-user-select:none;user-select:none;min-height:1lh;position:relative}[data-gutter-buffer]{padding-left:2ch;padding-right:1ch}[data-gutter-buffer]:before{content:&quot;&quot;;min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));display:block}[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context-gutter);min-height:0}[data-gutter-buffer=buffer]{--diffs-line-bg:var(--diffs-bg-context-gutter)}[data-content-buffer]{background-position:5px 0;background-size:8px 8px;background-origin:border-box;background-image:repeating-linear-gradient(-45deg, transparent, transparent 4.242px, var(--diffs-bg-buffer) 4.242px, var(--diffs-bg-buffer) 5.656px);grid-column:1}[data-separator]{box-sizing:content-box;background-color:var(--diffs-bg)}[data-separator=simple]{min-height:4px}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata],[data-separator=simple]{background-color:var(--diffs-bg-separator)}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata]{height:32px;position:relative}[data-separator-wrapper]{-webkit-user-select:none;user-select:none;fill:currentColor;background-color:var(--diffs-bg);align-items:center;height:100%;display:flex;position:absolute;inset-inline:0}[data-content] [data-separator-wrapper]{display:none}[data-separator=metadata] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;color:var(--diffs-fg-number);white-space:nowrap;text-overflow:ellipsis;min-width:min-content;padding-inline:1ch;inset-inline:100% auto;overflow:hidden}[data-separator=line-info]{margin-block:var(--diffs-gap-block,var(--diffs-gap-fallback))}[data-separator=line-info] [data-separator-wrapper]{min-width:16px}[data-separator=line-info-basic],[data-separator=metadata]{margin-block:0}[data-separator=line-info][data-separator-first]{margin-top:0}[data-separator=line-info][data-separator-last]{margin-bottom:0}[data-expand-index] [data-separator-wrapper]{grid-template-columns:32px auto;display:grid}[data-expand-index] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:32px 32px auto}[data-expand-button],[data-separator-content]{background-color:var(--diffs-bg-separator);flex:none;align-items:center;display:flex}[data-expand-index] [data-separator-content]:hover{cursor:pointer;text-decoration:underline}[data-expand-button]{cursor:pointer;min-width:32px;color:var(--diffs-fg-number);border-right:2px solid var(--diffs-bg);flex-shrink:0;justify-content:center;align-self:stretch}[data-expand-button]:hover{color:var(--diffs-fg)}[data-expand-button][data-expand-all-button]{display:none}[data-expand-down] [data-icon]{transform:scaleY(-1)}[data-separator-content]{height:100%;color:var(--diffs-fg-number);flex:auto;justify-content:flex-start;padding:0 1ch;overflow:hidden}:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-content]{-webkit-user-select:none;user-select:none;height:100%;overflow:clip}[data-unmodified-lines]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;display:block;overflow:hidden}@supports (width:1cqi){[data-unified] [data-separator=line-info] [data-separator-wrapper]{padding-inline:var(--diffs-gap-inline,var(--diffs-gap-fallback));width:100cqi}:is([data-unified] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content]{border-radius:6px}[data-unified] [data-separator=line-info][data-expand-index] [data-separator-wrapper] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-gutter] [data-separator=line-info] [data-separator-wrapper]{padding-left:var(--diffs-gap-inline,var(--diffs-gap-fallback))}[data-gutter] [data-separator=line-info] [data-separator-content]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-gutter] [data-separator=line-info][data-expand-index] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-additions] [data-content] [data-separator=line-info]{background-color:var(--diffs-bg)}:is([data-additions] [data-content] [data-separator=line-info]) [data-separator-wrapper]{display:none}[data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);border-top-right-radius:6px;border-bottom-right-radius:6px;height:100%;display:block}:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}[data-overflow=scroll] [data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{width:calc(100cqi - var(--diffs-gap-inline,var(--diffs-gap-fallback)))}[data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;margin-right:var(--diffs-gap-inline,var(--diffs-gap-fallback));border-top-right-radius:6px;border-bottom-right-radius:6px;display:block}:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}@media (pointer:fine){[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:unset}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:6px;border-top-left-radius:unset}}}@media (pointer:coarse){[data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px 34px auto}:is([data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]) [data-separator-content]{grid-column:unset;grid-row:unset}@supports (width:1cqi){:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up],[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:unset;border-top-left-radius:unset}}}@media (pointer:fine){[data-separator-wrapper][data-separator-multi-button]{grid-template-rows:50% 50%;display:grid}[data-separator-wrapper][data-separator-multi-button] [data-separator-content]{grid-area:1/2/-1;min-width:min-content}[data-separator-wrapper][data-separator-multi-button] [data-expand-button]{grid-column:1}[data-separator=line-info] [data-separator-wrapper],[data-separator=line-info] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px auto}[data-separator=line-info-basic][data-expand-index] [data-separator-wrapper]{grid-template-columns:100% auto}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-up]{border-bottom:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-down]{border-top:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}}[data-additions] [data-gutter] [data-separator-wrapper],[data-additions] [data-separator=line-info-basic] [data-separator-wrapper],[data-content] [data-separator-wrapper]{display:none}[data-line-annotation]{min-height:var(--diffs-annotation-min-height,0);z-index:2}[data-merge-conflict-actions]{z-index:2}[data-separator=custom]{grid-template-columns:subgrid;display:grid}[data-line],[data-column-number],[data-no-newline]{padding-inline:1ch;position:relative}[data-indicators=classic] [data-line]{padding-inline-start:2ch}:is([data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion]),[data-line]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion])):before{-webkit-user-select:none;user-select:none;width:1ch;height:1lh;display:inline-block;position:absolute;top:0;left:0}:is([data-line]:is([data-indicators=classic] [data-line-type=change-addition]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition])):before{content:&quot;+&quot;;color:var(--diffs-addition-base)}:is([data-line]:is([data-indicators=classic] [data-line-type=change-deletion]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-deletion])):before{content:&quot;-&quot;;color:var(--diffs-deletion-base)}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion],[data-indicators=bars] [data-line-type=change-addition]):before{content:&quot;&quot;;-webkit-user-select:none;user-select:none;contain:strict;width:4px;height:100%;display:block;position:absolute;top:0;left:0}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion]):before{background-image:linear-gradient(0deg, var(--diffs-bg-deletion) 50%, var(--diffs-deletion-base) 50%);background-repeat:repeat;background-size:2px 2px;background-size:calc(1lh/round(1lh / 2px)) calc(1lh/round(1lh / 2px))}[data-column-number]:is([data-indicators=bars] [data-line-type=change-addition]):before{background-color:var(--diffs-addition-base)}[data-overflow=wrap] [data-line],[data-overflow=wrap] [data-annotation-content]{white-space:pre-wrap;word-break:break-word}[data-overflow=scroll] [data-line]{white-space:pre;min-height:1lh}[data-column-number]{box-sizing:content-box;text-align:right;-webkit-user-select:none;user-select:none;color:var(--diffs-fg-number);padding-left:2ch}[data-line-number-content]{min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));z-index:1;display:inline-block;position:relative}[data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]{min-width:4px;padding:0}:is([data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]):before{min-width:0}[data-disable-line-numbers] [data-line-number-content]{display:none}[data-disable-line-numbers] [data-gutter-utility-slot]{right:unset;justify-content:flex-start;left:0}[data-disable-line-numbers][data-indicators=bars] [data-gutter-utility-slot]{left:6px}[data-file][data-disable-line-numbers] [data-gutter-buffer],[data-file][data-disable-line-numbers] [data-column-number]{border-right:0;min-width:0}[data-diff-span]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}[data-line-type=change-addition] [data-diff-span]{background-color:var(--diffs-bg-addition-emphasis)}[data-line-type=change-deletion] [data-diff-span]{background-color:var(--diffs-bg-deletion-emphasis)}[data-merge-conflict=marker-start],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator],[data-merge-conflict=marker-end]{color:var(--diffs-fg);padding-left:1ch}[data-merge-conflict=marker-start],[data-merge-conflict=marker-end]{align-items:center;display:flex}:is([data-merge-conflict=marker-start],[data-merge-conflict=marker-end]):after{color:var(--diffs-fg-conflict-marker);font-size:.75rem;font-style:normal;line-height:1.25rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));padding-left:1ch}[data-merge-conflict=marker-start]:after{content:&quot;(Current Change)&quot;}[data-merge-conflict=marker-end]:after{content:&quot;(Incoming Change)&quot;}[data-merge-conflict-actions-content]{min-height:1.75rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));color:var(--diffs-fg);align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.75rem;line-height:1.2;display:flex}[data-merge-conflict-action]{appearance:none;color:var(--diffs-fg-number);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-style:normal}[data-merge-conflict-action]:hover{color:var(--diffs-fg)}[data-merge-conflict-action=current]:hover{color:var(--diffs-addition-base)}[data-merge-conflict-action=incoming]:hover{color:var(--diffs-modified-base)}[data-merge-conflict-action-separator]{color:var(--diffs-fg-number);opacity:.6;-webkit-user-select:none;user-select:none}[data-diffs-header=default]{background-color:var(--diffs-bg);justify-content:space-between;align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));min-height:calc(1lh + var(--diffs-gap-block,var(--diffs-gap-fallback))*3);z-index:2;flex-direction:row;padding-inline:16px;display:flex;position:relative;top:0}[data-header-content]{align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));white-space:nowrap;flex-direction:row;min-width:0;display:flex}[data-header-content] [data-prev-name],[data-header-content] [data-title]{text-overflow:ellipsis;white-space:nowrap;direction:rtl;min-width:0;overflow:hidden}[data-prev-name]{opacity:.7}[data-rename-icon]{fill:currentColor;flex-grow:0;flex-shrink:0}[data-diffs-header=default] [data-metadata]{white-space:nowrap;align-items:center;gap:1ch;display:flex}[data-diffs-header=default] [data-additions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-addition-base)}[data-diffs-header=default] [data-deletions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-deletion-base)}[data-change-icon]{fill:currentColor;flex-shrink:0}[data-change-icon=change],[data-change-icon=rename-pure],[data-change-icon=rename-changed]{color:var(--diffs-modified-base)}[data-change-icon=new]{color:var(--diffs-addition-base)}[data-change-icon=deleted]{color:var(--diffs-deletion-base)}[data-change-icon=file]{opacity:.6}[data-annotation-content]{z-index:2;isolation:isolate;align-self:flex-start;min-width:0;display:flow-root;position:relative}[data-overflow=scroll] [data-annotation-content],[data-overflow=scroll] [data-merge-conflict-actions-content]{width:var(--diffs-column-content-width,auto);left:var(--diffs-column-number-width,0);position:sticky}[data-annotation-slot]{text-wrap-mode:wrap;word-break:normal;white-space-collapse:collapse}[data-gutter-utility-slot]{touch-action:none;justify-content:flex-end;display:flex;position:absolute;top:0;bottom:0;right:0}[data-utility-button]{appearance:none;cursor:pointer;width:1lh;height:1lh;font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);background-color:var(--diffs-modified-base);color:var(--diffs-bg);fill:currentColor;z-index:4;touch-action:none;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:calc(1ch - 1lh);padding:0;display:flex;position:relative}[data-utility-button]:before{content:&quot;&quot;;display:block;position:absolute;inset:0 0 0 -4px}[data-decoration-bar-stack]{pointer-events:none;isolation:isolate;z-index:1;background-color:var(--diffs-decoration-bar-color,transparent);box-sizing:content-box;border-left:2px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg);width:6px;position:absolute;top:0;bottom:0;right:-2px}[data-decoration-bar-depth=&quot;1&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 20%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth=&quot;2&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 45%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth=&quot;3&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 65%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-start] [data-decoration-bar-stack]{border-top-left-radius:5px;border-top-right-radius:5px}[data-decoration-bar-end] [data-decoration-bar-stack]{z-index:3;border-bottom-right-radius:5px;border-bottom-left-radius:5px}[data-placeholder]{contain:strict}[data-error-wrapper]{padding:var(--diffs-gap-block,var(--diffs-gap-fallback)) var(--diffs-gap-inline,var(--diffs-gap-fallback));scrollbar-width:none;max-height:400px;overflow:auto}[data-error-wrapper] [data-error-message]{color:var(--diffs-deletion-base);font-size:18px;font-weight:700}[data-error-wrapper] [data-error-stack]{color:var(--diffs-fg-number)}}@layer theme,rendered,unsafe;
@layer theme {
}</style><style data-theme-css=&quot;&quot;>@layer base, theme, rendered, unsafe;
@layer rendered {
:host {
--diffs-scrollbar-gutter-measured: var(--diffs-scrollbar-gutter-fallback);
--diffs-dark:#fafafa;--diffs-dark-bg:#0a0a0a;--diffs-dark-addition-color:#07c480;--diffs-dark-deletion-color:#ff2e3f;--diffs-dark-modified-color:#009fff;--diffs-light:#0a0a0a;--diffs-light-bg:#ffffff;--diffs-light-addition-color:#18a46c;--diffs-light-deletion-color:#d52c36;--diffs-light-modified-color:#009fff;
}
}</style><div data-diffs-header=&quot;default&quot; data-change-type=&quot;change&quot;><div data-header-content=&quot;&quot;><slot name=&quot;header-prefix&quot;></slot><svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 16 16&quot; data-change-icon=&quot;change&quot;><use href=&quot;#diffs-icon-symbol-modified&quot;></use></svg><div data-title=&quot;&quot;><bdi>README.md</bdi></div></div><div data-metadata=&quot;&quot;><span data-deletions-count=&quot;&quot;>-2</span><span data-additions-count=&quot;&quot;>+2</span><slot name=&quot;header-metadata&quot;></slot></div></div><pre data-diff=&quot;&quot; data-diff-type=&quot;split&quot; data-overflow=&quot;scroll&quot; data-background=&quot;&quot; data-indicators=&quot;bars&quot; tabindex=&quot;0&quot; style=&quot;--diffs-min-number-column-width-default:3ch;&quot; data-dehydrated=&quot;&quot;><code data-code=&quot;&quot; data-container-size=&quot;&quot; data-deletions=&quot;&quot;><div data-gutter=&quot;&quot; style=&quot;grid-row: span 16&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>279 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;280&quot; data-line-index=&quot;279,279&quot;><span data-line-number-content=&quot;&quot;>280</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;281&quot; data-line-index=&quot;280,280&quot;><span data-line-number-content=&quot;&quot;>281</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;282&quot; data-line-index=&quot;281,281&quot;><span data-line-number-content=&quot;&quot;>282</span></div><div data-line-type=&quot;change-deletion&quot; data-column-number=&quot;283&quot; data-line-index=&quot;282,282&quot;><span data-line-number-content=&quot;&quot;>283</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;284&quot; data-line-index=&quot;284,283&quot;><span data-line-number-content=&quot;&quot;>284</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;285&quot; data-line-index=&quot;285,284&quot;><span data-line-number-content=&quot;&quot;>285</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;286&quot; data-line-index=&quot;286,285&quot;><span data-line-number-content=&quot;&quot;>286</span></div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>119 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;406&quot; data-line-index=&quot;406,405&quot;><span data-line-number-content=&quot;&quot;>406</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;407&quot; data-line-index=&quot;407,406&quot;><span data-line-number-content=&quot;&quot;>407</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;408&quot; data-line-index=&quot;408,407&quot;><span data-line-number-content=&quot;&quot;>408</span></div><div data-line-type=&quot;change-deletion&quot; data-column-number=&quot;409&quot; data-line-index=&quot;409,408&quot;><span data-line-number-content=&quot;&quot;>409</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;410&quot; data-line-index=&quot;411,409&quot;><span data-line-number-content=&quot;&quot;>410</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;411&quot; data-line-index=&quot;412,410&quot;><span data-line-number-content=&quot;&quot;>411</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;412&quot; data-line-index=&quot;413,411&quot;><span data-line-number-content=&quot;&quot;>412</span></div></div><div data-content=&quot;&quot; style=&quot;grid-row: span 16&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>279 unmodified lines</span></div></div></div><div data-line=&quot;280&quot; data-alt-line=&quot;280&quot; data-line-type=&quot;context&quot; data-line-index=&quot;279,279&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;>Desktop-specific environment:</span></div><div data-line=&quot;281&quot; data-alt-line=&quot;281&quot; data-line-type=&quot;context&quot; data-line-index=&quot;280,280&quot;>
</div><div data-line=&quot;282&quot; data-alt-line=&quot;282&quot; data-line-type=&quot;context&quot; data-line-index=&quot;281,281&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>-</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>ISLANDFLOW_DESKTOP_START_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> is only used by the Electron shell and is restricted to trusted Islandflow app origins.</span></div><div data-line=&quot;283&quot; data-line-type=&quot;change-deletion&quot; data-line-index=&quot;282,282&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>-</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> remains the web app API/WebSocket origin control and usually points at </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>https://flow.deltaisland.io</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> when developing local UI inside Electron.</span></div><div data-line=&quot;284&quot; data-alt-line=&quot;284&quot; data-line-type=&quot;context&quot; data-line-index=&quot;284,283&quot;>
</div><div data-line=&quot;285&quot; data-alt-line=&quot;285&quot; data-line-type=&quot;context&quot; data-line-index=&quot;285,284&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>## Environment Configuration</span></div><div data-line=&quot;286&quot; data-alt-line=&quot;286&quot; data-line-type=&quot;context&quot; data-line-index=&quot;286,285&quot;>
</div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>119 unmodified lines</span></div></div></div><div data-line=&quot;406&quot; data-alt-line=&quot;406&quot; data-line-type=&quot;context&quot; data-line-index=&quot;406,405&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>LIVE_LIMIT_OPTIONS</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>1000</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Live cache depth for options channel unless overridden. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;407&quot; data-alt-line=&quot;407&quot; data-line-type=&quot;context&quot; data-line-index=&quot;407,406&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>LIVE_LIMIT_ALERTS</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>300</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Live cache depth for alerts channel unless overridden. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;408&quot; data-alt-line=&quot;408&quot; data-line-type=&quot;context&quot; data-line-index=&quot;408,407&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>LIVE_LIMIT_NEWS</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>100</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Live cache depth for news channel unless overridden. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;409&quot; data-line-type=&quot;change-deletion&quot; data-line-index=&quot;409,408&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> </span><span data-diff-span=&quot;&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;>auto-detected in browser, </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>http</span></span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>://</span><span data-diff-span=&quot;&quot;><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>127.0.0.1:4000</span></span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> </span><span data-diff-span=&quot;&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;>fallback </span></span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Explicit base URL for API/WS calls from the web app. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;410&quot; data-alt-line=&quot;410&quot; data-line-type=&quot;context&quot; data-line-index=&quot;411,409&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_LIVE_HOT_WINDOW</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>600</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Max hot-window items retained for non-options live streams in UI state. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;411&quot; data-alt-line=&quot;411&quot; data-line-type=&quot;context&quot; data-line-index=&quot;412,410&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_LIVE_HOT_WINDOW_OPTIONS</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>1200</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Dedicated max hot-window items retained for options prints. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;412&quot; data-alt-line=&quot;412&quot; data-line-type=&quot;context&quot; data-line-index=&quot;413,411&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_NBBO_MAX_AGE_MS</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>1000</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Frontend NBBO staleness threshold. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div></div></code><code data-code=&quot;&quot; data-container-size=&quot;&quot; data-additions=&quot;&quot;><div data-gutter=&quot;&quot; style=&quot;grid-row: span 16&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>279 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;280&quot; data-line-index=&quot;279,279&quot;><span data-line-number-content=&quot;&quot;>280</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;281&quot; data-line-index=&quot;280,280&quot;><span data-line-number-content=&quot;&quot;>281</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;282&quot; data-line-index=&quot;281,281&quot;><span data-line-number-content=&quot;&quot;>282</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;283&quot; data-line-index=&quot;283,282&quot;><span data-line-number-content=&quot;&quot;>283</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;284&quot; data-line-index=&quot;284,283&quot;><span data-line-number-content=&quot;&quot;>284</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;285&quot; data-line-index=&quot;285,284&quot;><span data-line-number-content=&quot;&quot;>285</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;286&quot; data-line-index=&quot;286,285&quot;><span data-line-number-content=&quot;&quot;>286</span></div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>119 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;406&quot; data-line-index=&quot;406,405&quot;><span data-line-number-content=&quot;&quot;>406</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;407&quot; data-line-index=&quot;407,406&quot;><span data-line-number-content=&quot;&quot;>407</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;408&quot; data-line-index=&quot;408,407&quot;><span data-line-number-content=&quot;&quot;>408</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;409&quot; data-line-index=&quot;410,408&quot;><span data-line-number-content=&quot;&quot;>409</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;410&quot; data-line-index=&quot;411,409&quot;><span data-line-number-content=&quot;&quot;>410</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;411&quot; data-line-index=&quot;412,410&quot;><span data-line-number-content=&quot;&quot;>411</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;412&quot; data-line-index=&quot;413,411&quot;><span data-line-number-content=&quot;&quot;>412</span></div></div><div data-content=&quot;&quot; style=&quot;grid-row: span 16&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>279 unmodified lines</span></div></div></div><div data-line=&quot;280&quot; data-alt-line=&quot;280&quot; data-line-type=&quot;context&quot; data-line-index=&quot;279,279&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;>Desktop-specific environment:</span></div><div data-line=&quot;281&quot; data-alt-line=&quot;281&quot; data-line-type=&quot;context&quot; data-line-index=&quot;280,280&quot;>
</div><div data-line=&quot;282&quot; data-alt-line=&quot;282&quot; data-line-type=&quot;context&quot; data-line-index=&quot;281,281&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>-</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>ISLANDFLOW_DESKTOP_START_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> is only used by the Electron shell and is restricted to trusted Islandflow app origins.</span></div><div data-line=&quot;283&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;283,282&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>-</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> remains the web app API/WebSocket origin control and usually points at </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>https://</span><span data-diff-span=&quot;&quot;><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>api.</span></span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>flow.deltaisland.io</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> when developing local UI inside Electron.</span></div><div data-line=&quot;284&quot; data-alt-line=&quot;284&quot; data-line-type=&quot;context&quot; data-line-index=&quot;284,283&quot;>
</div><div data-line=&quot;285&quot; data-alt-line=&quot;285&quot; data-line-type=&quot;context&quot; data-line-index=&quot;285,284&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>## Environment Configuration</span></div><div data-line=&quot;286&quot; data-alt-line=&quot;286&quot; data-line-type=&quot;context&quot; data-line-index=&quot;286,285&quot;>
</div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>119 unmodified lines</span></div></div></div><div data-line=&quot;406&quot; data-alt-line=&quot;406&quot; data-line-type=&quot;context&quot; data-line-index=&quot;406,405&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>LIVE_LIMIT_OPTIONS</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>1000</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Live cache depth for options channel unless overridden. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;407&quot; data-alt-line=&quot;407&quot; data-line-type=&quot;context&quot; data-line-index=&quot;407,406&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>LIVE_LIMIT_ALERTS</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>300</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Live cache depth for alerts channel unless overridden. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;408&quot; data-alt-line=&quot;408&quot; data-line-type=&quot;context&quot; data-line-index=&quot;408,407&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>LIVE_LIMIT_NEWS</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>100</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Live cache depth for news channel unless overridden. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;409&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;410,408&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span data-diff-span=&quot;&quot;><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>https</span></span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>://</span><span data-diff-span=&quot;&quot;><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>api.flow.deltaisland.io</span></span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> </span><span data-diff-span=&quot;&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;>for local web dev, auto-detected in browser when unset by other runners </span></span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Explicit base URL for API/WS calls from the web app. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;410&quot; data-alt-line=&quot;410&quot; data-line-type=&quot;context&quot; data-line-index=&quot;411,409&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_LIVE_HOT_WINDOW</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>600</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Max hot-window items retained for non-options live streams in UI state. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;411&quot; data-alt-line=&quot;411&quot; data-line-type=&quot;context&quot; data-line-index=&quot;412,410&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_LIVE_HOT_WINDOW_OPTIONS</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>1200</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Dedicated max hot-window items retained for options prints. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div><div data-line=&quot;412&quot; data-alt-line=&quot;412&quot; data-line-type=&quot;context&quot; data-line-index=&quot;413,411&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_NBBO_MAX_AGE_MS</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>1000</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> |</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> Frontend NBBO staleness threshold. </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>|</span></div></div></code></pre>
<svg data-icon-sprite aria-hidden=&quot;true&quot; width=&quot;0&quot; height=&quot;0&quot;>
<symbol id=&quot;diffs-icon-arrow-right-short&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-brand-github&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 0c4.42 0 8 3.58 8 8a8.01 8.01 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27s-1.36.09-2 .27c-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-chevron&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.47 4.47a.75.75 0 0 1 1.06 0L8 9.94l5.47-5.47a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-chevrons-narrow&quot; viewBox=&quot;0 0 10 16&quot;>
<path d=&quot;M4.47 2.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1-1.06 1.06L5 3.81 2.28 6.53a.75.75 0 0 1-1.06-1.06zM1.22 9.47a.75.75 0 0 1 1.06 0L5 12.19l2.72-2.72a.75.75 0 0 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0l-3.25-3.25a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-diff-split&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M14 0H8.5v16H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2m-1.5 6.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0&quot;/><path d=&quot;M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.5V0zm.5 7.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1&quot; opacity=&quot;.3&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-diff-unified&quot; viewBox=&quot;0 0 16 16&quot;>
<path fill-rule=&quot;evenodd&quot; d=&quot;M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8.5h16zm-8-4a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1A.5.5 0 0 0 8 10&quot; clip-rule=&quot;evenodd&quot;/><path fill-rule=&quot;evenodd&quot; d=&quot;M14 0a2 2 0 0 1 2 2v5.5H0V2a2 2 0 0 1 2-2zM6.5 3.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1z&quot; clip-rule=&quot;evenodd&quot; opacity=&quot;.4&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-expand&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M3.47 5.47a.75.75 0 0 1 1.06 0L8 8.94l3.47-3.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-expand-all&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M11.47 9.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L8 12.94zM7.526 1.418a.75.75 0 0 1 1.004.052l4 4a.75.75 0 1 1-1.06 1.06L8 3.06 4.53 6.53a.75.75 0 1 1-1.06-1.06l4-4z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-file-code&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M10.75 0c.199 0 .39.08.53.22l3.5 3.5c.14.14.22.331.22.53v9A2.75 2.75 0 0 1 12.25 16h-8.5A2.75 2.75 0 0 1 1 13.25V2.75A2.75 2.75 0 0 1 3.75 0zm-7 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V5h-1.25A2.25 2.25 0 0 1 10 2.75V1.5z&quot;/><path d=&quot;M7.248 6.19a.75.75 0 0 1 .063 1.058L5.753 9l1.558 1.752a.75.75 0 0 1-1.122.996l-2-2.25a.75.75 0 0 1 0-.996l2-2.25a.75.75 0 0 1 1.06-.063M8.69 7.248a.75.75 0 1 1 1.12-.996l2 2.25a.75.75 0 0 1 0 .996l-2 2.25a.75.75 0 1 1-1.12-.996L10.245 9z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-plus&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 3a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 8 3&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-added&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4&quot;/><path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-deleted&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8&quot;/><path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-diffstat&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/><path d=&quot;M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-ignored&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m11.53-2.47a.75.75 0 0 0-1.06-1.06l-6 6a.75.75 0 1 0 1.06 1.06z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-modified&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-moved&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/><path d=&quot;M8.495 4.695a.75.75 0 0 0-.05 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.05 1.06l2.044 2.248-1.796 1.995a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-ref&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706.286.286.71.54 1.41.73V1.86c-.7.19-1.124.444-1.41.73-.324.325-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8m4 6.397c.697.07 1.522.103 2.5.103 1.613 0 2.806-.088 3.704-.288.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5c-.978 0-1.803.033-2.5.103zM0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m7-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z&quot;/>
</symbol>
</svg><style data-core-css=&quot;&quot;>@layer base, theme, rendered, unsafe;
@layer base,theme,rendered,unsafe;@layer base{:host{--diffs-font-fallback:&quot;SF Mono&quot;, Monaco, Consolas, &quot;Ubuntu Mono&quot;, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace;--diffs-header-font-fallback:system-ui, -apple-system, &quot;Segoe UI&quot;, Roboto, &quot;Helvetica Neue&quot;, &quot;Noto Sans&quot;, &quot;Liberation Sans&quot;, Arial, sans-serif;--diffs-mixer:light-dark(#000,#fff);--diffs-gap-fallback:8px;--diffs-scrollbar-gutter-fallback:6px;--diffs-scrollbar-gutter:var(--diffs-scrollbar-gutter-override,var(--diffs-scrollbar-gutter-measured,var(--diffs-scrollbar-gutter-fallback)));--diffs-added-light:#0dbe4e;--diffs-added-dark:#5ecc71;--diffs-modified-light:#009fff;--diffs-modified-dark:#69b1ff;--diffs-deleted-light:#ff2e3f;--diffs-deleted-dark:#ff6762;color-scheme:light dark;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);font-feature-settings:var(--diffs-font-features);--diffs-bg:light-dark(var(--diffs-light-bg,#fff),var(--diffs-dark-bg,#000));--diffs-bg-buffer:var(--diffs-bg-buffer-override,light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));--diffs-bg-context:var(--diffs-bg-context-override,light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));--diffs-bg-context-gutter:var(--diffs-bg-context-gutter-override,light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)),color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));--diffs-bg-separator:var(--diffs-bg-separator-override,light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));--diffs-fg:light-dark(var(--diffs-light,#000),var(--diffs-dark,#fff));--diffs-fg-number:var(--diffs-fg-number-override,light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));--diffs-fg-conflict-marker:var(--diffs-fg-conflict-marker-override,var(--diffs-fg-number));--diffs-deletion-base:var(--diffs-deletion-color-override,light-dark(var(--diffs-light-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-light))),var(--diffs-dark-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-dark)))));--diffs-addition-base:var(--diffs-addition-color-override,light-dark(var(--diffs-light-addition-color,var(--diffs-addition-color,var(--diffs-added-light))),var(--diffs-dark-addition-color,var(--diffs-addition-color,var(--diffs-added-dark)))));--diffs-modified-base:var(--diffs-modified-color-override,light-dark(var(--diffs-light-modified-color,var(--diffs-modified-color,var(--diffs-modified-light))),var(--diffs-dark-modified-color,var(--diffs-modified-color,var(--diffs-modified-dark)))));--diffs-bg-deletion:var(--diffs-bg-deletion-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));--diffs-bg-deletion-emphasis:var(--diffs-bg-deletion-emphasis-override,light-dark(rgb(from var(--diffs-deletion-base) r g b / .15),rgb(from var(--diffs-deletion-base) r g b / .2)));--diffs-bg-addition:var(--diffs-bg-addition-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));--diffs-bg-addition-emphasis:var(--diffs-bg-addition-emphasis-override,light-dark(rgb(from var(--diffs-addition-base) r g b / .15),rgb(from var(--diffs-addition-base) r g b / .2)));--diffs-selection-base:var(--diffs-modified-base);--diffs-selection-number-fg:light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));background-color:var(--diffs-bg);color:var(--diffs-fg);display:block}pre,code,[data-error-wrapper]{isolation:isolate;font-family:var(--diffs-font-family,var(--diffs-font-fallback));outline:none;margin:0;padding:0;display:block}pre,code{background-color:var(--diffs-bg)}code{contain:content}*,:before,:after{box-sizing:border-box}[data-icon-sprite]{display:none}[data-diffs-header],[data-separator]{font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback))}[data-diffs-header][data-sticky]{z-index:1;background-color:var(--diffs-bg);position:sticky;top:0}[data-file-info]{color:var(--fg);background-color:color-mix(in lab, var(--bg) 98%, var(--fg));border-block:1px solid color-mix(in lab, var(--bg) 95%, var(--fg));padding:10px;font-weight:700}[data-diff],[data-file]{--diffs-grid-number-column-width:minmax(min-content, max-content);--diffs-code-grid:var(--diffs-grid-number-column-width) 1fr}[data-dehydrated]:is([data-diff],[data-file]){--diffs-code-grid:var(--diffs-grid-number-column-width) minmax(0, 1fr)}:is([data-diff],[data-file]):hover [data-code]::-webkit-scrollbar-thumb{background-color:var(--diffs-bg-context)}@supports (-webkit-touch-callout:none){:host{--diffs-scrollbar-gutter-fallback:0px}}[data-line] span{color:light-dark(var(--diffs-token-light,var(--diffs-light)),var(--diffs-token-dark,var(--diffs-dark)));background-color:light-dark(var(--diffs-token-light-bg,inherit),var(--diffs-token-dark-bg,inherit));font-weight:light-dark(var(--diffs-token-light-font-weight,inherit),var(--diffs-token-dark-font-weight,inherit));font-style:light-dark(var(--diffs-token-light-font-style,inherit),var(--diffs-token-dark-font-style,inherit));-webkit-text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit));text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit))}[data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);color:var(--diffs-fg);background-color:var(--diffs-line-bg,var(--diffs-bg))}@media (pointer:fine){:is([data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]):where([data-hovered]){--diffs-computed-hovered-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-selected-line-bg) 97%, var(--diffs-bg-hover-override,var(--diffs-mixer))),color-mix(in lab, var(--diffs-computed-selected-line-bg) 91%, var(--diffs-bg-hover-override,var(--diffs-mixer))));--diffs-line-bg:var(--diffs-computed-hovered-line-bg,inherit)}}[data-decoration-bg]:is([data-line],[data-no-newline]){--mix-deco-light:92%;--mix-deco-dark:85%}[data-decoration-bg][data-decoration-bg-depth=&quot;2&quot;]:is([data-line],[data-no-newline]){--mix-deco-light:88%;--mix-deco-dark:80%}[data-decoration-bg][data-decoration-bg-depth=&quot;3&quot;]:is([data-line],[data-no-newline]){--mix-deco-light:85%;--mix-deco-dark:78%}@media (pointer:fine){[data-decoration-bg][data-hovered]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:85%;--mix-deco-dark:85%}[data-decoration-bg][data-hovered][data-decoration-bg-depth=&quot;2&quot;]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:83%;--mix-deco-dark:83%}[data-decoration-bg][data-hovered][data-decoration-bg-depth=&quot;3&quot;]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:81%;--mix-deco-dark:81%}}[data-decoration-bg]:is([data-line],[data-no-newline]){--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) var(--mix-deco-light), var(--diffs-decoration-bg)),color-mix(in lab, var(--diffs-bg) var(--mix-deco-dark), var(--diffs-decoration-bg)));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-line-annotation],[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context);--diffs-computed-decoration-bg:var(--diffs-annotation-bg);--diffs-computed-diff-line-bg:var(--diffs-annotation-bg);--diffs-computed-selected-line-bg:var(--diffs-annotation-bg);--diffs-line-bg:var(--diffs-annotation-bg)}[data-merge-conflict-actions],[data-gutter-buffer=merge-conflict-action],[data-gutter-buffer=merge-conflict-marker-base],[data-gutter-buffer=merge-conflict-marker-separator],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator]{--diffs-computed-decoration-bg:var(--diffs-bg-context);--diffs-computed-diff-line-bg:var(--diffs-bg-context);--diffs-computed-selected-line-bg:var(--diffs-bg-context);--diffs-line-bg:var(--diffs-bg-context)}[data-gutter-buffer=merge-conflict-marker-start],[data-merge-conflict=marker-start]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-gutter-buffer=merge-conflict-marker-end],[data-merge-conflict=marker-end]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-has-merge-conflict] [data-line-annotation],[data-has-merge-conflict] [data-gutter-buffer=annotation]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);--diffs-line-bg:var(--diffs-bg)}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number]{--mix-light:91%;--mix-dark:85%}:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--mix-light:88%;--mix-dark:80%}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--diffs-diff-line-mix-target:var(--diffs-bg)}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-deletion-override,var(--diffs-deletion-base))}@media (pointer:fine){[data-line-type=change-deletion][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:75%}}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-deletion-override,var(--diffs-deletion-base));--diffs-diff-line-mix-target:var(--diffs-bg-deletion-number-override,var(--diffs-deletion-base))}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-addition-override,var(--diffs-addition-base))}@media (pointer:fine){[data-line-type=change-addition][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--diffs-bg-addition-number-override,var(--diffs-addition-base))}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-current-override,var(--diffs-addition-base))}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--conflict-bg-current-number-override,var(--diffs-addition-base))}@media (pointer:fine){[data-merge-conflict=current][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-incoming-override,var(--diffs-modified-base))}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-modified-base);--diffs-diff-line-mix-target:var(--conflict-bg-incoming-number-override,var(--diffs-modified-base))}@media (pointer:fine){[data-merge-conflict=incoming][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]{--diffs-selection-mix-target:var(--diffs-bg-selection-override,var(--diffs-selection-base))}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--mix-selection-light:82%;--mix-selection-dark:75%}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:75%;--mix-selection-dark:70%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]){--mix-selection-light:75%;--mix-selection-dark:60%;--diffs-selection-mix-target:var(--diffs-bg-selection-number-override,var(--diffs-selection-base))}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:70%;--mix-selection-dark:55%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--diffs-computed-selected-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-light), var(--diffs-selection-mix-target)),color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-dark), var(--diffs-selection-mix-target)));--diffs-line-bg:var(--diffs-computed-selected-line-bg,inherit)}[data-selected-line]:is([data-gutter-buffer],[data-column-number]){color:var(--diffs-selection-number-fg)}[data-no-newline]{-webkit-user-select:none;user-select:none}[data-no-newline] span{opacity:.6}[data-diff-type=split][data-overflow=scroll]{grid-template-columns:1fr 1fr;display:grid}[data-diff-type=split][data-overflow=scroll] [data-additions]{border-left:1px solid var(--diffs-bg)}[data-diff-type=split][data-overflow=scroll] [data-deletions]{border-right:1px solid var(--diffs-bg)}[data-code]{grid-auto-flow:dense;grid-template-columns:var(--diffs-code-grid);overflow:var(--diffs-overflow-override,scroll) clip;overscroll-behavior-x:none;tab-size:var(--diffs-tab-size,2);padding-top:var(--diffs-gap-block,var(--diffs-gap-fallback));padding-bottom:max(0px, calc(var(--diffs-gap-block,var(--diffs-gap-fallback)) - var(--diffs-scrollbar-gutter)));scrollbar-gutter:stable;align-self:flex-start;display:grid}[data-diffs-scrollbar-measure]{opacity:0;pointer-events:none;scrollbar-gutter:auto;grid-template-columns:none;width:100px;height:100px;padding:0;position:absolute;top:-200px;left:-200px}[data-container-size]{container-type:inline-size}[data-code]::-webkit-scrollbar{width:0;height:var(--diffs-scrollbar-gutter)}[data-code]::-webkit-scrollbar-track{background:0 0}[data-code]::-webkit-scrollbar-thumb{background-color:#0000;background-clip:content-box;border:1px solid #0000;border-radius:3px}[data-code]::-webkit-scrollbar-corner{background-color:#0000}@supports ((-moz-appearance:none)){[data-code]{scrollbar-width:thin;scrollbar-color:var(--diffs-bg-context) transparent;padding-bottom:var(--diffs-gap-block,var(--diffs-gap-fallback))}}:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]) [data-code],[data-overflow=wrap]:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]){padding-top:0}[data-gutter]{grid-template-rows:subgrid;grid-template-columns:subgrid;z-index:3;background-color:var(--diffs-bg);grid-column:1;display:grid;position:relative}[data-gutter] [data-gutter-buffer],[data-gutter] [data-column-number]{border-right:var(--diffs-gap-style,2px solid var(--diffs-bg))}[data-content]{grid-template-rows:subgrid;grid-template-columns:subgrid;background-color:var(--diffs-bg);grid-column:2;min-width:0;display:grid}[data-diff-type=split][data-overflow=wrap]{grid-auto-flow:dense;grid-template-columns:repeat(2, var(--diffs-code-grid));padding-block:var(--diffs-gap-block,var(--diffs-gap-fallback));display:grid}[data-diff-type=split][data-overflow=wrap] [data-deletions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-gutter]{grid-column:1}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-content]{border-right:1px solid var(--diffs-bg);grid-column:2}[data-diff-type=split][data-overflow=wrap] [data-additions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-gutter]{border-left:1px solid var(--diffs-bg);grid-column:3}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-content]{grid-column:4}[data-overflow=scroll] [data-gutter]{position:sticky;left:0}[data-interactive-lines] [data-line]{cursor:pointer}[data-interactive-line-numbers] [data-column-number]{cursor:pointer;touch-action:none}[data-content-buffer],[data-gutter-buffer]{-webkit-user-select:none;user-select:none;min-height:1lh;position:relative}[data-gutter-buffer]{padding-left:2ch;padding-right:1ch}[data-gutter-buffer]:before{content:&quot;&quot;;min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));display:block}[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context-gutter);min-height:0}[data-gutter-buffer=buffer]{--diffs-line-bg:var(--diffs-bg-context-gutter)}[data-content-buffer]{background-position:5px 0;background-size:8px 8px;background-origin:border-box;background-image:repeating-linear-gradient(-45deg, transparent, transparent 4.242px, var(--diffs-bg-buffer) 4.242px, var(--diffs-bg-buffer) 5.656px);grid-column:1}[data-separator]{box-sizing:content-box;background-color:var(--diffs-bg)}[data-separator=simple]{min-height:4px}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata],[data-separator=simple]{background-color:var(--diffs-bg-separator)}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata]{height:32px;position:relative}[data-separator-wrapper]{-webkit-user-select:none;user-select:none;fill:currentColor;background-color:var(--diffs-bg);align-items:center;height:100%;display:flex;position:absolute;inset-inline:0}[data-content] [data-separator-wrapper]{display:none}[data-separator=metadata] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;color:var(--diffs-fg-number);white-space:nowrap;text-overflow:ellipsis;min-width:min-content;padding-inline:1ch;inset-inline:100% auto;overflow:hidden}[data-separator=line-info]{margin-block:var(--diffs-gap-block,var(--diffs-gap-fallback))}[data-separator=line-info] [data-separator-wrapper]{min-width:16px}[data-separator=line-info-basic],[data-separator=metadata]{margin-block:0}[data-separator=line-info][data-separator-first]{margin-top:0}[data-separator=line-info][data-separator-last]{margin-bottom:0}[data-expand-index] [data-separator-wrapper]{grid-template-columns:32px auto;display:grid}[data-expand-index] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:32px 32px auto}[data-expand-button],[data-separator-content]{background-color:var(--diffs-bg-separator);flex:none;align-items:center;display:flex}[data-expand-index] [data-separator-content]:hover{cursor:pointer;text-decoration:underline}[data-expand-button]{cursor:pointer;min-width:32px;color:var(--diffs-fg-number);border-right:2px solid var(--diffs-bg);flex-shrink:0;justify-content:center;align-self:stretch}[data-expand-button]:hover{color:var(--diffs-fg)}[data-expand-button][data-expand-all-button]{display:none}[data-expand-down] [data-icon]{transform:scaleY(-1)}[data-separator-content]{height:100%;color:var(--diffs-fg-number);flex:auto;justify-content:flex-start;padding:0 1ch;overflow:hidden}:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-content]{-webkit-user-select:none;user-select:none;height:100%;overflow:clip}[data-unmodified-lines]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;display:block;overflow:hidden}@supports (width:1cqi){[data-unified] [data-separator=line-info] [data-separator-wrapper]{padding-inline:var(--diffs-gap-inline,var(--diffs-gap-fallback));width:100cqi}:is([data-unified] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content]{border-radius:6px}[data-unified] [data-separator=line-info][data-expand-index] [data-separator-wrapper] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-gutter] [data-separator=line-info] [data-separator-wrapper]{padding-left:var(--diffs-gap-inline,var(--diffs-gap-fallback))}[data-gutter] [data-separator=line-info] [data-separator-content]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-gutter] [data-separator=line-info][data-expand-index] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-additions] [data-content] [data-separator=line-info]{background-color:var(--diffs-bg)}:is([data-additions] [data-content] [data-separator=line-info]) [data-separator-wrapper]{display:none}[data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);border-top-right-radius:6px;border-bottom-right-radius:6px;height:100%;display:block}:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}[data-overflow=scroll] [data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{width:calc(100cqi - var(--diffs-gap-inline,var(--diffs-gap-fallback)))}[data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;margin-right:var(--diffs-gap-inline,var(--diffs-gap-fallback));border-top-right-radius:6px;border-bottom-right-radius:6px;display:block}:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}@media (pointer:fine){[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:unset}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:6px;border-top-left-radius:unset}}}@media (pointer:coarse){[data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px 34px auto}:is([data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]) [data-separator-content]{grid-column:unset;grid-row:unset}@supports (width:1cqi){:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up],[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:unset;border-top-left-radius:unset}}}@media (pointer:fine){[data-separator-wrapper][data-separator-multi-button]{grid-template-rows:50% 50%;display:grid}[data-separator-wrapper][data-separator-multi-button] [data-separator-content]{grid-area:1/2/-1;min-width:min-content}[data-separator-wrapper][data-separator-multi-button] [data-expand-button]{grid-column:1}[data-separator=line-info] [data-separator-wrapper],[data-separator=line-info] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px auto}[data-separator=line-info-basic][data-expand-index] [data-separator-wrapper]{grid-template-columns:100% auto}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-up]{border-bottom:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-down]{border-top:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}}[data-additions] [data-gutter] [data-separator-wrapper],[data-additions] [data-separator=line-info-basic] [data-separator-wrapper],[data-content] [data-separator-wrapper]{display:none}[data-line-annotation]{min-height:var(--diffs-annotation-min-height,0);z-index:2}[data-merge-conflict-actions]{z-index:2}[data-separator=custom]{grid-template-columns:subgrid;display:grid}[data-line],[data-column-number],[data-no-newline]{padding-inline:1ch;position:relative}[data-indicators=classic] [data-line]{padding-inline-start:2ch}:is([data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion]),[data-line]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion])):before{-webkit-user-select:none;user-select:none;width:1ch;height:1lh;display:inline-block;position:absolute;top:0;left:0}:is([data-line]:is([data-indicators=classic] [data-line-type=change-addition]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition])):before{content:&quot;+&quot;;color:var(--diffs-addition-base)}:is([data-line]:is([data-indicators=classic] [data-line-type=change-deletion]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-deletion])):before{content:&quot;-&quot;;color:var(--diffs-deletion-base)}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion],[data-indicators=bars] [data-line-type=change-addition]):before{content:&quot;&quot;;-webkit-user-select:none;user-select:none;contain:strict;width:4px;height:100%;display:block;position:absolute;top:0;left:0}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion]):before{background-image:linear-gradient(0deg, var(--diffs-bg-deletion) 50%, var(--diffs-deletion-base) 50%);background-repeat:repeat;background-size:2px 2px;background-size:calc(1lh/round(1lh / 2px)) calc(1lh/round(1lh / 2px))}[data-column-number]:is([data-indicators=bars] [data-line-type=change-addition]):before{background-color:var(--diffs-addition-base)}[data-overflow=wrap] [data-line],[data-overflow=wrap] [data-annotation-content]{white-space:pre-wrap;word-break:break-word}[data-overflow=scroll] [data-line]{white-space:pre;min-height:1lh}[data-column-number]{box-sizing:content-box;text-align:right;-webkit-user-select:none;user-select:none;color:var(--diffs-fg-number);padding-left:2ch}[data-line-number-content]{min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));z-index:1;display:inline-block;position:relative}[data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]{min-width:4px;padding:0}:is([data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]):before{min-width:0}[data-disable-line-numbers] [data-line-number-content]{display:none}[data-disable-line-numbers] [data-gutter-utility-slot]{right:unset;justify-content:flex-start;left:0}[data-disable-line-numbers][data-indicators=bars] [data-gutter-utility-slot]{left:6px}[data-file][data-disable-line-numbers] [data-gutter-buffer],[data-file][data-disable-line-numbers] [data-column-number]{border-right:0;min-width:0}[data-diff-span]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}[data-line-type=change-addition] [data-diff-span]{background-color:var(--diffs-bg-addition-emphasis)}[data-line-type=change-deletion] [data-diff-span]{background-color:var(--diffs-bg-deletion-emphasis)}[data-merge-conflict=marker-start],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator],[data-merge-conflict=marker-end]{color:var(--diffs-fg);padding-left:1ch}[data-merge-conflict=marker-start],[data-merge-conflict=marker-end]{align-items:center;display:flex}:is([data-merge-conflict=marker-start],[data-merge-conflict=marker-end]):after{color:var(--diffs-fg-conflict-marker);font-size:.75rem;font-style:normal;line-height:1.25rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));padding-left:1ch}[data-merge-conflict=marker-start]:after{content:&quot;(Current Change)&quot;}[data-merge-conflict=marker-end]:after{content:&quot;(Incoming Change)&quot;}[data-merge-conflict-actions-content]{min-height:1.75rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));color:var(--diffs-fg);align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.75rem;line-height:1.2;display:flex}[data-merge-conflict-action]{appearance:none;color:var(--diffs-fg-number);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-style:normal}[data-merge-conflict-action]:hover{color:var(--diffs-fg)}[data-merge-conflict-action=current]:hover{color:var(--diffs-addition-base)}[data-merge-conflict-action=incoming]:hover{color:var(--diffs-modified-base)}[data-merge-conflict-action-separator]{color:var(--diffs-fg-number);opacity:.6;-webkit-user-select:none;user-select:none}[data-diffs-header=default]{background-color:var(--diffs-bg);justify-content:space-between;align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));min-height:calc(1lh + var(--diffs-gap-block,var(--diffs-gap-fallback))*3);z-index:2;flex-direction:row;padding-inline:16px;display:flex;position:relative;top:0}[data-header-content]{align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));white-space:nowrap;flex-direction:row;min-width:0;display:flex}[data-header-content] [data-prev-name],[data-header-content] [data-title]{text-overflow:ellipsis;white-space:nowrap;direction:rtl;min-width:0;overflow:hidden}[data-prev-name]{opacity:.7}[data-rename-icon]{fill:currentColor;flex-grow:0;flex-shrink:0}[data-diffs-header=default] [data-metadata]{white-space:nowrap;align-items:center;gap:1ch;display:flex}[data-diffs-header=default] [data-additions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-addition-base)}[data-diffs-header=default] [data-deletions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-deletion-base)}[data-change-icon]{fill:currentColor;flex-shrink:0}[data-change-icon=change],[data-change-icon=rename-pure],[data-change-icon=rename-changed]{color:var(--diffs-modified-base)}[data-change-icon=new]{color:var(--diffs-addition-base)}[data-change-icon=deleted]{color:var(--diffs-deletion-base)}[data-change-icon=file]{opacity:.6}[data-annotation-content]{z-index:2;isolation:isolate;align-self:flex-start;min-width:0;display:flow-root;position:relative}[data-overflow=scroll] [data-annotation-content],[data-overflow=scroll] [data-merge-conflict-actions-content]{width:var(--diffs-column-content-width,auto);left:var(--diffs-column-number-width,0);position:sticky}[data-annotation-slot]{text-wrap-mode:wrap;word-break:normal;white-space-collapse:collapse}[data-gutter-utility-slot]{touch-action:none;justify-content:flex-end;display:flex;position:absolute;top:0;bottom:0;right:0}[data-utility-button]{appearance:none;cursor:pointer;width:1lh;height:1lh;font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);background-color:var(--diffs-modified-base);color:var(--diffs-bg);fill:currentColor;z-index:4;touch-action:none;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:calc(1ch - 1lh);padding:0;display:flex;position:relative}[data-utility-button]:before{content:&quot;&quot;;display:block;position:absolute;inset:0 0 0 -4px}[data-decoration-bar-stack]{pointer-events:none;isolation:isolate;z-index:1;background-color:var(--diffs-decoration-bar-color,transparent);box-sizing:content-box;border-left:2px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg);width:6px;position:absolute;top:0;bottom:0;right:-2px}[data-decoration-bar-depth=&quot;1&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 20%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth=&quot;2&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 45%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth=&quot;3&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 65%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-start] [data-decoration-bar-stack]{border-top-left-radius:5px;border-top-right-radius:5px}[data-decoration-bar-end] [data-decoration-bar-stack]{z-index:3;border-bottom-right-radius:5px;border-bottom-left-radius:5px}[data-placeholder]{contain:strict}[data-error-wrapper]{padding:var(--diffs-gap-block,var(--diffs-gap-fallback)) var(--diffs-gap-inline,var(--diffs-gap-fallback));scrollbar-width:none;max-height:400px;overflow:auto}[data-error-wrapper] [data-error-message]{color:var(--diffs-deletion-base);font-size:18px;font-weight:700}[data-error-wrapper] [data-error-stack]{color:var(--diffs-fg-number)}}@layer theme,rendered,unsafe;
@layer theme {
}</style><style data-theme-css=&quot;&quot;>@layer base, theme, rendered, unsafe;
@layer rendered {
:host {
--diffs-scrollbar-gutter-measured: var(--diffs-scrollbar-gutter-fallback);
--diffs-dark:#fafafa;--diffs-dark-bg:#0a0a0a;--diffs-dark-addition-color:#07c480;--diffs-dark-deletion-color:#ff2e3f;--diffs-dark-modified-color:#009fff;--diffs-light:#0a0a0a;--diffs-light-bg:#ffffff;--diffs-light-addition-color:#18a46c;--diffs-light-deletion-color:#d52c36;--diffs-light-modified-color:#009fff;
}
}</style><div data-diffs-header=&quot;default&quot; data-change-type=&quot;change&quot;><div data-header-content=&quot;&quot;><slot name=&quot;header-prefix&quot;></slot><svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 16 16&quot; data-change-icon=&quot;change&quot;><use href=&quot;#diffs-icon-symbol-modified&quot;></use></svg><div data-title=&quot;&quot;><bdi>apps/desktop/README.md</bdi></div></div><div data-metadata=&quot;&quot;><span data-deletions-count=&quot;&quot;>-1</span><span data-additions-count=&quot;&quot;>+1</span><slot name=&quot;header-metadata&quot;></slot></div></div><pre data-diff=&quot;&quot; data-diff-type=&quot;split&quot; data-overflow=&quot;scroll&quot; data-background=&quot;&quot; data-indicators=&quot;bars&quot; tabindex=&quot;0&quot; style=&quot;--diffs-min-number-column-width-default:2ch;&quot; data-dehydrated=&quot;&quot;><code data-code=&quot;&quot; data-container-size=&quot;&quot; data-deletions=&quot;&quot;><div data-gutter=&quot;&quot; style=&quot;grid-row: span 6&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>24 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;25&quot; data-line-index=&quot;24,24&quot;><span data-line-number-content=&quot;&quot;>25</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;26&quot; data-line-index=&quot;25,25&quot;><span data-line-number-content=&quot;&quot;>26</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;27&quot; data-line-index=&quot;26,26&quot;><span data-line-number-content=&quot;&quot;>27</span></div><div data-line-type=&quot;change-deletion&quot; data-column-number=&quot;28&quot; data-line-index=&quot;27,27&quot;><span data-line-number-content=&quot;&quot;>28</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;29&quot; data-line-index=&quot;29,28&quot;><span data-line-number-content=&quot;&quot;>29</span></div></div><div data-content=&quot;&quot; style=&quot;grid-row: span 6&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>24 unmodified lines</span></div></div></div><div data-line=&quot;25&quot; data-alt-line=&quot;25&quot; data-line-type=&quot;context&quot; data-line-index=&quot;24,24&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>## Development Notes</span></div><div data-line=&quot;26&quot; data-alt-line=&quot;26&quot; data-line-type=&quot;context&quot; data-line-index=&quot;25,25&quot;>
</div><div data-line=&quot;27&quot; data-alt-line=&quot;27&quot; data-line-type=&quot;context&quot; data-line-index=&quot;26,26&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>-</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>ISLANDFLOW_DESKTOP_START_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> controls which trusted app URL Electron loads. Prefer </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>/options</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> for deep links; </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>/tape</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> remains supported and redirects in the web app for compatibility.</span></div><div data-line=&quot;28&quot; data-line-type=&quot;change-deletion&quot; data-line-index=&quot;27,27&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>-</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> remains a web-app setting and should typically be </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>https://flow.deltaisland.io</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> when developing the local UI inside Electron.</span></div><div data-line=&quot;29&quot; data-alt-line=&quot;29&quot; data-line-type=&quot;context&quot; data-line-index=&quot;29,28&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>-</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>assets/</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> currently contains placeholders only; a real </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>.icns</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> icon is deferred.</span></div></div></code><code data-code=&quot;&quot; data-container-size=&quot;&quot; data-additions=&quot;&quot;><div data-gutter=&quot;&quot; style=&quot;grid-row: span 6&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>24 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;25&quot; data-line-index=&quot;24,24&quot;><span data-line-number-content=&quot;&quot;>25</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;26&quot; data-line-index=&quot;25,25&quot;><span data-line-number-content=&quot;&quot;>26</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;27&quot; data-line-index=&quot;26,26&quot;><span data-line-number-content=&quot;&quot;>27</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;28&quot; data-line-index=&quot;28,27&quot;><span data-line-number-content=&quot;&quot;>28</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;29&quot; data-line-index=&quot;29,28&quot;><span data-line-number-content=&quot;&quot;>29</span></div></div><div data-content=&quot;&quot; style=&quot;grid-row: span 6&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>24 unmodified lines</span></div></div></div><div data-line=&quot;25&quot; data-alt-line=&quot;25&quot; data-line-type=&quot;context&quot; data-line-index=&quot;24,24&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>## Development Notes</span></div><div data-line=&quot;26&quot; data-alt-line=&quot;26&quot; data-line-type=&quot;context&quot; data-line-index=&quot;25,25&quot;>
</div><div data-line=&quot;27&quot; data-alt-line=&quot;27&quot; data-line-type=&quot;context&quot; data-line-index=&quot;26,26&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>-</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>ISLANDFLOW_DESKTOP_START_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> controls which trusted app URL Electron loads. Prefer </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>/options</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> for deep links; </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>/tape</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> remains supported and redirects in the web app for compatibility.</span></div><div data-line=&quot;28&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;28,27&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>-</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> remains a web-app setting and should typically be </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>https://</span><span data-diff-span=&quot;&quot;><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>api.</span></span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>flow.deltaisland.io</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> when developing the local UI inside Electron.</span></div><div data-line=&quot;29&quot; data-alt-line=&quot;29&quot; data-line-type=&quot;context&quot; data-line-index=&quot;29,28&quot;><span style=&quot;--diffs-token-dark:#FF855E;--diffs-token-light:#D5512F&quot;>-</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>assets/</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> currently contains placeholders only; a real </span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>.icns</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> icon is deferred.</span></div></div></code></pre>
<svg data-icon-sprite aria-hidden=&quot;true&quot; width=&quot;0&quot; height=&quot;0&quot;>
<symbol id=&quot;diffs-icon-arrow-right-short&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-brand-github&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 0c4.42 0 8 3.58 8 8a8.01 8.01 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27s-1.36.09-2 .27c-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-chevron&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.47 4.47a.75.75 0 0 1 1.06 0L8 9.94l5.47-5.47a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-chevrons-narrow&quot; viewBox=&quot;0 0 10 16&quot;>
<path d=&quot;M4.47 2.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1-1.06 1.06L5 3.81 2.28 6.53a.75.75 0 0 1-1.06-1.06zM1.22 9.47a.75.75 0 0 1 1.06 0L5 12.19l2.72-2.72a.75.75 0 0 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0l-3.25-3.25a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-diff-split&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M14 0H8.5v16H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2m-1.5 6.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0&quot;/><path d=&quot;M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.5V0zm.5 7.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1&quot; opacity=&quot;.3&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-diff-unified&quot; viewBox=&quot;0 0 16 16&quot;>
<path fill-rule=&quot;evenodd&quot; d=&quot;M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8.5h16zm-8-4a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1A.5.5 0 0 0 8 10&quot; clip-rule=&quot;evenodd&quot;/><path fill-rule=&quot;evenodd&quot; d=&quot;M14 0a2 2 0 0 1 2 2v5.5H0V2a2 2 0 0 1 2-2zM6.5 3.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1z&quot; clip-rule=&quot;evenodd&quot; opacity=&quot;.4&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-expand&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M3.47 5.47a.75.75 0 0 1 1.06 0L8 8.94l3.47-3.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-expand-all&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M11.47 9.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L8 12.94zM7.526 1.418a.75.75 0 0 1 1.004.052l4 4a.75.75 0 1 1-1.06 1.06L8 3.06 4.53 6.53a.75.75 0 1 1-1.06-1.06l4-4z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-file-code&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M10.75 0c.199 0 .39.08.53.22l3.5 3.5c.14.14.22.331.22.53v9A2.75 2.75 0 0 1 12.25 16h-8.5A2.75 2.75 0 0 1 1 13.25V2.75A2.75 2.75 0 0 1 3.75 0zm-7 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V5h-1.25A2.25 2.25 0 0 1 10 2.75V1.5z&quot;/><path d=&quot;M7.248 6.19a.75.75 0 0 1 .063 1.058L5.753 9l1.558 1.752a.75.75 0 0 1-1.122.996l-2-2.25a.75.75 0 0 1 0-.996l2-2.25a.75.75 0 0 1 1.06-.063M8.69 7.248a.75.75 0 1 1 1.12-.996l2 2.25a.75.75 0 0 1 0 .996l-2 2.25a.75.75 0 1 1-1.12-.996L10.245 9z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-plus&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 3a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 8 3&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-added&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4&quot;/><path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-deleted&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8&quot;/><path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-diffstat&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/><path d=&quot;M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-ignored&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m11.53-2.47a.75.75 0 0 0-1.06-1.06l-6 6a.75.75 0 1 0 1.06 1.06z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-modified&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-moved&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/><path d=&quot;M8.495 4.695a.75.75 0 0 0-.05 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.05 1.06l2.044 2.248-1.796 1.995a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-ref&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706.286.286.71.54 1.41.73V1.86c-.7.19-1.124.444-1.41.73-.324.325-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8m4 6.397c.697.07 1.522.103 2.5.103 1.613 0 2.806-.088 3.704-.288.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5c-.978 0-1.803.033-2.5.103zM0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m7-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z&quot;/>
</symbol>
</svg><style data-core-css=&quot;&quot;>@layer base, theme, rendered, unsafe;
@layer base,theme,rendered,unsafe;@layer base{:host{--diffs-font-fallback:&quot;SF Mono&quot;, Monaco, Consolas, &quot;Ubuntu Mono&quot;, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace;--diffs-header-font-fallback:system-ui, -apple-system, &quot;Segoe UI&quot;, Roboto, &quot;Helvetica Neue&quot;, &quot;Noto Sans&quot;, &quot;Liberation Sans&quot;, Arial, sans-serif;--diffs-mixer:light-dark(#000,#fff);--diffs-gap-fallback:8px;--diffs-scrollbar-gutter-fallback:6px;--diffs-scrollbar-gutter:var(--diffs-scrollbar-gutter-override,var(--diffs-scrollbar-gutter-measured,var(--diffs-scrollbar-gutter-fallback)));--diffs-added-light:#0dbe4e;--diffs-added-dark:#5ecc71;--diffs-modified-light:#009fff;--diffs-modified-dark:#69b1ff;--diffs-deleted-light:#ff2e3f;--diffs-deleted-dark:#ff6762;color-scheme:light dark;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);font-feature-settings:var(--diffs-font-features);--diffs-bg:light-dark(var(--diffs-light-bg,#fff),var(--diffs-dark-bg,#000));--diffs-bg-buffer:var(--diffs-bg-buffer-override,light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));--diffs-bg-context:var(--diffs-bg-context-override,light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));--diffs-bg-context-gutter:var(--diffs-bg-context-gutter-override,light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)),color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));--diffs-bg-separator:var(--diffs-bg-separator-override,light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));--diffs-fg:light-dark(var(--diffs-light,#000),var(--diffs-dark,#fff));--diffs-fg-number:var(--diffs-fg-number-override,light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));--diffs-fg-conflict-marker:var(--diffs-fg-conflict-marker-override,var(--diffs-fg-number));--diffs-deletion-base:var(--diffs-deletion-color-override,light-dark(var(--diffs-light-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-light))),var(--diffs-dark-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-dark)))));--diffs-addition-base:var(--diffs-addition-color-override,light-dark(var(--diffs-light-addition-color,var(--diffs-addition-color,var(--diffs-added-light))),var(--diffs-dark-addition-color,var(--diffs-addition-color,var(--diffs-added-dark)))));--diffs-modified-base:var(--diffs-modified-color-override,light-dark(var(--diffs-light-modified-color,var(--diffs-modified-color,var(--diffs-modified-light))),var(--diffs-dark-modified-color,var(--diffs-modified-color,var(--diffs-modified-dark)))));--diffs-bg-deletion:var(--diffs-bg-deletion-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));--diffs-bg-deletion-emphasis:var(--diffs-bg-deletion-emphasis-override,light-dark(rgb(from var(--diffs-deletion-base) r g b / .15),rgb(from var(--diffs-deletion-base) r g b / .2)));--diffs-bg-addition:var(--diffs-bg-addition-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));--diffs-bg-addition-emphasis:var(--diffs-bg-addition-emphasis-override,light-dark(rgb(from var(--diffs-addition-base) r g b / .15),rgb(from var(--diffs-addition-base) r g b / .2)));--diffs-selection-base:var(--diffs-modified-base);--diffs-selection-number-fg:light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));background-color:var(--diffs-bg);color:var(--diffs-fg);display:block}pre,code,[data-error-wrapper]{isolation:isolate;font-family:var(--diffs-font-family,var(--diffs-font-fallback));outline:none;margin:0;padding:0;display:block}pre,code{background-color:var(--diffs-bg)}code{contain:content}*,:before,:after{box-sizing:border-box}[data-icon-sprite]{display:none}[data-diffs-header],[data-separator]{font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback))}[data-diffs-header][data-sticky]{z-index:1;background-color:var(--diffs-bg);position:sticky;top:0}[data-file-info]{color:var(--fg);background-color:color-mix(in lab, var(--bg) 98%, var(--fg));border-block:1px solid color-mix(in lab, var(--bg) 95%, var(--fg));padding:10px;font-weight:700}[data-diff],[data-file]{--diffs-grid-number-column-width:minmax(min-content, max-content);--diffs-code-grid:var(--diffs-grid-number-column-width) 1fr}[data-dehydrated]:is([data-diff],[data-file]){--diffs-code-grid:var(--diffs-grid-number-column-width) minmax(0, 1fr)}:is([data-diff],[data-file]):hover [data-code]::-webkit-scrollbar-thumb{background-color:var(--diffs-bg-context)}@supports (-webkit-touch-callout:none){:host{--diffs-scrollbar-gutter-fallback:0px}}[data-line] span{color:light-dark(var(--diffs-token-light,var(--diffs-light)),var(--diffs-token-dark,var(--diffs-dark)));background-color:light-dark(var(--diffs-token-light-bg,inherit),var(--diffs-token-dark-bg,inherit));font-weight:light-dark(var(--diffs-token-light-font-weight,inherit),var(--diffs-token-dark-font-weight,inherit));font-style:light-dark(var(--diffs-token-light-font-style,inherit),var(--diffs-token-dark-font-style,inherit));-webkit-text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit));text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit))}[data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);color:var(--diffs-fg);background-color:var(--diffs-line-bg,var(--diffs-bg))}@media (pointer:fine){:is([data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]):where([data-hovered]){--diffs-computed-hovered-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-selected-line-bg) 97%, var(--diffs-bg-hover-override,var(--diffs-mixer))),color-mix(in lab, var(--diffs-computed-selected-line-bg) 91%, var(--diffs-bg-hover-override,var(--diffs-mixer))));--diffs-line-bg:var(--diffs-computed-hovered-line-bg,inherit)}}[data-decoration-bg]:is([data-line],[data-no-newline]){--mix-deco-light:92%;--mix-deco-dark:85%}[data-decoration-bg][data-decoration-bg-depth=&quot;2&quot;]:is([data-line],[data-no-newline]){--mix-deco-light:88%;--mix-deco-dark:80%}[data-decoration-bg][data-decoration-bg-depth=&quot;3&quot;]:is([data-line],[data-no-newline]){--mix-deco-light:85%;--mix-deco-dark:78%}@media (pointer:fine){[data-decoration-bg][data-hovered]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:85%;--mix-deco-dark:85%}[data-decoration-bg][data-hovered][data-decoration-bg-depth=&quot;2&quot;]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:83%;--mix-deco-dark:83%}[data-decoration-bg][data-hovered][data-decoration-bg-depth=&quot;3&quot;]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:81%;--mix-deco-dark:81%}}[data-decoration-bg]:is([data-line],[data-no-newline]){--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) var(--mix-deco-light), var(--diffs-decoration-bg)),color-mix(in lab, var(--diffs-bg) var(--mix-deco-dark), var(--diffs-decoration-bg)));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-line-annotation],[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context);--diffs-computed-decoration-bg:var(--diffs-annotation-bg);--diffs-computed-diff-line-bg:var(--diffs-annotation-bg);--diffs-computed-selected-line-bg:var(--diffs-annotation-bg);--diffs-line-bg:var(--diffs-annotation-bg)}[data-merge-conflict-actions],[data-gutter-buffer=merge-conflict-action],[data-gutter-buffer=merge-conflict-marker-base],[data-gutter-buffer=merge-conflict-marker-separator],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator]{--diffs-computed-decoration-bg:var(--diffs-bg-context);--diffs-computed-diff-line-bg:var(--diffs-bg-context);--diffs-computed-selected-line-bg:var(--diffs-bg-context);--diffs-line-bg:var(--diffs-bg-context)}[data-gutter-buffer=merge-conflict-marker-start],[data-merge-conflict=marker-start]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-gutter-buffer=merge-conflict-marker-end],[data-merge-conflict=marker-end]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-has-merge-conflict] [data-line-annotation],[data-has-merge-conflict] [data-gutter-buffer=annotation]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);--diffs-line-bg:var(--diffs-bg)}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number]{--mix-light:91%;--mix-dark:85%}:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--mix-light:88%;--mix-dark:80%}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--diffs-diff-line-mix-target:var(--diffs-bg)}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-deletion-override,var(--diffs-deletion-base))}@media (pointer:fine){[data-line-type=change-deletion][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:75%}}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-deletion-override,var(--diffs-deletion-base));--diffs-diff-line-mix-target:var(--diffs-bg-deletion-number-override,var(--diffs-deletion-base))}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-addition-override,var(--diffs-addition-base))}@media (pointer:fine){[data-line-type=change-addition][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--diffs-bg-addition-number-override,var(--diffs-addition-base))}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-current-override,var(--diffs-addition-base))}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--conflict-bg-current-number-override,var(--diffs-addition-base))}@media (pointer:fine){[data-merge-conflict=current][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-incoming-override,var(--diffs-modified-base))}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-modified-base);--diffs-diff-line-mix-target:var(--conflict-bg-incoming-number-override,var(--diffs-modified-base))}@media (pointer:fine){[data-merge-conflict=incoming][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]{--diffs-selection-mix-target:var(--diffs-bg-selection-override,var(--diffs-selection-base))}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--mix-selection-light:82%;--mix-selection-dark:75%}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:75%;--mix-selection-dark:70%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]){--mix-selection-light:75%;--mix-selection-dark:60%;--diffs-selection-mix-target:var(--diffs-bg-selection-number-override,var(--diffs-selection-base))}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:70%;--mix-selection-dark:55%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--diffs-computed-selected-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-light), var(--diffs-selection-mix-target)),color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-dark), var(--diffs-selection-mix-target)));--diffs-line-bg:var(--diffs-computed-selected-line-bg,inherit)}[data-selected-line]:is([data-gutter-buffer],[data-column-number]){color:var(--diffs-selection-number-fg)}[data-no-newline]{-webkit-user-select:none;user-select:none}[data-no-newline] span{opacity:.6}[data-diff-type=split][data-overflow=scroll]{grid-template-columns:1fr 1fr;display:grid}[data-diff-type=split][data-overflow=scroll] [data-additions]{border-left:1px solid var(--diffs-bg)}[data-diff-type=split][data-overflow=scroll] [data-deletions]{border-right:1px solid var(--diffs-bg)}[data-code]{grid-auto-flow:dense;grid-template-columns:var(--diffs-code-grid);overflow:var(--diffs-overflow-override,scroll) clip;overscroll-behavior-x:none;tab-size:var(--diffs-tab-size,2);padding-top:var(--diffs-gap-block,var(--diffs-gap-fallback));padding-bottom:max(0px, calc(var(--diffs-gap-block,var(--diffs-gap-fallback)) - var(--diffs-scrollbar-gutter)));scrollbar-gutter:stable;align-self:flex-start;display:grid}[data-diffs-scrollbar-measure]{opacity:0;pointer-events:none;scrollbar-gutter:auto;grid-template-columns:none;width:100px;height:100px;padding:0;position:absolute;top:-200px;left:-200px}[data-container-size]{container-type:inline-size}[data-code]::-webkit-scrollbar{width:0;height:var(--diffs-scrollbar-gutter)}[data-code]::-webkit-scrollbar-track{background:0 0}[data-code]::-webkit-scrollbar-thumb{background-color:#0000;background-clip:content-box;border:1px solid #0000;border-radius:3px}[data-code]::-webkit-scrollbar-corner{background-color:#0000}@supports ((-moz-appearance:none)){[data-code]{scrollbar-width:thin;scrollbar-color:var(--diffs-bg-context) transparent;padding-bottom:var(--diffs-gap-block,var(--diffs-gap-fallback))}}:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]) [data-code],[data-overflow=wrap]:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]){padding-top:0}[data-gutter]{grid-template-rows:subgrid;grid-template-columns:subgrid;z-index:3;background-color:var(--diffs-bg);grid-column:1;display:grid;position:relative}[data-gutter] [data-gutter-buffer],[data-gutter] [data-column-number]{border-right:var(--diffs-gap-style,2px solid var(--diffs-bg))}[data-content]{grid-template-rows:subgrid;grid-template-columns:subgrid;background-color:var(--diffs-bg);grid-column:2;min-width:0;display:grid}[data-diff-type=split][data-overflow=wrap]{grid-auto-flow:dense;grid-template-columns:repeat(2, var(--diffs-code-grid));padding-block:var(--diffs-gap-block,var(--diffs-gap-fallback));display:grid}[data-diff-type=split][data-overflow=wrap] [data-deletions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-gutter]{grid-column:1}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-content]{border-right:1px solid var(--diffs-bg);grid-column:2}[data-diff-type=split][data-overflow=wrap] [data-additions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-gutter]{border-left:1px solid var(--diffs-bg);grid-column:3}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-content]{grid-column:4}[data-overflow=scroll] [data-gutter]{position:sticky;left:0}[data-interactive-lines] [data-line]{cursor:pointer}[data-interactive-line-numbers] [data-column-number]{cursor:pointer;touch-action:none}[data-content-buffer],[data-gutter-buffer]{-webkit-user-select:none;user-select:none;min-height:1lh;position:relative}[data-gutter-buffer]{padding-left:2ch;padding-right:1ch}[data-gutter-buffer]:before{content:&quot;&quot;;min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));display:block}[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context-gutter);min-height:0}[data-gutter-buffer=buffer]{--diffs-line-bg:var(--diffs-bg-context-gutter)}[data-content-buffer]{background-position:5px 0;background-size:8px 8px;background-origin:border-box;background-image:repeating-linear-gradient(-45deg, transparent, transparent 4.242px, var(--diffs-bg-buffer) 4.242px, var(--diffs-bg-buffer) 5.656px);grid-column:1}[data-separator]{box-sizing:content-box;background-color:var(--diffs-bg)}[data-separator=simple]{min-height:4px}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata],[data-separator=simple]{background-color:var(--diffs-bg-separator)}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata]{height:32px;position:relative}[data-separator-wrapper]{-webkit-user-select:none;user-select:none;fill:currentColor;background-color:var(--diffs-bg);align-items:center;height:100%;display:flex;position:absolute;inset-inline:0}[data-content] [data-separator-wrapper]{display:none}[data-separator=metadata] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;color:var(--diffs-fg-number);white-space:nowrap;text-overflow:ellipsis;min-width:min-content;padding-inline:1ch;inset-inline:100% auto;overflow:hidden}[data-separator=line-info]{margin-block:var(--diffs-gap-block,var(--diffs-gap-fallback))}[data-separator=line-info] [data-separator-wrapper]{min-width:16px}[data-separator=line-info-basic],[data-separator=metadata]{margin-block:0}[data-separator=line-info][data-separator-first]{margin-top:0}[data-separator=line-info][data-separator-last]{margin-bottom:0}[data-expand-index] [data-separator-wrapper]{grid-template-columns:32px auto;display:grid}[data-expand-index] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:32px 32px auto}[data-expand-button],[data-separator-content]{background-color:var(--diffs-bg-separator);flex:none;align-items:center;display:flex}[data-expand-index] [data-separator-content]:hover{cursor:pointer;text-decoration:underline}[data-expand-button]{cursor:pointer;min-width:32px;color:var(--diffs-fg-number);border-right:2px solid var(--diffs-bg);flex-shrink:0;justify-content:center;align-self:stretch}[data-expand-button]:hover{color:var(--diffs-fg)}[data-expand-button][data-expand-all-button]{display:none}[data-expand-down] [data-icon]{transform:scaleY(-1)}[data-separator-content]{height:100%;color:var(--diffs-fg-number);flex:auto;justify-content:flex-start;padding:0 1ch;overflow:hidden}:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-content]{-webkit-user-select:none;user-select:none;height:100%;overflow:clip}[data-unmodified-lines]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;display:block;overflow:hidden}@supports (width:1cqi){[data-unified] [data-separator=line-info] [data-separator-wrapper]{padding-inline:var(--diffs-gap-inline,var(--diffs-gap-fallback));width:100cqi}:is([data-unified] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content]{border-radius:6px}[data-unified] [data-separator=line-info][data-expand-index] [data-separator-wrapper] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-gutter] [data-separator=line-info] [data-separator-wrapper]{padding-left:var(--diffs-gap-inline,var(--diffs-gap-fallback))}[data-gutter] [data-separator=line-info] [data-separator-content]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-gutter] [data-separator=line-info][data-expand-index] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-additions] [data-content] [data-separator=line-info]{background-color:var(--diffs-bg)}:is([data-additions] [data-content] [data-separator=line-info]) [data-separator-wrapper]{display:none}[data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);border-top-right-radius:6px;border-bottom-right-radius:6px;height:100%;display:block}:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}[data-overflow=scroll] [data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{width:calc(100cqi - var(--diffs-gap-inline,var(--diffs-gap-fallback)))}[data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;margin-right:var(--diffs-gap-inline,var(--diffs-gap-fallback));border-top-right-radius:6px;border-bottom-right-radius:6px;display:block}:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}@media (pointer:fine){[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:unset}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:6px;border-top-left-radius:unset}}}@media (pointer:coarse){[data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px 34px auto}:is([data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]) [data-separator-content]{grid-column:unset;grid-row:unset}@supports (width:1cqi){:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up],[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:unset;border-top-left-radius:unset}}}@media (pointer:fine){[data-separator-wrapper][data-separator-multi-button]{grid-template-rows:50% 50%;display:grid}[data-separator-wrapper][data-separator-multi-button] [data-separator-content]{grid-area:1/2/-1;min-width:min-content}[data-separator-wrapper][data-separator-multi-button] [data-expand-button]{grid-column:1}[data-separator=line-info] [data-separator-wrapper],[data-separator=line-info] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px auto}[data-separator=line-info-basic][data-expand-index] [data-separator-wrapper]{grid-template-columns:100% auto}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-up]{border-bottom:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-down]{border-top:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}}[data-additions] [data-gutter] [data-separator-wrapper],[data-additions] [data-separator=line-info-basic] [data-separator-wrapper],[data-content] [data-separator-wrapper]{display:none}[data-line-annotation]{min-height:var(--diffs-annotation-min-height,0);z-index:2}[data-merge-conflict-actions]{z-index:2}[data-separator=custom]{grid-template-columns:subgrid;display:grid}[data-line],[data-column-number],[data-no-newline]{padding-inline:1ch;position:relative}[data-indicators=classic] [data-line]{padding-inline-start:2ch}:is([data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion]),[data-line]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion])):before{-webkit-user-select:none;user-select:none;width:1ch;height:1lh;display:inline-block;position:absolute;top:0;left:0}:is([data-line]:is([data-indicators=classic] [data-line-type=change-addition]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition])):before{content:&quot;+&quot;;color:var(--diffs-addition-base)}:is([data-line]:is([data-indicators=classic] [data-line-type=change-deletion]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-deletion])):before{content:&quot;-&quot;;color:var(--diffs-deletion-base)}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion],[data-indicators=bars] [data-line-type=change-addition]):before{content:&quot;&quot;;-webkit-user-select:none;user-select:none;contain:strict;width:4px;height:100%;display:block;position:absolute;top:0;left:0}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion]):before{background-image:linear-gradient(0deg, var(--diffs-bg-deletion) 50%, var(--diffs-deletion-base) 50%);background-repeat:repeat;background-size:2px 2px;background-size:calc(1lh/round(1lh / 2px)) calc(1lh/round(1lh / 2px))}[data-column-number]:is([data-indicators=bars] [data-line-type=change-addition]):before{background-color:var(--diffs-addition-base)}[data-overflow=wrap] [data-line],[data-overflow=wrap] [data-annotation-content]{white-space:pre-wrap;word-break:break-word}[data-overflow=scroll] [data-line]{white-space:pre;min-height:1lh}[data-column-number]{box-sizing:content-box;text-align:right;-webkit-user-select:none;user-select:none;color:var(--diffs-fg-number);padding-left:2ch}[data-line-number-content]{min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));z-index:1;display:inline-block;position:relative}[data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]{min-width:4px;padding:0}:is([data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]):before{min-width:0}[data-disable-line-numbers] [data-line-number-content]{display:none}[data-disable-line-numbers] [data-gutter-utility-slot]{right:unset;justify-content:flex-start;left:0}[data-disable-line-numbers][data-indicators=bars] [data-gutter-utility-slot]{left:6px}[data-file][data-disable-line-numbers] [data-gutter-buffer],[data-file][data-disable-line-numbers] [data-column-number]{border-right:0;min-width:0}[data-diff-span]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}[data-line-type=change-addition] [data-diff-span]{background-color:var(--diffs-bg-addition-emphasis)}[data-line-type=change-deletion] [data-diff-span]{background-color:var(--diffs-bg-deletion-emphasis)}[data-merge-conflict=marker-start],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator],[data-merge-conflict=marker-end]{color:var(--diffs-fg);padding-left:1ch}[data-merge-conflict=marker-start],[data-merge-conflict=marker-end]{align-items:center;display:flex}:is([data-merge-conflict=marker-start],[data-merge-conflict=marker-end]):after{color:var(--diffs-fg-conflict-marker);font-size:.75rem;font-style:normal;line-height:1.25rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));padding-left:1ch}[data-merge-conflict=marker-start]:after{content:&quot;(Current Change)&quot;}[data-merge-conflict=marker-end]:after{content:&quot;(Incoming Change)&quot;}[data-merge-conflict-actions-content]{min-height:1.75rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));color:var(--diffs-fg);align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.75rem;line-height:1.2;display:flex}[data-merge-conflict-action]{appearance:none;color:var(--diffs-fg-number);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-style:normal}[data-merge-conflict-action]:hover{color:var(--diffs-fg)}[data-merge-conflict-action=current]:hover{color:var(--diffs-addition-base)}[data-merge-conflict-action=incoming]:hover{color:var(--diffs-modified-base)}[data-merge-conflict-action-separator]{color:var(--diffs-fg-number);opacity:.6;-webkit-user-select:none;user-select:none}[data-diffs-header=default]{background-color:var(--diffs-bg);justify-content:space-between;align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));min-height:calc(1lh + var(--diffs-gap-block,var(--diffs-gap-fallback))*3);z-index:2;flex-direction:row;padding-inline:16px;display:flex;position:relative;top:0}[data-header-content]{align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));white-space:nowrap;flex-direction:row;min-width:0;display:flex}[data-header-content] [data-prev-name],[data-header-content] [data-title]{text-overflow:ellipsis;white-space:nowrap;direction:rtl;min-width:0;overflow:hidden}[data-prev-name]{opacity:.7}[data-rename-icon]{fill:currentColor;flex-grow:0;flex-shrink:0}[data-diffs-header=default] [data-metadata]{white-space:nowrap;align-items:center;gap:1ch;display:flex}[data-diffs-header=default] [data-additions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-addition-base)}[data-diffs-header=default] [data-deletions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-deletion-base)}[data-change-icon]{fill:currentColor;flex-shrink:0}[data-change-icon=change],[data-change-icon=rename-pure],[data-change-icon=rename-changed]{color:var(--diffs-modified-base)}[data-change-icon=new]{color:var(--diffs-addition-base)}[data-change-icon=deleted]{color:var(--diffs-deletion-base)}[data-change-icon=file]{opacity:.6}[data-annotation-content]{z-index:2;isolation:isolate;align-self:flex-start;min-width:0;display:flow-root;position:relative}[data-overflow=scroll] [data-annotation-content],[data-overflow=scroll] [data-merge-conflict-actions-content]{width:var(--diffs-column-content-width,auto);left:var(--diffs-column-number-width,0);position:sticky}[data-annotation-slot]{text-wrap-mode:wrap;word-break:normal;white-space-collapse:collapse}[data-gutter-utility-slot]{touch-action:none;justify-content:flex-end;display:flex;position:absolute;top:0;bottom:0;right:0}[data-utility-button]{appearance:none;cursor:pointer;width:1lh;height:1lh;font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);background-color:var(--diffs-modified-base);color:var(--diffs-bg);fill:currentColor;z-index:4;touch-action:none;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:calc(1ch - 1lh);padding:0;display:flex;position:relative}[data-utility-button]:before{content:&quot;&quot;;display:block;position:absolute;inset:0 0 0 -4px}[data-decoration-bar-stack]{pointer-events:none;isolation:isolate;z-index:1;background-color:var(--diffs-decoration-bar-color,transparent);box-sizing:content-box;border-left:2px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg);width:6px;position:absolute;top:0;bottom:0;right:-2px}[data-decoration-bar-depth=&quot;1&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 20%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth=&quot;2&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 45%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth=&quot;3&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 65%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-start] [data-decoration-bar-stack]{border-top-left-radius:5px;border-top-right-radius:5px}[data-decoration-bar-end] [data-decoration-bar-stack]{z-index:3;border-bottom-right-radius:5px;border-bottom-left-radius:5px}[data-placeholder]{contain:strict}[data-error-wrapper]{padding:var(--diffs-gap-block,var(--diffs-gap-fallback)) var(--diffs-gap-inline,var(--diffs-gap-fallback));scrollbar-width:none;max-height:400px;overflow:auto}[data-error-wrapper] [data-error-message]{color:var(--diffs-deletion-base);font-size:18px;font-weight:700}[data-error-wrapper] [data-error-stack]{color:var(--diffs-fg-number)}}@layer theme,rendered,unsafe;
@layer theme {
}</style><style data-theme-css=&quot;&quot;>@layer base, theme, rendered, unsafe;
@layer rendered {
:host {
--diffs-scrollbar-gutter-measured: var(--diffs-scrollbar-gutter-fallback);
--diffs-dark:#fafafa;--diffs-dark-bg:#0a0a0a;--diffs-dark-addition-color:#07c480;--diffs-dark-deletion-color:#ff2e3f;--diffs-dark-modified-color:#009fff;--diffs-light:#0a0a0a;--diffs-light-bg:#ffffff;--diffs-light-addition-color:#18a46c;--diffs-light-deletion-color:#d52c36;--diffs-light-modified-color:#009fff;
}
}</style><div data-diffs-header=&quot;default&quot; data-change-type=&quot;change&quot;><div data-header-content=&quot;&quot;><slot name=&quot;header-prefix&quot;></slot><svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 16 16&quot; data-change-icon=&quot;change&quot;><use href=&quot;#diffs-icon-symbol-modified&quot;></use></svg><div data-title=&quot;&quot;><bdi>apps/web/scripts/dev.ts</bdi></div></div><div data-metadata=&quot;&quot;><span data-additions-count=&quot;&quot;>+8</span><slot name=&quot;header-metadata&quot;></slot></div></div><pre data-diff=&quot;&quot; data-diff-type=&quot;split&quot; data-overflow=&quot;scroll&quot; data-background=&quot;&quot; data-indicators=&quot;bars&quot; tabindex=&quot;0&quot; style=&quot;--diffs-min-number-column-width-default:2ch;&quot; data-dehydrated=&quot;&quot;><code data-code=&quot;&quot; data-container-size=&quot;&quot; data-deletions=&quot;&quot;><div data-gutter=&quot;&quot; style=&quot;grid-row: span 24&quot;><div data-line-type=&quot;context&quot; data-column-number=&quot;1&quot; data-line-index=&quot;0,0&quot;><span data-line-number-content=&quot;&quot;>1</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;2&quot; data-line-index=&quot;1,1&quot;><span data-line-number-content=&quot;&quot;>2</span></div><div data-gutter-buffer=&quot;buffer&quot; data-buffer-size=&quot;2&quot; style=&quot;grid-row: span 2;min-height:calc(2 * 1lh);&quot;></div><div data-line-type=&quot;context&quot; data-column-number=&quot;3&quot; data-line-index=&quot;4,4&quot;><span data-line-number-content=&quot;&quot;>3</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;4&quot; data-line-index=&quot;5,5&quot;><span data-line-number-content=&quot;&quot;>4</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;5&quot; data-line-index=&quot;6,6&quot;><span data-line-number-content=&quot;&quot;>5</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;6&quot; data-line-index=&quot;7,7&quot;><span data-line-number-content=&quot;&quot;>6</span></div><div data-gutter-buffer=&quot;buffer&quot; data-buffer-size=&quot;5&quot; style=&quot;grid-row: span 5;min-height:calc(5 * 1lh);&quot;></div><div data-line-type=&quot;context&quot; data-column-number=&quot;7&quot; data-line-index=&quot;13,13&quot;><span data-line-number-content=&quot;&quot;>7</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;8&quot; data-line-index=&quot;14,14&quot;><span data-line-number-content=&quot;&quot;>8</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;9&quot; data-line-index=&quot;15,15&quot;><span data-line-number-content=&quot;&quot;>9</span></div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>11 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;21&quot; data-line-index=&quot;27,27&quot;><span data-line-number-content=&quot;&quot;>21</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;22&quot; data-line-index=&quot;28,28&quot;><span data-line-number-content=&quot;&quot;>22</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;23&quot; data-line-index=&quot;29,29&quot;><span data-line-number-content=&quot;&quot;>23</span></div><div data-gutter-buffer=&quot;buffer&quot; data-buffer-size=&quot;1&quot; style=&quot;grid-row: span 1;min-height:calc(1 * 1lh);&quot;></div><div data-line-type=&quot;context&quot; data-column-number=&quot;24&quot; data-line-index=&quot;31,31&quot;><span data-line-number-content=&quot;&quot;>24</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;25&quot; data-line-index=&quot;32,32&quot;><span data-line-number-content=&quot;&quot;>25</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;26&quot; data-line-index=&quot;33,33&quot;><span data-line-number-content=&quot;&quot;>26</span></div></div><div data-content=&quot;&quot; style=&quot;grid-row: span 24&quot;><div data-line=&quot;1&quot; data-alt-line=&quot;1&quot; data-line-type=&quot;context&quot; data-line-index=&quot;0,0&quot;><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>import</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> {</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> rm</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> }</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;> from</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;node:fs/promises&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;2&quot; data-alt-line=&quot;2&quot; data-line-type=&quot;context&quot; data-line-index=&quot;1,1&quot;>
</div><div data-content-buffer=&quot;&quot; data-buffer-size=&quot;2&quot; style=&quot;grid-row: span 2;min-height:calc(2 * 1lh)&quot;></div><div data-line=&quot;3&quot; data-alt-line=&quot;5&quot; data-line-type=&quot;context&quot; data-line-index=&quot;4,4&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;>const</span><span style=&quot;--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF&quot;> run</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;> async</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> ()</span><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;> =></span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> {</span></div><div data-line=&quot;4&quot; data-alt-line=&quot;6&quot; data-line-type=&quot;context&quot; data-line-index=&quot;5,5&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;> const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> port</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7&quot;> 3000</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;5&quot; data-alt-line=&quot;7&quot; data-line-type=&quot;context&quot; data-line-index=&quot;6,6&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;> const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> distDir</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;.next-dev&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;6&quot; data-alt-line=&quot;8&quot; data-line-type=&quot;context&quot; data-line-index=&quot;7,7&quot;><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> console</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF&quot;>log</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>(</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>[web] starting Next.js dev server on port </span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>${</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>port</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>}</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>);</span></div><div data-content-buffer=&quot;&quot; data-buffer-size=&quot;5&quot; style=&quot;grid-row: span 5;min-height:calc(5 * 1lh)&quot;></div><div data-line=&quot;7&quot; data-alt-line=&quot;14&quot; data-line-type=&quot;context&quot; data-line-index=&quot;13,13&quot;>
</div><div data-line=&quot;8&quot; data-alt-line=&quot;15&quot; data-line-type=&quot;context&quot; data-line-index=&quot;14,14&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;> const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> path</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> Bun</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;>PATH</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> ??</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;9&quot; data-alt-line=&quot;16&quot; data-line-type=&quot;context&quot; data-line-index=&quot;15,15&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;> const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> cwd</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>${</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>import</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>meta</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>dir</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>}</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>/..</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>11 unmodified lines</span></div></div></div><div data-line=&quot;21&quot; data-alt-line=&quot;28&quot; data-line-type=&quot;context&quot; data-line-index=&quot;27,27&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> {</span></div><div data-line=&quot;22&quot; data-alt-line=&quot;29&quot; data-line-type=&quot;context&quot; data-line-index=&quot;28,28&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> ...</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>Bun</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>,</span></div><div data-line=&quot;23&quot; data-alt-line=&quot;30&quot; data-line-type=&quot;context&quot; data-line-index=&quot;29,29&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> PATH</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>${</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>cwd</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>}</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>/node_modules/.bin:</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>${</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>path</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>}</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>,</span></div><div data-content-buffer=&quot;&quot; data-buffer-size=&quot;1&quot; style=&quot;grid-row: span 1;min-height:calc(1 * 1lh)&quot;></div><div data-line=&quot;24&quot; data-alt-line=&quot;32&quot; data-line-type=&quot;context&quot; data-line-index=&quot;31,31&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> PORT</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF&quot;> String</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>(</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>port</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>)</span></div><div data-line=&quot;25&quot; data-alt-line=&quot;33&quot; data-line-type=&quot;context&quot; data-line-index=&quot;32,32&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> }</span></div><div data-line=&quot;26&quot; data-alt-line=&quot;34&quot; data-line-type=&quot;context&quot; data-line-index=&quot;33,33&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> })</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div></div></code><code data-code=&quot;&quot; data-container-size=&quot;&quot; data-additions=&quot;&quot;><div data-gutter=&quot;&quot; style=&quot;grid-row: span 24&quot;><div data-line-type=&quot;context&quot; data-column-number=&quot;1&quot; data-line-index=&quot;0,0&quot;><span data-line-number-content=&quot;&quot;>1</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;2&quot; data-line-index=&quot;1,1&quot;><span data-line-number-content=&quot;&quot;>2</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;3&quot; data-line-index=&quot;2,2&quot;><span data-line-number-content=&quot;&quot;>3</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;4&quot; data-line-index=&quot;3,3&quot;><span data-line-number-content=&quot;&quot;>4</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;5&quot; data-line-index=&quot;4,4&quot;><span data-line-number-content=&quot;&quot;>5</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;6&quot; data-line-index=&quot;5,5&quot;><span data-line-number-content=&quot;&quot;>6</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;7&quot; data-line-index=&quot;6,6&quot;><span data-line-number-content=&quot;&quot;>7</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;8&quot; data-line-index=&quot;7,7&quot;><span data-line-number-content=&quot;&quot;>8</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;9&quot; data-line-index=&quot;8,8&quot;><span data-line-number-content=&quot;&quot;>9</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;10&quot; data-line-index=&quot;9,9&quot;><span data-line-number-content=&quot;&quot;>10</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;11&quot; data-line-index=&quot;10,10&quot;><span data-line-number-content=&quot;&quot;>11</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;12&quot; data-line-index=&quot;11,11&quot;><span data-line-number-content=&quot;&quot;>12</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;13&quot; data-line-index=&quot;12,12&quot;><span data-line-number-content=&quot;&quot;>13</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;14&quot; data-line-index=&quot;13,13&quot;><span data-line-number-content=&quot;&quot;>14</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;15&quot; data-line-index=&quot;14,14&quot;><span data-line-number-content=&quot;&quot;>15</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;16&quot; data-line-index=&quot;15,15&quot;><span data-line-number-content=&quot;&quot;>16</span></div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>11 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;28&quot; data-line-index=&quot;27,27&quot;><span data-line-number-content=&quot;&quot;>28</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;29&quot; data-line-index=&quot;28,28&quot;><span data-line-number-content=&quot;&quot;>29</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;30&quot; data-line-index=&quot;29,29&quot;><span data-line-number-content=&quot;&quot;>30</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;31&quot; data-line-index=&quot;30,30&quot;><span data-line-number-content=&quot;&quot;>31</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;32&quot; data-line-index=&quot;31,31&quot;><span data-line-number-content=&quot;&quot;>32</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;33&quot; data-line-index=&quot;32,32&quot;><span data-line-number-content=&quot;&quot;>33</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;34&quot; data-line-index=&quot;33,33&quot;><span data-line-number-content=&quot;&quot;>34</span></div></div><div data-content=&quot;&quot; style=&quot;grid-row: span 24&quot;><div data-line=&quot;1&quot; data-alt-line=&quot;1&quot; data-line-type=&quot;context&quot; data-line-index=&quot;0,0&quot;><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>import</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> {</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> rm</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> }</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;> from</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;node:fs/promises&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;2&quot; data-alt-line=&quot;2&quot; data-line-type=&quot;context&quot; data-line-index=&quot;1,1&quot;>
</div><div data-line=&quot;3&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;2,2&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;>const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> DEFAULT_REMOTE_API_URL</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;https://api.flow.deltaisland.io&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;4&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;3,3&quot;>
</div><div data-line=&quot;5&quot; data-alt-line=&quot;3&quot; data-line-type=&quot;context&quot; data-line-index=&quot;4,4&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;>const</span><span style=&quot;--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF&quot;> run</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;> async</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> ()</span><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;> =></span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> {</span></div><div data-line=&quot;6&quot; data-alt-line=&quot;4&quot; data-line-type=&quot;context&quot; data-line-index=&quot;5,5&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;> const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> port</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7&quot;> 3000</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;7&quot; data-alt-line=&quot;5&quot; data-line-type=&quot;context&quot; data-line-index=&quot;6,6&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;> const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> distDir</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;.next-dev&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;8&quot; data-alt-line=&quot;6&quot; data-line-type=&quot;context&quot; data-line-index=&quot;7,7&quot;><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> console</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF&quot;>log</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>(</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>[web] starting Next.js dev server on port </span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>${</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>port</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>}</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>);</span></div><div data-line=&quot;9&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;8,8&quot;><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> console</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF&quot;>log</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>(</span></div><div data-line=&quot;10&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;9,9&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>[web] API origin: </span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>${</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>Bun</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;>NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> ??</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> DEFAULT_REMOTE_API_URL</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>}${</span></div><div data-line=&quot;11&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;10,10&quot;><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> Bun</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;>NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;> ?</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot; (from NEXT_PUBLIC_API_URL)&quot;</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;> :</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot; (default)&quot;</span></div><div data-line=&quot;12&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;11,11&quot;><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;> }</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span></div><div data-line=&quot;13&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;12,12&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> );</span></div><div data-line=&quot;14&quot; data-alt-line=&quot;7&quot; data-line-type=&quot;context&quot; data-line-index=&quot;13,13&quot;>
</div><div data-line=&quot;15&quot; data-alt-line=&quot;8&quot; data-line-type=&quot;context&quot; data-line-index=&quot;14,14&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;> const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> path</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> Bun</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;>PATH</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> ??</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;16&quot; data-alt-line=&quot;9&quot; data-line-type=&quot;context&quot; data-line-index=&quot;15,15&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;> const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> cwd</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>${</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>import</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>meta</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>dir</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>}</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>/..</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>11 unmodified lines</span></div></div></div><div data-line=&quot;28&quot; data-alt-line=&quot;21&quot; data-line-type=&quot;context&quot; data-line-index=&quot;27,27&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> {</span></div><div data-line=&quot;29&quot; data-alt-line=&quot;22&quot; data-line-type=&quot;context&quot; data-line-index=&quot;28,28&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> ...</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>Bun</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>,</span></div><div data-line=&quot;30&quot; data-alt-line=&quot;23&quot; data-line-type=&quot;context&quot; data-line-index=&quot;29,29&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> PATH</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> `</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>${</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>cwd</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>}</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>/node_modules/.bin:</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>${</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>path</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>}</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>`</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>,</span></div><div data-line=&quot;31&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;30,30&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> Bun</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;>NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> ??</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> DEFAULT_REMOTE_API_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>,</span></div><div data-line=&quot;32&quot; data-alt-line=&quot;24&quot; data-line-type=&quot;context&quot; data-line-index=&quot;31,31&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> PORT</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF&quot;> String</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>(</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>port</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>)</span></div><div data-line=&quot;33&quot; data-alt-line=&quot;25&quot; data-line-type=&quot;context&quot; data-line-index=&quot;32,32&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> }</span></div><div data-line=&quot;34&quot; data-alt-line=&quot;26&quot; data-line-type=&quot;context&quot; data-line-index=&quot;33,33&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> })</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div></div></code></pre>
<svg data-icon-sprite aria-hidden=&quot;true&quot; width=&quot;0&quot; height=&quot;0&quot;>
<symbol id=&quot;diffs-icon-arrow-right-short&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-brand-github&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 0c4.42 0 8 3.58 8 8a8.01 8.01 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27s-1.36.09-2 .27c-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-chevron&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.47 4.47a.75.75 0 0 1 1.06 0L8 9.94l5.47-5.47a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-chevrons-narrow&quot; viewBox=&quot;0 0 10 16&quot;>
<path d=&quot;M4.47 2.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1-1.06 1.06L5 3.81 2.28 6.53a.75.75 0 0 1-1.06-1.06zM1.22 9.47a.75.75 0 0 1 1.06 0L5 12.19l2.72-2.72a.75.75 0 0 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0l-3.25-3.25a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-diff-split&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M14 0H8.5v16H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2m-1.5 6.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1v-1a.5.5 0 0 1 1 0&quot;/><path d=&quot;M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.5V0zm.5 7.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1&quot; opacity=&quot;.3&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-diff-unified&quot; viewBox=&quot;0 0 16 16&quot;>
<path fill-rule=&quot;evenodd&quot; d=&quot;M16 14a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8.5h16zm-8-4a.5.5 0 0 0-.5.5v1h-1a.5.5 0 0 0 0 1h1v1a.5.5 0 0 0 1 0v-1h1a.5.5 0 0 0 0-1h-1v-1A.5.5 0 0 0 8 10&quot; clip-rule=&quot;evenodd&quot;/><path fill-rule=&quot;evenodd&quot; d=&quot;M14 0a2 2 0 0 1 2 2v5.5H0V2a2 2 0 0 1 2-2zM6.5 3.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1z&quot; clip-rule=&quot;evenodd&quot; opacity=&quot;.4&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-expand&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M3.47 5.47a.75.75 0 0 1 1.06 0L8 8.94l3.47-3.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 0 1 0-1.06&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-expand-all&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M11.47 9.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L8 12.94zM7.526 1.418a.75.75 0 0 1 1.004.052l4 4a.75.75 0 1 1-1.06 1.06L8 3.06 4.53 6.53a.75.75 0 1 1-1.06-1.06l4-4z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-file-code&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M10.75 0c.199 0 .39.08.53.22l3.5 3.5c.14.14.22.331.22.53v9A2.75 2.75 0 0 1 12.25 16h-8.5A2.75 2.75 0 0 1 1 13.25V2.75A2.75 2.75 0 0 1 3.75 0zm-7 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V5h-1.25A2.25 2.25 0 0 1 10 2.75V1.5z&quot;/><path d=&quot;M7.248 6.19a.75.75 0 0 1 .063 1.058L5.753 9l1.558 1.752a.75.75 0 0 1-1.122.996l-2-2.25a.75.75 0 0 1 0-.996l2-2.25a.75.75 0 0 1 1.06-.063M8.69 7.248a.75.75 0 1 1 1.12-.996l2 2.25a.75.75 0 0 1 0 .996l-2 2.25a.75.75 0 1 1-1.12-.996L10.245 9z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-plus&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 3a.75.75 0 0 1 .75.75v3.5h3.5a.75.75 0 0 1 0 1.5h-3.5v3.5a.75.75 0 0 1-1.5 0v-3.5h-3.5a.75.75 0 0 1 0-1.5h3.5v-3.5A.75.75 0 0 1 8 3&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-added&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4&quot;/><path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-deleted&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8&quot;/><path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-diffstat&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/><path d=&quot;M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-ignored&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m11.53-2.47a.75.75 0 0 0-1.06-1.06l-6 6a.75.75 0 1 0 1.06 1.06z&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-modified&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-moved&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8&quot;/><path d=&quot;M8.495 4.695a.75.75 0 0 0-.05 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.05 1.06l2.044 2.248-1.796 1.995a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05&quot;/>
</symbol>
<symbol id=&quot;diffs-icon-symbol-ref&quot; viewBox=&quot;0 0 16 16&quot;>
<path d=&quot;M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706.286.286.71.54 1.41.73V1.86c-.7.19-1.124.444-1.41.73-.324.325-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8m4 6.397c.697.07 1.522.103 2.5.103 1.613 0 2.806-.088 3.704-.288.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5c-.978 0-1.803.033-2.5.103zM0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m7-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z&quot;/>
</symbol>
</svg><style data-core-css=&quot;&quot;>@layer base, theme, rendered, unsafe;
@layer base,theme,rendered,unsafe;@layer base{:host{--diffs-font-fallback:&quot;SF Mono&quot;, Monaco, Consolas, &quot;Ubuntu Mono&quot;, &quot;Liberation Mono&quot;, &quot;Courier New&quot;, monospace;--diffs-header-font-fallback:system-ui, -apple-system, &quot;Segoe UI&quot;, Roboto, &quot;Helvetica Neue&quot;, &quot;Noto Sans&quot;, &quot;Liberation Sans&quot;, Arial, sans-serif;--diffs-mixer:light-dark(#000,#fff);--diffs-gap-fallback:8px;--diffs-scrollbar-gutter-fallback:6px;--diffs-scrollbar-gutter:var(--diffs-scrollbar-gutter-override,var(--diffs-scrollbar-gutter-measured,var(--diffs-scrollbar-gutter-fallback)));--diffs-added-light:#0dbe4e;--diffs-added-dark:#5ecc71;--diffs-modified-light:#009fff;--diffs-modified-dark:#69b1ff;--diffs-deleted-light:#ff2e3f;--diffs-deleted-dark:#ff6762;color-scheme:light dark;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);font-feature-settings:var(--diffs-font-features);--diffs-bg:light-dark(var(--diffs-light-bg,#fff),var(--diffs-dark-bg,#000));--diffs-bg-buffer:var(--diffs-bg-buffer-override,light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));--diffs-bg-context:var(--diffs-bg-context-override,light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));--diffs-bg-context-gutter:var(--diffs-bg-context-gutter-override,light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)),color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));--diffs-bg-separator:var(--diffs-bg-separator-override,light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));--diffs-fg:light-dark(var(--diffs-light,#000),var(--diffs-dark,#fff));--diffs-fg-number:var(--diffs-fg-number-override,light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));--diffs-fg-conflict-marker:var(--diffs-fg-conflict-marker-override,var(--diffs-fg-number));--diffs-deletion-base:var(--diffs-deletion-color-override,light-dark(var(--diffs-light-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-light))),var(--diffs-dark-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-dark)))));--diffs-addition-base:var(--diffs-addition-color-override,light-dark(var(--diffs-light-addition-color,var(--diffs-addition-color,var(--diffs-added-light))),var(--diffs-dark-addition-color,var(--diffs-addition-color,var(--diffs-added-dark)))));--diffs-modified-base:var(--diffs-modified-color-override,light-dark(var(--diffs-light-modified-color,var(--diffs-modified-color,var(--diffs-modified-light))),var(--diffs-dark-modified-color,var(--diffs-modified-color,var(--diffs-modified-dark)))));--diffs-bg-deletion:var(--diffs-bg-deletion-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));--diffs-bg-deletion-emphasis:var(--diffs-bg-deletion-emphasis-override,light-dark(rgb(from var(--diffs-deletion-base) r g b / .15),rgb(from var(--diffs-deletion-base) r g b / .2)));--diffs-bg-addition:var(--diffs-bg-addition-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));--diffs-bg-addition-emphasis:var(--diffs-bg-addition-emphasis-override,light-dark(rgb(from var(--diffs-addition-base) r g b / .15),rgb(from var(--diffs-addition-base) r g b / .2)));--diffs-selection-base:var(--diffs-modified-base);--diffs-selection-number-fg:light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));background-color:var(--diffs-bg);color:var(--diffs-fg);display:block}pre,code,[data-error-wrapper]{isolation:isolate;font-family:var(--diffs-font-family,var(--diffs-font-fallback));outline:none;margin:0;padding:0;display:block}pre,code{background-color:var(--diffs-bg)}code{contain:content}*,:before,:after{box-sizing:border-box}[data-icon-sprite]{display:none}[data-diffs-header],[data-separator]{font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback))}[data-diffs-header][data-sticky]{z-index:1;background-color:var(--diffs-bg);position:sticky;top:0}[data-file-info]{color:var(--fg);background-color:color-mix(in lab, var(--bg) 98%, var(--fg));border-block:1px solid color-mix(in lab, var(--bg) 95%, var(--fg));padding:10px;font-weight:700}[data-diff],[data-file]{--diffs-grid-number-column-width:minmax(min-content, max-content);--diffs-code-grid:var(--diffs-grid-number-column-width) 1fr}[data-dehydrated]:is([data-diff],[data-file]){--diffs-code-grid:var(--diffs-grid-number-column-width) minmax(0, 1fr)}:is([data-diff],[data-file]):hover [data-code]::-webkit-scrollbar-thumb{background-color:var(--diffs-bg-context)}@supports (-webkit-touch-callout:none){:host{--diffs-scrollbar-gutter-fallback:0px}}[data-line] span{color:light-dark(var(--diffs-token-light,var(--diffs-light)),var(--diffs-token-dark,var(--diffs-dark)));background-color:light-dark(var(--diffs-token-light-bg,inherit),var(--diffs-token-dark-bg,inherit));font-weight:light-dark(var(--diffs-token-light-font-weight,inherit),var(--diffs-token-dark-font-weight,inherit));font-style:light-dark(var(--diffs-token-light-font-style,inherit),var(--diffs-token-dark-font-style,inherit));-webkit-text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit));text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit))}[data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);color:var(--diffs-fg);background-color:var(--diffs-line-bg,var(--diffs-bg))}@media (pointer:fine){:is([data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions]):where([data-hovered]){--diffs-computed-hovered-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-selected-line-bg) 97%, var(--diffs-bg-hover-override,var(--diffs-mixer))),color-mix(in lab, var(--diffs-computed-selected-line-bg) 91%, var(--diffs-bg-hover-override,var(--diffs-mixer))));--diffs-line-bg:var(--diffs-computed-hovered-line-bg,inherit)}}[data-decoration-bg]:is([data-line],[data-no-newline]){--mix-deco-light:92%;--mix-deco-dark:85%}[data-decoration-bg][data-decoration-bg-depth=&quot;2&quot;]:is([data-line],[data-no-newline]){--mix-deco-light:88%;--mix-deco-dark:80%}[data-decoration-bg][data-decoration-bg-depth=&quot;3&quot;]:is([data-line],[data-no-newline]){--mix-deco-light:85%;--mix-deco-dark:78%}@media (pointer:fine){[data-decoration-bg][data-hovered]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:85%;--mix-deco-dark:85%}[data-decoration-bg][data-hovered][data-decoration-bg-depth=&quot;2&quot;]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:83%;--mix-deco-dark:83%}[data-decoration-bg][data-hovered][data-decoration-bg-depth=&quot;3&quot;]:is([data-line],[data-no-newline]):not([data-selected-line]){--mix-deco-light:81%;--mix-deco-dark:81%}}[data-decoration-bg]:is([data-line],[data-no-newline]){--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) var(--mix-deco-light), var(--diffs-decoration-bg)),color-mix(in lab, var(--diffs-bg) var(--mix-deco-dark), var(--diffs-decoration-bg)));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-line-annotation],[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context);--diffs-computed-decoration-bg:var(--diffs-annotation-bg);--diffs-computed-diff-line-bg:var(--diffs-annotation-bg);--diffs-computed-selected-line-bg:var(--diffs-annotation-bg);--diffs-line-bg:var(--diffs-annotation-bg)}[data-merge-conflict-actions],[data-gutter-buffer=merge-conflict-action],[data-gutter-buffer=merge-conflict-marker-base],[data-gutter-buffer=merge-conflict-marker-separator],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator]{--diffs-computed-decoration-bg:var(--diffs-bg-context);--diffs-computed-diff-line-bg:var(--diffs-bg-context);--diffs-computed-selected-line-bg:var(--diffs-bg-context);--diffs-line-bg:var(--diffs-bg-context)}[data-gutter-buffer=merge-conflict-marker-start],[data-merge-conflict=marker-start]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-gutter-buffer=merge-conflict-marker-end],[data-merge-conflict=marker-end]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))));--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-decoration-bg);--diffs-line-bg:var(--diffs-computed-decoration-bg)}[data-has-merge-conflict] [data-line-annotation],[data-has-merge-conflict] [data-gutter-buffer=annotation]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-bg);--diffs-computed-selected-line-bg:var(--diffs-bg);--diffs-line-bg:var(--diffs-bg)}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number]{--mix-light:91%;--mix-dark:85%}:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--mix-light:88%;--mix-dark:80%}:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]{--diffs-diff-line-mix-target:var(--diffs-bg)}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-deletion-override,var(--diffs-deletion-base))}@media (pointer:fine){[data-line-type=change-deletion][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:75%}}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-deletion-override,var(--diffs-deletion-base));--diffs-diff-line-mix-target:var(--diffs-bg-deletion-number-override,var(--diffs-deletion-base))}[data-line-type=change-deletion]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--diffs-bg-addition-override,var(--diffs-addition-base))}@media (pointer:fine){[data-line-type=change-addition][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--diffs-bg-addition-number-override,var(--diffs-addition-base))}[data-line-type=change-addition]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-current-override,var(--diffs-addition-base))}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--conflict-bg-current-number-override,var(--diffs-addition-base))}@media (pointer:fine){[data-merge-conflict=current][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=current]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-diff-line-mix-target:var(--conflict-bg-incoming-override,var(--diffs-modified-base))}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]):where([data-gutter-buffer],[data-column-number]){color:var(--diffs-modified-base);--diffs-diff-line-mix-target:var(--conflict-bg-incoming-number-override,var(--diffs-modified-base))}@media (pointer:fine){[data-merge-conflict=incoming][data-hovered]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--mix-light:80%;--mix-dark:70%}}[data-merge-conflict=incoming]:is(:where([data-background]) [data-gutter-buffer],:where([data-background]) [data-column-number],:where([data-background]) [data-line],:where([data-background]) [data-no-newline]){--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)));--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-line-bg:var(--diffs-computed-diff-line-bg,inherit)}[data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]{--diffs-selection-mix-target:var(--diffs-bg-selection-override,var(--diffs-selection-base))}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--mix-selection-light:82%;--mix-selection-dark:75%}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:75%;--mix-selection-dark:70%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]){--mix-selection-light:75%;--mix-selection-dark:60%;--diffs-selection-mix-target:var(--diffs-bg-selection-number-override,var(--diffs-selection-base))}@media (pointer:fine){[data-selected-line][data-hovered]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]):where([data-gutter-buffer],[data-column-number]):not([data-merge-conflict],[data-line-type=change-addition],[data-line-type=change-deletion]){--mix-selection-light:70%;--mix-selection-dark:55%}}[data-selected-line]:is([data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline]){--diffs-computed-selected-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-light), var(--diffs-selection-mix-target)),color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-dark), var(--diffs-selection-mix-target)));--diffs-line-bg:var(--diffs-computed-selected-line-bg,inherit)}[data-selected-line]:is([data-gutter-buffer],[data-column-number]){color:var(--diffs-selection-number-fg)}[data-no-newline]{-webkit-user-select:none;user-select:none}[data-no-newline] span{opacity:.6}[data-diff-type=split][data-overflow=scroll]{grid-template-columns:1fr 1fr;display:grid}[data-diff-type=split][data-overflow=scroll] [data-additions]{border-left:1px solid var(--diffs-bg)}[data-diff-type=split][data-overflow=scroll] [data-deletions]{border-right:1px solid var(--diffs-bg)}[data-code]{grid-auto-flow:dense;grid-template-columns:var(--diffs-code-grid);overflow:var(--diffs-overflow-override,scroll) clip;overscroll-behavior-x:none;tab-size:var(--diffs-tab-size,2);padding-top:var(--diffs-gap-block,var(--diffs-gap-fallback));padding-bottom:max(0px, calc(var(--diffs-gap-block,var(--diffs-gap-fallback)) - var(--diffs-scrollbar-gutter)));scrollbar-gutter:stable;align-self:flex-start;display:grid}[data-diffs-scrollbar-measure]{opacity:0;pointer-events:none;scrollbar-gutter:auto;grid-template-columns:none;width:100px;height:100px;padding:0;position:absolute;top:-200px;left:-200px}[data-container-size]{container-type:inline-size}[data-code]::-webkit-scrollbar{width:0;height:var(--diffs-scrollbar-gutter)}[data-code]::-webkit-scrollbar-track{background:0 0}[data-code]::-webkit-scrollbar-thumb{background-color:#0000;background-clip:content-box;border:1px solid #0000;border-radius:3px}[data-code]::-webkit-scrollbar-corner{background-color:#0000}@supports ((-moz-appearance:none)){[data-code]{scrollbar-width:thin;scrollbar-color:var(--diffs-bg-context) transparent;padding-bottom:var(--diffs-gap-block,var(--diffs-gap-fallback))}}:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]) [data-code],[data-overflow=wrap]:is([data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]){padding-top:0}[data-gutter]{grid-template-rows:subgrid;grid-template-columns:subgrid;z-index:3;background-color:var(--diffs-bg);grid-column:1;display:grid;position:relative}[data-gutter] [data-gutter-buffer],[data-gutter] [data-column-number]{border-right:var(--diffs-gap-style,2px solid var(--diffs-bg))}[data-content]{grid-template-rows:subgrid;grid-template-columns:subgrid;background-color:var(--diffs-bg);grid-column:2;min-width:0;display:grid}[data-diff-type=split][data-overflow=wrap]{grid-auto-flow:dense;grid-template-columns:repeat(2, var(--diffs-code-grid));padding-block:var(--diffs-gap-block,var(--diffs-gap-fallback));display:grid}[data-diff-type=split][data-overflow=wrap] [data-deletions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-gutter]{grid-column:1}:is([data-diff-type=split][data-overflow=wrap] [data-deletions]) [data-content]{border-right:1px solid var(--diffs-bg);grid-column:2}[data-diff-type=split][data-overflow=wrap] [data-additions]{display:contents}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-gutter]{border-left:1px solid var(--diffs-bg);grid-column:3}:is([data-diff-type=split][data-overflow=wrap] [data-additions]) [data-content]{grid-column:4}[data-overflow=scroll] [data-gutter]{position:sticky;left:0}[data-interactive-lines] [data-line]{cursor:pointer}[data-interactive-line-numbers] [data-column-number]{cursor:pointer;touch-action:none}[data-content-buffer],[data-gutter-buffer]{-webkit-user-select:none;user-select:none;min-height:1lh;position:relative}[data-gutter-buffer]{padding-left:2ch;padding-right:1ch}[data-gutter-buffer]:before{content:&quot;&quot;;min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));display:block}[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context-gutter);min-height:0}[data-gutter-buffer=buffer]{--diffs-line-bg:var(--diffs-bg-context-gutter)}[data-content-buffer]{background-position:5px 0;background-size:8px 8px;background-origin:border-box;background-image:repeating-linear-gradient(-45deg, transparent, transparent 4.242px, var(--diffs-bg-buffer) 4.242px, var(--diffs-bg-buffer) 5.656px);grid-column:1}[data-separator]{box-sizing:content-box;background-color:var(--diffs-bg)}[data-separator=simple]{min-height:4px}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata],[data-separator=simple]{background-color:var(--diffs-bg-separator)}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata]{height:32px;position:relative}[data-separator-wrapper]{-webkit-user-select:none;user-select:none;fill:currentColor;background-color:var(--diffs-bg);align-items:center;height:100%;display:flex;position:absolute;inset-inline:0}[data-content] [data-separator-wrapper]{display:none}[data-separator=metadata] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;color:var(--diffs-fg-number);white-space:nowrap;text-overflow:ellipsis;min-width:min-content;padding-inline:1ch;inset-inline:100% auto;overflow:hidden}[data-separator=line-info]{margin-block:var(--diffs-gap-block,var(--diffs-gap-fallback))}[data-separator=line-info] [data-separator-wrapper]{min-width:16px}[data-separator=line-info-basic],[data-separator=metadata]{margin-block:0}[data-separator=line-info][data-separator-first]{margin-top:0}[data-separator=line-info][data-separator-last]{margin-bottom:0}[data-expand-index] [data-separator-wrapper]{grid-template-columns:32px auto;display:grid}[data-expand-index] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:32px 32px auto}[data-expand-button],[data-separator-content]{background-color:var(--diffs-bg-separator);flex:none;align-items:center;display:flex}[data-expand-index] [data-separator-content]:hover{cursor:pointer;text-decoration:underline}[data-expand-button]{cursor:pointer;min-width:32px;color:var(--diffs-fg-number);border-right:2px solid var(--diffs-bg);flex-shrink:0;justify-content:center;align-self:stretch}[data-expand-button]:hover{color:var(--diffs-fg)}[data-expand-button][data-expand-all-button]{display:none}[data-expand-down] [data-icon]{transform:scaleY(-1)}[data-separator-content]{height:100%;color:var(--diffs-fg-number);flex:auto;justify-content:flex-start;padding:0 1ch;overflow:hidden}:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-content]{-webkit-user-select:none;user-select:none;height:100%;overflow:clip}[data-unmodified-lines]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;display:block;overflow:hidden}@supports (width:1cqi){[data-unified] [data-separator=line-info] [data-separator-wrapper]{padding-inline:var(--diffs-gap-inline,var(--diffs-gap-fallback));width:100cqi}:is([data-unified] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content]{border-radius:6px}[data-unified] [data-separator=line-info][data-expand-index] [data-separator-wrapper] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-gutter] [data-separator=line-info] [data-separator-wrapper]{padding-left:var(--diffs-gap-inline,var(--diffs-gap-fallback))}[data-gutter] [data-separator=line-info] [data-separator-content]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-gutter] [data-separator=line-info][data-expand-index] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}[data-additions] [data-content] [data-separator=line-info]{background-color:var(--diffs-bg)}:is([data-additions] [data-content] [data-separator=line-info]) [data-separator-wrapper]{display:none}[data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);border-top-right-radius:6px;border-bottom-right-radius:6px;height:100%;display:block}:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}[data-overflow=scroll] [data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{width:calc(100cqi - var(--diffs-gap-inline,var(--diffs-gap-fallback)))}[data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;margin-right:var(--diffs-gap-inline,var(--diffs-gap-fallback));border-top-right-radius:6px;border-bottom-right-radius:6px;display:block}:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-separator-content],:is([data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]) [data-expand-button]{display:none}:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}@media (pointer:fine){[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:unset}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:6px;border-top-left-radius:unset}}}@media (pointer:coarse){[data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px 34px auto}:is([data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]) [data-separator-content]{grid-column:unset;grid-row:unset}@supports (width:1cqi){:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-both],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down],:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up],[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}[data-separator-multi-button]:is([data-separator=line-info] [data-separator-wrapper]) [data-expand-down]{border-bottom-left-radius:unset;border-top-left-radius:unset}}}@media (pointer:fine){[data-separator-wrapper][data-separator-multi-button]{grid-template-rows:50% 50%;display:grid}[data-separator-wrapper][data-separator-multi-button] [data-separator-content]{grid-area:1/2/-1;min-width:min-content}[data-separator-wrapper][data-separator-multi-button] [data-expand-button]{grid-column:1}[data-separator=line-info] [data-separator-wrapper],[data-separator=line-info] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px auto}[data-separator=line-info-basic][data-expand-index] [data-separator-wrapper]{grid-template-columns:100% auto}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-up]{border-bottom:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}:is(:is([data-separator=line-info],[data-separator=line-info-basic]) [data-separator-multi-button]) [data-expand-down]{border-top:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}}[data-additions] [data-gutter] [data-separator-wrapper],[data-additions] [data-separator=line-info-basic] [data-separator-wrapper],[data-content] [data-separator-wrapper]{display:none}[data-line-annotation]{min-height:var(--diffs-annotation-min-height,0);z-index:2}[data-merge-conflict-actions]{z-index:2}[data-separator=custom]{grid-template-columns:subgrid;display:grid}[data-line],[data-column-number],[data-no-newline]{padding-inline:1ch;position:relative}[data-indicators=classic] [data-line]{padding-inline-start:2ch}:is([data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion]),[data-line]:is([data-indicators=classic] [data-line-type=change-addition],[data-indicators=classic] [data-line-type=change-deletion])):before{-webkit-user-select:none;user-select:none;width:1ch;height:1lh;display:inline-block;position:absolute;top:0;left:0}:is([data-line]:is([data-indicators=classic] [data-line-type=change-addition]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-addition])):before{content:&quot;+&quot;;color:var(--diffs-addition-base)}:is([data-line]:is([data-indicators=classic] [data-line-type=change-deletion]),[data-no-newline]:is([data-indicators=classic] [data-line-type=change-deletion])):before{content:&quot;-&quot;;color:var(--diffs-deletion-base)}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion],[data-indicators=bars] [data-line-type=change-addition]):before{content:&quot;&quot;;-webkit-user-select:none;user-select:none;contain:strict;width:4px;height:100%;display:block;position:absolute;top:0;left:0}[data-column-number]:is([data-indicators=bars] [data-line-type=change-deletion]):before{background-image:linear-gradient(0deg, var(--diffs-bg-deletion) 50%, var(--diffs-deletion-base) 50%);background-repeat:repeat;background-size:2px 2px;background-size:calc(1lh/round(1lh / 2px)) calc(1lh/round(1lh / 2px))}[data-column-number]:is([data-indicators=bars] [data-line-type=change-addition]):before{background-color:var(--diffs-addition-base)}[data-overflow=wrap] [data-line],[data-overflow=wrap] [data-annotation-content]{white-space:pre-wrap;word-break:break-word}[data-overflow=scroll] [data-line]{white-space:pre;min-height:1lh}[data-column-number]{box-sizing:content-box;text-align:right;-webkit-user-select:none;user-select:none;color:var(--diffs-fg-number);padding-left:2ch}[data-line-number-content]{min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));z-index:1;display:inline-block;position:relative}[data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]{min-width:4px;padding:0}:is([data-disable-line-numbers] [data-gutter-buffer],[data-disable-line-numbers] [data-column-number]):before{min-width:0}[data-disable-line-numbers] [data-line-number-content]{display:none}[data-disable-line-numbers] [data-gutter-utility-slot]{right:unset;justify-content:flex-start;left:0}[data-disable-line-numbers][data-indicators=bars] [data-gutter-utility-slot]{left:6px}[data-file][data-disable-line-numbers] [data-gutter-buffer],[data-file][data-disable-line-numbers] [data-column-number]{border-right:0;min-width:0}[data-diff-span]{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px}[data-line-type=change-addition] [data-diff-span]{background-color:var(--diffs-bg-addition-emphasis)}[data-line-type=change-deletion] [data-diff-span]{background-color:var(--diffs-bg-deletion-emphasis)}[data-merge-conflict=marker-start],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator],[data-merge-conflict=marker-end]{color:var(--diffs-fg);padding-left:1ch}[data-merge-conflict=marker-start],[data-merge-conflict=marker-end]{align-items:center;display:flex}:is([data-merge-conflict=marker-start],[data-merge-conflict=marker-end]):after{color:var(--diffs-fg-conflict-marker);font-size:.75rem;font-style:normal;line-height:1.25rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));padding-left:1ch}[data-merge-conflict=marker-start]:after{content:&quot;(Current Change)&quot;}[data-merge-conflict=marker-end]:after{content:&quot;(Incoming Change)&quot;}[data-merge-conflict-actions-content]{min-height:1.75rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));color:var(--diffs-fg);align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.75rem;line-height:1.2;display:flex}[data-merge-conflict-action]{appearance:none;color:var(--diffs-fg-number);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-style:normal}[data-merge-conflict-action]:hover{color:var(--diffs-fg)}[data-merge-conflict-action=current]:hover{color:var(--diffs-addition-base)}[data-merge-conflict-action=incoming]:hover{color:var(--diffs-modified-base)}[data-merge-conflict-action-separator]{color:var(--diffs-fg-number);opacity:.6;-webkit-user-select:none;user-select:none}[data-diffs-header=default]{background-color:var(--diffs-bg);justify-content:space-between;align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));min-height:calc(1lh + var(--diffs-gap-block,var(--diffs-gap-fallback))*3);z-index:2;flex-direction:row;padding-inline:16px;display:flex;position:relative;top:0}[data-header-content]{align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));white-space:nowrap;flex-direction:row;min-width:0;display:flex}[data-header-content] [data-prev-name],[data-header-content] [data-title]{text-overflow:ellipsis;white-space:nowrap;direction:rtl;min-width:0;overflow:hidden}[data-prev-name]{opacity:.7}[data-rename-icon]{fill:currentColor;flex-grow:0;flex-shrink:0}[data-diffs-header=default] [data-metadata]{white-space:nowrap;align-items:center;gap:1ch;display:flex}[data-diffs-header=default] [data-additions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-addition-base)}[data-diffs-header=default] [data-deletions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-deletion-base)}[data-change-icon]{fill:currentColor;flex-shrink:0}[data-change-icon=change],[data-change-icon=rename-pure],[data-change-icon=rename-changed]{color:var(--diffs-modified-base)}[data-change-icon=new]{color:var(--diffs-addition-base)}[data-change-icon=deleted]{color:var(--diffs-deletion-base)}[data-change-icon=file]{opacity:.6}[data-annotation-content]{z-index:2;isolation:isolate;align-self:flex-start;min-width:0;display:flow-root;position:relative}[data-overflow=scroll] [data-annotation-content],[data-overflow=scroll] [data-merge-conflict-actions-content]{width:var(--diffs-column-content-width,auto);left:var(--diffs-column-number-width,0);position:sticky}[data-annotation-slot]{text-wrap-mode:wrap;word-break:normal;white-space-collapse:collapse}[data-gutter-utility-slot]{touch-action:none;justify-content:flex-end;display:flex;position:absolute;top:0;bottom:0;right:0}[data-utility-button]{appearance:none;cursor:pointer;width:1lh;height:1lh;font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);background-color:var(--diffs-modified-base);color:var(--diffs-bg);fill:currentColor;z-index:4;touch-action:none;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:calc(1ch - 1lh);padding:0;display:flex;position:relative}[data-utility-button]:before{content:&quot;&quot;;display:block;position:absolute;inset:0 0 0 -4px}[data-decoration-bar-stack]{pointer-events:none;isolation:isolate;z-index:1;background-color:var(--diffs-decoration-bar-color,transparent);box-sizing:content-box;border-left:2px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg);width:6px;position:absolute;top:0;bottom:0;right:-2px}[data-decoration-bar-depth=&quot;1&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 20%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth=&quot;2&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 45%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth=&quot;3&quot;] [data-decoration-bar-stack]{background-color:color-mix(in lab, var(--diffs-bg) 65%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-start] [data-decoration-bar-stack]{border-top-left-radius:5px;border-top-right-radius:5px}[data-decoration-bar-end] [data-decoration-bar-stack]{z-index:3;border-bottom-right-radius:5px;border-bottom-left-radius:5px}[data-placeholder]{contain:strict}[data-error-wrapper]{padding:var(--diffs-gap-block,var(--diffs-gap-fallback)) var(--diffs-gap-inline,var(--diffs-gap-fallback));scrollbar-width:none;max-height:400px;overflow:auto}[data-error-wrapper] [data-error-message]{color:var(--diffs-deletion-base);font-size:18px;font-weight:700}[data-error-wrapper] [data-error-stack]{color:var(--diffs-fg-number)}}@layer theme,rendered,unsafe;
@layer theme {
}</style><style data-theme-css=&quot;&quot;>@layer base, theme, rendered, unsafe;
@layer rendered {
:host {
--diffs-scrollbar-gutter-measured: var(--diffs-scrollbar-gutter-fallback);
--diffs-dark:#fafafa;--diffs-dark-bg:#0a0a0a;--diffs-dark-addition-color:#07c480;--diffs-dark-deletion-color:#ff2e3f;--diffs-dark-modified-color:#009fff;--diffs-light:#0a0a0a;--diffs-light-bg:#ffffff;--diffs-light-addition-color:#18a46c;--diffs-light-deletion-color:#d52c36;--diffs-light-modified-color:#009fff;
}
}</style><div data-diffs-header=&quot;default&quot; data-change-type=&quot;change&quot;><div data-header-content=&quot;&quot;><slot name=&quot;header-prefix&quot;></slot><svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 16 16&quot; data-change-icon=&quot;change&quot;><use href=&quot;#diffs-icon-symbol-modified&quot;></use></svg><div data-title=&quot;&quot;><bdi>scripts/dev-desktop.ts</bdi></div></div><div data-metadata=&quot;&quot;><span data-deletions-count=&quot;&quot;>-1</span><span data-additions-count=&quot;&quot;>+2</span><slot name=&quot;header-metadata&quot;></slot></div></div><pre data-diff=&quot;&quot; data-diff-type=&quot;split&quot; data-overflow=&quot;scroll&quot; data-background=&quot;&quot; data-indicators=&quot;bars&quot; tabindex=&quot;0&quot; style=&quot;--diffs-min-number-column-width-default:3ch;&quot; data-dehydrated=&quot;&quot;><code data-code=&quot;&quot; data-container-size=&quot;&quot; data-deletions=&quot;&quot;><div data-gutter=&quot;&quot; style=&quot;grid-row: span 16&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>2 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;3&quot; data-line-index=&quot;2,2&quot;><span data-line-number-content=&quot;&quot;>3</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;4&quot; data-line-index=&quot;3,3&quot;><span data-line-number-content=&quot;&quot;>4</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;5&quot; data-line-index=&quot;4,4&quot;><span data-line-number-content=&quot;&quot;>5</span></div><div data-gutter-buffer=&quot;buffer&quot; data-buffer-size=&quot;1&quot; style=&quot;grid-row: span 1;min-height:calc(1 * 1lh);&quot;></div><div data-line-type=&quot;context&quot; data-column-number=&quot;6&quot; data-line-index=&quot;6,6&quot;><span data-line-number-content=&quot;&quot;>6</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;7&quot; data-line-index=&quot;7,7&quot;><span data-line-number-content=&quot;&quot;>7</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;8&quot; data-line-index=&quot;8,8&quot;><span data-line-number-content=&quot;&quot;>8</span></div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>259 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;268&quot; data-line-index=&quot;268,268&quot;><span data-line-number-content=&quot;&quot;>268</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;269&quot; data-line-index=&quot;269,269&quot;><span data-line-number-content=&quot;&quot;>269</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;270&quot; data-line-index=&quot;270,270&quot;><span data-line-number-content=&quot;&quot;>270</span></div><div data-line-type=&quot;change-deletion&quot; data-column-number=&quot;271&quot; data-line-index=&quot;271,271&quot;><span data-line-number-content=&quot;&quot;>271</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;272&quot; data-line-index=&quot;273,272&quot;><span data-line-number-content=&quot;&quot;>272</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;273&quot; data-line-index=&quot;274,273&quot;><span data-line-number-content=&quot;&quot;>273</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;274&quot; data-line-index=&quot;275,274&quot;><span data-line-number-content=&quot;&quot;>274</span></div></div><div data-content=&quot;&quot; style=&quot;grid-row: span 16&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>2 unmodified lines</span></div></div></div><div data-line=&quot;3&quot; data-alt-line=&quot;3&quot; data-line-type=&quot;context&quot; data-line-index=&quot;2,2&quot;><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>import</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> path</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;> from</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;node:path&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;4&quot; data-alt-line=&quot;4&quot; data-line-type=&quot;context&quot; data-line-index=&quot;3,3&quot;>
</div><div data-line=&quot;5&quot; data-alt-line=&quot;5&quot; data-line-type=&quot;context&quot; data-line-index=&quot;4,4&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;>const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> DESKTOP_REMOTE_URL</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;https://flow.deltaisland.io&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-content-buffer=&quot;&quot; data-buffer-size=&quot;1&quot; style=&quot;grid-row: span 1;min-height:calc(1 * 1lh)&quot;></div><div data-line=&quot;6&quot; data-alt-line=&quot;7&quot; data-line-type=&quot;context&quot; data-line-index=&quot;6,6&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;>const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> DESKTOP_LOCAL_URL</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;http://127.0.0.1:3000&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;7&quot; data-alt-line=&quot;8&quot; data-line-type=&quot;context&quot; data-line-index=&quot;7,7&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;>const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> WEB_PORT</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7&quot;> 3000</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;8&quot; data-alt-line=&quot;9&quot; data-line-type=&quot;context&quot; data-line-index=&quot;8,8&quot;>
</div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>259 unmodified lines</span></div></div></div><div data-line=&quot;268&quot; data-alt-line=&quot;269&quot; data-line-type=&quot;context&quot; data-line-index=&quot;268,268&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> cmd</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> [</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>&quot;bun&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>,</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;run&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>,</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;dev&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>],</span></div><div data-line=&quot;269&quot; data-alt-line=&quot;270&quot; data-line-type=&quot;context&quot; data-line-index=&quot;269,269&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> cwd</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;apps/web&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>,</span></div><div data-line=&quot;270&quot; data-alt-line=&quot;271&quot; data-line-type=&quot;context&quot; data-line-index=&quot;270,270&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> {</span></div><div data-line=&quot;271&quot; data-line-type=&quot;change-deletion&quot; data-line-index=&quot;271,271&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> Bun</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;>NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> ??</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> </span><span data-diff-span=&quot;&quot;><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;>DESKTOP_REMOTE_URL</span></span></div><div data-line=&quot;272&quot; data-alt-line=&quot;273&quot; data-line-type=&quot;context&quot; data-line-index=&quot;273,272&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> }</span></div><div data-line=&quot;273&quot; data-alt-line=&quot;274&quot; data-line-type=&quot;context&quot; data-line-index=&quot;274,273&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> })</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;274&quot; data-alt-line=&quot;275&quot; data-line-type=&quot;context&quot; data-line-index=&quot;275,274&quot;><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;> await</span><span style=&quot;--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF&quot;> waitForWebPort</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>();</span></div></div></code><code data-code=&quot;&quot; data-container-size=&quot;&quot; data-additions=&quot;&quot;><div data-gutter=&quot;&quot; style=&quot;grid-row: span 16&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>2 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;3&quot; data-line-index=&quot;2,2&quot;><span data-line-number-content=&quot;&quot;>3</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;4&quot; data-line-index=&quot;3,3&quot;><span data-line-number-content=&quot;&quot;>4</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;5&quot; data-line-index=&quot;4,4&quot;><span data-line-number-content=&quot;&quot;>5</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;6&quot; data-line-index=&quot;5,5&quot;><span data-line-number-content=&quot;&quot;>6</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;7&quot; data-line-index=&quot;6,6&quot;><span data-line-number-content=&quot;&quot;>7</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;8&quot; data-line-index=&quot;7,7&quot;><span data-line-number-content=&quot;&quot;>8</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;9&quot; data-line-index=&quot;8,8&quot;><span data-line-number-content=&quot;&quot;>9</span></div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>259 unmodified lines</span></div></div></div><div data-line-type=&quot;context&quot; data-column-number=&quot;269&quot; data-line-index=&quot;268,268&quot;><span data-line-number-content=&quot;&quot;>269</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;270&quot; data-line-index=&quot;269,269&quot;><span data-line-number-content=&quot;&quot;>270</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;271&quot; data-line-index=&quot;270,270&quot;><span data-line-number-content=&quot;&quot;>271</span></div><div data-line-type=&quot;change-addition&quot; data-column-number=&quot;272&quot; data-line-index=&quot;272,271&quot;><span data-line-number-content=&quot;&quot;>272</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;273&quot; data-line-index=&quot;273,272&quot;><span data-line-number-content=&quot;&quot;>273</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;274&quot; data-line-index=&quot;274,273&quot;><span data-line-number-content=&quot;&quot;>274</span></div><div data-line-type=&quot;context&quot; data-column-number=&quot;275&quot; data-line-index=&quot;275,274&quot;><span data-line-number-content=&quot;&quot;>275</span></div></div><div data-content=&quot;&quot; style=&quot;grid-row: span 16&quot;><div data-separator=&quot;line-info&quot; data-separator-first=&quot;&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>2 unmodified lines</span></div></div></div><div data-line=&quot;3&quot; data-alt-line=&quot;3&quot; data-line-type=&quot;context&quot; data-line-index=&quot;2,2&quot;><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;>import</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> path</span><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;> from</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;node:path&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;4&quot; data-alt-line=&quot;4&quot; data-line-type=&quot;context&quot; data-line-index=&quot;3,3&quot;>
</div><div data-line=&quot;5&quot; data-alt-line=&quot;5&quot; data-line-type=&quot;context&quot; data-line-index=&quot;4,4&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;>const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> DESKTOP_REMOTE_URL</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;https://flow.deltaisland.io&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;6&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;5,5&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;>const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> DESKTOP_REMOTE_API_URL</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;https://api.flow.deltaisland.io&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;7&quot; data-alt-line=&quot;6&quot; data-line-type=&quot;context&quot; data-line-index=&quot;6,6&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;>const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> DESKTOP_LOCAL_URL</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;http://127.0.0.1:3000&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;8&quot; data-alt-line=&quot;7&quot; data-line-type=&quot;context&quot; data-line-index=&quot;7,7&quot;><span style=&quot;--diffs-token-dark:#D568EA;--diffs-token-light:#A631BE&quot;>const</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> WEB_PORT</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> =</span><span style=&quot;--diffs-token-dark:#68CDF2;--diffs-token-light:#1CA1C7&quot;> 3000</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;9&quot; data-alt-line=&quot;8&quot; data-line-type=&quot;context&quot; data-line-index=&quot;8,8&quot;>
</div><div data-separator=&quot;line-info&quot;><div data-separator-wrapper=&quot;&quot;><div data-separator-content=&quot;&quot;><span data-unmodified-lines=&quot;&quot;>259 unmodified lines</span></div></div></div><div data-line=&quot;269&quot; data-alt-line=&quot;268&quot; data-line-type=&quot;context&quot; data-line-index=&quot;268,268&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> cmd</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> [</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;>&quot;bun&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>,</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;run&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>,</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;dev&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>],</span></div><div data-line=&quot;270&quot; data-alt-line=&quot;269&quot; data-line-type=&quot;context&quot; data-line-index=&quot;269,269&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> cwd</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#5ECC71;--diffs-token-light:#199F43&quot;> &quot;apps/web&quot;</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>,</span></div><div data-line=&quot;271&quot; data-alt-line=&quot;270&quot; data-line-type=&quot;context&quot; data-line-index=&quot;270,270&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> {</span></div><div data-line=&quot;272&quot; data-line-type=&quot;change-addition&quot; data-line-index=&quot;272,271&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>:</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;> Bun</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFA359;--diffs-token-light:#D47628&quot;>env</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>.</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;>NEXT_PUBLIC_API_URL</span><span style=&quot;--diffs-token-dark:#08C0EF;--diffs-token-light:#08C0EF&quot;> ??</span><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;> </span><span data-diff-span=&quot;&quot;><span style=&quot;--diffs-token-dark:#FFAB16;--diffs-token-light:#D5901C&quot;>DESKTOP_REMOTE_API_URL</span></span></div><div data-line=&quot;273&quot; data-alt-line=&quot;272&quot; data-line-type=&quot;context&quot; data-line-index=&quot;273,272&quot;><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;> }</span></div><div data-line=&quot;274&quot; data-alt-line=&quot;273&quot; data-line-type=&quot;context&quot; data-line-index=&quot;274,273&quot;><span style=&quot;--diffs-token-dark:#FAFAFA;--diffs-token-light:#0A0A0A&quot;> })</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>;</span></div><div data-line=&quot;275&quot; data-alt-line=&quot;274&quot; data-line-type=&quot;context&quot; data-line-index=&quot;275,274&quot;><span style=&quot;--diffs-token-dark:#FF678D;--diffs-token-light:#D32A61&quot;> await</span><span style=&quot;--diffs-token-dark:#9D6AFB;--diffs-token-light:#693ACF&quot;> waitForWebPort</span><span style=&quot;--diffs-token-dark:#636363;--diffs-token-light:#636363&quot;>();</span></div></div></code></pre></div></body></html>"></iframe>
</section>
<section>
<h2>Expected Impact for End-Users</h2>
<p>Running local web or desktop development should reach the live Delta Island API without manually remembering the current API hostname. Hosted desktop behavior stays pointed at the public app.</p>
</section>
<section>
<h2>Validation</h2>
<ul>
<li><code>ssh di</code> plus curl confirmed <code>api.flow.deltaisland.io/health</code> responds with <code>200</code>.</li>
<li><code>bun run scripts/check-public-api-routes.ts https://api.flow.deltaisland.io</code> passed for REST and WebSocket probes.</li>
<li><code>bun test apps/web/app/terminal.test.ts apps/web/app/api/admin/synthetic/routes.test.ts apps/desktop/src/security.test.ts</code> passed.</li>
<li><code>bun --cwd=apps/web run build</code> passed.</li>
<li>A brief <code>bun run dev:web</code> smoke confirmed the API origin is <code>https://api.flow.deltaisland.io</code>, but port <code>3000</code> was already occupied by an existing <code>node</code> listener.</li>
</ul>
</section>
<section>
<h2>Issues, Limitations, and Mitigations</h2>
<ul>
<li>The smoke run could not bind port <code>3000</code> because another local process was already listening there. The startup log still confirmed the corrected API origin.</li>
<li>The local ignored <code>apps/web/.env.local</code> change fixes this machine only. Tracked script defaults cover missing local env files for future worktrees.</li>
<li>Unrelated dashboard route edits were present in the worktree before this endpoint fix and were not included in this task's intended patch.</li>
</ul>
</section>
<section>
<h2>Follow-up Work</h2>
<p>No endpoint follow-up is required. The existing port <code>3000</code> listener can be stopped separately if the user wants a clean local dev server restart.</p>
</section>
</main>
</body>
</html>