@young1lin/dsh-ui-gitworkbench 0.1.12 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/CHANGELOG_EN.md +15 -0
- package/README.md +50 -0
- package/README_EN.md +1 -1
- package/lib/client.js +698 -304
- package/package.json +1 -1
- package/src/client/CodeEditor.tsx +129 -3
- package/src/client/cm-search-theme.ts +250 -0
- package/src/client/search-count.ts +125 -0
- package/src/client/styles/changes.css +11 -10
- package/src/client/styles/controls.css +19 -8
- package/src/client/styles/files.css +6 -4
- package/src/client/styles/history-filters.css +25 -35
- package/src/client/styles/history.css +1 -1
- package/src/client/styles/shell.css +6 -5
package/lib/client.js
CHANGED
|
@@ -459,7 +459,7 @@ window.__ModuleLoader__.load({
|
|
|
459
459
|
}
|
|
460
460
|
//#endregion
|
|
461
461
|
//#region \0dsh-css:src/client/GitWorkbenchPanel.module.css.mjs
|
|
462
|
-
const css = ".SD8qLW_card{border:1px solid var(--dsw-alias-border-l2);min-height:28px;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:7px;padding:3px 10px;font-size:12px;line-height:18px;transition:background .12s,border-color .12s;display:inline-flex}.SD8qLW_card:hover,.SD8qLW_card:focus-visible{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l3)}.SD8qLW_cardBranch{max-width:220px;color:var(--dsw-alias-label-primary);align-items:center;gap:4px;font-weight:550;display:inline-flex;overflow:hidden}.SD8qLW_cardBranchName{min-width:0;overflow:hidden}.SD8qLW_cardGlyph{opacity:.7;flex:none}.SD8qLW_cardDetached{background:var(--dsw-alias-state-warning-bg,#bb800926);color:var(--dsw-alias-state-warning-primary,#d29922);letter-spacing:.02em;border-radius:999px;padding:0 6px;font-size:10px;line-height:16px}.SD8qLW_cardWt{background:var(--dsw-alias-state-business-bg,#388bfd29);max-width:150px;color:var(--dsw-alias-state-business-primary,#58a6ff);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:3px;padding:0 6px;font-size:10px;line-height:16px;display:inline-flex;overflow:hidden}.SD8qLW_cardAhead,.SD8qLW_cardBehind{color:var(--dsw-alias-label-tertiary);font-size:11px}.SD8qLW_cardAhead{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardBehind{color:var(--dsw-alias-state-attention-primary,#d29922)}.SD8qLW_cardSep{background:var(--dsw-alias-border-l2);width:1px;height:14px}.SD8qLW_cardAdded{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardDeleted{color:var(--dsw-alias-state-error-primary)}.SD8qLW_cardFiles{color:var(--dsw-alias-label-tertiary)}.SD8qLW_overlay[data-gs-theme=github-dark]{--gs-bg:#0d1117;--gs-panel:#161b22;--gs-raise:#21262d;--gs-border:#30363d;--gs-border-soft:#21262d;--gs-fg:#e6edf3;--gs-fg-muted:#c9d1d9;--gs-fg-dim:#8b949e;--gs-fg-faint:#6e7681;--gs-fg-fainter:#484f58;--gs-accent:#58a6ff;--gs-accent-bg:#388bfd24;--gs-accent-border:#388bfd8c;--gs-add:#3fb950;--gs-del:#f85149;--gs-warn:#d29922;--gs-info:#79c0ff;--gs-add-bg:#2ea04329;--gs-del-bg:#f8514929;--gs-warn-bg:#bb800929;--gs-info-bg:#388bfd29;--gs-add-line:#12261e;--gs-del-line:#25181c;--gs-add-word:#1a4a29;--gs-del-word:#6b2b2b;--gs-add-num:#1c4428;--gs-del-num:#542426;--gs-hunk:#111d2e;--gs-hunk-num:#0c2d6b;--gs-neutral-bg:#6e76812e;--gs-backdrop:#01040999;--gs-shadow:#0104098c}.SD8qLW_overlay[data-gs-theme=github-light]{--gs-bg:#fff;--gs-panel:#f6f8fa;--gs-raise:#eaeef2;--gs-border:#d0d7de;--gs-border-soft:#eaeef2;--gs-fg:#1f2328;--gs-fg-muted:#32383f;--gs-fg-dim:#656d76;--gs-fg-faint:#8c959f;--gs-fg-fainter:#afb8c1;--gs-accent:#0969da;--gs-accent-bg:#0969da1a;--gs-accent-border:#0969da73;--gs-add:#1a7f37;--gs-del:#cf222e;--gs-warn:#9a6700;--gs-info:#0550ae;--gs-add-bg:#1a7f371f;--gs-del-bg:#cf222e1f;--gs-warn-bg:#9a67001f;--gs-info-bg:#0969da1f;--gs-add-line:#dafbe1;--gs-del-line:#ffebe9;--gs-add-word:#aceebb;--gs-del-word:#ffcecb;--gs-add-num:#aceebb;--gs-del-num:#ffcecb;--gs-hunk:#ddf4ff;--gs-hunk-num:#b6e3ff;--gs-neutral-bg:#6e76811f;--gs-backdrop:#1f232847;--gs-shadow:#1f232838}.SD8qLW_overlay[data-gs-theme=idea-dark]{--gs-bg:#1e1f22;--gs-panel:#2b2d30;--gs-raise:#393b40;--gs-border:#393b40;--gs-border-soft:#2b2d30;--gs-fg:#dfe1e5;--gs-fg-muted:#ced0d6;--gs-fg-dim:#9da0a8;--gs-fg-faint:#6f737a;--gs-fg-fainter:#4e5157;--gs-accent:#548af7;--gs-accent-bg:#548af729;--gs-accent-border:#548af78c;--gs-add:#5fad65;--gs-del:#e26e6e;--gs-warn:#f0a732;--gs-info:#3592c4;--gs-add-bg:#5fad6529;--gs-del-bg:#e26e6e29;--gs-warn-bg:#f0a73229;--gs-info-bg:#3592c429;--gs-add-line:#293c2e;--gs-del-line:#3d2b2b;--gs-add-word:#3d6640;--gs-del-word:#6b3838;--gs-hunk:#548af71a;--gs-neutral-bg:#9da0a82e;--gs-backdrop:#10111399;--gs-shadow:#00000080}.SD8qLW_overlay[data-gs-theme=idea-light]{--gs-bg:#fff;--gs-panel:#f7f8fa;--gs-raise:#ebecf0;--gs-border:#d3d5db;--gs-border-soft:#ebecf0;--gs-fg:#1e1f22;--gs-fg-muted:#3c3f44;--gs-fg-dim:#6c707e;--gs-fg-faint:#818594;--gs-fg-fainter:#a8adbd;--gs-accent:#3574f0;--gs-accent-bg:#3574f01a;--gs-accent-border:#3574f073;--gs-add:#398a4a;--gs-del:#cc4a4a;--gs-warn:#a8760b;--gs-info:#2b7fb8;--gs-add-bg:#398a4a1f;--gs-del-bg:#cc4a4a1f;--gs-warn-bg:#a8760b1f;--gs-info-bg:#2b7fb81f;--gs-add-line:#e6f5e9;--gs-del-line:#fbe9ea;--gs-add-word:#c2e5c9;--gs-del-word:#f5c9cc;--gs-hunk:#3574f012;--gs-neutral-bg:#6c707e1f;--gs-backdrop:#1e1f2242;--gs-shadow:#1e1f222e}.SD8qLW_overlay[data-gs-theme=vscode-dark]{--gs-bg:#1e1e1e;--gs-panel:#252526;--gs-raise:#2d2d30;--gs-border:#3e3e42;--gs-border-soft:#2d2d30;--gs-fg:#d4d4d4;--gs-fg-muted:#ccc;--gs-fg-dim:#9d9d9d;--gs-fg-faint:gray;--gs-fg-fainter:#5a5a5a;--gs-accent:#0098ff;--gs-accent-bg:#007acc3d;--gs-accent-border:#0098ff99;--gs-add:#89d185;--gs-del:#f14c4c;--gs-warn:#cca700;--gs-info:#75beff;--gs-add-bg:#89d1852e;--gs-del-bg:#f14c4c2e;--gs-warn-bg:#cca7002e;--gs-info-bg:#75beff2e;--gs-add-line:#9bb9552e;--gs-del-line:#ff000029;--gs-add-word:#9bb95566;--gs-del-word:#ff00005c;--gs-hunk:#007acc24;--gs-neutral-bg:#bebebe24;--gs-backdrop:#0000008c;--gs-shadow:#0009}.SD8qLW_overlay[data-gs-theme=vscode-light]{--gs-bg:#fff;--gs-panel:#f3f3f3;--gs-raise:#e8e8e8;--gs-border:#cecece;--gs-border-soft:#e8e8e8;--gs-fg:#1e1e1e;--gs-fg-muted:#333;--gs-fg-dim:#616161;--gs-fg-faint:#767676;--gs-fg-fainter:#a0a0a0;--gs-accent:#005fb8;--gs-accent-bg:#005fb81a;--gs-accent-border:#005fb873;--gs-add:#10793f;--gs-del:#b5200d;--gs-warn:#855b00;--gs-info:#005fb8;--gs-add-bg:#10793f1f;--gs-del-bg:#b5200d1f;--gs-warn-bg:#855b001f;--gs-info-bg:#005fb81f;--gs-add-line:#9bb95538;--gs-del-line:#ff000021;--gs-add-word:#9bb95573;--gs-del-word:#ff00004d;--gs-hunk:#005fb812;--gs-neutral-bg:#6161611f;--gs-backdrop:#00000040;--gs-shadow:#0000002e}.SD8qLW_overlay[data-gs-theme=cyberpunk-dark]{--gs-bg:#0b0417;--gs-panel:#14082a;--gs-raise:#1f0d3d;--gs-border:#3a1f6b;--gs-border-soft:#26124a;--gs-fg:#f0e6ff;--gs-fg-muted:#d5c2f5;--gs-fg-dim:#a98fd6;--gs-fg-faint:#7d64a8;--gs-fg-fainter:#56427a;--gs-accent:#00f0ff;--gs-on-accent:#0b0417;--gs-accent-bg:#00f0ff24;--gs-accent-border:#00f0ff80;--gs-add:#39ff88;--gs-del:#ff2e88;--gs-warn:#fc0;--gs-info:#00f0ff;--gs-add-bg:#39ff8824;--gs-del-bg:#ff2e8824;--gs-warn-bg:#ffcc0024;--gs-info-bg:#00f0ff24;--gs-add-line:#39ff881f;--gs-del-line:#ff2e881f;--gs-add-word:#39ff8857;--gs-del-word:#ff2e8857;--gs-hunk:#00f0ff1a;--gs-neutral-bg:#a98fd629;--gs-backdrop:#06020ead;--gs-shadow:#00f0ff24}.SD8qLW_overlay[data-gs-theme=cyberpunk-light]{--gs-bg:#fdfbff;--gs-panel:#f4eeff;--gs-raise:#e9dfff;--gs-border:#c9b3f0;--gs-border-soft:#e0d2f7;--gs-fg:#1a0b2e;--gs-fg-muted:#33195c;--gs-fg-dim:#6b4ba0;--gs-fg-faint:#8f74bd;--gs-fg-fainter:#b9a5d6;--gs-accent:#00a6b8;--gs-accent-bg:#00a6b81f;--gs-accent-border:#00a6b880;--gs-add:#00875a;--gs-del:#d6006e;--gs-warn:#b37a00;--gs-info:#00a6b8;--gs-add-bg:#00875a1f;--gs-del-bg:#d6006e1f;--gs-warn-bg:#b37a001f;--gs-info-bg:#00a6b81f;--gs-add-line:#00c88224;--gs-del-line:#ff2e881f;--gs-add-word:#00c88257;--gs-del-word:#ff2e884d;--gs-hunk:#00a6b814;--gs-neutral-bg:#6b4ba01f;--gs-backdrop:#1a0b2e47;--gs-shadow:#1a0b2e29}.SD8qLW_overlay[data-gs-theme=one-dark]{--gs-bg:#282c34;--gs-panel:#21252b;--gs-raise:#2c313a;--gs-border:#3e4451;--gs-border-soft:#2c313a;--gs-fg:#abb2bf;--gs-fg-muted:#b6bdca;--gs-fg-dim:#7f848e;--gs-fg-faint:#636d83;--gs-fg-fainter:#4b5263;--gs-accent:#61afef;--gs-accent-bg:#61afef24;--gs-accent-border:#61afef8c;--gs-add:#98c379;--gs-del:#e06c75;--gs-warn:#e5c07b;--gs-info:#56b6c2;--gs-add-bg:#98c37929;--gs-del-bg:#e06c7529;--gs-warn-bg:#e5c07b29;--gs-info-bg:#56b6c229;--gs-add-line:#98c37924;--gs-del-line:#e06c7524;--gs-add-word:#98c37961;--gs-del-word:#e06c7561;--gs-hunk:#61afef1a;--gs-neutral-bg:#7f848e2e;--gs-backdrop:#171a2199;--gs-shadow:#0f11158c}.SD8qLW_overlay[data-gs-theme=one-light]{--gs-bg:#fafafa;--gs-panel:#f0f0f0;--gs-raise:#e5e5e6;--gs-border:#d4d4d4;--gs-border-soft:#e5e5e6;--gs-fg:#383a42;--gs-fg-muted:#4a4c53;--gs-fg-dim:#696c77;--gs-fg-faint:#909196;--gs-fg-fainter:#b8b9bd;--gs-accent:#4078f2;--gs-accent-bg:#4078f21a;--gs-accent-border:#4078f273;--gs-add:#50a14f;--gs-del:#e45649;--gs-warn:#c18401;--gs-info:#0184bc;--gs-add-bg:#50a14f1f;--gs-del-bg:#e456491f;--gs-warn-bg:#c184011f;--gs-info-bg:#0184bc1f;--gs-add-line:#50a14f24;--gs-del-line:#e4564921;--gs-add-word:#50a14f57;--gs-del-word:#e4564952;--gs-hunk:#4078f212;--gs-neutral-bg:#696c771f;--gs-backdrop:#383a4242;--gs-shadow:#383a422e}.SD8qLW_overlay[data-gs-theme=solarized-dark]{--gs-bg:#002b36;--gs-panel:#073642;--gs-raise:#0a4553;--gs-border:#0f5666;--gs-border-soft:#073642;--gs-fg:#93a1a1;--gs-fg-muted:#839496;--gs-fg-dim:#657b83;--gs-fg-faint:#586e75;--gs-fg-fainter:#45636b;--gs-accent:#268bd2;--gs-accent-bg:#268bd229;--gs-accent-border:#268bd28c;--gs-add:#859900;--gs-del:#dc322f;--gs-warn:#b58900;--gs-info:#2aa198;--gs-add-bg:#85990033;--gs-del-bg:#dc322f2e;--gs-warn-bg:#b589002e;--gs-info-bg:#2aa1982e;--gs-add-line:#85990029;--gs-del-line:#dc322f26;--gs-add-word:#85990066;--gs-del-word:#dc322f61;--gs-hunk:#268bd21f;--gs-neutral-bg:#657b8333;--gs-backdrop:#00141a9e;--gs-shadow:#00141a8c}.SD8qLW_overlay[data-gs-theme=solarized-light]{--gs-bg:#fdf6e3;--gs-panel:#eee8d5;--gs-raise:#e3ddca;--gs-border:#d5cfbb;--gs-border-soft:#eee8d5;--gs-fg:#586e75;--gs-fg-muted:#657b83;--gs-fg-dim:#839496;--gs-fg-faint:#93a1a1;--gs-fg-fainter:#b5b0a0;--gs-accent:#268bd2;--gs-accent-bg:#268bd21f;--gs-accent-border:#268bd273;--gs-add:#6c7c00;--gs-del:#cb2825;--gs-warn:#9a7400;--gs-info:#21867f;--gs-add-bg:#8599002e;--gs-del-bg:#dc322f24;--gs-warn-bg:#b5890029;--gs-info-bg:#2aa19824;--gs-add-line:#85990029;--gs-del-line:#dc322f1f;--gs-add-word:#85990061;--gs-del-word:#dc322f4d;--gs-hunk:#268bd214;--gs-neutral-bg:#586e7524;--gs-backdrop:#586e7542;--gs-shadow:#586e7533}.SD8qLW_overlay[data-gs-theme=nord-dark]{--gs-bg:#2e3440;--gs-panel:#3b4252;--gs-raise:#434c5e;--gs-border:#4c566a;--gs-border-soft:#3b4252;--gs-fg:#eceff4;--gs-fg-muted:#d8dee9;--gs-fg-dim:#9aa5b8;--gs-fg-faint:#7b88a1;--gs-fg-fainter:#5d6a82;--gs-accent:#88c0d0;--gs-on-accent:#2e3440;--gs-accent-bg:#88c0d024;--gs-accent-border:#88c0d08c;--gs-add:#a3be8c;--gs-del:#bf616a;--gs-warn:#ebcb8b;--gs-info:#81a1c1;--gs-add-bg:#a3be8c29;--gs-del-bg:#bf616a2e;--gs-warn-bg:#ebcb8b29;--gs-info-bg:#81a1c129;--gs-add-line:#a3be8c24;--gs-del-line:#bf616a26;--gs-add-word:#a3be8c61;--gs-del-word:#bf616a66;--gs-hunk:#88c0d01a;--gs-neutral-bg:#9aa5b829;--gs-backdrop:#1d232d9e;--gs-shadow:#1419218c}.SD8qLW_overlay[data-gs-theme=nord-light]{--gs-bg:#eceff4;--gs-panel:#e5e9f0;--gs-raise:#d8dee9;--gs-border:#c3cbd8;--gs-border-soft:#dfe4ec;--gs-fg:#2e3440;--gs-fg-muted:#3b4252;--gs-fg-dim:#4c566a;--gs-fg-faint:#6b7689;--gs-fg-fainter:#9aa4b5;--gs-accent:#5e81ac;--gs-accent-bg:#5e81ac1f;--gs-accent-border:#5e81ac80;--gs-add:#5e7d47;--gs-del:#a5424c;--gs-warn:#97701f;--gs-info:#4c7a8c;--gs-add-bg:#5e7d4724;--gs-del-bg:#a5424c21;--gs-warn-bg:#97701f24;--gs-info-bg:#4c7a8c21;--gs-add-line:#5e7d4724;--gs-del-line:#a5424c1f;--gs-add-word:#5e7d4757;--gs-del-word:#a5424c52;--gs-hunk:#5e81ac17;--gs-neutral-bg:#4c566a21;--gs-backdrop:#2e344042;--gs-shadow:#2e34402e}.SD8qLW_overlay{--gs-inset:14px;--gs-h-control:28px;--gs-h-compact:24px;--gs-pad-control:0 12px;--gs-pad-compact:0 10px;--gs-on-accent:#fff;--gs-graph-0:#58a6ff;--gs-graph-1:#3fb950;--gs-graph-2:#d29922;--gs-graph-3:#bc8cff;--gs-graph-4:#f778ba;--gs-graph-5:#39c5cf;--gs-r-pill:999px;--gs-r-control:8px;--gs-r-surface:12px;--gs-r-drawer:14px;--gs-t-meta:11px;--gs-t-dense:12px;--gs-t-ui:13px;--gs-gutter:16px;--gs-gutter-pane:12px;z-index:1000;padding:var(--gs-inset);box-sizing:border-box;background:var(--gs-backdrop);justify-content:flex-end;align-items:stretch;gap:12px;animation:.16s ease-out SD8qLW_gsFade;display:flex;position:fixed;inset:0}.SD8qLW_drawer{box-sizing:border-box;width:min(1600px,94vw);height:100%;color:var(--gs-fg);background:var(--gs-bg);border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);box-shadow:0 24px 64px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);--gs-surface:var(--gs-bg);--gs-surface-2:var(--gs-panel);flex-direction:column;animation:.18s cubic-bezier(.22,1,.36,1) SD8qLW_gsSlide;display:flex;position:relative;overflow:hidden}.SD8qLW_drawer[data-gs-bg]{--gs-surface:color-mix(in srgb, var(--gs-bg) var(--gs-veil), transparent);--gs-surface-2:color-mix(in srgb, var(--gs-panel) var(--gs-veil), transparent)}.SD8qLW_drawer[data-gs-bg]:before{content:\"\";z-index:0;background-image:var(--gs-bg-image);filter:blur(var(--gs-bg-blur));pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.12)}.SD8qLW_drawer>:not(.SD8qLW_resizer){z-index:1;position:relative}.SD8qLW_drawer>.SD8qLW_header{z-index:24}.SD8qLW_drawer>.SD8qLW_tabs{z-index:23}.SD8qLW_drawer>.SD8qLW_compareBar{z-index:22}.SD8qLW_drawer>.SD8qLW_syncBar{z-index:20}.SD8qLW_drawer>.SD8qLW_confirmScrim{z-index:40;position:absolute;inset:0}.SD8qLW_overlayMax{gap:0;padding:0}.SD8qLW_overlayMax .SD8qLW_drawer{border-width:0 0 0 1px;border-radius:0;flex:auto;width:auto;min-width:0}@keyframes SD8qLW_gsFade{0%{opacity:0}}@keyframes SD8qLW_gsSlide{0%{opacity:0;transform:translate(24px)}}.SD8qLW_resizer{z-index:30;cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:10px;display:flex;position:absolute;top:0;bottom:0;left:0}.SD8qLW_resizer:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:32px;transition:opacity .14s,height .14s}.SD8qLW_resizer:hover:after{opacity:.6}.SD8qLW_resizerActive:after{opacity:.9;height:56px}.SD8qLW_paneDivider{z-index:5;cursor:col-resize;touch-action:none;flex:none;justify-content:center;align-items:center;width:7px;display:flex;position:relative}.SD8qLW_paneDivider:before{content:\"\";background:var(--gs-border-soft);width:1px;position:absolute;top:0;bottom:0;left:3px}.SD8qLW_paneDivider:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:28px;transition:opacity .14s,height .14s;position:relative}.SD8qLW_paneDivider:hover:after{opacity:.6}.SD8qLW_paneDividerActive:after{opacity:.9;height:48px}.SD8qLW_paneDividerY{cursor:row-resize;width:auto;height:7px}.SD8qLW_paneDividerY:before{width:auto;height:1px;inset:3px 0 auto}.SD8qLW_paneDividerY:after{width:28px;height:3px;transition:opacity .14s,width .14s}.SD8qLW_paneDividerY.SD8qLW_paneDividerActive:after{width:48px;height:3px}.SD8qLW_header{padding:10px var(--gs-gutter);border-bottom:1px solid var(--gs-border);background:var(--gs-surface-2);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-ui);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.SD8qLW_headerLeft{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.SD8qLW_headerBranch{border:1px solid var(--gs-accent-border);background:var(--gs-accent-bg);color:var(--gs-accent);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-weight:600;display:inline-flex}.SD8qLW_refButton.SD8qLW_headerPicker{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);max-width:420px;color:var(--gs-accent);font-weight:600}.SD8qLW_refButton.SD8qLW_headerPicker:hover{background:var(--gs-accent-bg);color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_elide{flex:0 auto;align-items:baseline;min-width:0;display:inline-flex}.SD8qLW_elideHead{white-space:nowrap;text-overflow:ellipsis;flex:0 999 auto;min-width:0;overflow:hidden}.SD8qLW_elideTail{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.SD8qLW_headerPathMain{color:var(--gs-fg-faint);font-size:var(--gs-t-meta)}.SD8qLW_headerPathMain .SD8qLW_elideTail{color:var(--gs-fg-dim)}.SD8qLW_headerViewRef{max-width:160px}.SD8qLW_headerView{background:var(--gs-neutral-bg);color:var(--gs-fg-muted);font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:1px 8px}.SD8qLW_headerDetached{background:var(--gs-warn-bg);color:var(--gs-warn);font-size:var(--gs-t-meta);letter-spacing:.02em;border-radius:999px;padding:1px 8px}.SD8qLW_headerTotals{font-variant-numeric:tabular-nums}.SD8qLW_headerTotalsAdd{color:var(--gs-add);font-weight:600}.SD8qLW_headerTotalsDel{color:var(--gs-del);font-weight:600}.SD8qLW_headerTotalsDim{color:var(--gs-fg-dim);font-size:var(--gs-t-dense)}.SD8qLW_headerRight{flex:none;gap:8px;display:flex;position:relative}.SD8qLW_theme{display:inline-flex;position:relative}.SD8qLW_refPop.SD8qLW_settingsPop{width:320px;max-width:calc(100vw - 32px);max-height:min(560px,100vh - 120px);top:calc(100% + 6px);left:auto;right:0}.SD8qLW_themeRail{min-height:0;font-family:var(--dsw-font-ui,system-ui, sans-serif);flex-direction:column;flex:1;gap:14px;padding:12px 14px 16px;display:flex;overflow-y:auto}.SD8qLW_themeGroup{flex-direction:column;gap:6px;display:flex}.SD8qLW_themeLabel{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.SD8qLW_themeRowSplit{justify-content:space-between;align-items:center;gap:8px;display:flex}.SD8qLW_segmented{gap:6px;display:flex}.SD8qLW_segment{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;background:0 0;flex-direction:column;flex:1 1 0;align-items:stretch;gap:4px;padding:4px;transition:background .12s,color .12s,border-color .12s;display:flex}.SD8qLW_segment:hover{background:var(--gs-raise);border-color:var(--gs-fg-fainter);color:var(--gs-fg)}.SD8qLW_segment:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_segmentChip{border-radius:calc(var(--gs-r-control) - 4px);border:1px solid #80808073;height:20px}.SD8qLW_chipLight{background:#fff}.SD8qLW_chipDark{background:#0b0b0d}.SD8qLW_chipSystem{background:linear-gradient(105deg,#fff 0 50%,#0b0b0d 50% 100%)}.SD8qLW_paletteRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:5px 8px;display:flex}.SD8qLW_paletteRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_swatch{border:1px solid var(--gs-border);border-radius:3px;flex:none;width:26px;height:12px;display:inline-flex;overflow:hidden}.SD8qLW_swatch span{flex:1}.SD8qLW_scopeRow{gap:6px;display:flex}.SD8qLW_scopeHint{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);overflow-wrap:anywhere}.SD8qLW_bgPreview{border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background-color:var(--gs-bg);background-position:50%;background-size:cover;height:64px}.SD8qLW_bgEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);justify-content:center;align-items:center;display:flex}.SD8qLW_sliderRow{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);align-items:center;gap:8px;display:flex}.SD8qLW_sliderRow input{min-width:0;accent-color:var(--gs-accent);flex:1}.SD8qLW_sliderValue{text-align:right;font-variant-numeric:tabular-nums;flex:none;width:38px}.SD8qLW_cssArea{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:96px;max-height:220px;color:var(--gs-fg);font-family:var(--dsw-font-mono,ui-monospace, Consolas, monospace);font-size:var(--gs-t-meta);resize:vertical;outline:none;padding:7px 8px}.SD8qLW_cssArea:focus{border-color:var(--gs-accent-border)}.SD8qLW_themeNote{color:var(--gs-warn);font-size:var(--gs-t-meta)}.SD8qLW_themeDirty{color:var(--gs-accent);font-size:var(--gs-t-meta)}.SD8qLW_wtCurrent{color:var(--gs-add);font-size:8px;line-height:1}.SD8qLW_commitCopy{margin-left:auto}.SD8qLW_commitPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:min(380px,100vw - 24px);color:var(--gs-fg);box-shadow:0 16px 40px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);font-size:var(--gs-t-dense);flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex;position:fixed;overflow:auto}.SD8qLW_commitPopTop{align-items:center;gap:8px;display:flex}.SD8qLW_commitPopTop .SD8qLW_commitWhen{margin-right:auto}.SD8qLW_commitPopMeta{color:var(--gs-fg-muted);font-size:var(--gs-t-dense);flex-direction:column;gap:2px;line-height:16px;display:flex}.SD8qLW_commitFilter{min-width:120px;height:var(--gs-h-control);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 10px}.SD8qLW_commitFilter:focus{border-color:var(--gs-accent)}.SD8qLW_commitFilter::placeholder{color:var(--gs-fg-faint)}.SD8qLW_filterChips{border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:6px 10px;display:flex}.SD8qLW_filterChip{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-surface-2);max-width:220px;font-size:var(--gs-t-dense);align-items:center;gap:2px;line-height:18px;display:inline-flex}.SD8qLW_filterChipLabel{text-overflow:ellipsis;white-space:nowrap;color:var(--gs-fg-muted);padding:2px 4px 2px 8px;overflow:hidden}.SD8qLW_filterChipRemove{border:none;border-left:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;flex:none;padding:0 6px;line-height:20px}.SD8qLW_filterChipRemove:hover{color:var(--gs-danger,var(--gs-fg))}.SD8qLW_filterClear{color:var(--gs-fg-faint);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;padding:2px 4px;line-height:18px}.SD8qLW_filterClear:hover{color:var(--gs-fg)}.SD8qLW_funnel{display:inline-flex;position:relative}.SD8qLW_funnelButton.SD8qLW_funnelButtonActive{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:320px;max-width:calc(100vw - 24px);box-shadow:0 16px 40px var(--gs-shadow);font-size:var(--gs-t-dense);flex-direction:column;display:flex;position:fixed;overflow:hidden}.SD8qLW_funnelTabs{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-pill);background:var(--gs-bg);flex:none;gap:2px;margin:8px 8px 0;padding:2px;display:flex}.SD8qLW_funnelTab{border-radius:var(--gs-r-pill);min-width:0;height:22px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;padding:0 8px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelTab:hover{color:var(--gs-fg)}.SD8qLW_funnelTab.SD8qLW_funnelTabActive{color:var(--gs-fg);background:var(--gs-raise);box-shadow:inset 0 0 0 1px var(--gs-border)}.SD8qLW_funnelTab:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelTabCount{color:var(--gs-accent);font-variant-numeric:tabular-nums;margin-left:4px}.SD8qLW_funnelPane{flex-direction:column;flex:auto;gap:6px;min-height:0;padding:8px;display:flex}.SD8qLW_funnelCaption{color:var(--gs-fg-faint);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:11px;line-height:14px}.SD8qLW_funnelBounds{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);flex:none;gap:2px;padding:2px;display:flex}.SD8qLW_funnelBoundBtn{border-radius:calc(var(--gs-r-control) - 3px);min-width:0;height:20px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;flex:1;padding:0 6px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelBoundBtn:hover{color:var(--gs-fg)}.SD8qLW_funnelBoundBtn.SD8qLW_funnelBoundBtnActive{color:var(--gs-accent);background:var(--gs-accent-bg);box-shadow:inset 0 0 0 1px var(--gs-accent-border)}.SD8qLW_cal{flex-direction:column;flex:none;gap:4px;display:flex}.SD8qLW_calHead{align-items:center;gap:4px;display:flex}.SD8qLW_calTitle{text-align:center;color:var(--gs-fg);font-size:var(--gs-t-dense);flex:1;line-height:20px}.SD8qLW_calNav{border-radius:var(--gs-r-control);width:22px;height:20px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:none;flex:none;padding:0}.SD8qLW_calNav:hover{color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_calWeek,.SD8qLW_calGrid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.SD8qLW_calWeek span{text-align:center;color:var(--gs-fg-faint);font-size:11px;line-height:14px}.SD8qLW_calGrid button{border-radius:var(--gs-r-control);height:26px;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none}.SD8qLW_calGrid button:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calOut{color:var(--gs-fg-fainter)}.SD8qLW_calGrid button.SD8qLW_calToday{color:var(--gs-accent);font-weight:600}.SD8qLW_calGrid button.SD8qLW_calIn{background:var(--gs-accent-bg);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calMark{background:var(--gs-accent);color:var(--gs-on-accent);font-weight:600}.SD8qLW_funnelBoundRows{flex:none;grid-template-columns:1fr 1fr;gap:6px;display:grid}.SD8qLW_funnelBoundRow{box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);align-items:center;gap:4px;min-width:0;padding:3px 6px;font-size:11px;line-height:16px;display:flex}.SD8qLW_funnelBoundKey{color:var(--gs-fg-faint);flex:none}.SD8qLW_funnelBoundVal{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:1;overflow:hidden}.SD8qLW_funnelBoundValSet{color:var(--gs-fg)}.SD8qLW_funnelBoundClear{color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;line-height:1}.SD8qLW_funnelBoundClear:hover{color:var(--gs-danger,var(--gs-fg))}.SD8qLW_funnelSearch{box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);height:26px;color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:0 8px}.SD8qLW_funnelSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_funnelSearch:focus{border-color:var(--gs-accent);box-shadow:0 0 0 2px var(--gs-accent-bg)}.SD8qLW_funnelList{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gs-fg-fainter) transparent;flex-direction:column;flex:auto;gap:1px;min-height:0;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.SD8qLW_funnelList::-webkit-scrollbar{width:10px}.SD8qLW_funnelList::-webkit-scrollbar-track{background:0 0}.SD8qLW_funnelList::-webkit-scrollbar-thumb{background:var(--gs-fg-fainter);background-clip:content-box;border:3px solid #0000;border-radius:5px}.SD8qLW_funnelRow{box-sizing:border-box;border-radius:var(--gs-r-control);cursor:pointer;align-items:center;gap:6px;min-height:24px;padding:0 4px;display:flex}.SD8qLW_funnelRow:hover{background:var(--gs-raise)}.SD8qLW_funnelRow:has(input[type=checkbox]:checked) .SD8qLW_funnelName,.SD8qLW_funnelRow:has(input[type=checkbox]:indeterminate) .SD8qLW_funnelName{color:var(--gs-fg)}.SD8qLW_funnelRow input[type=checkbox]{-webkit-appearance:none;appearance:none;box-sizing:border-box;border:1px solid var(--gs-fg-fainter);cursor:pointer;background:0 0;border-radius:3px;flex:none;width:14px;height:14px;margin:0;transition:background .12s,border-color .12s;position:relative}.SD8qLW_funnelRow input[type=checkbox]:hover{border-color:var(--gs-fg-dim)}.SD8qLW_funnelRow input[type=checkbox]:checked,.SD8qLW_funnelRow input[type=checkbox]:indeterminate{background:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelRow input[type=checkbox]:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelRow input[type=checkbox]:checked:after{content:\"\";border:solid var(--gs-on-accent);border-width:0 1.5px 1.5px 0;width:3px;height:7px;position:absolute;top:1px;left:4px;transform:rotate(42deg)}.SD8qLW_funnelRow input[type=checkbox]:indeterminate:after{content:\"\";background:var(--gs-on-accent);border-radius:1px;width:8px;height:2px;position:absolute;top:5px;left:2px}.SD8qLW_pathNode,.SD8qLW_pathChildren{flex-direction:column;display:flex}.SD8qLW_pathFileGlyph,.SD8qLW_pathDirGlyph{width:16px;height:16px;color:var(--gs-fg-dim);flex:none}.SD8qLW_funnelRow:hover .SD8qLW_pathFileGlyph,.SD8qLW_funnelRow:hover .SD8qLW_pathDirGlyph{color:var(--gs-fg-muted)}.SD8qLW_funnelName{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-muted);flex:1;overflow:hidden}.SD8qLW_funnelCount{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.SD8qLW_funnelMore{color:var(--gs-fg-faint);padding:4px 6px}.SD8qLW_funnelChevron{width:14px;color:var(--gs-fg-faint);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-family:inherit;font-size:9px;line-height:16px}.SD8qLW_funnelChevron:hover:not(:disabled){color:var(--gs-fg)}.SD8qLW_funnelChevron:disabled{cursor:default}.SD8qLW_funnelPresets{flex:none;gap:4px;display:flex}.SD8qLW_funnelPreset{flex:1 1 0;min-width:0;padding:0 6px}.SD8qLW_funnelPreset.SD8qLW_funnelPresetActive{color:var(--gs-accent);border-color:var(--gs-accent);background:var(--gs-accent-bg)}.SD8qLW_funnelFoot{border-top:1px solid var(--gs-border-soft);background:var(--gs-bg);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:11px;line-height:16px;display:flex}.SD8qLW_funnelFootCount{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums}.SD8qLW_funnelFootCountOn{color:var(--gs-fg-muted)}.SD8qLW_funnelFootClear{border-radius:var(--gs-r-control);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-family:inherit;font-size:11px;line-height:16px}.SD8qLW_funnelFootClear:hover:not(:disabled){color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_funnelFootClear:disabled{color:var(--gs-fg-fainter);cursor:default}.SD8qLW_commitPopSubject{color:var(--gs-fg);font-size:var(--gs-t-ui);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-weight:600;line-height:18px}.SD8qLW_commitPopBody{color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;margin:0;line-height:18px}.SD8qLW_tabs{padding:0 var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex:none;gap:24px;font-family:inherit;display:flex}.SD8qLW_tab{font-family:inherit;font-size:var(--gs-t-ui);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:8px 0 9px;font-weight:500;line-height:16px;position:relative}.SD8qLW_tab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_tabActive{color:var(--gs-accent)}.SD8qLW_tabActive:after{background:var(--gs-accent)}.SD8qLW_compareBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.SD8qLW_compareArrow{color:var(--gs-fg-faint)}.SD8qLW_refPicker{align-items:center;gap:6px;display:inline-flex;position:relative}.SD8qLW_refLabel{color:var(--gs-fg-faint);flex:none}.SD8qLW_refButton{justify-content:space-between;max-width:260px}.SD8qLW_refValue{min-width:0;overflow:hidden}.SD8qLW_refCaret{color:var(--gs-fg-faint);flex:none;font-size:9px}.SD8qLW_refPop{z-index:10;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-panel);width:300px;max-width:80vw;box-shadow:0 12px 32px var(--gs-shadow);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.SD8qLW_menuPop{width:auto;min-width:100%;padding:4px;left:auto;right:0}.SD8qLW_refSearch{border:0;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:7px 10px}.SD8qLW_refSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_refList{flex:1;max-height:280px;padding:4px;overflow-y:auto}.SD8qLW_refGroup{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;padding:6px 8px 3px;font-weight:600}.SD8qLW_refRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 8px;display:flex}.SD8qLW_refRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_refRowSpacer{flex:none;width:12px}.SD8qLW_refRowName{flex:auto;min-width:0;overflow:hidden}.SD8qLW_refEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-dense);padding:14px 10px}.SD8qLW_refFoot{border-top:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);flex:none;padding:5px 10px}.SD8qLW_commitsPane{box-sizing:border-box;width:26%;min-height:0;min-width:var(--gs-min-commits);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:340px;display:flex}.SD8qLW_paneHead{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_paneTitle{font-weight:600}.SD8qLW_commitsSentinel{flex:none;height:1px}.SD8qLW_commitsFoot{color:var(--gs-fg-faint);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-meta);text-align:center;flex:none;min-height:16px;padding:8px}.SD8qLW_commits{flex-direction:column;flex:1;min-height:0;padding:4px 6px 4px 0;display:flex;overflow-y:auto}.SD8qLW_commitLine{height:var(--gs-commit-row);flex:none;align-items:stretch;display:flex}.SD8qLW_graphCell{flex:none;display:block}.SD8qLW_commit{box-sizing:border-box;border-radius:var(--gs-r-surface);text-align:left;cursor:pointer;min-width:0;height:100%;font-family:inherit;font-size:var(--gs-t-dense);background:0 0;border:1px solid #0000;flex:auto;align-items:center;gap:10px;margin:1px 0;padding:4px 8px;transition:background .12s,border-color .12s;display:flex;overflow:hidden}.SD8qLW_commitsPane[data-layout=columns] .SD8qLW_commit{flex-direction:column;justify-content:center;align-items:stretch;gap:2px}.SD8qLW_commitsPane[data-layout=columns] .SD8qLW_commitSubjectRow{flex:none}.SD8qLW_commitTop{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.SD8qLW_commit:hover{background:var(--gs-raise)}.SD8qLW_commitActive{border-color:var(--gs-accent-border);background:var(--gs-accent-bg)}.SD8qLW_commitMeta{flex:none;align-items:baseline;gap:8px;display:flex}.SD8qLW_commitHash{color:var(--gs-info);flex:none}.SD8qLW_commitSubjectRow{flex:auto;align-items:baseline;gap:4px;min-width:0;display:flex}.SD8qLW_commitSubject{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--gs-fg-muted);flex:0 auto;overflow:hidden}.SD8qLW_commitHasBody{color:var(--gs-fg-faint);letter-spacing:.04em;flex:none}.SD8qLW_commitRef{white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--gs-accent-border);border-radius:var(--gs-r-pill);background:var(--gs-accent-bg);max-width:96px;color:var(--gs-accent);font-size:var(--gs-t-meta);flex:none;padding:0 5px;line-height:15px;overflow:hidden}.SD8qLW_commitWhen{color:var(--gs-fg-faint);flex:none}.SD8qLW_commitAuthor{text-overflow:ellipsis;white-space:nowrap;max-width:120px;color:var(--gs-fg-dim);flex:none;overflow:hidden}.SD8qLW_body{z-index:1;flex:1;min-height:0;display:flex}.SD8qLW_body[data-stacked]{flex-direction:column}.SD8qLW_bodyRow{flex:1 1 0;min-width:0;min-height:0;display:flex}.SD8qLW_body[data-stacked] .SD8qLW_commitsPane{width:auto;min-width:0;max-width:none;height:34%;min-height:var(--gs-min-commits-tall);max-height:max(var(--gs-min-commits-tall), calc(100% - var(--gs-min-stacked-lower)));flex:none}.SD8qLW_treeCol{box-sizing:border-box;width:28%;min-height:0;min-width:var(--gs-min-tree);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:400px;display:flex}.SD8qLW_treeWrap{box-sizing:border-box;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.SD8qLW_treeTools{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:6px;display:flex}.SD8qLW_treeActions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.SD8qLW_treeLead{align-items:center;gap:4px;min-width:0;display:flex}.SD8qLW_treeLabel{white-space:nowrap;color:var(--gs-fg-dim);font-size:var(--gs-t-dense);flex:none}.SD8qLW_treeFilter{padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex:none;align-items:center;display:flex;position:relative}.SD8qLW_treeFilterInput{min-width:0;height:var(--gs-h-compact);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 24px 0 8px}.SD8qLW_treeFilterInput:focus{border-color:var(--gs-accent)}.SD8qLW_treeFilterInput::placeholder{color:var(--gs-fg-faint)}.SD8qLW_treeFilterClear{right:calc(var(--gs-gutter-pane) + 6px);border-radius:var(--gs-r-pill);width:16px;height:16px;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:absolute}.SD8qLW_treeFilterClear:hover{color:var(--gs-fg)}.SD8qLW_tree{flex:1;min-height:0;margin:0;padding:6px 0 16px;list-style:none;overflow:auto}.SD8qLW_treeEmpty{min-height:0;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);flex:1;justify-content:center;align-items:center;display:flex}.SD8qLW_treeSub{margin:0;padding:0;list-style:none;position:relative}.SD8qLW_treeSub:before{content:\"\";top:0;bottom:0;left:var(--gs-rail,0);background:var(--gs-border-soft);width:1px;position:absolute}.SD8qLW_treeDirLi{position:relative}.SD8qLW_treeDir{box-sizing:border-box;width:100%;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 12px 4px 8px;font-weight:600;display:flex}.SD8qLW_treeDir:hover{background:var(--gs-panel);color:var(--gs-fg-muted)}.SD8qLW_treeDirActive{color:var(--gs-fg-muted)}.SD8qLW_chevron{width:10px;color:var(--gs-fg-fainter);font-size:var(--gs-t-meta);flex:none;transition:transform .12s;display:inline-block}.SD8qLW_chevronOpen{transform:rotate(90deg)}.SD8qLW_treeDirName{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_treeDirCount{background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);border-radius:999px;flex:none;padding:0 6px;font-weight:600;line-height:16px}.SD8qLW_treeDirCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_file{box-sizing:border-box;width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;align-items:center;gap:8px;padding:5px 14px;display:flex}.SD8qLW_file:hover{background:var(--gs-panel)}.SD8qLW_fileActive{background:var(--gs-panel);border-left-color:var(--gs-accent);color:var(--gs-fg)}.SD8qLW_fileStatus{width:18px;height:18px;font-weight:700;font-size:var(--gs-t-meta);border-radius:5px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.SD8qLW_stAdded,.SD8qLW_stUntracked{color:var(--gs-add);background:var(--gs-add-bg)}.SD8qLW_stDeleted{color:var(--gs-del);background:var(--gs-del-bg)}.SD8qLW_stModified{color:var(--gs-warn);background:var(--gs-warn-bg)}.SD8qLW_stRenamed{color:var(--gs-info);background:var(--gs-info-bg)}.SD8qLW_filePath{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_fileBinary{background:var(--gs-neutral-bg);color:var(--gs-fg-dim);letter-spacing:.06em;border-radius:4px;flex:none;padding:0 5px;font-size:9px;font-weight:700}.SD8qLW_fileCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fileCountAdd{color:var(--gs-add)}.SD8qLW_fileCountDel{color:var(--gs-del)}.SD8qLW_diffPane{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;display:flex;overflow:auto}.SD8qLW_diffWrap{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.SD8qLW_diffScroll{outline:none;flex:1 1 0;min-height:0;overflow:auto}.SD8qLW_diffNav{border-bottom:1px solid var(--gs-border-soft);flex:none;justify-content:flex-end;align-items:center;gap:4px;padding:3px 12px 3px 0;display:flex}.SD8qLW_diffNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_diffPre{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;flex-direction:column;margin:0;padding:8px 0 16px;font-weight:400;line-height:20px;display:flex}.SD8qLW_renameLine{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_renameLine code{color:var(--gs-fg)}.SD8qLW_line{white-space:nowrap;align-items:stretch;width:max-content;min-width:100%;min-height:20px;line-height:20px;display:flex}.SD8qLW_lnOld,.SD8qLW_lnNew{box-sizing:border-box;text-align:right;width:3.2em;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;flex:none;padding:0 8px}.SD8qLW_line:hover .SD8qLW_lnOld,.SD8qLW_line:hover .SD8qLW_lnNew{color:var(--gs-fg-dim)}.SD8qLW_gutter{text-align:center;user-select:none;flex:none;width:1.4em}.SD8qLW_code{white-space:pre;flex:1 0 auto;padding:0 16px 0 10px}.SD8qLW_lineAdd{background:var(--gs-add-line)}.SD8qLW_lineDel{background:var(--gs-del-line)}.SD8qLW_lineAdd .SD8qLW_lnOld,.SD8qLW_lineAdd .SD8qLW_lnNew,.SD8qLW_lineAdd .SD8qLW_gutter{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_lineDel .SD8qLW_lnOld,.SD8qLW_lineDel .SD8qLW_lnNew,.SD8qLW_lineDel .SD8qLW_gutter{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_lineContext{color:var(--gs-fg-muted)}.SD8qLW_lineHunk{background:var(--gs-hunk)}.SD8qLW_lineHunk .SD8qLW_code{color:var(--gs-fg-dim)}.SD8qLW_lineHunk .SD8qLW_lnOld,.SD8qLW_lineHunk .SD8qLW_lnNew,.SD8qLW_lineHunk .SD8qLW_gutter{background:var(--gs-hunk-num,var(--gs-hunk))}.SD8qLW_signAdd{color:var(--gs-add)}.SD8qLW_signDel{color:var(--gs-del)}.SD8qLW_wordAdd{background:var(--gs-add-word);border-radius:2px}.SD8qLW_wordDel{background:var(--gs-del-word);border-radius:2px}.SD8qLW_sidePane{flex-direction:column;width:100%;min-width:0;height:100%;display:flex}.SD8qLW_sideScroll{flex:1 1 0;min-height:0;overflow:hidden auto}.SD8qLW_sideCols{align-items:stretch;min-height:100%;display:flex}.SD8qLW_sideCol{flex:none;min-width:0;overflow-x:auto}.SD8qLW_sideColRight{flex:1 1 0}.SD8qLW_sideColGrid{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;grid-template-columns:3.2em 1fr;align-content:start;padding:8px 0 16px;font-weight:400;line-height:20px;display:grid}.SD8qLW_sideColGridBlame{grid-template-columns:13em 3.2em 1fr}.SD8qLW_blameCell{box-sizing:border-box;border-right:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:pre;text-overflow:ellipsis;user-select:none;padding:0 8px 0 10px;overflow:hidden}.SD8qLW_sideTabs{z-index:5;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex-wrap:wrap;flex:none;align-items:flex-start;gap:0 16px;padding:6px 16px 0;display:flex}.SD8qLW_sideTab{font-family:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:2px 0 5px;font-weight:500;line-height:16px;position:relative}.SD8qLW_sideTab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_sideTabActive{color:var(--gs-accent)}.SD8qLW_sideTabActive:after{background:var(--gs-accent)}.SD8qLW_sideNotice{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_sideNum{box-sizing:border-box;text-align:right;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;padding:0 8px}.SD8qLW_sideNumAdd{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_sideNumDel{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_sideCode{white-space:pre;min-height:20px;padding:0 16px 0 10px}.SD8qLW_sideSpacer{grid-column:1/-1}.SD8qLW_diffSpacer{flex:none}.SD8qLW_sideCodeSame{color:var(--gs-fg-muted)}.SD8qLW_sideCodeAdd{background:var(--gs-add-line)}.SD8qLW_sideCodeDel{background:var(--gs-del-line)}.SD8qLW_sideCellBlock{position:relative}.SD8qLW_sideNum.SD8qLW_sideBlockHot{box-shadow:inset 1px 0 var(--gs-accent)}.SD8qLW_sideCode.SD8qLW_sideBlockHot{box-shadow:inset -1px 0 var(--gs-accent)}.SD8qLW_sideNum.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotFirst{box-shadow:inset 1px 0 var(--gs-accent), inset 0 1px var(--gs-accent)}.SD8qLW_sideCode.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotFirst{box-shadow:inset -1px 0 var(--gs-accent), inset 0 1px var(--gs-accent)}.SD8qLW_sideNum.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotLast{box-shadow:inset 1px 0 var(--gs-accent), inset 0 -1px var(--gs-accent)}.SD8qLW_sideCode.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotLast{box-shadow:inset -1px 0 var(--gs-accent), inset 0 -1px var(--gs-accent)}.SD8qLW_sideNum.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotFirst.SD8qLW_sideBlockHotLast{box-shadow:inset 1px 0 var(--gs-accent), inset 0 1px var(--gs-accent), inset 0 -1px var(--gs-accent)}.SD8qLW_sideCode.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotFirst.SD8qLW_sideBlockHotLast{box-shadow:inset -1px 0 var(--gs-accent), inset 0 1px var(--gs-accent), inset 0 -1px var(--gs-accent)}.SD8qLW_blockBar{z-index:4;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-surface-2,var(--gs-bg));box-shadow:0 4px 14px var(--gs-shadow);white-space:nowrap;gap:4px;padding:2px;display:flex;position:absolute;left:0}.SD8qLW_blockBtn{border:1px solid var(--gs-border);border-radius:var(--gs-r-pill);background:var(--gs-bg);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;padding:0 8px;line-height:16px}.SD8qLW_blockBtn:hover:not(:disabled){color:var(--gs-fg);border-color:var(--gs-accent)}.SD8qLW_blockBtn:disabled{opacity:.45;cursor:default}.SD8qLW_blockBtnDanger{color:var(--gs-del);border-color:var(--gs-del-bg,var(--gs-border))}.SD8qLW_blockBtnDanger:hover:not(:disabled){color:var(--gs-del);border-color:var(--gs-del)}.SD8qLW_sideArmable{cursor:text}.SD8qLW_cmHost{position:relative}.SD8qLW_cmHost[data-editable]:before{content:\"\";background:var(--gs-accent);opacity:.32;pointer-events:none;border-radius:1px;width:2px;transition:opacity .14s;position:absolute;top:0;bottom:0;left:0}.SD8qLW_cmHost[data-editable]:focus-within:before{opacity:1}.SD8qLW_sideNav{align-items:center;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_sideNavCount{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:nowrap}.SD8qLW_sideCurrentBlockActions{flex-wrap:wrap;align-items:flex-start;gap:4px;margin-left:4px;padding:2px 0 5px;display:flex}.SD8qLW_sideActions{align-items:flex-start;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideActionsAdjacent{margin-left:0}.SD8qLW_sideSaveReady{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_sideBanner{border-bottom:1px solid var(--gs-border-soft);background:var(--gs-del-bg,transparent);color:var(--gs-del);font-size:var(--gs-t-dense);flex-direction:column;flex:none;gap:6px;padding:8px 16px;display:flex}.SD8qLW_sideBannerTitle{font-weight:600}.SD8qLW_sideBannerActs{gap:4px;display:flex}.SD8qLW_sideEditCell{position:relative}.SD8qLW_empty{color:var(--gs-fg-faint);font-size:var(--gs-t-ui);padding:32px 24px}.SD8qLW_syncBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);font-size:var(--gs-t-dense);color:var(--gs-fg-dim);flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_syncUpstream{white-space:nowrap;text-overflow:ellipsis;max-width:260px;color:var(--gs-fg-muted);font-variant-numeric:tabular-nums;overflow:hidden}.SD8qLW_syncLevel{color:var(--gs-fg-faint)}.SD8qLW_syncSpacer{flex:auto}.SD8qLW_btn:disabled,.SD8qLW_treeIcon:disabled,.SD8qLW_miniBtn:disabled,.SD8qLW_refButton:disabled,.SD8qLW_funnelButton:disabled{opacity:.45;cursor:default}.SD8qLW_btn[data-quiet]:disabled,.SD8qLW_refButton[data-quiet]:disabled{opacity:1}.SD8qLW_opBanner{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;flex:none;line-height:18px}.SD8qLW_opBannerOk{background:var(--gs-add-bg);color:var(--gs-add)}.SD8qLW_opBannerBad{background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_fileLi{align-items:stretch;display:flex}.SD8qLW_fileLi .SD8qLW_file{flex:auto;min-width:0}.SD8qLW_fileDiscard{width:22px;color:var(--gs-fg-faint);opacity:0;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s;display:flex}.SD8qLW_fileLi:hover .SD8qLW_fileDiscard,.SD8qLW_fileDiscard:focus-visible{opacity:1}.SD8qLW_fileDiscard:hover{color:var(--gs-del)}.SD8qLW_fileDiscard:focus-visible{outline:2px solid var(--gs-accent);outline-offset:-2px;border-radius:var(--gs-r-control)}.SD8qLW_treeRow{align-items:stretch;display:flex}.SD8qLW_treeRow .SD8qLW_treeDir{flex:auto;min-width:0}.SD8qLW_checkBox{cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:22px;padding:0;display:flex}.SD8qLW_checkMark{box-sizing:border-box;border:1px solid var(--gs-fg-faint);background:var(--gs-bg);color:#0000;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;font-weight:700;line-height:1;transition:background .12s,border-color .12s;display:flex}.SD8qLW_checkBox:hover .SD8qLW_checkMark{border-color:var(--gs-accent)}.SD8qLW_checkBox:focus-visible{outline:none}.SD8qLW_checkBox:focus-visible .SD8qLW_checkMark{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_checkMarkOn,.SD8qLW_checkMarkPartial{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent)}.SD8qLW_commitBox{padding:8px var(--gs-gutter-pane) 10px;border-top:1px solid var(--gs-border);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:6px;display:flex}.SD8qLW_commitMessage{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:46px;max-height:160px;color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);resize:vertical;outline:none;padding:6px 8px;line-height:18px}.SD8qLW_commitMessage:focus{border-color:var(--gs-accent-border)}.SD8qLW_commitMessage::placeholder{color:var(--gs-fg-faint)}.SD8qLW_commitRow{align-items:center;gap:8px;display:flex}.SD8qLW_commitAmend{color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:pointer;align-items:center;gap:4px;display:inline-flex}.SD8qLW_commitAmend input{accent-color:var(--gs-accent);cursor:pointer}.SD8qLW_commitStaged{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin-left:auto}.SD8qLW_commitLead{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin:0;line-height:15px}.SD8qLW_commitBtn{box-sizing:border-box;min-width:92px;height:var(--gs-h-control);border-radius:var(--gs-r-control);background:var(--gs-accent);color:var(--gs-on-accent);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0 16px;font-weight:600;line-height:1;transition:filter .12s,opacity .12s;display:inline-flex}.SD8qLW_commitBtn:hover:not(:disabled){filter:brightness(1.1)}.SD8qLW_commitBtn:focus-visible{outline:2px solid var(--gs-accent);outline-offset:2px}.SD8qLW_commitBtn:disabled{background:var(--gs-raise);color:var(--gs-fg-faint);border-color:var(--gs-border);cursor:default}.SD8qLW_btn,.SD8qLW_miniBtn,.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_scopeBtn,.SD8qLW_refButton,.SD8qLW_funnelButton,.SD8qLW_funnelPreset,.SD8qLW_layoutButton{box-sizing:border-box;height:var(--gs-h-control);padding:var(--gs-pad-control);border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;gap:6px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.SD8qLW_btn:hover,.SD8qLW_miniBtn:hover,.SD8qLW_treeIcon:hover,.SD8qLW_commitCopy:hover,.SD8qLW_scopeBtn:hover,.SD8qLW_refButton:hover,.SD8qLW_funnelButton:hover,.SD8qLW_funnelPreset:hover,.SD8qLW_layoutButton:hover{background:var(--gs-raise);color:var(--gs-fg);border-color:var(--gs-fg-fainter)}.SD8qLW_btn:focus-visible,.SD8qLW_miniBtn:focus-visible,.SD8qLW_treeIcon:focus-visible,.SD8qLW_commitCopy:focus-visible,.SD8qLW_scopeBtn:focus-visible,.SD8qLW_refButton:focus-visible,.SD8qLW_funnelPreset:focus-visible,.SD8qLW_layoutButton:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_btn,.SD8qLW_refButton{border-radius:var(--gs-r-pill)}.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_funnelPreset,.SD8qLW_layoutButton{height:var(--gs-h-compact);padding:var(--gs-pad-compact);font-size:var(--gs-t-dense)}.SD8qLW_treeIcon{width:var(--gs-h-compact);padding:0}.SD8qLW_layoutSwitch{flex:none;gap:2px;margin-left:auto;display:inline-flex}.SD8qLW_layoutButton{width:var(--gs-h-compact);padding:0}.SD8qLW_layoutButton.SD8qLW_layoutButtonOn{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_layoutGlyph{display:block}.SD8qLW_treeIcon.SD8qLW_treeIconOn{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_treeIconGlyph{font-size:var(--gs-t-meta);line-height:1;display:block}.SD8qLW_treeIconDown{transform:rotate(90deg)}.SD8qLW_scopeBtn{flex:1 1 0}.SD8qLW_scopeBtnActive,.SD8qLW_miniBtnPrimary,.SD8qLW_segmentActive,.SD8qLW_refRowActive,.SD8qLW_paletteRowActive{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);color:var(--gs-accent);font-weight:600}.SD8qLW_btnIcon{width:var(--gs-h-control);padding:0}.SD8qLW_btnIcon svg{display:block}.SD8qLW_btnClose:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_btnBehind{border-color:var(--gs-warn);background:var(--gs-warn-bg);color:var(--gs-warn);font-weight:600}.SD8qLW_btnBehind:hover:not(:disabled){background:var(--gs-warn-bg);color:var(--gs-warn);border-color:var(--gs-warn)}.SD8qLW_btnAhead{border-color:var(--gs-add);background:var(--gs-add-bg);color:var(--gs-add);font-weight:600}.SD8qLW_btnAhead:hover:not(:disabled){background:var(--gs-add-bg);color:var(--gs-add);border-color:var(--gs-add)}.SD8qLW_btnPrimary{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent,#fff);font-weight:600}.SD8qLW_btnPrimary:hover:not(:disabled){background:var(--gs-accent);color:var(--gs-on-accent,#fff);border-color:var(--gs-accent)}.SD8qLW_btnCount{font-variant-numeric:tabular-nums;opacity:.85;border-left:1px solid;margin-left:1px;padding-left:6px}.SD8qLW_pullGroup{flex:none;align-items:center;display:inline-flex}.SD8qLW_pullGroup>.SD8qLW_refPicker>.SD8qLW_refButton{border-right-color:#0000;border-top-right-radius:0;border-bottom-right-radius:0}.SD8qLW_pullGroup>.SD8qLW_btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.SD8qLW_drawer{scrollbar-width:thin;scrollbar-color:var(--gs-border) transparent}.SD8qLW_drawer ::-webkit-scrollbar{width:10px;height:10px}.SD8qLW_drawer ::-webkit-scrollbar-track,.SD8qLW_drawer ::-webkit-scrollbar-corner{background:0 0}.SD8qLW_drawer ::-webkit-scrollbar-thumb{background:var(--gs-border);background-clip:padding-box;border:3px solid #0000;border-radius:999px}.SD8qLW_drawer ::-webkit-scrollbar-thumb:hover{background:var(--gs-fg-faint);background-clip:padding-box}.SD8qLW_commitRefMore{border-radius:var(--gs-r-pill);background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:default;flex:none;padding:0 5px;line-height:15px}.SD8qLW_confirmScrim{background:var(--gs-backdrop);justify-content:center;align-items:center;padding:24px;animation:.12s ease-out SD8qLW_gsFade;display:flex}.SD8qLW_confirmBox{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);background:var(--gs-bg);width:min(440px,100%);box-shadow:0 18px 48px var(--gs-shadow);flex-direction:column;gap:10px;padding:18px;display:flex}.SD8qLW_confirmTitle{color:var(--gs-fg);font-size:var(--gs-t-ui);font-weight:600}.SD8qLW_confirmBody{color:var(--gs-fg-dim);font-size:var(--gs-t-dense);overflow-wrap:anywhere;line-height:1.55}.SD8qLW_confirmActions{flex-direction:row-reverse;gap:8px;margin-top:2px;display:flex}.SD8qLW_btn.SD8qLW_btnDanger{border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent,#fff);font-weight:600}.SD8qLW_btn.SD8qLW_btnDanger:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent,#fff)}.SD8qLW_fbTree{min-width:var(--gs-min-tree);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:4px;padding:6px;display:flex;overflow:auto}.SD8qLW_fbSearch{box-sizing:border-box;width:100%;font:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg);background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:4px;flex:none;padding:4px 6px}.SD8qLW_fbSearch:focus{border-color:var(--gs-accent);outline:none}.SD8qLW_fbNote{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);flex:none;padding:2px 4px}.SD8qLW_fbList{margin:0;padding:0;list-style:none}.SD8qLW_fbRow{width:100%;font:inherit;font-size:var(--gs-t-dense);color:var(--gs-fg-dim);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:3px;align-items:center;gap:4px;padding:2px 6px 2px 4px;display:flex;overflow:hidden}.SD8qLW_fbRow:hover{background:var(--gs-hover)}.SD8qLW_fbRowActive{background:var(--gs-selected);color:var(--gs-fg)}.SD8qLW_fbDirName,.SD8qLW_fbFileName{text-overflow:ellipsis;overflow:hidden}.SD8qLW_fbMain{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;min-height:0;display:flex}.SD8qLW_fbHeader{border-bottom:1px solid var(--gs-border);flex:none;align-items:flex-start;gap:8px;padding:4px 8px 0;display:flex}.SD8qLW_fbPath{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);text-overflow:ellipsis;white-space:nowrap;padding:4px 0;overflow:hidden}.SD8qLW_fbBody{flex:1 1 0;min-height:0;padding:4px 8px;overflow:auto}.SD8qLW_fbCommit{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);background:var(--gs-surface-2);border-bottom:1px solid var(--gs-border);flex:none;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.SD8qLW_fbCommitLine{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitWho{color:var(--gs-fg);flex:none;font-weight:600}.SD8qLW_fbCommitWhen{font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitHash{color:var(--gs-fg-faint);flex:none;font-family:inherit}.SD8qLW_fbCommitWhat{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg);flex:auto;overflow:hidden}.SD8qLW_fbCommitHint{color:var(--gs-fg-faint)}.SD8qLW_fbMore{font-size:var(--gs-t-meta);color:var(--gs-fg-faint);padding:2px 6px 4px 4px;font-style:italic;display:block}.SD8qLW_imgPane{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.SD8qLW_imgStage{border-radius:var(--gs-r-control);background-color:var(--gs-surface-2);background-image:linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%), linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%);background-position:0 0,8px 8px;background-size:16px 16px;flex:auto;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.SD8qLW_imgShot{object-fit:contain;image-rendering:auto;max-width:100%;max-height:100%}.SD8qLW_imgStage[data-actual]{justify-content:flex-start;align-items:flex-start}.SD8qLW_imgStage[data-actual] .SD8qLW_imgShot{object-fit:none;max-width:none;max-height:none}.SD8qLW_imgCaption{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;display:flex}";
|
|
462
|
+
const css = ".SD8qLW_card{border:1px solid var(--dsw-alias-border-l2);min-height:28px;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:7px;padding:3px 10px;font-size:12px;line-height:18px;transition:background .12s,border-color .12s;display:inline-flex}.SD8qLW_card:hover,.SD8qLW_card:focus-visible{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l3)}.SD8qLW_cardBranch{max-width:220px;color:var(--dsw-alias-label-primary);align-items:center;gap:4px;font-weight:550;display:inline-flex;overflow:hidden}.SD8qLW_cardBranchName{min-width:0;overflow:hidden}.SD8qLW_cardGlyph{opacity:.7;flex:none}.SD8qLW_cardDetached{background:var(--dsw-alias-state-warning-bg,#bb800926);color:var(--dsw-alias-state-warning-primary,#d29922);letter-spacing:.02em;border-radius:999px;padding:0 6px;font-size:10px;line-height:16px}.SD8qLW_cardWt{background:var(--dsw-alias-state-business-bg,#388bfd29);max-width:150px;color:var(--dsw-alias-state-business-primary,#58a6ff);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:3px;padding:0 6px;font-size:10px;line-height:16px;display:inline-flex;overflow:hidden}.SD8qLW_cardAhead,.SD8qLW_cardBehind{color:var(--dsw-alias-label-tertiary);font-size:11px}.SD8qLW_cardAhead{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardBehind{color:var(--dsw-alias-state-attention-primary,#d29922)}.SD8qLW_cardSep{background:var(--dsw-alias-border-l2);width:1px;height:14px}.SD8qLW_cardAdded{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardDeleted{color:var(--dsw-alias-state-error-primary)}.SD8qLW_cardFiles{color:var(--dsw-alias-label-tertiary)}.SD8qLW_overlay[data-gs-theme=github-dark]{--gs-bg:#0d1117;--gs-panel:#161b22;--gs-raise:#21262d;--gs-border:#30363d;--gs-border-soft:#21262d;--gs-fg:#e6edf3;--gs-fg-muted:#c9d1d9;--gs-fg-dim:#8b949e;--gs-fg-faint:#6e7681;--gs-fg-fainter:#484f58;--gs-accent:#58a6ff;--gs-accent-bg:#388bfd24;--gs-accent-border:#388bfd8c;--gs-add:#3fb950;--gs-del:#f85149;--gs-warn:#d29922;--gs-info:#79c0ff;--gs-add-bg:#2ea04329;--gs-del-bg:#f8514929;--gs-warn-bg:#bb800929;--gs-info-bg:#388bfd29;--gs-add-line:#12261e;--gs-del-line:#25181c;--gs-add-word:#1a4a29;--gs-del-word:#6b2b2b;--gs-add-num:#1c4428;--gs-del-num:#542426;--gs-hunk:#111d2e;--gs-hunk-num:#0c2d6b;--gs-neutral-bg:#6e76812e;--gs-backdrop:#01040999;--gs-shadow:#0104098c}.SD8qLW_overlay[data-gs-theme=github-light]{--gs-bg:#fff;--gs-panel:#f6f8fa;--gs-raise:#eaeef2;--gs-border:#d0d7de;--gs-border-soft:#eaeef2;--gs-fg:#1f2328;--gs-fg-muted:#32383f;--gs-fg-dim:#656d76;--gs-fg-faint:#8c959f;--gs-fg-fainter:#afb8c1;--gs-accent:#0969da;--gs-accent-bg:#0969da1a;--gs-accent-border:#0969da73;--gs-add:#1a7f37;--gs-del:#cf222e;--gs-warn:#9a6700;--gs-info:#0550ae;--gs-add-bg:#1a7f371f;--gs-del-bg:#cf222e1f;--gs-warn-bg:#9a67001f;--gs-info-bg:#0969da1f;--gs-add-line:#dafbe1;--gs-del-line:#ffebe9;--gs-add-word:#aceebb;--gs-del-word:#ffcecb;--gs-add-num:#aceebb;--gs-del-num:#ffcecb;--gs-hunk:#ddf4ff;--gs-hunk-num:#b6e3ff;--gs-neutral-bg:#6e76811f;--gs-backdrop:#1f232847;--gs-shadow:#1f232838}.SD8qLW_overlay[data-gs-theme=idea-dark]{--gs-bg:#1e1f22;--gs-panel:#2b2d30;--gs-raise:#393b40;--gs-border:#393b40;--gs-border-soft:#2b2d30;--gs-fg:#dfe1e5;--gs-fg-muted:#ced0d6;--gs-fg-dim:#9da0a8;--gs-fg-faint:#6f737a;--gs-fg-fainter:#4e5157;--gs-accent:#548af7;--gs-accent-bg:#548af729;--gs-accent-border:#548af78c;--gs-add:#5fad65;--gs-del:#e26e6e;--gs-warn:#f0a732;--gs-info:#3592c4;--gs-add-bg:#5fad6529;--gs-del-bg:#e26e6e29;--gs-warn-bg:#f0a73229;--gs-info-bg:#3592c429;--gs-add-line:#293c2e;--gs-del-line:#3d2b2b;--gs-add-word:#3d6640;--gs-del-word:#6b3838;--gs-hunk:#548af71a;--gs-neutral-bg:#9da0a82e;--gs-backdrop:#10111399;--gs-shadow:#00000080}.SD8qLW_overlay[data-gs-theme=idea-light]{--gs-bg:#fff;--gs-panel:#f7f8fa;--gs-raise:#ebecf0;--gs-border:#d3d5db;--gs-border-soft:#ebecf0;--gs-fg:#1e1f22;--gs-fg-muted:#3c3f44;--gs-fg-dim:#6c707e;--gs-fg-faint:#818594;--gs-fg-fainter:#a8adbd;--gs-accent:#3574f0;--gs-accent-bg:#3574f01a;--gs-accent-border:#3574f073;--gs-add:#398a4a;--gs-del:#cc4a4a;--gs-warn:#a8760b;--gs-info:#2b7fb8;--gs-add-bg:#398a4a1f;--gs-del-bg:#cc4a4a1f;--gs-warn-bg:#a8760b1f;--gs-info-bg:#2b7fb81f;--gs-add-line:#e6f5e9;--gs-del-line:#fbe9ea;--gs-add-word:#c2e5c9;--gs-del-word:#f5c9cc;--gs-hunk:#3574f012;--gs-neutral-bg:#6c707e1f;--gs-backdrop:#1e1f2242;--gs-shadow:#1e1f222e}.SD8qLW_overlay[data-gs-theme=vscode-dark]{--gs-bg:#1e1e1e;--gs-panel:#252526;--gs-raise:#2d2d30;--gs-border:#3e3e42;--gs-border-soft:#2d2d30;--gs-fg:#d4d4d4;--gs-fg-muted:#ccc;--gs-fg-dim:#9d9d9d;--gs-fg-faint:gray;--gs-fg-fainter:#5a5a5a;--gs-accent:#0098ff;--gs-accent-bg:#007acc3d;--gs-accent-border:#0098ff99;--gs-add:#89d185;--gs-del:#f14c4c;--gs-warn:#cca700;--gs-info:#75beff;--gs-add-bg:#89d1852e;--gs-del-bg:#f14c4c2e;--gs-warn-bg:#cca7002e;--gs-info-bg:#75beff2e;--gs-add-line:#9bb9552e;--gs-del-line:#ff000029;--gs-add-word:#9bb95566;--gs-del-word:#ff00005c;--gs-hunk:#007acc24;--gs-neutral-bg:#bebebe24;--gs-backdrop:#0000008c;--gs-shadow:#0009}.SD8qLW_overlay[data-gs-theme=vscode-light]{--gs-bg:#fff;--gs-panel:#f3f3f3;--gs-raise:#e8e8e8;--gs-border:#cecece;--gs-border-soft:#e8e8e8;--gs-fg:#1e1e1e;--gs-fg-muted:#333;--gs-fg-dim:#616161;--gs-fg-faint:#767676;--gs-fg-fainter:#a0a0a0;--gs-accent:#005fb8;--gs-accent-bg:#005fb81a;--gs-accent-border:#005fb873;--gs-add:#10793f;--gs-del:#b5200d;--gs-warn:#855b00;--gs-info:#005fb8;--gs-add-bg:#10793f1f;--gs-del-bg:#b5200d1f;--gs-warn-bg:#855b001f;--gs-info-bg:#005fb81f;--gs-add-line:#9bb95538;--gs-del-line:#ff000021;--gs-add-word:#9bb95573;--gs-del-word:#ff00004d;--gs-hunk:#005fb812;--gs-neutral-bg:#6161611f;--gs-backdrop:#00000040;--gs-shadow:#0000002e}.SD8qLW_overlay[data-gs-theme=cyberpunk-dark]{--gs-bg:#0b0417;--gs-panel:#14082a;--gs-raise:#1f0d3d;--gs-border:#3a1f6b;--gs-border-soft:#26124a;--gs-fg:#f0e6ff;--gs-fg-muted:#d5c2f5;--gs-fg-dim:#a98fd6;--gs-fg-faint:#7d64a8;--gs-fg-fainter:#56427a;--gs-accent:#00f0ff;--gs-on-accent:#0b0417;--gs-accent-bg:#00f0ff24;--gs-accent-border:#00f0ff80;--gs-add:#39ff88;--gs-del:#ff2e88;--gs-warn:#fc0;--gs-info:#00f0ff;--gs-add-bg:#39ff8824;--gs-del-bg:#ff2e8824;--gs-warn-bg:#ffcc0024;--gs-info-bg:#00f0ff24;--gs-add-line:#39ff881f;--gs-del-line:#ff2e881f;--gs-add-word:#39ff8857;--gs-del-word:#ff2e8857;--gs-hunk:#00f0ff1a;--gs-neutral-bg:#a98fd629;--gs-backdrop:#06020ead;--gs-shadow:#00f0ff24}.SD8qLW_overlay[data-gs-theme=cyberpunk-light]{--gs-bg:#fdfbff;--gs-panel:#f4eeff;--gs-raise:#e9dfff;--gs-border:#c9b3f0;--gs-border-soft:#e0d2f7;--gs-fg:#1a0b2e;--gs-fg-muted:#33195c;--gs-fg-dim:#6b4ba0;--gs-fg-faint:#8f74bd;--gs-fg-fainter:#b9a5d6;--gs-accent:#00a6b8;--gs-accent-bg:#00a6b81f;--gs-accent-border:#00a6b880;--gs-add:#00875a;--gs-del:#d6006e;--gs-warn:#b37a00;--gs-info:#00a6b8;--gs-add-bg:#00875a1f;--gs-del-bg:#d6006e1f;--gs-warn-bg:#b37a001f;--gs-info-bg:#00a6b81f;--gs-add-line:#00c88224;--gs-del-line:#ff2e881f;--gs-add-word:#00c88257;--gs-del-word:#ff2e884d;--gs-hunk:#00a6b814;--gs-neutral-bg:#6b4ba01f;--gs-backdrop:#1a0b2e47;--gs-shadow:#1a0b2e29}.SD8qLW_overlay[data-gs-theme=one-dark]{--gs-bg:#282c34;--gs-panel:#21252b;--gs-raise:#2c313a;--gs-border:#3e4451;--gs-border-soft:#2c313a;--gs-fg:#abb2bf;--gs-fg-muted:#b6bdca;--gs-fg-dim:#7f848e;--gs-fg-faint:#636d83;--gs-fg-fainter:#4b5263;--gs-accent:#61afef;--gs-accent-bg:#61afef24;--gs-accent-border:#61afef8c;--gs-add:#98c379;--gs-del:#e06c75;--gs-warn:#e5c07b;--gs-info:#56b6c2;--gs-add-bg:#98c37929;--gs-del-bg:#e06c7529;--gs-warn-bg:#e5c07b29;--gs-info-bg:#56b6c229;--gs-add-line:#98c37924;--gs-del-line:#e06c7524;--gs-add-word:#98c37961;--gs-del-word:#e06c7561;--gs-hunk:#61afef1a;--gs-neutral-bg:#7f848e2e;--gs-backdrop:#171a2199;--gs-shadow:#0f11158c}.SD8qLW_overlay[data-gs-theme=one-light]{--gs-bg:#fafafa;--gs-panel:#f0f0f0;--gs-raise:#e5e5e6;--gs-border:#d4d4d4;--gs-border-soft:#e5e5e6;--gs-fg:#383a42;--gs-fg-muted:#4a4c53;--gs-fg-dim:#696c77;--gs-fg-faint:#909196;--gs-fg-fainter:#b8b9bd;--gs-accent:#4078f2;--gs-accent-bg:#4078f21a;--gs-accent-border:#4078f273;--gs-add:#50a14f;--gs-del:#e45649;--gs-warn:#c18401;--gs-info:#0184bc;--gs-add-bg:#50a14f1f;--gs-del-bg:#e456491f;--gs-warn-bg:#c184011f;--gs-info-bg:#0184bc1f;--gs-add-line:#50a14f24;--gs-del-line:#e4564921;--gs-add-word:#50a14f57;--gs-del-word:#e4564952;--gs-hunk:#4078f212;--gs-neutral-bg:#696c771f;--gs-backdrop:#383a4242;--gs-shadow:#383a422e}.SD8qLW_overlay[data-gs-theme=solarized-dark]{--gs-bg:#002b36;--gs-panel:#073642;--gs-raise:#0a4553;--gs-border:#0f5666;--gs-border-soft:#073642;--gs-fg:#93a1a1;--gs-fg-muted:#839496;--gs-fg-dim:#657b83;--gs-fg-faint:#586e75;--gs-fg-fainter:#45636b;--gs-accent:#268bd2;--gs-accent-bg:#268bd229;--gs-accent-border:#268bd28c;--gs-add:#859900;--gs-del:#dc322f;--gs-warn:#b58900;--gs-info:#2aa198;--gs-add-bg:#85990033;--gs-del-bg:#dc322f2e;--gs-warn-bg:#b589002e;--gs-info-bg:#2aa1982e;--gs-add-line:#85990029;--gs-del-line:#dc322f26;--gs-add-word:#85990066;--gs-del-word:#dc322f61;--gs-hunk:#268bd21f;--gs-neutral-bg:#657b8333;--gs-backdrop:#00141a9e;--gs-shadow:#00141a8c}.SD8qLW_overlay[data-gs-theme=solarized-light]{--gs-bg:#fdf6e3;--gs-panel:#eee8d5;--gs-raise:#e3ddca;--gs-border:#d5cfbb;--gs-border-soft:#eee8d5;--gs-fg:#586e75;--gs-fg-muted:#657b83;--gs-fg-dim:#839496;--gs-fg-faint:#93a1a1;--gs-fg-fainter:#b5b0a0;--gs-accent:#268bd2;--gs-accent-bg:#268bd21f;--gs-accent-border:#268bd273;--gs-add:#6c7c00;--gs-del:#cb2825;--gs-warn:#9a7400;--gs-info:#21867f;--gs-add-bg:#8599002e;--gs-del-bg:#dc322f24;--gs-warn-bg:#b5890029;--gs-info-bg:#2aa19824;--gs-add-line:#85990029;--gs-del-line:#dc322f1f;--gs-add-word:#85990061;--gs-del-word:#dc322f4d;--gs-hunk:#268bd214;--gs-neutral-bg:#586e7524;--gs-backdrop:#586e7542;--gs-shadow:#586e7533}.SD8qLW_overlay[data-gs-theme=nord-dark]{--gs-bg:#2e3440;--gs-panel:#3b4252;--gs-raise:#434c5e;--gs-border:#4c566a;--gs-border-soft:#3b4252;--gs-fg:#eceff4;--gs-fg-muted:#d8dee9;--gs-fg-dim:#9aa5b8;--gs-fg-faint:#7b88a1;--gs-fg-fainter:#5d6a82;--gs-accent:#88c0d0;--gs-on-accent:#2e3440;--gs-accent-bg:#88c0d024;--gs-accent-border:#88c0d08c;--gs-add:#a3be8c;--gs-del:#bf616a;--gs-warn:#ebcb8b;--gs-info:#81a1c1;--gs-add-bg:#a3be8c29;--gs-del-bg:#bf616a2e;--gs-warn-bg:#ebcb8b29;--gs-info-bg:#81a1c129;--gs-add-line:#a3be8c24;--gs-del-line:#bf616a26;--gs-add-word:#a3be8c61;--gs-del-word:#bf616a66;--gs-hunk:#88c0d01a;--gs-neutral-bg:#9aa5b829;--gs-backdrop:#1d232d9e;--gs-shadow:#1419218c}.SD8qLW_overlay[data-gs-theme=nord-light]{--gs-bg:#eceff4;--gs-panel:#e5e9f0;--gs-raise:#d8dee9;--gs-border:#c3cbd8;--gs-border-soft:#dfe4ec;--gs-fg:#2e3440;--gs-fg-muted:#3b4252;--gs-fg-dim:#4c566a;--gs-fg-faint:#6b7689;--gs-fg-fainter:#9aa4b5;--gs-accent:#5e81ac;--gs-accent-bg:#5e81ac1f;--gs-accent-border:#5e81ac80;--gs-add:#5e7d47;--gs-del:#a5424c;--gs-warn:#97701f;--gs-info:#4c7a8c;--gs-add-bg:#5e7d4724;--gs-del-bg:#a5424c21;--gs-warn-bg:#97701f24;--gs-info-bg:#4c7a8c21;--gs-add-line:#5e7d4724;--gs-del-line:#a5424c1f;--gs-add-word:#5e7d4757;--gs-del-word:#a5424c52;--gs-hunk:#5e81ac17;--gs-neutral-bg:#4c566a21;--gs-backdrop:#2e344042;--gs-shadow:#2e34402e}.SD8qLW_overlay{--gs-inset:14px;--gs-h-control:28px;--gs-h-compact:24px;--gs-pad-control:0 12px;--gs-pad-compact:0 10px;--gs-on-accent:#fff;--gs-graph-0:#58a6ff;--gs-graph-1:#3fb950;--gs-graph-2:#d29922;--gs-graph-3:#bc8cff;--gs-graph-4:#f778ba;--gs-graph-5:#39c5cf;--gs-r-pill:999px;--gs-r-control:8px;--gs-r-surface:12px;--gs-r-drawer:14px;--gs-t-meta:11px;--gs-t-dense:12px;--gs-t-ui:13px;--gs-gutter:16px;--gs-gutter-pane:12px;z-index:1000;padding:var(--gs-inset);box-sizing:border-box;background:var(--gs-backdrop);justify-content:flex-end;align-items:stretch;gap:12px;animation:.16s ease-out SD8qLW_gsFade;display:flex;position:fixed;inset:0}.SD8qLW_drawer{box-sizing:border-box;width:min(1600px,94vw);height:100%;color:var(--gs-fg);background:var(--gs-bg);border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);box-shadow:0 24px 64px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);--gs-surface:var(--gs-bg);--gs-surface-2:var(--gs-panel);flex-direction:column;animation:.18s cubic-bezier(.22,1,.36,1) SD8qLW_gsSlide;display:flex;position:relative;overflow:hidden}.SD8qLW_drawer[data-gs-bg]{--gs-surface:color-mix(in srgb, var(--gs-bg) var(--gs-veil), transparent);--gs-surface-2:color-mix(in srgb, var(--gs-panel) var(--gs-veil), transparent)}.SD8qLW_drawer[data-gs-bg]:before{content:\"\";z-index:0;background-image:var(--gs-bg-image);filter:blur(var(--gs-bg-blur));pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.12)}.SD8qLW_drawer>:not(.SD8qLW_resizer){z-index:1;position:relative}.SD8qLW_drawer>.SD8qLW_header{z-index:24}.SD8qLW_drawer>.SD8qLW_tabs{z-index:23}.SD8qLW_drawer>.SD8qLW_compareBar{z-index:22}.SD8qLW_drawer>.SD8qLW_syncBar{z-index:20}.SD8qLW_drawer>.SD8qLW_confirmScrim{z-index:40;position:absolute;inset:0}.SD8qLW_overlayMax{gap:0;padding:0}.SD8qLW_overlayMax .SD8qLW_drawer{border-width:0 0 0 1px;border-radius:0;flex:auto;width:auto;min-width:0}@keyframes SD8qLW_gsFade{0%{opacity:0}}@keyframes SD8qLW_gsSlide{0%{opacity:0;transform:translate(24px)}}.SD8qLW_resizer{z-index:30;cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:10px;display:flex;position:absolute;top:0;bottom:0;left:0}.SD8qLW_resizer:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:32px;transition:opacity .14s,height .14s}.SD8qLW_resizer:hover:after{opacity:.6}.SD8qLW_resizerActive:after{opacity:.9;height:56px}.SD8qLW_paneDivider{z-index:5;cursor:col-resize;touch-action:none;flex:none;justify-content:center;align-items:center;width:7px;display:flex;position:relative}.SD8qLW_paneDivider:before{content:\"\";background:var(--gs-border-soft);width:1px;position:absolute;top:0;bottom:0;left:3px}.SD8qLW_paneDivider:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:28px;transition:opacity .14s,height .14s;position:relative}.SD8qLW_paneDivider:hover:after{opacity:.6}.SD8qLW_paneDividerActive:after{opacity:.9;height:48px}.SD8qLW_paneDividerY{cursor:row-resize;width:auto;height:7px}.SD8qLW_paneDividerY:before{width:auto;height:1px;inset:3px 0 auto}.SD8qLW_paneDividerY:after{width:28px;height:3px;transition:opacity .14s,width .14s}.SD8qLW_paneDividerY.SD8qLW_paneDividerActive:after{width:48px;height:3px}.SD8qLW_header{padding:10px var(--gs-gutter);border-bottom:1px solid var(--gs-border);background:var(--gs-surface-2);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-ui);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.SD8qLW_headerLeft{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.SD8qLW_headerBranch{border:1px solid var(--gs-accent-border);border-radius:var(--gs-r-pill);background:var(--gs-accent-bg);color:var(--gs-accent);align-items:center;gap:6px;padding:2px 10px;font-weight:600;display:inline-flex}.SD8qLW_refButton.SD8qLW_headerPicker{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);max-width:420px;color:var(--gs-accent);font-weight:600}.SD8qLW_refButton.SD8qLW_headerPicker:hover{background:var(--gs-accent-bg);color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_elide{flex:0 auto;align-items:baseline;min-width:0;display:inline-flex}.SD8qLW_elideHead{white-space:nowrap;text-overflow:ellipsis;flex:0 999 auto;min-width:0;overflow:hidden}.SD8qLW_elideTail{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.SD8qLW_headerPathMain{color:var(--gs-fg-faint);font-size:var(--gs-t-meta)}.SD8qLW_headerPathMain .SD8qLW_elideTail{color:var(--gs-fg-dim)}.SD8qLW_headerViewRef{max-width:160px}.SD8qLW_headerView{border-radius:var(--gs-r-pill);background:var(--gs-neutral-bg);color:var(--gs-fg-muted);font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none;padding:1px 8px}.SD8qLW_headerDetached{border-radius:var(--gs-r-pill);background:var(--gs-warn-bg);color:var(--gs-warn);font-size:var(--gs-t-meta);letter-spacing:.02em;padding:1px 8px}.SD8qLW_headerTotals{font-variant-numeric:tabular-nums}.SD8qLW_headerTotalsAdd{color:var(--gs-add);font-weight:600}.SD8qLW_headerTotalsDel{color:var(--gs-del);font-weight:600}.SD8qLW_headerTotalsDim{color:var(--gs-fg-dim);font-size:var(--gs-t-dense)}.SD8qLW_headerRight{flex:none;gap:8px;display:flex;position:relative}.SD8qLW_theme{display:inline-flex;position:relative}.SD8qLW_refPop.SD8qLW_settingsPop{width:320px;max-width:calc(100vw - 32px);max-height:min(560px,100vh - 120px);top:calc(100% + 6px);left:auto;right:0}.SD8qLW_themeRail{min-height:0;font-family:var(--dsw-font-ui,system-ui, sans-serif);flex-direction:column;flex:1;gap:14px;padding:12px 14px 16px;display:flex;overflow-y:auto}.SD8qLW_themeGroup{flex-direction:column;gap:6px;display:flex}.SD8qLW_themeLabel{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.SD8qLW_themeRowSplit{justify-content:space-between;align-items:center;gap:8px;display:flex}.SD8qLW_segmented{gap:6px;display:flex}.SD8qLW_segment{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;background:0 0;flex-direction:column;flex:1 1 0;align-items:stretch;gap:4px;padding:4px;transition:background .12s,color .12s,border-color .12s;display:flex}.SD8qLW_segment:hover{background:var(--gs-raise);border-color:var(--gs-fg-fainter);color:var(--gs-fg)}.SD8qLW_segment:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_segmentChip{border-radius:calc(var(--gs-r-control) - 4px);border:1px solid #80808073;height:20px}.SD8qLW_chipLight{background:#fff}.SD8qLW_chipDark{background:#0b0b0d}.SD8qLW_chipSystem{background:linear-gradient(105deg,#fff 0 50%,#0b0b0d 50% 100%)}.SD8qLW_paletteRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:5px 8px;display:flex}.SD8qLW_paletteRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_swatch{border:1px solid var(--gs-border);border-radius:3px;flex:none;width:26px;height:12px;display:inline-flex;overflow:hidden}.SD8qLW_swatch span{flex:1}.SD8qLW_scopeRow{gap:6px;display:flex}.SD8qLW_scopeHint{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);overflow-wrap:anywhere}.SD8qLW_bgPreview{border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background-color:var(--gs-bg);background-position:50%;background-size:cover;height:64px}.SD8qLW_bgEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);justify-content:center;align-items:center;display:flex}.SD8qLW_sliderRow{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);align-items:center;gap:8px;display:flex}.SD8qLW_sliderRow input{min-width:0;accent-color:var(--gs-accent);flex:1}.SD8qLW_sliderValue{text-align:right;font-variant-numeric:tabular-nums;flex:none;width:38px}.SD8qLW_cssArea{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:96px;max-height:220px;color:var(--gs-fg);font-family:var(--dsw-font-mono,ui-monospace, Consolas, monospace);font-size:var(--gs-t-meta);resize:vertical;outline:none;padding:7px 8px}.SD8qLW_cssArea:focus{border-color:var(--gs-accent-border)}.SD8qLW_themeNote{color:var(--gs-warn);font-size:var(--gs-t-meta)}.SD8qLW_themeDirty{color:var(--gs-accent);font-size:var(--gs-t-meta)}.SD8qLW_wtCurrent{color:var(--gs-add);font-size:8px;line-height:1}.SD8qLW_commitCopy{margin-left:auto}.SD8qLW_commitPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:min(380px,100vw - 24px);color:var(--gs-fg);box-shadow:0 16px 40px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);font-size:var(--gs-t-dense);flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex;position:fixed;overflow:auto}.SD8qLW_commitPopTop{align-items:center;gap:8px;display:flex}.SD8qLW_commitPopTop .SD8qLW_commitWhen{margin-right:auto}.SD8qLW_commitPopMeta{color:var(--gs-fg-muted);font-size:var(--gs-t-dense);flex-direction:column;gap:2px;line-height:16px;display:flex}.SD8qLW_commitFilter{min-width:120px;height:var(--gs-h-control);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 10px}.SD8qLW_commitFilter:focus{border-color:var(--gs-accent)}.SD8qLW_commitFilter::placeholder{color:var(--gs-fg-faint)}.SD8qLW_filterChips{border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:6px 10px;display:flex}.SD8qLW_filterChip{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-surface-2);max-width:220px;font-size:var(--gs-t-dense);align-items:center;gap:2px;line-height:18px;display:inline-flex}.SD8qLW_filterChipLabel{text-overflow:ellipsis;white-space:nowrap;color:var(--gs-fg-muted);padding:2px 4px 2px 8px;overflow:hidden}.SD8qLW_filterChipRemove{border:none;border-left:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;flex:none;padding:0 6px;line-height:20px}.SD8qLW_filterChipRemove:hover{color:var(--gs-del)}.SD8qLW_filterClear{color:var(--gs-fg-faint);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;padding:2px 4px;line-height:18px}.SD8qLW_filterClear:hover{color:var(--gs-fg)}.SD8qLW_funnel{display:inline-flex;position:relative}.SD8qLW_funnelButton.SD8qLW_funnelButtonActive{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:320px;max-width:calc(100vw - 24px);box-shadow:0 16px 40px var(--gs-shadow);font-size:var(--gs-t-dense);flex-direction:column;display:flex;position:fixed;overflow:hidden}.SD8qLW_funnelTabs{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);flex:none;gap:2px;margin:8px 8px 0;padding:2px;display:flex}.SD8qLW_funnelTab{box-sizing:border-box;min-width:0;height:var(--gs-h-compact);border-radius:calc(var(--gs-r-control) - 3px);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;flex:1;padding:0 8px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelTab:hover{color:var(--gs-fg)}.SD8qLW_funnelTab:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelTabCount{color:var(--gs-accent);font-variant-numeric:tabular-nums;margin-left:4px}.SD8qLW_funnelPane{flex-direction:column;flex:auto;gap:6px;min-height:0;padding:8px;display:flex}.SD8qLW_funnelCaption{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;flex:none;line-height:14px}.SD8qLW_funnelBounds{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);flex:none;gap:2px;padding:2px;display:flex}.SD8qLW_funnelBoundBtn{box-sizing:border-box;min-width:0;height:var(--gs-h-compact);border-radius:calc(var(--gs-r-control) - 3px);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;padding:0 6px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelBoundBtn:hover{color:var(--gs-fg)}.SD8qLW_cal{flex-direction:column;flex:none;gap:4px;display:flex}.SD8qLW_calHead{align-items:center;gap:4px;display:flex}.SD8qLW_calTitle{text-align:center;color:var(--gs-fg);font-size:var(--gs-t-dense);flex:1;line-height:20px}.SD8qLW_calNav{width:var(--gs-h-compact);height:var(--gs-h-compact);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:none;flex:none;padding:0}.SD8qLW_calNav:hover{color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_calWeek,.SD8qLW_calGrid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.SD8qLW_calWeek span{text-align:center;color:var(--gs-fg-faint);font-size:var(--gs-t-meta);line-height:14px}.SD8qLW_calGrid button{height:var(--gs-h-compact);border-radius:var(--gs-r-control);color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none}.SD8qLW_calGrid button:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calOut{color:var(--gs-fg-fainter)}.SD8qLW_calGrid button.SD8qLW_calToday{color:var(--gs-accent);font-weight:600}.SD8qLW_calGrid button.SD8qLW_calIn{background:var(--gs-accent-bg);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calMark{background:var(--gs-accent);color:var(--gs-on-accent);font-weight:600}.SD8qLW_funnelBoundRows{flex:none;grid-template-columns:1fr 1fr;gap:6px;display:grid}.SD8qLW_funnelBoundRow{box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);min-width:0;font-size:var(--gs-t-meta);align-items:center;gap:4px;padding:3px 6px;line-height:16px;display:flex}.SD8qLW_funnelBoundKey{color:var(--gs-fg-faint);flex:none}.SD8qLW_funnelBoundVal{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:1;overflow:hidden}.SD8qLW_funnelBoundValSet{color:var(--gs-fg)}.SD8qLW_funnelBoundClear{color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;line-height:1}.SD8qLW_funnelBoundClear:hover{color:var(--gs-del)}.SD8qLW_funnelSearch{box-sizing:border-box;height:var(--gs-h-compact);border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:0 8px}.SD8qLW_funnelSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_funnelSearch:focus{border-color:var(--gs-accent);box-shadow:0 0 0 2px var(--gs-accent-bg)}.SD8qLW_funnelList{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gs-fg-fainter) transparent;flex-direction:column;flex:auto;gap:1px;min-height:0;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.SD8qLW_funnelList::-webkit-scrollbar{width:10px}.SD8qLW_funnelList::-webkit-scrollbar-track{background:0 0}.SD8qLW_funnelList::-webkit-scrollbar-thumb{background:var(--gs-fg-fainter);border-radius:var(--gs-r-pill);background-clip:content-box;border:3px solid #0000}.SD8qLW_funnelRow{box-sizing:border-box;border-radius:var(--gs-r-control);cursor:pointer;align-items:center;gap:6px;min-height:24px;padding:0 4px;display:flex}.SD8qLW_funnelRow:hover{background:var(--gs-raise)}.SD8qLW_funnelRow:has(input[type=checkbox]:checked) .SD8qLW_funnelName,.SD8qLW_funnelRow:has(input[type=checkbox]:indeterminate) .SD8qLW_funnelName{color:var(--gs-fg)}.SD8qLW_funnelRow input[type=checkbox]{-webkit-appearance:none;appearance:none;box-sizing:border-box;border:1px solid var(--gs-fg-fainter);cursor:pointer;background:0 0;border-radius:3px;flex:none;width:14px;height:14px;margin:0;transition:background .12s,border-color .12s;position:relative}.SD8qLW_funnelRow input[type=checkbox]:hover{border-color:var(--gs-fg-dim)}.SD8qLW_funnelRow input[type=checkbox]:checked,.SD8qLW_funnelRow input[type=checkbox]:indeterminate{background:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelRow input[type=checkbox]:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelRow input[type=checkbox]:checked:after{content:\"\";border:solid var(--gs-on-accent);border-width:0 1.5px 1.5px 0;width:3px;height:7px;position:absolute;top:1px;left:4px;transform:rotate(42deg)}.SD8qLW_funnelRow input[type=checkbox]:indeterminate:after{content:\"\";background:var(--gs-on-accent);border-radius:1px;width:8px;height:2px;position:absolute;top:5px;left:2px}.SD8qLW_pathNode,.SD8qLW_pathChildren{flex-direction:column;display:flex}.SD8qLW_pathFileGlyph,.SD8qLW_pathDirGlyph{width:16px;height:16px;color:var(--gs-fg-dim);flex:none}.SD8qLW_funnelRow:hover .SD8qLW_pathFileGlyph,.SD8qLW_funnelRow:hover .SD8qLW_pathDirGlyph{color:var(--gs-fg-muted)}.SD8qLW_funnelName{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-muted);flex:1;overflow:hidden}.SD8qLW_funnelCount{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_funnelMore{color:var(--gs-fg-faint);padding:4px 6px}.SD8qLW_funnelChevron{width:14px;color:var(--gs-fg-faint);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-family:inherit;font-size:9px;line-height:16px}.SD8qLW_funnelChevron:hover:not(:disabled){color:var(--gs-fg)}.SD8qLW_funnelChevron:disabled{cursor:default}.SD8qLW_funnelPresets{flex:none;gap:4px;display:flex}.SD8qLW_funnelPreset{flex:1 1 0;min-width:0;padding:0 6px}.SD8qLW_funnelFoot{border-top:1px solid var(--gs-border-soft);background:var(--gs-bg);font-size:var(--gs-t-meta);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;line-height:16px;display:flex}.SD8qLW_funnelFootCount{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums}.SD8qLW_funnelFootCountOn{color:var(--gs-fg-muted)}.SD8qLW_funnelFootClear{border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;line-height:16px}.SD8qLW_funnelFootClear:hover:not(:disabled){color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_funnelFootClear:disabled{color:var(--gs-fg-fainter);cursor:default}.SD8qLW_commitPopSubject{color:var(--gs-fg);font-size:var(--gs-t-ui);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-weight:600;line-height:18px}.SD8qLW_commitPopBody{color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;margin:0;line-height:18px}.SD8qLW_tabs{padding:0 var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex:none;gap:24px;font-family:inherit;display:flex}.SD8qLW_tab{font-family:inherit;font-size:var(--gs-t-ui);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:8px 0 9px;font-weight:500;line-height:16px;position:relative}.SD8qLW_tab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_tabActive{color:var(--gs-accent)}.SD8qLW_tabActive:after{background:var(--gs-accent)}.SD8qLW_compareBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.SD8qLW_compareArrow{color:var(--gs-fg-faint)}.SD8qLW_refPicker{align-items:center;gap:6px;display:inline-flex;position:relative}.SD8qLW_refLabel{color:var(--gs-fg-faint);flex:none}.SD8qLW_refButton{justify-content:space-between;max-width:260px}.SD8qLW_refValue{min-width:0;overflow:hidden}.SD8qLW_refCaret{color:var(--gs-fg-faint);flex:none;font-size:9px}.SD8qLW_refPop{z-index:10;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-panel);width:300px;max-width:80vw;box-shadow:0 12px 32px var(--gs-shadow);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.SD8qLW_menuPop{width:auto;min-width:100%;padding:4px;left:auto;right:0}.SD8qLW_refSearch{border:0;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:7px 10px}.SD8qLW_refSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_refList{flex:1;max-height:280px;padding:4px;overflow-y:auto}.SD8qLW_refGroup{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;padding:6px 8px 3px;font-weight:600}.SD8qLW_refRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 8px;display:flex}.SD8qLW_refRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_refRowSpacer{flex:none;width:12px}.SD8qLW_refRowName{flex:auto;min-width:0;overflow:hidden}.SD8qLW_refEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-dense);padding:14px 10px}.SD8qLW_refFoot{border-top:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);flex:none;padding:5px 10px}.SD8qLW_commitsPane{box-sizing:border-box;width:26%;min-height:0;min-width:var(--gs-min-commits);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:340px;display:flex}.SD8qLW_paneHead{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_paneTitle{font-weight:600}.SD8qLW_commitsSentinel{flex:none;height:1px}.SD8qLW_commitsFoot{color:var(--gs-fg-faint);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-meta);text-align:center;flex:none;min-height:16px;padding:8px}.SD8qLW_commits{flex-direction:column;flex:1;min-height:0;padding:4px 6px 4px 0;display:flex;overflow-y:auto}.SD8qLW_commitLine{height:var(--gs-commit-row);flex:none;align-items:stretch;display:flex}.SD8qLW_graphCell{flex:none;display:block}.SD8qLW_commit{box-sizing:border-box;border-radius:var(--gs-r-surface);text-align:left;cursor:pointer;min-width:0;height:100%;font-family:inherit;font-size:var(--gs-t-dense);background:0 0;border:1px solid #0000;flex:auto;align-items:center;gap:10px;margin:1px 0;padding:4px 8px;transition:background .12s,border-color .12s;display:flex;overflow:hidden}.SD8qLW_commitsPane[data-layout=columns] .SD8qLW_commit{flex-direction:column;justify-content:center;align-items:stretch;gap:2px}.SD8qLW_commitsPane[data-layout=columns] .SD8qLW_commitSubjectRow{flex:none}.SD8qLW_commitTop{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.SD8qLW_commit:hover{background:var(--gs-raise)}.SD8qLW_commitMeta{flex:none;align-items:baseline;gap:8px;display:flex}.SD8qLW_commitHash{color:var(--gs-info);flex:none}.SD8qLW_commitSubjectRow{flex:auto;align-items:baseline;gap:4px;min-width:0;display:flex}.SD8qLW_commitSubject{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--gs-fg-muted);flex:0 auto;overflow:hidden}.SD8qLW_commitHasBody{color:var(--gs-fg-faint);letter-spacing:.04em;flex:none}.SD8qLW_commitRef{white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--gs-accent-border);border-radius:var(--gs-r-pill);background:var(--gs-accent-bg);max-width:96px;color:var(--gs-accent);font-size:var(--gs-t-meta);flex:none;padding:0 5px;line-height:15px;overflow:hidden}.SD8qLW_commitWhen{color:var(--gs-fg-faint);flex:none}.SD8qLW_commitAuthor{text-overflow:ellipsis;white-space:nowrap;max-width:120px;color:var(--gs-fg-dim);flex:none;overflow:hidden}.SD8qLW_body{z-index:1;flex:1;min-height:0;display:flex}.SD8qLW_body[data-stacked]{flex-direction:column}.SD8qLW_bodyRow{flex:1 1 0;min-width:0;min-height:0;display:flex}.SD8qLW_body[data-stacked] .SD8qLW_commitsPane{width:auto;min-width:0;max-width:none;height:34%;min-height:var(--gs-min-commits-tall);max-height:max(var(--gs-min-commits-tall), calc(100% - var(--gs-min-stacked-lower)));flex:none}.SD8qLW_treeCol{box-sizing:border-box;width:28%;min-height:0;min-width:var(--gs-min-tree);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:400px;display:flex}.SD8qLW_treeWrap{box-sizing:border-box;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.SD8qLW_treeTools{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:6px;display:flex}.SD8qLW_treeActions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.SD8qLW_treeLead{align-items:center;gap:4px;min-width:0;display:flex}.SD8qLW_treeLabel{white-space:nowrap;color:var(--gs-fg-dim);font-size:var(--gs-t-dense);flex:none}.SD8qLW_treeFilter{padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex:none;align-items:center;display:flex;position:relative}.SD8qLW_treeFilterInput{min-width:0;height:var(--gs-h-compact);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 24px 0 8px}.SD8qLW_treeFilterInput:focus{border-color:var(--gs-accent)}.SD8qLW_treeFilterInput::placeholder{color:var(--gs-fg-faint)}.SD8qLW_treeFilterClear{right:calc(var(--gs-gutter-pane) + 6px);border-radius:var(--gs-r-pill);width:16px;height:16px;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:absolute}.SD8qLW_treeFilterClear:hover{color:var(--gs-fg)}.SD8qLW_tree{flex:1;min-height:0;margin:0;padding:6px 0 16px;list-style:none;overflow:auto}.SD8qLW_treeEmpty{min-height:0;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);flex:1;justify-content:center;align-items:center;display:flex}.SD8qLW_treeSub{margin:0;padding:0;list-style:none;position:relative}.SD8qLW_treeSub:before{content:\"\";top:0;bottom:0;left:var(--gs-rail,0);background:var(--gs-border-soft);width:1px;position:absolute}.SD8qLW_treeDirLi{position:relative}.SD8qLW_treeDir{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 12px 4px 8px;font-weight:600;display:flex}.SD8qLW_treeDir:hover{background:var(--gs-raise);color:var(--gs-fg-muted)}.SD8qLW_treeDirActive{color:var(--gs-fg-muted)}.SD8qLW_chevron{width:10px;color:var(--gs-fg-fainter);font-size:var(--gs-t-meta);flex:none;transition:transform .12s;display:inline-block}.SD8qLW_chevronOpen{transform:rotate(90deg)}.SD8qLW_treeDirName{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_treeDirCount{border-radius:var(--gs-r-pill);background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);flex:none;padding:0 6px;font-weight:600;line-height:16px}.SD8qLW_treeDirCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_file{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;align-items:center;gap:8px;padding:5px 14px;display:flex}.SD8qLW_file:hover{background:var(--gs-raise)}.SD8qLW_fileStatus{border-radius:var(--gs-r-control);width:18px;height:18px;font-weight:700;font-size:var(--gs-t-meta);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.SD8qLW_stAdded,.SD8qLW_stUntracked{color:var(--gs-add);background:var(--gs-add-bg)}.SD8qLW_stDeleted{color:var(--gs-del);background:var(--gs-del-bg)}.SD8qLW_stModified{color:var(--gs-warn);background:var(--gs-warn-bg)}.SD8qLW_stRenamed{color:var(--gs-info);background:var(--gs-info-bg)}.SD8qLW_filePath{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_fileBinary{border-radius:var(--gs-r-control);background:var(--gs-neutral-bg);color:var(--gs-fg-dim);letter-spacing:.06em;flex:none;padding:0 5px;font-size:9px;font-weight:700}.SD8qLW_fileCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fileCountAdd{color:var(--gs-add)}.SD8qLW_fileCountDel{color:var(--gs-del)}.SD8qLW_diffPane{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;display:flex;overflow:auto}.SD8qLW_diffWrap{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.SD8qLW_diffScroll{outline:none;flex:1 1 0;min-height:0;overflow:auto}.SD8qLW_diffNav{border-bottom:1px solid var(--gs-border-soft);flex:none;justify-content:flex-end;align-items:center;gap:4px;padding:3px 12px 3px 0;display:flex}.SD8qLW_diffNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_diffPre{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;flex-direction:column;margin:0;padding:8px 0 16px;font-weight:400;line-height:20px;display:flex}.SD8qLW_renameLine{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_renameLine code{color:var(--gs-fg)}.SD8qLW_line{white-space:nowrap;align-items:stretch;width:max-content;min-width:100%;min-height:20px;line-height:20px;display:flex}.SD8qLW_lnOld,.SD8qLW_lnNew{box-sizing:border-box;text-align:right;width:3.2em;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;flex:none;padding:0 8px}.SD8qLW_line:hover .SD8qLW_lnOld,.SD8qLW_line:hover .SD8qLW_lnNew{color:var(--gs-fg-dim)}.SD8qLW_gutter{text-align:center;user-select:none;flex:none;width:1.4em}.SD8qLW_code{white-space:pre;flex:1 0 auto;padding:0 16px 0 10px}.SD8qLW_lineAdd{background:var(--gs-add-line)}.SD8qLW_lineDel{background:var(--gs-del-line)}.SD8qLW_lineAdd .SD8qLW_lnOld,.SD8qLW_lineAdd .SD8qLW_lnNew,.SD8qLW_lineAdd .SD8qLW_gutter{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_lineDel .SD8qLW_lnOld,.SD8qLW_lineDel .SD8qLW_lnNew,.SD8qLW_lineDel .SD8qLW_gutter{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_lineContext{color:var(--gs-fg-muted)}.SD8qLW_lineHunk{background:var(--gs-hunk)}.SD8qLW_lineHunk .SD8qLW_code{color:var(--gs-fg-dim)}.SD8qLW_lineHunk .SD8qLW_lnOld,.SD8qLW_lineHunk .SD8qLW_lnNew,.SD8qLW_lineHunk .SD8qLW_gutter{background:var(--gs-hunk-num,var(--gs-hunk))}.SD8qLW_signAdd{color:var(--gs-add)}.SD8qLW_signDel{color:var(--gs-del)}.SD8qLW_wordAdd{background:var(--gs-add-word);border-radius:2px}.SD8qLW_wordDel{background:var(--gs-del-word);border-radius:2px}.SD8qLW_sidePane{flex-direction:column;width:100%;min-width:0;height:100%;display:flex}.SD8qLW_sideScroll{flex:1 1 0;min-height:0;overflow:hidden auto}.SD8qLW_sideCols{align-items:stretch;min-height:100%;display:flex}.SD8qLW_sideCol{flex:none;min-width:0;overflow-x:auto}.SD8qLW_sideColRight{flex:1 1 0}.SD8qLW_sideColGrid{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;grid-template-columns:3.2em 1fr;align-content:start;padding:8px 0 16px;font-weight:400;line-height:20px;display:grid}.SD8qLW_sideColGridBlame{grid-template-columns:13em 3.2em 1fr}.SD8qLW_blameCell{box-sizing:border-box;border-right:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:pre;text-overflow:ellipsis;user-select:none;padding:0 8px 0 10px;overflow:hidden}.SD8qLW_sideTabs{z-index:5;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex-wrap:wrap;flex:none;align-items:flex-start;gap:0 16px;padding:6px 16px 0;display:flex}.SD8qLW_sideTab{font-family:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:2px 0 5px;font-weight:500;line-height:16px;position:relative}.SD8qLW_sideTab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_sideTabActive{color:var(--gs-accent)}.SD8qLW_sideTabActive:after{background:var(--gs-accent)}.SD8qLW_sideNotice{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_sideNum{box-sizing:border-box;text-align:right;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;padding:0 8px}.SD8qLW_sideNumAdd{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_sideNumDel{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_sideCode{white-space:pre;min-height:20px;padding:0 16px 0 10px}.SD8qLW_sideSpacer{grid-column:1/-1}.SD8qLW_diffSpacer{flex:none}.SD8qLW_sideCodeSame{color:var(--gs-fg-muted)}.SD8qLW_sideCodeAdd{background:var(--gs-add-line)}.SD8qLW_sideCodeDel{background:var(--gs-del-line)}.SD8qLW_sideCellBlock{position:relative}.SD8qLW_sideNum.SD8qLW_sideBlockHot{box-shadow:inset 1px 0 var(--gs-accent)}.SD8qLW_sideCode.SD8qLW_sideBlockHot{box-shadow:inset -1px 0 var(--gs-accent)}.SD8qLW_sideNum.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotFirst{box-shadow:inset 1px 0 var(--gs-accent), inset 0 1px var(--gs-accent)}.SD8qLW_sideCode.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotFirst{box-shadow:inset -1px 0 var(--gs-accent), inset 0 1px var(--gs-accent)}.SD8qLW_sideNum.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotLast{box-shadow:inset 1px 0 var(--gs-accent), inset 0 -1px var(--gs-accent)}.SD8qLW_sideCode.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotLast{box-shadow:inset -1px 0 var(--gs-accent), inset 0 -1px var(--gs-accent)}.SD8qLW_sideNum.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotFirst.SD8qLW_sideBlockHotLast{box-shadow:inset 1px 0 var(--gs-accent), inset 0 1px var(--gs-accent), inset 0 -1px var(--gs-accent)}.SD8qLW_sideCode.SD8qLW_sideBlockHot.SD8qLW_sideBlockHotFirst.SD8qLW_sideBlockHotLast{box-shadow:inset -1px 0 var(--gs-accent), inset 0 1px var(--gs-accent), inset 0 -1px var(--gs-accent)}.SD8qLW_blockBar{z-index:4;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-surface-2,var(--gs-bg));box-shadow:0 4px 14px var(--gs-shadow);white-space:nowrap;gap:4px;padding:2px;display:flex;position:absolute;left:0}.SD8qLW_blockBtn{border:1px solid var(--gs-border);border-radius:var(--gs-r-pill);background:var(--gs-bg);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;padding:0 8px;line-height:16px}.SD8qLW_blockBtn:hover:not(:disabled){color:var(--gs-fg);border-color:var(--gs-accent)}.SD8qLW_blockBtn:disabled{opacity:.45;cursor:default}.SD8qLW_blockBtnDanger{color:var(--gs-del);border-color:var(--gs-del-bg,var(--gs-border))}.SD8qLW_blockBtnDanger:hover:not(:disabled){color:var(--gs-del);border-color:var(--gs-del)}.SD8qLW_sideArmable{cursor:text}.SD8qLW_cmHost{position:relative}.SD8qLW_cmHost[data-editable]:before{content:\"\";background:var(--gs-accent);opacity:.32;pointer-events:none;z-index:201;border-radius:1px;width:2px;transition:opacity .14s;position:absolute;top:0;bottom:0;left:0}.SD8qLW_cmHost[data-editable]:focus-within:before{opacity:1}.SD8qLW_sideNav{align-items:center;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_sideNavCount{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:nowrap}.SD8qLW_sideCurrentBlockActions{flex-wrap:wrap;align-items:flex-start;gap:4px;margin-left:4px;padding:2px 0 5px;display:flex}.SD8qLW_sideActions{align-items:flex-start;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideActionsAdjacent{margin-left:0}.SD8qLW_sideSaveReady{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_sideBanner{border-bottom:1px solid var(--gs-border-soft);background:var(--gs-del-bg,transparent);color:var(--gs-del);font-size:var(--gs-t-dense);flex-direction:column;flex:none;gap:6px;padding:8px 16px;display:flex}.SD8qLW_sideBannerTitle{font-weight:600}.SD8qLW_sideBannerActs{gap:4px;display:flex}.SD8qLW_sideEditCell{position:relative}.SD8qLW_empty{color:var(--gs-fg-faint);font-size:var(--gs-t-ui);padding:32px 24px}.SD8qLW_syncBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);font-size:var(--gs-t-dense);color:var(--gs-fg-dim);flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_syncUpstream{white-space:nowrap;text-overflow:ellipsis;max-width:260px;color:var(--gs-fg-muted);font-variant-numeric:tabular-nums;overflow:hidden}.SD8qLW_syncLevel{color:var(--gs-fg-faint)}.SD8qLW_syncSpacer{flex:auto}.SD8qLW_btn:disabled,.SD8qLW_treeIcon:disabled,.SD8qLW_miniBtn:disabled,.SD8qLW_refButton:disabled,.SD8qLW_funnelButton:disabled{opacity:.45;cursor:default}.SD8qLW_btn[data-quiet]:disabled,.SD8qLW_refButton[data-quiet]:disabled{opacity:1}.SD8qLW_opBanner{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;flex:none;line-height:18px}.SD8qLW_opBannerOk{background:var(--gs-add-bg);color:var(--gs-add)}.SD8qLW_opBannerBad{background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_fileLi{align-items:stretch;display:flex}.SD8qLW_fileLi .SD8qLW_file{flex:auto;min-width:0}.SD8qLW_fileDiscard{width:22px;color:var(--gs-fg-faint);opacity:0;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s;display:flex}.SD8qLW_fileLi:hover .SD8qLW_fileDiscard,.SD8qLW_fileDiscard:focus-visible{opacity:1}.SD8qLW_fileDiscard:hover{color:var(--gs-del)}.SD8qLW_fileDiscard:focus-visible{outline:2px solid var(--gs-accent);outline-offset:-2px;border-radius:var(--gs-r-control)}.SD8qLW_treeRow{align-items:stretch;display:flex}.SD8qLW_treeRow .SD8qLW_treeDir{flex:auto;min-width:0}.SD8qLW_checkBox{cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:22px;padding:0;display:flex}.SD8qLW_checkMark{box-sizing:border-box;border:1px solid var(--gs-fg-faint);background:var(--gs-bg);color:#0000;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;font-weight:700;line-height:1;transition:background .12s,border-color .12s;display:flex}.SD8qLW_checkBox:hover .SD8qLW_checkMark{border-color:var(--gs-accent)}.SD8qLW_checkBox:focus-visible{outline:none}.SD8qLW_checkBox:focus-visible .SD8qLW_checkMark{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_checkMarkOn,.SD8qLW_checkMarkPartial{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent)}.SD8qLW_commitBox{padding:8px var(--gs-gutter-pane) 10px;border-top:1px solid var(--gs-border);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:6px;display:flex}.SD8qLW_commitMessage{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:46px;max-height:160px;color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);resize:vertical;outline:none;padding:6px 8px;line-height:18px}.SD8qLW_commitMessage:focus{border-color:var(--gs-accent-border)}.SD8qLW_commitMessage::placeholder{color:var(--gs-fg-faint)}.SD8qLW_commitRow{align-items:center;gap:8px;display:flex}.SD8qLW_commitAmend{color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:pointer;align-items:center;gap:4px;display:inline-flex}.SD8qLW_commitAmend input{accent-color:var(--gs-accent);cursor:pointer}.SD8qLW_commitStaged{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin-left:auto}.SD8qLW_commitLead{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin:0;line-height:15px}.SD8qLW_commitBtn{box-sizing:border-box;min-width:92px;height:var(--gs-h-control);border-radius:var(--gs-r-control);background:var(--gs-accent);color:var(--gs-on-accent);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0 16px;font-weight:600;line-height:1;transition:filter .12s,opacity .12s;display:inline-flex}.SD8qLW_commitBtn:hover:not(:disabled){filter:brightness(1.1)}.SD8qLW_commitBtn:focus-visible{outline:2px solid var(--gs-accent);outline-offset:2px}.SD8qLW_commitBtn:disabled{background:var(--gs-raise);color:var(--gs-fg-faint);border-color:var(--gs-border);cursor:default}.SD8qLW_btn,.SD8qLW_miniBtn,.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_scopeBtn,.SD8qLW_refButton,.SD8qLW_funnelButton,.SD8qLW_funnelPreset,.SD8qLW_layoutButton{box-sizing:border-box;height:var(--gs-h-control);padding:var(--gs-pad-control);border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;gap:6px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.SD8qLW_btn:hover,.SD8qLW_miniBtn:hover,.SD8qLW_treeIcon:hover,.SD8qLW_commitCopy:hover,.SD8qLW_scopeBtn:hover,.SD8qLW_refButton:hover,.SD8qLW_funnelButton:hover,.SD8qLW_funnelPreset:hover,.SD8qLW_layoutButton:hover{background:var(--gs-raise);color:var(--gs-fg);border-color:var(--gs-fg-fainter)}.SD8qLW_btn:focus-visible,.SD8qLW_miniBtn:focus-visible,.SD8qLW_treeIcon:focus-visible,.SD8qLW_commitCopy:focus-visible,.SD8qLW_scopeBtn:focus-visible,.SD8qLW_refButton:focus-visible,.SD8qLW_funnelPreset:focus-visible,.SD8qLW_layoutButton:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_btn,.SD8qLW_refButton{border-radius:var(--gs-r-pill)}.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_funnelPreset,.SD8qLW_layoutButton{height:var(--gs-h-compact);padding:var(--gs-pad-compact);font-size:var(--gs-t-dense)}.SD8qLW_treeIcon{width:var(--gs-h-compact);padding:0}.SD8qLW_layoutSwitch{flex:none;gap:2px;margin-left:auto;display:inline-flex}.SD8qLW_layoutButton{width:var(--gs-h-compact);padding:0}.SD8qLW_layoutButton.SD8qLW_layoutButtonOn{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_layoutGlyph{display:block}.SD8qLW_treeIcon.SD8qLW_treeIconOn{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_treeIconGlyph{font-size:var(--gs-t-meta);line-height:1;display:block}.SD8qLW_treeIconDown{transform:rotate(90deg)}.SD8qLW_scopeBtn{flex:1 1 0}.SD8qLW_scopeBtnActive,.SD8qLW_miniBtnPrimary,.SD8qLW_segmentActive,.SD8qLW_refRowActive,.SD8qLW_paletteRowActive,.SD8qLW_fileActive,.SD8qLW_commitActive,.SD8qLW_funnelTabActive,.SD8qLW_funnelBoundBtnActive,.SD8qLW_funnelPresetActive,.SD8qLW_fbRow.SD8qLW_fbRowActive{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);color:var(--gs-accent);font-weight:600}.SD8qLW_btnIcon{width:var(--gs-h-control);padding:0}.SD8qLW_btnIcon svg{display:block}.SD8qLW_btnClose:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_btnBehind{border-color:var(--gs-warn);background:var(--gs-warn-bg);color:var(--gs-warn);font-weight:600}.SD8qLW_btnBehind:hover:not(:disabled){background:var(--gs-warn-bg);color:var(--gs-warn);border-color:var(--gs-warn)}.SD8qLW_btnAhead{border-color:var(--gs-add);background:var(--gs-add-bg);color:var(--gs-add);font-weight:600}.SD8qLW_btnAhead:hover:not(:disabled){background:var(--gs-add-bg);color:var(--gs-add);border-color:var(--gs-add)}.SD8qLW_btnPrimary{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent);font-weight:600}.SD8qLW_btnPrimary:hover:not(:disabled){background:var(--gs-accent);color:var(--gs-on-accent);border-color:var(--gs-accent)}.SD8qLW_btnCount{font-variant-numeric:tabular-nums;opacity:.85;border-left:1px solid;margin-left:1px;padding-left:6px}.SD8qLW_pullGroup{flex:none;align-items:center;display:inline-flex}.SD8qLW_pullGroup>.SD8qLW_refPicker>.SD8qLW_refButton{border-right-color:#0000;border-top-right-radius:0;border-bottom-right-radius:0}.SD8qLW_pullGroup>.SD8qLW_btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.SD8qLW_drawer{scrollbar-width:thin;scrollbar-color:var(--gs-border) transparent}.SD8qLW_drawer ::-webkit-scrollbar{width:10px;height:10px}.SD8qLW_drawer ::-webkit-scrollbar-track,.SD8qLW_drawer ::-webkit-scrollbar-corner{background:0 0}.SD8qLW_drawer ::-webkit-scrollbar-thumb{background:var(--gs-border);border-radius:var(--gs-r-pill);background-clip:padding-box;border:3px solid #0000}.SD8qLW_drawer ::-webkit-scrollbar-thumb:hover{background:var(--gs-fg-faint);background-clip:padding-box}.SD8qLW_commitRefMore{border-radius:var(--gs-r-pill);background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:default;flex:none;padding:0 5px;line-height:15px}.SD8qLW_confirmScrim{background:var(--gs-backdrop);justify-content:center;align-items:center;padding:24px;animation:.12s ease-out SD8qLW_gsFade;display:flex}.SD8qLW_confirmBox{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);background:var(--gs-bg);width:min(440px,100%);box-shadow:0 18px 48px var(--gs-shadow);flex-direction:column;gap:10px;padding:18px;display:flex}.SD8qLW_confirmTitle{color:var(--gs-fg);font-size:var(--gs-t-ui);font-weight:600}.SD8qLW_confirmBody{color:var(--gs-fg-dim);font-size:var(--gs-t-dense);overflow-wrap:anywhere;line-height:1.55}.SD8qLW_confirmActions{flex-direction:row-reverse;gap:8px;margin-top:2px;display:flex}.SD8qLW_btn.SD8qLW_btnDanger{border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent);font-weight:600}.SD8qLW_btn.SD8qLW_btnDanger:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent)}.SD8qLW_fbTree{min-width:var(--gs-min-tree);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:4px;padding:6px;display:flex;overflow:auto}.SD8qLW_fbSearch{box-sizing:border-box;width:100%;font:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg);background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:var(--gs-r-control);flex:none;padding:4px 6px}.SD8qLW_fbSearch:focus{border-color:var(--gs-accent);outline:none}.SD8qLW_fbNote{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);flex:none;padding:2px 4px}.SD8qLW_fbList{margin:0;padding:0;list-style:none}.SD8qLW_fbRow{width:100%;font:inherit;font-size:var(--gs-t-dense);color:var(--gs-fg-dim);text-align:left;border-radius:var(--gs-r-control);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:4px;padding:2px 6px 2px 4px;display:flex;overflow:hidden}.SD8qLW_fbRow:hover{background:var(--gs-raise)}.SD8qLW_fbDirName,.SD8qLW_fbFileName{text-overflow:ellipsis;overflow:hidden}.SD8qLW_fbMain{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;min-height:0;display:flex}.SD8qLW_fbHeader{border-bottom:1px solid var(--gs-border);flex:none;align-items:flex-start;gap:8px;padding:4px 8px 0;display:flex}.SD8qLW_fbPath{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);text-overflow:ellipsis;white-space:nowrap;padding:4px 0;overflow:hidden}.SD8qLW_fbBody{flex:1 1 0;min-height:0;padding:4px 8px;overflow:auto}.SD8qLW_fbCommit{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);background:var(--gs-surface-2);border-bottom:1px solid var(--gs-border);flex:none;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.SD8qLW_fbCommitLine{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitWho{color:var(--gs-fg);flex:none;font-weight:600}.SD8qLW_fbCommitWhen{font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitHash{color:var(--gs-fg-faint);flex:none;font-family:inherit}.SD8qLW_fbCommitWhat{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg);flex:auto;overflow:hidden}.SD8qLW_fbCommitHint{color:var(--gs-fg-faint)}.SD8qLW_fbMore{font-size:var(--gs-t-meta);color:var(--gs-fg-faint);padding:2px 6px 4px 4px;font-style:italic;display:block}.SD8qLW_imgPane{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.SD8qLW_imgStage{border-radius:var(--gs-r-control);background-color:var(--gs-surface-2);background-image:linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%), linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%);background-position:0 0,8px 8px;background-size:16px 16px;flex:auto;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.SD8qLW_imgShot{object-fit:contain;image-rendering:auto;max-width:100%;max-height:100%}.SD8qLW_imgStage[data-actual]{justify-content:flex-start;align-items:flex-start}.SD8qLW_imgStage[data-actual] .SD8qLW_imgShot{object-fit:none;max-width:none;max-height:none}.SD8qLW_imgCaption{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;display:flex}";
|
|
463
463
|
const tagId = "@young1lin/dsh-ui-gitworkbench/GitWorkbenchPanel.module.css";
|
|
464
464
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
465
465
|
const tag = document.createElement("style");
|
|
@@ -469,336 +469,336 @@ window.__ModuleLoader__.load({
|
|
|
469
469
|
document.head.appendChild(tag);
|
|
470
470
|
}
|
|
471
471
|
var GitWorkbenchPanel_module_css_default = {
|
|
472
|
-
"
|
|
473
|
-
"
|
|
474
|
-
"
|
|
475
|
-
"
|
|
476
|
-
"
|
|
477
|
-
"
|
|
478
|
-
"
|
|
479
|
-
"sideNotice": "SD8qLW_sideNotice",
|
|
480
|
-
"cardBranch": "SD8qLW_cardBranch",
|
|
481
|
-
"funnelTabCount": "SD8qLW_funnelTabCount",
|
|
482
|
-
"stUntracked": "SD8qLW_stUntracked",
|
|
483
|
-
"sideNumDel": "SD8qLW_sideNumDel",
|
|
484
|
-
"funnelMore": "SD8qLW_funnelMore",
|
|
485
|
-
"funnelBoundBtnActive": "SD8qLW_funnelBoundBtnActive",
|
|
486
|
-
"fbRowActive": "SD8qLW_fbRowActive",
|
|
487
|
-
"sideCodeDel": "SD8qLW_sideCodeDel",
|
|
488
|
-
"headerView": "SD8qLW_headerView",
|
|
489
|
-
"resizer": "SD8qLW_resizer",
|
|
490
|
-
"treeDirActive": "SD8qLW_treeDirActive",
|
|
491
|
-
"lineDel": "SD8qLW_lineDel",
|
|
492
|
-
"sideNav": "SD8qLW_sideNav",
|
|
493
|
-
"checkMarkPartial": "SD8qLW_checkMarkPartial",
|
|
494
|
-
"cardWt": "SD8qLW_cardWt",
|
|
495
|
-
"treeFilterInput": "SD8qLW_treeFilterInput",
|
|
496
|
-
"settingsPop": "SD8qLW_settingsPop",
|
|
472
|
+
"paneDividerY": "SD8qLW_paneDividerY",
|
|
473
|
+
"cardBranchName": "SD8qLW_cardBranchName",
|
|
474
|
+
"blockBtn": "SD8qLW_blockBtn",
|
|
475
|
+
"chipSystem": "SD8qLW_chipSystem",
|
|
476
|
+
"fileCountAdd": "SD8qLW_fileCountAdd",
|
|
477
|
+
"cardAdded": "SD8qLW_cardAdded",
|
|
478
|
+
"funnelTabs": "SD8qLW_funnelTabs",
|
|
497
479
|
"funnelCaption": "SD8qLW_funnelCaption",
|
|
498
|
-
"
|
|
499
|
-
"
|
|
500
|
-
"
|
|
501
|
-
"
|
|
502
|
-
"
|
|
503
|
-
"
|
|
504
|
-
"
|
|
505
|
-
"
|
|
506
|
-
"
|
|
507
|
-
"
|
|
508
|
-
"
|
|
509
|
-
"
|
|
510
|
-
"
|
|
511
|
-
"
|
|
512
|
-
"filterClear": "SD8qLW_filterClear",
|
|
513
|
-
"confirmActions": "SD8qLW_confirmActions",
|
|
514
|
-
"sideNumAdd": "SD8qLW_sideNumAdd",
|
|
515
|
-
"fbTree": "SD8qLW_fbTree",
|
|
516
|
-
"commitHasBody": "SD8qLW_commitHasBody",
|
|
517
|
-
"elideTail": "SD8qLW_elideTail",
|
|
480
|
+
"stAdded": "SD8qLW_stAdded",
|
|
481
|
+
"stModified": "SD8qLW_stModified",
|
|
482
|
+
"syncUpstream": "SD8qLW_syncUpstream",
|
|
483
|
+
"btnPrimary": "SD8qLW_btnPrimary",
|
|
484
|
+
"btnAhead": "SD8qLW_btnAhead",
|
|
485
|
+
"fbCommitWho": "SD8qLW_fbCommitWho",
|
|
486
|
+
"fbCommitHint": "SD8qLW_fbCommitHint",
|
|
487
|
+
"fbCommitWhen": "SD8qLW_fbCommitWhen",
|
|
488
|
+
"cardGlyph": "SD8qLW_cardGlyph",
|
|
489
|
+
"blockBtnDanger": "SD8qLW_blockBtnDanger",
|
|
490
|
+
"commitLead": "SD8qLW_commitLead",
|
|
491
|
+
"pathChildren": "SD8qLW_pathChildren",
|
|
492
|
+
"funnelName": "SD8qLW_funnelName",
|
|
493
|
+
"calHead": "SD8qLW_calHead",
|
|
518
494
|
"cardFiles": "SD8qLW_cardFiles",
|
|
519
|
-
"
|
|
520
|
-
"
|
|
521
|
-
"
|
|
522
|
-
"
|
|
523
|
-
"
|
|
495
|
+
"sideArmable": "SD8qLW_sideArmable",
|
|
496
|
+
"cmHost": "SD8qLW_cmHost",
|
|
497
|
+
"commitAmend": "SD8qLW_commitAmend",
|
|
498
|
+
"gsSlide": "SD8qLW_gsSlide",
|
|
499
|
+
"funnelBounds": "SD8qLW_funnelBounds",
|
|
500
|
+
"tab": "SD8qLW_tab",
|
|
501
|
+
"commitLine": "SD8qLW_commitLine",
|
|
502
|
+
"sideSpacer": "SD8qLW_sideSpacer",
|
|
503
|
+
"fileCountDel": "SD8qLW_fileCountDel",
|
|
504
|
+
"treeIconDown": "SD8qLW_treeIconDown",
|
|
505
|
+
"paneDivider": "SD8qLW_paneDivider",
|
|
524
506
|
"funnelBoundKey": "SD8qLW_funnelBoundKey",
|
|
525
|
-
"
|
|
526
|
-
"
|
|
527
|
-
"headerLeft": "SD8qLW_headerLeft",
|
|
528
|
-
"syncBar": "SD8qLW_syncBar",
|
|
529
|
-
"refCaret": "SD8qLW_refCaret",
|
|
530
|
-
"fbRow": "SD8qLW_fbRow",
|
|
531
|
-
"file": "SD8qLW_file",
|
|
532
|
-
"confirmBody": "SD8qLW_confirmBody",
|
|
533
|
-
"gutter": "SD8qLW_gutter",
|
|
534
|
-
"chipSystem": "SD8qLW_chipSystem",
|
|
535
|
-
"fileCounts": "SD8qLW_fileCounts",
|
|
536
|
-
"funnelButton": "SD8qLW_funnelButton",
|
|
537
|
-
"cardAhead": "SD8qLW_cardAhead",
|
|
538
|
-
"layoutSwitch": "SD8qLW_layoutSwitch",
|
|
539
|
-
"treeTools": "SD8qLW_treeTools",
|
|
540
|
-
"refLabel": "SD8qLW_refLabel",
|
|
541
|
-
"sideActionsAdjacent": "SD8qLW_sideActionsAdjacent",
|
|
542
|
-
"treeLead": "SD8qLW_treeLead",
|
|
543
|
-
"commitMeta": "SD8qLW_commitMeta",
|
|
544
|
-
"themeLabel": "SD8qLW_themeLabel",
|
|
545
|
-
"funnelSearch": "SD8qLW_funnelSearch",
|
|
546
|
-
"themeRail": "SD8qLW_themeRail",
|
|
547
|
-
"commitMessage": "SD8qLW_commitMessage",
|
|
548
|
-
"funnelFootClear": "SD8qLW_funnelFootClear",
|
|
549
|
-
"commitsSentinel": "SD8qLW_commitsSentinel",
|
|
550
|
-
"treeFilterClear": "SD8qLW_treeFilterClear",
|
|
551
|
-
"diffSpacer": "SD8qLW_diffSpacer",
|
|
552
|
-
"scopeBtn": "SD8qLW_scopeBtn",
|
|
553
|
-
"lineAdd": "SD8qLW_lineAdd",
|
|
507
|
+
"sideNum": "SD8qLW_sideNum",
|
|
508
|
+
"treeLabel": "SD8qLW_treeLabel",
|
|
554
509
|
"funnelFootCountOn": "SD8qLW_funnelFootCountOn",
|
|
555
|
-
"
|
|
556
|
-
"
|
|
557
|
-
"
|
|
558
|
-
"
|
|
559
|
-
"
|
|
560
|
-
"
|
|
510
|
+
"funnelPresets": "SD8qLW_funnelPresets",
|
|
511
|
+
"commitSubject": "SD8qLW_commitSubject",
|
|
512
|
+
"commitAuthor": "SD8qLW_commitAuthor",
|
|
513
|
+
"stRenamed": "SD8qLW_stRenamed",
|
|
514
|
+
"cardDeleted": "SD8qLW_cardDeleted",
|
|
515
|
+
"sideNav": "SD8qLW_sideNav",
|
|
561
516
|
"cardDetached": "SD8qLW_cardDetached",
|
|
562
|
-
"
|
|
563
|
-
"
|
|
564
|
-
"
|
|
565
|
-
"
|
|
566
|
-
"
|
|
567
|
-
"
|
|
568
|
-
"
|
|
569
|
-
"commitPopTop": "SD8qLW_commitPopTop",
|
|
570
|
-
"card": "SD8qLW_card",
|
|
571
|
-
"refEmpty": "SD8qLW_refEmpty",
|
|
572
|
-
"bgPreview": "SD8qLW_bgPreview",
|
|
573
|
-
"pathFileGlyph": "SD8qLW_pathFileGlyph",
|
|
574
|
-
"paneTitle": "SD8qLW_paneTitle",
|
|
575
|
-
"overlayMax": "SD8qLW_overlayMax",
|
|
576
|
-
"scopeHint": "SD8qLW_scopeHint",
|
|
577
|
-
"funnel": "SD8qLW_funnel",
|
|
578
|
-
"diffPre": "SD8qLW_diffPre",
|
|
517
|
+
"paneDividerActive": "SD8qLW_paneDividerActive",
|
|
518
|
+
"refPicker": "SD8qLW_refPicker",
|
|
519
|
+
"commitRow": "SD8qLW_commitRow",
|
|
520
|
+
"empty": "SD8qLW_empty",
|
|
521
|
+
"layoutGlyph": "SD8qLW_layoutGlyph",
|
|
522
|
+
"commitSubjectRow": "SD8qLW_commitSubjectRow",
|
|
523
|
+
"layoutSwitch": "SD8qLW_layoutSwitch",
|
|
579
524
|
"funnelPop": "SD8qLW_funnelPop",
|
|
580
|
-
"
|
|
581
|
-
"
|
|
582
|
-
"
|
|
583
|
-
"
|
|
584
|
-
"
|
|
585
|
-
"
|
|
586
|
-
"
|
|
587
|
-
"funnelBoundClear": "SD8qLW_funnelBoundClear",
|
|
588
|
-
"tab": "SD8qLW_tab",
|
|
589
|
-
"funnelFoot": "SD8qLW_funnelFoot",
|
|
590
|
-
"renameLine": "SD8qLW_renameLine",
|
|
591
|
-
"sideTabs": "SD8qLW_sideTabs",
|
|
592
|
-
"headerRight": "SD8qLW_headerRight",
|
|
593
|
-
"segmented": "SD8qLW_segmented",
|
|
594
|
-
"sideArmable": "SD8qLW_sideArmable",
|
|
595
|
-
"sideCode": "SD8qLW_sideCode",
|
|
596
|
-
"sideBannerActs": "SD8qLW_sideBannerActs",
|
|
597
|
-
"commitAmend": "SD8qLW_commitAmend",
|
|
598
|
-
"body": "SD8qLW_body",
|
|
599
|
-
"miniBtn": "SD8qLW_miniBtn",
|
|
600
|
-
"checkMarkOn": "SD8qLW_checkMarkOn",
|
|
525
|
+
"commitActive": "SD8qLW_commitActive",
|
|
526
|
+
"diffPre": "SD8qLW_diffPre",
|
|
527
|
+
"opBannerBad": "SD8qLW_opBannerBad",
|
|
528
|
+
"filterChip": "SD8qLW_filterChip",
|
|
529
|
+
"elide": "SD8qLW_elide",
|
|
530
|
+
"refValue": "SD8qLW_refValue",
|
|
531
|
+
"filterClear": "SD8qLW_filterClear",
|
|
601
532
|
"commitStaged": "SD8qLW_commitStaged",
|
|
533
|
+
"fbList": "SD8qLW_fbList",
|
|
534
|
+
"menuPop": "SD8qLW_menuPop",
|
|
602
535
|
"scopeBtnActive": "SD8qLW_scopeBtnActive",
|
|
603
|
-
"
|
|
604
|
-
"
|
|
605
|
-
"
|
|
606
|
-
"
|
|
607
|
-
"
|
|
608
|
-
"
|
|
609
|
-
"
|
|
536
|
+
"swatch": "SD8qLW_swatch",
|
|
537
|
+
"pathNode": "SD8qLW_pathNode",
|
|
538
|
+
"blameCell": "SD8qLW_blameCell",
|
|
539
|
+
"fileCounts": "SD8qLW_fileCounts",
|
|
540
|
+
"refGroup": "SD8qLW_refGroup",
|
|
541
|
+
"sideCols": "SD8qLW_sideCols",
|
|
542
|
+
"btnIcon": "SD8qLW_btnIcon",
|
|
543
|
+
"sidePane": "SD8qLW_sidePane",
|
|
544
|
+
"overlay": "SD8qLW_overlay",
|
|
545
|
+
"checkMarkOn": "SD8qLW_checkMarkOn",
|
|
546
|
+
"commitBox": "SD8qLW_commitBox",
|
|
547
|
+
"fbTree": "SD8qLW_fbTree",
|
|
610
548
|
"sideTab": "SD8qLW_sideTab",
|
|
611
|
-
"
|
|
612
|
-
"funnelButtonActive": "SD8qLW_funnelButtonActive",
|
|
613
|
-
"commitRefMore": "SD8qLW_commitRefMore",
|
|
614
|
-
"btnDanger": "SD8qLW_btnDanger",
|
|
549
|
+
"tabs": "SD8qLW_tabs",
|
|
615
550
|
"syncLevel": "SD8qLW_syncLevel",
|
|
616
|
-
"
|
|
617
|
-
"
|
|
551
|
+
"fbCommitWhat": "SD8qLW_fbCommitWhat",
|
|
552
|
+
"funnel": "SD8qLW_funnel",
|
|
553
|
+
"treeIcon": "SD8qLW_treeIcon",
|
|
554
|
+
"diffNav": "SD8qLW_diffNav",
|
|
555
|
+
"chipDark": "SD8qLW_chipDark",
|
|
556
|
+
"headerRight": "SD8qLW_headerRight",
|
|
557
|
+
"cardBranch": "SD8qLW_cardBranch",
|
|
558
|
+
"themeRail": "SD8qLW_themeRail",
|
|
559
|
+
"body": "SD8qLW_body",
|
|
560
|
+
"sideActionsAdjacent": "SD8qLW_sideActionsAdjacent",
|
|
618
561
|
"funnelPreset": "SD8qLW_funnelPreset",
|
|
562
|
+
"sideCol": "SD8qLW_sideCol",
|
|
563
|
+
"treeIconOn": "SD8qLW_treeIconOn",
|
|
564
|
+
"fbPath": "SD8qLW_fbPath",
|
|
565
|
+
"refButton": "SD8qLW_refButton",
|
|
566
|
+
"theme": "SD8qLW_theme",
|
|
567
|
+
"funnelCount": "SD8qLW_funnelCount",
|
|
568
|
+
"commitFilter": "SD8qLW_commitFilter",
|
|
569
|
+
"renameLine": "SD8qLW_renameLine",
|
|
619
570
|
"syncSpacer": "SD8qLW_syncSpacer",
|
|
620
|
-
"
|
|
621
|
-
"fileActive": "SD8qLW_fileActive",
|
|
622
|
-
"sideCodeAdd": "SD8qLW_sideCodeAdd",
|
|
623
|
-
"themeGroup": "SD8qLW_themeGroup",
|
|
624
|
-
"segmentActive": "SD8qLW_segmentActive",
|
|
625
|
-
"diffPane": "SD8qLW_diffPane",
|
|
626
|
-
"treeDirName": "SD8qLW_treeDirName",
|
|
627
|
-
"sideBlockHotLast": "SD8qLW_sideBlockHotLast",
|
|
628
|
-
"swatch": "SD8qLW_swatch",
|
|
629
|
-
"fbNote": "SD8qLW_fbNote",
|
|
630
|
-
"sliderRow": "SD8qLW_sliderRow",
|
|
631
|
-
"refRowName": "SD8qLW_refRowName",
|
|
632
|
-
"empty": "SD8qLW_empty",
|
|
633
|
-
"funnelTabActive": "SD8qLW_funnelTabActive",
|
|
634
|
-
"calWeek": "SD8qLW_calWeek",
|
|
635
|
-
"syncUpstream": "SD8qLW_syncUpstream",
|
|
636
|
-
"layoutButton": "SD8qLW_layoutButton",
|
|
637
|
-
"sideBanner": "SD8qLW_sideBanner",
|
|
638
|
-
"fileLi": "SD8qLW_fileLi",
|
|
639
|
-
"wordAdd": "SD8qLW_wordAdd",
|
|
640
|
-
"commitPopSubject": "SD8qLW_commitPopSubject",
|
|
641
|
-
"treeSub": "SD8qLW_treeSub",
|
|
642
|
-
"imgPane": "SD8qLW_imgPane",
|
|
643
|
-
"chevronOpen": "SD8qLW_chevronOpen",
|
|
644
|
-
"stModified": "SD8qLW_stModified",
|
|
645
|
-
"fbCommitLine": "SD8qLW_fbCommitLine",
|
|
646
|
-
"treeDir": "SD8qLW_treeDir",
|
|
647
|
-
"fbHeader": "SD8qLW_fbHeader",
|
|
648
|
-
"fbBody": "SD8qLW_fbBody",
|
|
649
|
-
"commit": "SD8qLW_commit",
|
|
650
|
-
"imgShot": "SD8qLW_imgShot",
|
|
651
|
-
"confirmBox": "SD8qLW_confirmBox",
|
|
571
|
+
"card": "SD8qLW_card",
|
|
652
572
|
"headerViewRef": "SD8qLW_headerViewRef",
|
|
653
|
-
"
|
|
654
|
-
"paneDivider": "SD8qLW_paneDivider",
|
|
655
|
-
"compareBar": "SD8qLW_compareBar",
|
|
656
|
-
"funnelCount": "SD8qLW_funnelCount",
|
|
657
|
-
"funnelTabs": "SD8qLW_funnelTabs",
|
|
658
|
-
"opBanner": "SD8qLW_opBanner",
|
|
659
|
-
"btnPrimary": "SD8qLW_btnPrimary",
|
|
660
|
-
"paneDividerActive": "SD8qLW_paneDividerActive",
|
|
661
|
-
"fileCountAdd": "SD8qLW_fileCountAdd",
|
|
662
|
-
"sideCols": "SD8qLW_sideCols",
|
|
663
|
-
"treeRow": "SD8qLW_treeRow",
|
|
573
|
+
"cardBehind": "SD8qLW_cardBehind",
|
|
664
574
|
"headerTotalsDim": "SD8qLW_headerTotalsDim",
|
|
665
|
-
"
|
|
575
|
+
"scopeRow": "SD8qLW_scopeRow",
|
|
576
|
+
"fbSearch": "SD8qLW_fbSearch",
|
|
577
|
+
"fileDiscard": "SD8qLW_fileDiscard",
|
|
578
|
+
"commitsPane": "SD8qLW_commitsPane",
|
|
579
|
+
"treeIconGlyph": "SD8qLW_treeIconGlyph",
|
|
580
|
+
"confirmBox": "SD8qLW_confirmBox",
|
|
581
|
+
"stDeleted": "SD8qLW_stDeleted",
|
|
582
|
+
"headerLeft": "SD8qLW_headerLeft",
|
|
583
|
+
"commitPopSubject": "SD8qLW_commitPopSubject",
|
|
584
|
+
"treeActions": "SD8qLW_treeActions",
|
|
585
|
+
"funnelFootCount": "SD8qLW_funnelFootCount",
|
|
586
|
+
"commitRef": "SD8qLW_commitRef",
|
|
587
|
+
"lineContext": "SD8qLW_lineContext",
|
|
588
|
+
"wordDel": "SD8qLW_wordDel",
|
|
589
|
+
"filterChipRemove": "SD8qLW_filterChipRemove",
|
|
590
|
+
"calGrid": "SD8qLW_calGrid",
|
|
591
|
+
"gsFade": "SD8qLW_gsFade",
|
|
592
|
+
"segmentChip": "SD8qLW_segmentChip",
|
|
593
|
+
"confirmScrim": "SD8qLW_confirmScrim",
|
|
594
|
+
"paneHead": "SD8qLW_paneHead",
|
|
666
595
|
"bgEmpty": "SD8qLW_bgEmpty",
|
|
667
|
-
"
|
|
668
|
-
"
|
|
669
|
-
"
|
|
670
|
-
"
|
|
671
|
-
"
|
|
596
|
+
"sliderRow": "SD8qLW_sliderRow",
|
|
597
|
+
"treeEmpty": "SD8qLW_treeEmpty",
|
|
598
|
+
"lnOld": "SD8qLW_lnOld",
|
|
599
|
+
"elideHead": "SD8qLW_elideHead",
|
|
600
|
+
"cardWt": "SD8qLW_cardWt",
|
|
601
|
+
"treeLead": "SD8qLW_treeLead",
|
|
602
|
+
"treeSub": "SD8qLW_treeSub",
|
|
603
|
+
"sideTabs": "SD8qLW_sideTabs",
|
|
604
|
+
"sideNotice": "SD8qLW_sideNotice",
|
|
605
|
+
"scopeHint": "SD8qLW_scopeHint",
|
|
606
|
+
"sideCodeDel": "SD8qLW_sideCodeDel",
|
|
607
|
+
"funnelTabActive": "SD8qLW_funnelTabActive",
|
|
608
|
+
"fbRowActive": "SD8qLW_fbRowActive",
|
|
609
|
+
"btnBehind": "SD8qLW_btnBehind",
|
|
610
|
+
"treeDirCounts": "SD8qLW_treeDirCounts",
|
|
611
|
+
"confirmActions": "SD8qLW_confirmActions",
|
|
612
|
+
"headerBranch": "SD8qLW_headerBranch",
|
|
613
|
+
"lineDel": "SD8qLW_lineDel",
|
|
614
|
+
"themeLabel": "SD8qLW_themeLabel",
|
|
615
|
+
"layoutButtonOn": "SD8qLW_layoutButtonOn",
|
|
672
616
|
"commitWhen": "SD8qLW_commitWhen",
|
|
673
|
-
"
|
|
674
|
-
"
|
|
675
|
-
"
|
|
617
|
+
"diffPane": "SD8qLW_diffPane",
|
|
618
|
+
"paletteRow": "SD8qLW_paletteRow",
|
|
619
|
+
"cssArea": "SD8qLW_cssArea",
|
|
620
|
+
"blockBar": "SD8qLW_blockBar",
|
|
621
|
+
"wordAdd": "SD8qLW_wordAdd",
|
|
622
|
+
"sideSaveReady": "SD8qLW_sideSaveReady",
|
|
676
623
|
"refRowSpacer": "SD8qLW_refRowSpacer",
|
|
624
|
+
"refRowName": "SD8qLW_refRowName",
|
|
625
|
+
"funnelFoot": "SD8qLW_funnelFoot",
|
|
626
|
+
"diffScroll": "SD8qLW_diffScroll",
|
|
627
|
+
"tree": "SD8qLW_tree",
|
|
628
|
+
"calNav": "SD8qLW_calNav",
|
|
629
|
+
"sideNumAdd": "SD8qLW_sideNumAdd",
|
|
630
|
+
"commitRefMore": "SD8qLW_commitRefMore",
|
|
677
631
|
"sideBlockHot": "SD8qLW_sideBlockHot",
|
|
678
|
-
"
|
|
679
|
-
"
|
|
680
|
-
"
|
|
632
|
+
"header": "SD8qLW_header",
|
|
633
|
+
"commitTop": "SD8qLW_commitTop",
|
|
634
|
+
"sideCodeAdd": "SD8qLW_sideCodeAdd",
|
|
635
|
+
"confirmBody": "SD8qLW_confirmBody",
|
|
636
|
+
"fbMore": "SD8qLW_fbMore",
|
|
637
|
+
"refLabel": "SD8qLW_refLabel",
|
|
638
|
+
"funnelRow": "SD8qLW_funnelRow",
|
|
681
639
|
"sideCurrentBlockActions": "SD8qLW_sideCurrentBlockActions",
|
|
682
|
-
"
|
|
683
|
-
"
|
|
684
|
-
"
|
|
640
|
+
"tabActive": "SD8qLW_tabActive",
|
|
641
|
+
"fbDirName": "SD8qLW_fbDirName",
|
|
642
|
+
"treeFilter": "SD8qLW_treeFilter",
|
|
643
|
+
"funnelTab": "SD8qLW_funnelTab",
|
|
644
|
+
"bgPreview": "SD8qLW_bgPreview",
|
|
685
645
|
"imgStage": "SD8qLW_imgStage",
|
|
686
|
-
"fbCommitWhen": "SD8qLW_fbCommitWhen",
|
|
687
|
-
"commitsFoot": "SD8qLW_commitsFoot",
|
|
688
|
-
"filterChipLabel": "SD8qLW_filterChipLabel",
|
|
689
|
-
"sliderValue": "SD8qLW_sliderValue",
|
|
690
|
-
"themeNote": "SD8qLW_themeNote",
|
|
691
|
-
"headerTotalsDel": "SD8qLW_headerTotalsDel",
|
|
692
|
-
"menuPop": "SD8qLW_menuPop",
|
|
693
|
-
"paneHead": "SD8qLW_paneHead",
|
|
694
|
-
"funnelFootCount": "SD8qLW_funnelFootCount",
|
|
695
|
-
"commitHash": "SD8qLW_commitHash",
|
|
696
646
|
"diffWrap": "SD8qLW_diffWrap",
|
|
697
|
-
"
|
|
698
|
-
"
|
|
699
|
-
"
|
|
700
|
-
"
|
|
701
|
-
"
|
|
702
|
-
"
|
|
703
|
-
"
|
|
704
|
-
"paletteRowActive": "SD8qLW_paletteRowActive",
|
|
705
|
-
"commits": "SD8qLW_commits",
|
|
706
|
-
"treeWrap": "SD8qLW_treeWrap",
|
|
707
|
-
"tree": "SD8qLW_tree",
|
|
708
|
-
"sideSaveReady": "SD8qLW_sideSaveReady",
|
|
709
|
-
"commitsPane": "SD8qLW_commitsPane",
|
|
710
|
-
"funnelList": "SD8qLW_funnelList",
|
|
711
|
-
"cardAdded": "SD8qLW_cardAdded",
|
|
712
|
-
"calGrid": "SD8qLW_calGrid",
|
|
713
|
-
"pathDirGlyph": "SD8qLW_pathDirGlyph",
|
|
714
|
-
"diffScroll": "SD8qLW_diffScroll",
|
|
715
|
-
"refValue": "SD8qLW_refValue",
|
|
716
|
-
"fbSearch": "SD8qLW_fbSearch",
|
|
717
|
-
"fbPath": "SD8qLW_fbPath",
|
|
718
|
-
"sideCol": "SD8qLW_sideCol",
|
|
719
|
-
"lineContext": "SD8qLW_lineContext",
|
|
720
|
-
"sideSpacer": "SD8qLW_sideSpacer",
|
|
721
|
-
"fileBinary": "SD8qLW_fileBinary",
|
|
647
|
+
"checkMarkPartial": "SD8qLW_checkMarkPartial",
|
|
648
|
+
"calWeek": "SD8qLW_calWeek",
|
|
649
|
+
"sliderValue": "SD8qLW_sliderValue",
|
|
650
|
+
"settingsPop": "SD8qLW_settingsPop",
|
|
651
|
+
"compareBar": "SD8qLW_compareBar",
|
|
652
|
+
"commitPop": "SD8qLW_commitPop",
|
|
653
|
+
"commit": "SD8qLW_commit",
|
|
722
654
|
"sideActions": "SD8qLW_sideActions",
|
|
723
|
-
"
|
|
724
|
-
"
|
|
725
|
-
"
|
|
726
|
-
"
|
|
727
|
-
"
|
|
728
|
-
"
|
|
729
|
-
"
|
|
730
|
-
"
|
|
655
|
+
"commitMessage": "SD8qLW_commitMessage",
|
|
656
|
+
"commitBtn": "SD8qLW_commitBtn",
|
|
657
|
+
"funnelButton": "SD8qLW_funnelButton",
|
|
658
|
+
"segmented": "SD8qLW_segmented",
|
|
659
|
+
"headerDetached": "SD8qLW_headerDetached",
|
|
660
|
+
"calTitle": "SD8qLW_calTitle",
|
|
661
|
+
"commitsSentinel": "SD8qLW_commitsSentinel",
|
|
662
|
+
"paletteRowActive": "SD8qLW_paletteRowActive",
|
|
663
|
+
"file": "SD8qLW_file",
|
|
664
|
+
"imgCaption": "SD8qLW_imgCaption",
|
|
665
|
+
"paneTitle": "SD8qLW_paneTitle",
|
|
666
|
+
"treeDir": "SD8qLW_treeDir",
|
|
667
|
+
"treeDirLi": "SD8qLW_treeDirLi",
|
|
668
|
+
"funnelBoundValSet": "SD8qLW_funnelBoundValSet",
|
|
669
|
+
"treeCol": "SD8qLW_treeCol",
|
|
731
670
|
"btn": "SD8qLW_btn",
|
|
732
|
-
"
|
|
733
|
-
"
|
|
734
|
-
"
|
|
735
|
-
"
|
|
671
|
+
"stUntracked": "SD8qLW_stUntracked",
|
|
672
|
+
"headerPicker": "SD8qLW_headerPicker",
|
|
673
|
+
"elideTail": "SD8qLW_elideTail",
|
|
674
|
+
"lineAdd": "SD8qLW_lineAdd",
|
|
675
|
+
"sideColRight": "SD8qLW_sideColRight",
|
|
676
|
+
"commitHash": "SD8qLW_commitHash",
|
|
736
677
|
"calToday": "SD8qLW_calToday",
|
|
737
|
-
"
|
|
738
|
-
"
|
|
739
|
-
"
|
|
740
|
-
"
|
|
741
|
-
"header": "SD8qLW_header",
|
|
742
|
-
"treeIconGlyph": "SD8qLW_treeIconGlyph",
|
|
743
|
-
"fbDirName": "SD8qLW_fbDirName",
|
|
744
|
-
"cardSep": "SD8qLW_cardSep",
|
|
745
|
-
"filterChip": "SD8qLW_filterChip",
|
|
678
|
+
"sideCode": "SD8qLW_sideCode",
|
|
679
|
+
"fbHeader": "SD8qLW_fbHeader",
|
|
680
|
+
"cardAhead": "SD8qLW_cardAhead",
|
|
681
|
+
"refCaret": "SD8qLW_refCaret",
|
|
746
682
|
"funnelBoundBtn": "SD8qLW_funnelBoundBtn",
|
|
747
|
-
"
|
|
683
|
+
"filterChipLabel": "SD8qLW_filterChipLabel",
|
|
684
|
+
"funnelBoundRow": "SD8qLW_funnelBoundRow",
|
|
685
|
+
"refPop": "SD8qLW_refPop",
|
|
686
|
+
"treeFilterInput": "SD8qLW_treeFilterInput",
|
|
687
|
+
"cal": "SD8qLW_cal",
|
|
688
|
+
"funnelSearch": "SD8qLW_funnelSearch",
|
|
689
|
+
"segmentActive": "SD8qLW_segmentActive",
|
|
690
|
+
"treeFilterClear": "SD8qLW_treeFilterClear",
|
|
691
|
+
"calIn": "SD8qLW_calIn",
|
|
692
|
+
"diffSpacer": "SD8qLW_diffSpacer",
|
|
748
693
|
"chevron": "SD8qLW_chevron",
|
|
749
|
-
"
|
|
750
|
-
"
|
|
751
|
-
"
|
|
752
|
-
"
|
|
753
|
-
"
|
|
754
|
-
"sideScroll": "SD8qLW_sideScroll",
|
|
755
|
-
"cmHost": "SD8qLW_cmHost",
|
|
756
|
-
"refList": "SD8qLW_refList",
|
|
757
|
-
"sideEditCell": "SD8qLW_sideEditCell",
|
|
758
|
-
"commitBox": "SD8qLW_commitBox",
|
|
759
|
-
"confirmTitle": "SD8qLW_confirmTitle",
|
|
760
|
-
"overlay": "SD8qLW_overlay",
|
|
761
|
-
"cssArea": "SD8qLW_cssArea",
|
|
762
|
-
"commitRef": "SD8qLW_commitRef",
|
|
763
|
-
"pathChildren": "SD8qLW_pathChildren",
|
|
764
|
-
"compareArrow": "SD8qLW_compareArrow",
|
|
765
|
-
"wordDel": "SD8qLW_wordDel",
|
|
766
|
-
"sideCodeSame": "SD8qLW_sideCodeSame",
|
|
767
|
-
"funnelPresets": "SD8qLW_funnelPresets",
|
|
768
|
-
"commitAuthor": "SD8qLW_commitAuthor",
|
|
769
|
-
"headerDetached": "SD8qLW_headerDetached",
|
|
770
|
-
"commitSubjectRow": "SD8qLW_commitSubjectRow",
|
|
771
|
-
"stRenamed": "SD8qLW_stRenamed",
|
|
772
|
-
"stAdded": "SD8qLW_stAdded",
|
|
773
|
-
"cardBehind": "SD8qLW_cardBehind",
|
|
774
|
-
"layoutGlyph": "SD8qLW_layoutGlyph",
|
|
694
|
+
"fbFileName": "SD8qLW_fbFileName",
|
|
695
|
+
"compareArrow": "SD8qLW_compareArrow",
|
|
696
|
+
"segment": "SD8qLW_segment",
|
|
697
|
+
"headerTotals": "SD8qLW_headerTotals",
|
|
698
|
+
"commits": "SD8qLW_commits",
|
|
775
699
|
"drawer": "SD8qLW_drawer",
|
|
776
|
-
"
|
|
777
|
-
"
|
|
700
|
+
"sideBlockHotLast": "SD8qLW_sideBlockHotLast",
|
|
701
|
+
"commitsFoot": "SD8qLW_commitsFoot",
|
|
702
|
+
"refRowActive": "SD8qLW_refRowActive",
|
|
703
|
+
"syncBar": "SD8qLW_syncBar",
|
|
704
|
+
"btnDanger": "SD8qLW_btnDanger",
|
|
705
|
+
"cardSep": "SD8qLW_cardSep",
|
|
778
706
|
"wtCurrent": "SD8qLW_wtCurrent",
|
|
779
|
-
"
|
|
780
|
-
"
|
|
781
|
-
"
|
|
782
|
-
"
|
|
783
|
-
"
|
|
784
|
-
"elide": "SD8qLW_elide",
|
|
785
|
-
"commitPopMeta": "SD8qLW_commitPopMeta",
|
|
786
|
-
"sidePane": "SD8qLW_sidePane",
|
|
787
|
-
"signDel": "SD8qLW_signDel",
|
|
707
|
+
"commitPopTop": "SD8qLW_commitPopTop",
|
|
708
|
+
"chipLight": "SD8qLW_chipLight",
|
|
709
|
+
"miniBtn": "SD8qLW_miniBtn",
|
|
710
|
+
"fbMain": "SD8qLW_fbMain",
|
|
711
|
+
"fbCommit": "SD8qLW_fbCommit",
|
|
788
712
|
"opBannerOk": "SD8qLW_opBannerOk",
|
|
789
|
-
"
|
|
790
|
-
"
|
|
713
|
+
"opBanner": "SD8qLW_opBanner",
|
|
714
|
+
"refEmpty": "SD8qLW_refEmpty",
|
|
715
|
+
"headerView": "SD8qLW_headerView",
|
|
716
|
+
"funnelList": "SD8qLW_funnelList",
|
|
717
|
+
"funnelFootClear": "SD8qLW_funnelFootClear",
|
|
718
|
+
"sideBlockHotFirst": "SD8qLW_sideBlockHotFirst",
|
|
719
|
+
"fbRow": "SD8qLW_fbRow",
|
|
720
|
+
"refSearch": "SD8qLW_refSearch",
|
|
721
|
+
"treeTools": "SD8qLW_treeTools",
|
|
722
|
+
"layoutButton": "SD8qLW_layoutButton",
|
|
723
|
+
"fbCommitHash": "SD8qLW_fbCommitHash",
|
|
724
|
+
"themeGroup": "SD8qLW_themeGroup",
|
|
725
|
+
"commitPopMeta": "SD8qLW_commitPopMeta",
|
|
726
|
+
"lineHunk": "SD8qLW_lineHunk",
|
|
727
|
+
"refFoot": "SD8qLW_refFoot",
|
|
728
|
+
"treeRow": "SD8qLW_treeRow",
|
|
729
|
+
"treeDirActive": "SD8qLW_treeDirActive",
|
|
730
|
+
"commitHasBody": "SD8qLW_commitHasBody",
|
|
731
|
+
"filePath": "SD8qLW_filePath",
|
|
732
|
+
"funnelBoundRows": "SD8qLW_funnelBoundRows",
|
|
791
733
|
"funnelPane": "SD8qLW_funnelPane",
|
|
792
|
-
"
|
|
793
|
-
"
|
|
794
|
-
"filterChipRemove": "SD8qLW_filterChipRemove",
|
|
795
|
-
"funnelTab": "SD8qLW_funnelTab",
|
|
796
|
-
"commitTop": "SD8qLW_commitTop",
|
|
797
|
-
"code": "SD8qLW_code",
|
|
798
|
-
"funnelRow": "SD8qLW_funnelRow",
|
|
799
|
-
"treeDirCounts": "SD8qLW_treeDirCounts",
|
|
734
|
+
"treeDirCount": "SD8qLW_treeDirCount",
|
|
735
|
+
"signDel": "SD8qLW_signDel",
|
|
800
736
|
"sideTabActive": "SD8qLW_sideTabActive",
|
|
801
|
-
"
|
|
737
|
+
"sideBanner": "SD8qLW_sideBanner",
|
|
738
|
+
"sideColGrid": "SD8qLW_sideColGrid",
|
|
739
|
+
"themeDirty": "SD8qLW_themeDirty",
|
|
740
|
+
"funnelBoundVal": "SD8qLW_funnelBoundVal",
|
|
741
|
+
"calMark": "SD8qLW_calMark",
|
|
742
|
+
"funnelBoundClear": "SD8qLW_funnelBoundClear",
|
|
743
|
+
"checkBox": "SD8qLW_checkBox",
|
|
744
|
+
"themeNote": "SD8qLW_themeNote",
|
|
745
|
+
"commitCopy": "SD8qLW_commitCopy",
|
|
746
|
+
"fileStatus": "SD8qLW_fileStatus",
|
|
747
|
+
"imgShot": "SD8qLW_imgShot",
|
|
748
|
+
"overlayMax": "SD8qLW_overlayMax",
|
|
749
|
+
"funnelMore": "SD8qLW_funnelMore",
|
|
750
|
+
"headerPathMain": "SD8qLW_headerPathMain",
|
|
751
|
+
"refRow": "SD8qLW_refRow",
|
|
752
|
+
"pullGroup": "SD8qLW_pullGroup",
|
|
753
|
+
"sideScroll": "SD8qLW_sideScroll",
|
|
754
|
+
"checkMark": "SD8qLW_checkMark",
|
|
755
|
+
"scopeBtn": "SD8qLW_scopeBtn",
|
|
756
|
+
"funnelPresetActive": "SD8qLW_funnelPresetActive",
|
|
757
|
+
"funnelTabCount": "SD8qLW_funnelTabCount",
|
|
758
|
+
"btnClose": "SD8qLW_btnClose",
|
|
759
|
+
"line": "SD8qLW_line",
|
|
760
|
+
"gutter": "SD8qLW_gutter",
|
|
761
|
+
"imgPane": "SD8qLW_imgPane",
|
|
762
|
+
"commitMeta": "SD8qLW_commitMeta",
|
|
763
|
+
"refList": "SD8qLW_refList",
|
|
764
|
+
"treeWrap": "SD8qLW_treeWrap",
|
|
765
|
+
"code": "SD8qLW_code",
|
|
766
|
+
"confirmTitle": "SD8qLW_confirmTitle",
|
|
767
|
+
"themeRowSplit": "SD8qLW_themeRowSplit",
|
|
768
|
+
"pathDirGlyph": "SD8qLW_pathDirGlyph",
|
|
769
|
+
"commitPopBody": "SD8qLW_commitPopBody",
|
|
770
|
+
"lnNew": "SD8qLW_lnNew",
|
|
771
|
+
"headerTotalsAdd": "SD8qLW_headerTotalsAdd",
|
|
772
|
+
"signAdd": "SD8qLW_signAdd",
|
|
773
|
+
"sideEditCell": "SD8qLW_sideEditCell",
|
|
774
|
+
"resizerActive": "SD8qLW_resizerActive",
|
|
775
|
+
"bodyRow": "SD8qLW_bodyRow",
|
|
776
|
+
"graphCell": "SD8qLW_graphCell",
|
|
777
|
+
"sideNavCount": "SD8qLW_sideNavCount",
|
|
778
|
+
"fileLi": "SD8qLW_fileLi",
|
|
779
|
+
"fileActive": "SD8qLW_fileActive",
|
|
780
|
+
"btnCount": "SD8qLW_btnCount",
|
|
781
|
+
"fbBody": "SD8qLW_fbBody",
|
|
782
|
+
"funnelButtonActive": "SD8qLW_funnelButtonActive",
|
|
783
|
+
"resizer": "SD8qLW_resizer",
|
|
784
|
+
"funnelChevron": "SD8qLW_funnelChevron",
|
|
785
|
+
"sideCodeSame": "SD8qLW_sideCodeSame",
|
|
786
|
+
"funnelBoundBtnActive": "SD8qLW_funnelBoundBtnActive",
|
|
787
|
+
"pathFileGlyph": "SD8qLW_pathFileGlyph",
|
|
788
|
+
"sideBannerTitle": "SD8qLW_sideBannerTitle",
|
|
789
|
+
"calOut": "SD8qLW_calOut",
|
|
790
|
+
"sideBannerActs": "SD8qLW_sideBannerActs",
|
|
791
|
+
"fbNote": "SD8qLW_fbNote",
|
|
792
|
+
"sideNumDel": "SD8qLW_sideNumDel",
|
|
793
|
+
"sideColGridBlame": "SD8qLW_sideColGridBlame",
|
|
794
|
+
"miniBtnPrimary": "SD8qLW_miniBtnPrimary",
|
|
795
|
+
"headerTotalsDel": "SD8qLW_headerTotalsDel",
|
|
796
|
+
"fbCommitLine": "SD8qLW_fbCommitLine",
|
|
797
|
+
"treeDirName": "SD8qLW_treeDirName",
|
|
798
|
+
"chevronOpen": "SD8qLW_chevronOpen",
|
|
799
|
+
"sideCellBlock": "SD8qLW_sideCellBlock",
|
|
800
|
+
"fileBinary": "SD8qLW_fileBinary",
|
|
801
|
+
"filterChips": "SD8qLW_filterChips"
|
|
802
802
|
};
|
|
803
803
|
//#endregion
|
|
804
804
|
//#region node_modules/.pnpm/@marijn+find-cluster-break@1.0.3/node_modules/@marijn/find-cluster-break/src/index.js
|
|
@@ -18369,6 +18369,20 @@ window.__ModuleLoader__.load({
|
|
|
18369
18369
|
},
|
|
18370
18370
|
provide: (f) => showPanel.from(f, (val) => val.panel)
|
|
18371
18371
|
});
|
|
18372
|
+
/**
|
|
18373
|
+
Get the current search query from an editor state.
|
|
18374
|
+
*/
|
|
18375
|
+
function getSearchQuery(state) {
|
|
18376
|
+
let curState = state.field(searchState, false);
|
|
18377
|
+
return curState ? curState.query.spec : defaultQuery(state);
|
|
18378
|
+
}
|
|
18379
|
+
/**
|
|
18380
|
+
Query whether the search panel is open in the given editor state.
|
|
18381
|
+
*/
|
|
18382
|
+
function searchPanelOpen(state) {
|
|
18383
|
+
var _a;
|
|
18384
|
+
return ((_a = state.field(searchState, false)) === null || _a === void 0 ? void 0 : _a.panel) != null;
|
|
18385
|
+
}
|
|
18372
18386
|
var SearchState = class {
|
|
18373
18387
|
constructor(query, panel) {
|
|
18374
18388
|
this.query = query;
|
|
@@ -19442,6 +19456,186 @@ window.__ModuleLoader__.load({
|
|
|
19442
19456
|
};
|
|
19443
19457
|
}
|
|
19444
19458
|
//#endregion
|
|
19459
|
+
//#region src/client/cm-search-theme.ts
|
|
19460
|
+
/** Selector prefix for everything inside the panel. Spelled out per rule
|
|
19461
|
+
* rather than nested, because CodeMirror's style builder only nests under a
|
|
19462
|
+
* `&`, and a flat key is what a test can read back. */
|
|
19463
|
+
const PANEL = ".cm-panel.cm-search";
|
|
19464
|
+
/** Between two controls on a row, and between the find row and the replace
|
|
19465
|
+
* row. The row gap is carried as a bottom margin per control, because inline
|
|
19466
|
+
* flow has no `gap`; the panel's bottom padding is short by exactly this. */
|
|
19467
|
+
const GAP = "6px";
|
|
19468
|
+
const ROW_GAP = "6px";
|
|
19469
|
+
const SEARCH_PANEL_THEME = {
|
|
19470
|
+
".cm-panels": {
|
|
19471
|
+
backgroundColor: "var(--gs-surface-2)",
|
|
19472
|
+
color: "var(--gs-fg)",
|
|
19473
|
+
boxShadow: "0 4px 14px var(--gs-shadow)"
|
|
19474
|
+
},
|
|
19475
|
+
".cm-panels-top": { borderBottom: "1px solid var(--gs-border)" },
|
|
19476
|
+
".cm-panels-bottom": { borderTop: "1px solid var(--gs-border)" },
|
|
19477
|
+
[PANEL]: {
|
|
19478
|
+
position: "relative",
|
|
19479
|
+
padding: "8px 32px 2px 10px",
|
|
19480
|
+
lineHeight: "1"
|
|
19481
|
+
},
|
|
19482
|
+
[`${PANEL} input, ${PANEL} button, ${PANEL} label`]: {
|
|
19483
|
+
boxSizing: "border-box",
|
|
19484
|
+
verticalAlign: "top",
|
|
19485
|
+
margin: `0 ${GAP} ${ROW_GAP} 0`
|
|
19486
|
+
},
|
|
19487
|
+
[`${PANEL} .cm-textfield`]: {
|
|
19488
|
+
width: "220px",
|
|
19489
|
+
maxWidth: "100%",
|
|
19490
|
+
boxSizing: "border-box",
|
|
19491
|
+
height: "var(--gs-h-compact)",
|
|
19492
|
+
padding: "0 8px",
|
|
19493
|
+
font: "inherit",
|
|
19494
|
+
fontSize: "var(--gs-t-dense)",
|
|
19495
|
+
color: "var(--gs-fg)",
|
|
19496
|
+
backgroundColor: "var(--gs-surface)",
|
|
19497
|
+
border: "1px solid var(--gs-border)",
|
|
19498
|
+
borderRadius: "var(--gs-r-control)"
|
|
19499
|
+
},
|
|
19500
|
+
[`${PANEL} .cm-textfield::placeholder`]: { color: "var(--gs-fg-faint)" },
|
|
19501
|
+
[`${PANEL} .cm-textfield:focus`]: {
|
|
19502
|
+
outline: "none",
|
|
19503
|
+
borderColor: "var(--gs-accent)"
|
|
19504
|
+
},
|
|
19505
|
+
[`${PANEL} .cm-gwSearchCount`]: {
|
|
19506
|
+
display: "inline-flex",
|
|
19507
|
+
alignItems: "center",
|
|
19508
|
+
boxSizing: "border-box",
|
|
19509
|
+
height: "var(--gs-h-compact)",
|
|
19510
|
+
margin: `0 ${GAP} ${ROW_GAP} 0`,
|
|
19511
|
+
verticalAlign: "top",
|
|
19512
|
+
font: "inherit",
|
|
19513
|
+
fontSize: "var(--gs-t-meta)",
|
|
19514
|
+
lineHeight: "1",
|
|
19515
|
+
whiteSpace: "nowrap",
|
|
19516
|
+
fontVariantNumeric: "tabular-nums",
|
|
19517
|
+
color: "var(--gs-fg-faint)"
|
|
19518
|
+
},
|
|
19519
|
+
[`${PANEL} .cm-button`]: {
|
|
19520
|
+
display: "inline-flex",
|
|
19521
|
+
alignItems: "center",
|
|
19522
|
+
justifyContent: "center",
|
|
19523
|
+
boxSizing: "border-box",
|
|
19524
|
+
height: "var(--gs-h-compact)",
|
|
19525
|
+
padding: "var(--gs-pad-compact)",
|
|
19526
|
+
font: "inherit",
|
|
19527
|
+
fontSize: "var(--gs-t-dense)",
|
|
19528
|
+
lineHeight: "1",
|
|
19529
|
+
whiteSpace: "nowrap",
|
|
19530
|
+
color: "var(--gs-fg-dim)",
|
|
19531
|
+
backgroundColor: "transparent",
|
|
19532
|
+
backgroundImage: "none",
|
|
19533
|
+
border: "1px solid var(--gs-border)",
|
|
19534
|
+
borderRadius: "var(--gs-r-control)",
|
|
19535
|
+
cursor: "pointer",
|
|
19536
|
+
transition: "background 120ms ease, color 120ms ease, border-color 120ms ease"
|
|
19537
|
+
},
|
|
19538
|
+
[`${PANEL} .cm-button:hover`]: {
|
|
19539
|
+
color: "var(--gs-fg)",
|
|
19540
|
+
backgroundColor: "var(--gs-raise)",
|
|
19541
|
+
backgroundImage: "none",
|
|
19542
|
+
borderColor: "var(--gs-fg-fainter)"
|
|
19543
|
+
},
|
|
19544
|
+
[`${PANEL} .cm-button:active`]: {
|
|
19545
|
+
backgroundColor: "var(--gs-raise)",
|
|
19546
|
+
backgroundImage: "none"
|
|
19547
|
+
},
|
|
19548
|
+
[`${PANEL} .cm-button:focus-visible`]: {
|
|
19549
|
+
outline: "2px solid var(--gs-accent)",
|
|
19550
|
+
outlineOffset: "1px"
|
|
19551
|
+
},
|
|
19552
|
+
[`${PANEL} label`]: {
|
|
19553
|
+
display: "inline-flex",
|
|
19554
|
+
alignItems: "center",
|
|
19555
|
+
boxSizing: "border-box",
|
|
19556
|
+
height: "var(--gs-h-compact)",
|
|
19557
|
+
gap: "5px",
|
|
19558
|
+
font: "inherit",
|
|
19559
|
+
fontSize: "var(--gs-t-meta)",
|
|
19560
|
+
lineHeight: "1",
|
|
19561
|
+
whiteSpace: "nowrap",
|
|
19562
|
+
color: "var(--gs-fg-dim)",
|
|
19563
|
+
cursor: "pointer",
|
|
19564
|
+
WebkitUserSelect: "none",
|
|
19565
|
+
userSelect: "none"
|
|
19566
|
+
},
|
|
19567
|
+
[`${PANEL} input[type=checkbox]`]: {
|
|
19568
|
+
WebkitAppearance: "none",
|
|
19569
|
+
appearance: "none",
|
|
19570
|
+
position: "relative",
|
|
19571
|
+
boxSizing: "border-box",
|
|
19572
|
+
width: "14px",
|
|
19573
|
+
height: "14px",
|
|
19574
|
+
margin: "0",
|
|
19575
|
+
backgroundColor: "transparent",
|
|
19576
|
+
border: "1px solid var(--gs-fg-fainter)",
|
|
19577
|
+
borderRadius: "3px",
|
|
19578
|
+
cursor: "pointer",
|
|
19579
|
+
transition: "background 120ms ease, border-color 120ms ease"
|
|
19580
|
+
},
|
|
19581
|
+
[`${PANEL} input[type=checkbox]:hover`]: { borderColor: "var(--gs-fg-dim)" },
|
|
19582
|
+
[`${PANEL} input[type=checkbox]:checked`]: {
|
|
19583
|
+
backgroundColor: "var(--gs-accent)",
|
|
19584
|
+
borderColor: "var(--gs-accent)"
|
|
19585
|
+
},
|
|
19586
|
+
[`${PANEL} input[type=checkbox]:focus-visible`]: {
|
|
19587
|
+
outline: "2px solid var(--gs-accent)",
|
|
19588
|
+
outlineOffset: "1px"
|
|
19589
|
+
},
|
|
19590
|
+
[`${PANEL} input[type=checkbox]:checked::after`]: {
|
|
19591
|
+
content: "\"\"",
|
|
19592
|
+
position: "absolute",
|
|
19593
|
+
left: "4px",
|
|
19594
|
+
top: "1px",
|
|
19595
|
+
width: "3px",
|
|
19596
|
+
height: "7px",
|
|
19597
|
+
border: "solid var(--gs-on-accent)",
|
|
19598
|
+
borderWidth: "0 1.5px 1.5px 0",
|
|
19599
|
+
transform: "rotate(42deg)"
|
|
19600
|
+
},
|
|
19601
|
+
[`${PANEL} [name=close]`]: {
|
|
19602
|
+
position: "absolute",
|
|
19603
|
+
top: "8px",
|
|
19604
|
+
right: "8px",
|
|
19605
|
+
display: "inline-flex",
|
|
19606
|
+
alignItems: "center",
|
|
19607
|
+
justifyContent: "center",
|
|
19608
|
+
width: "20px",
|
|
19609
|
+
height: "20px",
|
|
19610
|
+
padding: "0",
|
|
19611
|
+
margin: "0",
|
|
19612
|
+
font: "inherit",
|
|
19613
|
+
fontSize: "var(--gs-t-ui)",
|
|
19614
|
+
lineHeight: "1",
|
|
19615
|
+
color: "var(--gs-fg-faint)",
|
|
19616
|
+
backgroundColor: "transparent",
|
|
19617
|
+
border: "1px solid transparent",
|
|
19618
|
+
borderRadius: "var(--gs-r-control)",
|
|
19619
|
+
cursor: "pointer"
|
|
19620
|
+
},
|
|
19621
|
+
[`${PANEL} [name=close]:hover`]: {
|
|
19622
|
+
color: "var(--gs-fg)",
|
|
19623
|
+
backgroundColor: "var(--gs-raise)"
|
|
19624
|
+
},
|
|
19625
|
+
[`${PANEL} [name=close]:focus-visible`]: {
|
|
19626
|
+
outline: "2px solid var(--gs-accent)",
|
|
19627
|
+
outlineOffset: "1px"
|
|
19628
|
+
},
|
|
19629
|
+
".cm-searchMatch": {
|
|
19630
|
+
backgroundColor: "color-mix(in srgb, var(--gs-warn) 30%, transparent)",
|
|
19631
|
+
borderRadius: "2px"
|
|
19632
|
+
},
|
|
19633
|
+
".cm-searchMatch-selected": {
|
|
19634
|
+
backgroundColor: "color-mix(in srgb, var(--gs-accent) 34%, transparent)",
|
|
19635
|
+
boxShadow: "inset 0 0 0 1px var(--gs-accent)"
|
|
19636
|
+
}
|
|
19637
|
+
};
|
|
19638
|
+
//#endregion
|
|
19445
19639
|
//#region src/client/cm-tokens.ts
|
|
19446
19640
|
/** Whether a run paints anything the editor's own style does not already. */
|
|
19447
19641
|
function paints(run) {
|
|
@@ -19478,6 +19672,110 @@ window.__ModuleLoader__.load({
|
|
|
19478
19672
|
return out;
|
|
19479
19673
|
}
|
|
19480
19674
|
//#endregion
|
|
19675
|
+
//#region src/client/search-count.ts
|
|
19676
|
+
/**
|
|
19677
|
+
* How many matches the find panel found, and which one you are on.
|
|
19678
|
+
*
|
|
19679
|
+
* The panel ships without a count, which leaves the one question a reader
|
|
19680
|
+
* actually has unanswered: a query that highlights nothing on screen might
|
|
19681
|
+
* have no matches at all, or two hundred of them below the fold, and the panel
|
|
19682
|
+
* looks identical either way.
|
|
19683
|
+
*
|
|
19684
|
+
* Counting is proportional to the DOCUMENT, and this drawer does not put work
|
|
19685
|
+
* proportional to the document on the keystroke path. Two things keep that
|
|
19686
|
+
* true, and both live here rather than in the wiring:
|
|
19687
|
+
*
|
|
19688
|
+
* - the walk stops at {@link MATCH_CAP}. A cap that turns a feature off would
|
|
19689
|
+
* be no fix, so this one bounds the WORK and keeps the feature: past the cap
|
|
19690
|
+
* the total reads `5000+`, which answers "is my query too broad" as well as
|
|
19691
|
+
* an exact number would. It bounds memory the same way — a single-letter
|
|
19692
|
+
* search over 20,000 lines of real TypeScript finds 71,515 matches, and an
|
|
19693
|
+
* array of those is half a megabyte kept alive for a number nobody reads.
|
|
19694
|
+
* - the offsets are KEPT, so moving between matches is a binary search rather
|
|
19695
|
+
* than a second walk. Measured on this repo's own client sources: a full
|
|
19696
|
+
* count costs 3-5ms at 300 lines, 9-11ms at 2,000, 12ms at 4,000, and 60ms
|
|
19697
|
+
* at 20,000 (`SIDE_LINE_CAP`, the ceiling the pane will load). Recounting on
|
|
19698
|
+
* every Enter would put that 60ms on the navigation path; recounting when
|
|
19699
|
+
* the typing stops puts it nowhere the reader can feel it.
|
|
19700
|
+
*
|
|
19701
|
+
* The index belongs to one query over one document, and the caller throws it
|
|
19702
|
+
* away when either changes — see `SearchCount` in `CodeEditor.tsx`.
|
|
19703
|
+
*
|
|
19704
|
+
* @module @young1lin/dsh-ui-gitworkbench/client/search-count
|
|
19705
|
+
*/
|
|
19706
|
+
/**
|
|
19707
|
+
* How many match positions are kept.
|
|
19708
|
+
*
|
|
19709
|
+
* 5,000 is past any count a reader distinguishes from "lots" and well inside
|
|
19710
|
+
* what the pane can hold: at 8 bytes an offset it is 40KB, against the half a
|
|
19711
|
+
* megabyte an uncapped single-letter search over the ceiling would take.
|
|
19712
|
+
*/
|
|
19713
|
+
const MATCH_CAP = 5e3;
|
|
19714
|
+
/** No query, or a query with nothing to find. */
|
|
19715
|
+
const EMPTY_INDEX = {
|
|
19716
|
+
offsets: [],
|
|
19717
|
+
capped: false
|
|
19718
|
+
};
|
|
19719
|
+
/**
|
|
19720
|
+
* Walk matches into an index, stopping at `cap`.
|
|
19721
|
+
*
|
|
19722
|
+
* The walk is driven by hand rather than with `for…of`, because the union
|
|
19723
|
+
* above may arrive already unwrapped. A cursor reuses ONE object across
|
|
19724
|
+
* iterations, which is safe here only because nothing but the number is kept.
|
|
19725
|
+
*/
|
|
19726
|
+
function indexMatches(matches, cap = MATCH_CAP) {
|
|
19727
|
+
const step = Symbol.iterator in matches ? matches[Symbol.iterator]() : matches;
|
|
19728
|
+
const offsets = [];
|
|
19729
|
+
for (;;) {
|
|
19730
|
+
if (offsets.length >= cap) return {
|
|
19731
|
+
offsets,
|
|
19732
|
+
capped: step.next().done !== true
|
|
19733
|
+
};
|
|
19734
|
+
const next = step.next();
|
|
19735
|
+
if (next.done === true) return {
|
|
19736
|
+
offsets,
|
|
19737
|
+
capped: false
|
|
19738
|
+
};
|
|
19739
|
+
offsets.push(next.value.from);
|
|
19740
|
+
}
|
|
19741
|
+
}
|
|
19742
|
+
/**
|
|
19743
|
+
* Which match the position `from` is on or before, 1-based; 0 when there are
|
|
19744
|
+
* none.
|
|
19745
|
+
*
|
|
19746
|
+
* The first match at or after the caret, because that is the one the panel
|
|
19747
|
+
* will land on — which makes the answer right in both of the states the reader
|
|
19748
|
+
* sees it in. Straight after typing the caret has not moved and the count
|
|
19749
|
+
* should already read `1/128`, not `0/128`; after Enter the selection sits
|
|
19750
|
+
* exactly on a match and the lower bound IS that match. Past the last one the
|
|
19751
|
+
* panel wraps, so the answer wraps with it.
|
|
19752
|
+
*/
|
|
19753
|
+
function ordinalAt(index, from) {
|
|
19754
|
+
const { offsets } = index;
|
|
19755
|
+
if (offsets.length === 0) return 0;
|
|
19756
|
+
let low = 0;
|
|
19757
|
+
let high = offsets.length;
|
|
19758
|
+
while (low < high) {
|
|
19759
|
+
const mid = low + high >> 1;
|
|
19760
|
+
if (offsets[mid] < from) low = mid + 1;
|
|
19761
|
+
else high = mid;
|
|
19762
|
+
}
|
|
19763
|
+
return low === offsets.length ? 1 : low + 1;
|
|
19764
|
+
}
|
|
19765
|
+
/**
|
|
19766
|
+
* The label: `3/128`, `3/5000+` when the walk stopped early, `0/0` for a query
|
|
19767
|
+
* that finds nothing.
|
|
19768
|
+
*
|
|
19769
|
+
* No words, in a panel whose own labels are the library's English and are not
|
|
19770
|
+
* translated either — a pair of numbers says it in every language the drawer
|
|
19771
|
+
* ships (see `locales.ts` for the strings that do need both).
|
|
19772
|
+
*/
|
|
19773
|
+
function formatCount(index, ordinal) {
|
|
19774
|
+
const total = index.offsets.length;
|
|
19775
|
+
if (total === 0) return "0/0";
|
|
19776
|
+
return `${ordinal}/${total}${index.capped ? "+" : ""}`;
|
|
19777
|
+
}
|
|
19778
|
+
//#endregion
|
|
19481
19779
|
//#region src/client/CodeEditor.tsx
|
|
19482
19780
|
/**
|
|
19483
19781
|
* The side pane's editor: a real CodeMirror 6 view, wired to the pane's
|
|
@@ -19560,6 +19858,99 @@ window.__ModuleLoader__.load({
|
|
|
19560
19858
|
}, REPAINT_IDLE_MS);
|
|
19561
19859
|
}
|
|
19562
19860
|
};
|
|
19861
|
+
/**
|
|
19862
|
+
* `3/128` beside the find field.
|
|
19863
|
+
*
|
|
19864
|
+
* `@codemirror/search` ships no count, which leaves the reader unable to tell
|
|
19865
|
+
* a query that found nothing from one whose matches are all below the fold.
|
|
19866
|
+
* The library exports no panel class to subclass either, so the label is put
|
|
19867
|
+
* INTO the panel it already builds — one span, mounted after the search field
|
|
19868
|
+
* and removed with the plugin.
|
|
19869
|
+
*
|
|
19870
|
+
* Counting walks the document, so it never happens on the keystroke path: the
|
|
19871
|
+
* walk is deferred by the same idle the paint layers use, and it stops at
|
|
19872
|
+
* `MATCH_CAP`. Moving between matches touches no document at all — the offsets
|
|
19873
|
+
* are kept, and the ordinal is a binary search over them.
|
|
19874
|
+
*
|
|
19875
|
+
* While a new count is pending the previous number stays up rather than
|
|
19876
|
+
* blanking. A query grows a character at a time, so the number it replaces is
|
|
19877
|
+
* a near neighbour of the one arriving; blanking instead would collapse the
|
|
19878
|
+
* span and shuffle the buttons beside it on every keystroke.
|
|
19879
|
+
*/
|
|
19880
|
+
var SearchCount = class {
|
|
19881
|
+
view;
|
|
19882
|
+
index = EMPTY_INDEX;
|
|
19883
|
+
spec;
|
|
19884
|
+
timer;
|
|
19885
|
+
label = document.createElement("span");
|
|
19886
|
+
constructor(view) {
|
|
19887
|
+
this.view = view;
|
|
19888
|
+
this.label.className = "cm-gwSearchCount";
|
|
19889
|
+
this.label.setAttribute("aria-live", "polite");
|
|
19890
|
+
this.sync(view, true);
|
|
19891
|
+
}
|
|
19892
|
+
update(update) {
|
|
19893
|
+
if (!searchPanelOpen(update.state)) {
|
|
19894
|
+
this.spec = void 0;
|
|
19895
|
+
this.index = EMPTY_INDEX;
|
|
19896
|
+
this.label.remove();
|
|
19897
|
+
return;
|
|
19898
|
+
}
|
|
19899
|
+
this.sync(update.view, update.docChanged);
|
|
19900
|
+
}
|
|
19901
|
+
/** A view is destroyed on every file switch; a timer that outlives one is a
|
|
19902
|
+
* leak that also writes into a panel nobody is looking at. */
|
|
19903
|
+
destroy() {
|
|
19904
|
+
if (this.timer !== void 0) clearTimeout(this.timer);
|
|
19905
|
+
this.timer = void 0;
|
|
19906
|
+
this.label.remove();
|
|
19907
|
+
}
|
|
19908
|
+
sync(view, docChanged) {
|
|
19909
|
+
this.mount(view);
|
|
19910
|
+
const spec = specOf(getSearchQuery(view.state));
|
|
19911
|
+
if (docChanged || spec !== this.spec) {
|
|
19912
|
+
this.spec = spec;
|
|
19913
|
+
this.defer();
|
|
19914
|
+
}
|
|
19915
|
+
this.paint(view);
|
|
19916
|
+
}
|
|
19917
|
+
mount(view) {
|
|
19918
|
+
const panel = view.dom.querySelector(".cm-panel.cm-search");
|
|
19919
|
+
if (panel === null || this.label.parentElement === panel) return;
|
|
19920
|
+
const field = panel.querySelector("input[name=\"search\"]");
|
|
19921
|
+
if (field === null) panel.append(this.label);
|
|
19922
|
+
else field.after(this.label);
|
|
19923
|
+
}
|
|
19924
|
+
defer() {
|
|
19925
|
+
if (this.timer !== void 0) clearTimeout(this.timer);
|
|
19926
|
+
this.timer = setTimeout(() => {
|
|
19927
|
+
this.timer = void 0;
|
|
19928
|
+
const query = getSearchQuery(this.view.state);
|
|
19929
|
+
this.index = query.valid ? indexMatches(query.getCursor(this.view.state.doc)) : EMPTY_INDEX;
|
|
19930
|
+
this.paint(this.view);
|
|
19931
|
+
}, REPAINT_IDLE_MS);
|
|
19932
|
+
}
|
|
19933
|
+
paint(view) {
|
|
19934
|
+
if (!getSearchQuery(view.state).valid) {
|
|
19935
|
+
this.label.textContent = "";
|
|
19936
|
+
return;
|
|
19937
|
+
}
|
|
19938
|
+
const at = view.state.selection.main.from;
|
|
19939
|
+
this.label.textContent = formatCount(this.index, ordinalAt(this.index, at));
|
|
19940
|
+
}
|
|
19941
|
+
};
|
|
19942
|
+
/** What decides the match set. `replace` is part of the query and changes none
|
|
19943
|
+
* of it, so a recount on every keystroke in the replace field is waste. */
|
|
19944
|
+
function specOf(query) {
|
|
19945
|
+
return [
|
|
19946
|
+
query.search,
|
|
19947
|
+
query.caseSensitive,
|
|
19948
|
+
query.regexp,
|
|
19949
|
+
query.wholeWord,
|
|
19950
|
+
query.literal
|
|
19951
|
+
].join("\0");
|
|
19952
|
+
}
|
|
19953
|
+
const searchCount = ViewPlugin.fromClass(SearchCount);
|
|
19563
19954
|
/** The lines the view is about to show, 0-based and half-open. */
|
|
19564
19955
|
function viewportLines(view) {
|
|
19565
19956
|
const doc = view.state.doc;
|
|
@@ -19673,12 +20064,13 @@ window.__ModuleLoader__.load({
|
|
|
19673
20064
|
caretColor: "var(--gs-accent)"
|
|
19674
20065
|
},
|
|
19675
20066
|
".cm-gutters": {
|
|
19676
|
-
backgroundColor: "
|
|
20067
|
+
backgroundColor: "var(--gs-surface)",
|
|
19677
20068
|
color: "var(--gs-fg-faint)",
|
|
19678
20069
|
border: "none",
|
|
19679
|
-
paddingRight: "8px"
|
|
20070
|
+
paddingRight: "8px",
|
|
20071
|
+
boxShadow: "-16px 0 0 0 var(--gs-surface)"
|
|
19680
20072
|
},
|
|
19681
|
-
".cm-activeLine": { backgroundColor: "var(--gs-
|
|
20073
|
+
".cm-activeLine": { backgroundColor: "var(--gs-raise)" },
|
|
19682
20074
|
".cm-gwChanged": { backgroundColor: "var(--gs-add-line)" },
|
|
19683
20075
|
".cm-gwDeleted": { boxShadow: "inset 0 2px 0 0 var(--gs-del-line)" },
|
|
19684
20076
|
".cm-activeLineGutter": {
|
|
@@ -19700,7 +20092,8 @@ window.__ModuleLoader__.load({
|
|
|
19700
20092
|
textOverflow: "ellipsis",
|
|
19701
20093
|
whiteSpace: "nowrap",
|
|
19702
20094
|
cursor: "pointer"
|
|
19703
|
-
}
|
|
20095
|
+
},
|
|
20096
|
+
...SEARCH_PANEL_THEME
|
|
19704
20097
|
});
|
|
19705
20098
|
function CodeEditor({ value, original, onChange, paint, indent, ariaLabel, onSave, blame, notCommitted, readOnly, onBlameClick }) {
|
|
19706
20099
|
/**
|
|
@@ -19740,6 +20133,7 @@ window.__ModuleLoader__.load({
|
|
|
19740
20133
|
lineNumbers(),
|
|
19741
20134
|
history(),
|
|
19742
20135
|
search({ top: true }),
|
|
20136
|
+
searchCount,
|
|
19743
20137
|
highlightActiveLine(),
|
|
19744
20138
|
paintCompartment.of(paintFacet.of(paint)),
|
|
19745
20139
|
painter,
|