difftab 0.14.0 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/web/app.css CHANGED
@@ -1,3 +1,3 @@
1
1
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-content:"";--tw-outline-style:solid}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-content:"";--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, -apple-system, "Segoe UI", "Noto Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-editor-background:var(--lightningcss-light,#fff)var(--lightningcss-dark,#121314);--color-editor-foreground:var(--lightningcss-light,#202020)var(--lightningcss-dark,#bbbebf);--color-side-bar-background:var(--lightningcss-light,#fafafd)var(--lightningcss-dark,#191a1b);--color-side-bar-section-header-background:var(--lightningcss-light,#fafafd)var(--lightningcss-dark,#191a1b);--color-title-bar-background:var(--lightningcss-light,#fafafd)var(--lightningcss-dark,#191a1b);--color-panel-border:var(--lightningcss-light,#f0f1f2)var(--lightningcss-dark,#2a2b2c);--color-description-foreground:var(--lightningcss-light,#606060)var(--lightningcss-dark,#8c8c8c);--color-focus-border:var(--lightningcss-light,#0069cc)var(--lightningcss-dark,#3994bcb3);--color-text-link-foreground:var(--lightningcss-light,#0069cc)var(--lightningcss-dark,#48a0c7);--color-keybinding-label-background:var(--lightningcss-light,#ddd6)var(--lightningcss-dark,#8080802b);--color-keybinding-label-border:var(--lightningcss-light,#ccc6)var(--lightningcss-dark,#3339);--color-keybinding-label-bottom-border:var(--lightningcss-light,#bbb6)var(--lightningcss-dark,#4449);--color-toolbar-hover-background:var(--lightningcss-light,#0000001f)var(--lightningcss-dark,#5a5d5e4f);--color-editor-group-drop-background:var(--lightningcss-light,#2677cb2e)var(--lightningcss-dark,#53595d80);--color-list-hover-background:var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);--color-list-active-selection-background:var(--lightningcss-light,#00000025)var(--lightningcss-dark,#fff2);--color-list-active-selection-foreground:var(--lightningcss-light,#202020)var(--lightningcss-dark,#ededed);--color-tree-inactive-indent-guides-stroke:var(--lightningcss-light,#a9a9a966)var(--lightningcss-dark,#58585866);--color-editor-find-match-highlight-background:var(--lightningcss-light,#0069cc1a)var(--lightningcss-dark,#27678280);--color-editor-range-highlight-background:var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff13);--color-warning-background:var(--lightningcss-light,#fdf6e3)var(--lightningcss-dark,#352a05);--color-warning-border:#b89500;--color-git-modified:var(--lightningcss-light,#667309)var(--lightningcss-dark,#e5ba7d);--color-git-deleted:var(--lightningcss-light,#ad0707)var(--lightningcss-dark,#f48771);--color-git-renamed:var(--lightningcss-light,#007100)var(--lightningcss-dark,#73c991);--color-git-added:var(--lightningcss-light,#587c0c)var(--lightningcss-dark,#73c991);--color-git-untracked:var(--lightningcss-light,#587c0c)var(--lightningcss-dark,#73c991);--color-git-conflicting:var(--lightningcss-light,#ad0707)var(--lightningcss-dark,#f48771);--color-editor-gutter-added-background:var(--lightningcss-light,#48985d)var(--lightningcss-dark,#487e02);--color-editor-gutter-modified-background:var(--lightningcss-light,#2090d3)var(--lightningcss-dark,#1b81a8);--color-editor-gutter-deleted-background:var(--lightningcss-light,#e51400)var(--lightningcss-dark,#f14c4c);--color-scm-graph-history-item-ref:#59a4f9;--color-scm-graph-history-item-remote-ref:#b180d7;--color-diff-inserted-background:var(--lightningcss-light,#9bb95533)var(--lightningcss-dark,#347d3926);--color-diff-inserted-text-background:var(--lightningcss-light,#587c0c26)var(--lightningcss-dark,#57ab5a4d);--color-diff-removed-background:var(--lightningcss-light,#f003)var(--lightningcss-dark,#c93c3726);--color-diff-removed-text-background:var(--lightningcss-light,#ad070726)var(--lightningcss-dark,#f470674d);--color-diff-diagonal-fill:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff0f)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}button:not(:disabled){cursor:pointer}*{scrollbar-width:thin}}@layer components{tr[data-line=delete]{--diff-tint:var(--color-diff-removed-background);--diff-edge:var(--color-diff-removed-text-background)}tr[data-line=insert]{--diff-tint:var(--color-diff-inserted-background);--diff-edge:var(--color-diff-inserted-text-background)}tr[data-line=hunk]{--diff-tint:var(--color-side-bar-background);color:var(--color-description-foreground)}tr[data-line=empty]{--diff-tint:var(--color-diff-diagonal-fill)}.markdown-body{overflow-wrap:anywhere;padding:1.5rem 2rem;font-size:.875rem;line-height:1.6}.markdown-body>:first-child{margin-top:0}.markdown-body :where(p,ul,ol,blockquote,pre,table,hr){margin-block:0 1rem}.markdown-body :where(h1,h2,h3,h4,h5,h6){margin-block:1.5rem 1rem;font-weight:600;line-height:1.25}.markdown-body :where(h1,h2){border-bottom:1px solid var(--color-panel-border);padding-bottom:.3em}.markdown-body h1{font-size:2em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body :where(h5,h6){font-size:.875em}.markdown-body h6{color:var(--color-description-foreground)}.markdown-body :where(ul,ol){padding-left:2em}.markdown-body ul{list-style:outside}.markdown-body ol{list-style:decimal}.markdown-body :where(ul,ol) :where(ul,ol){margin-bottom:0}.markdown-body li+li{margin-top:.25em}:is(.markdown-body li:has(>input[type=checkbox]),.markdown-body li:has(>p>input[type=checkbox])){list-style:none}.markdown-body input[type=checkbox]{vertical-align:middle;margin:0 .25em .2em -1.4em}.markdown-body blockquote{border-left:.25em solid var(--color-panel-border);color:var(--color-description-foreground);padding:0 1em}.markdown-body hr{border-top:.25em solid var(--color-panel-border)}.markdown-body a{color:var(--color-text-link-foreground)}.markdown-body a:hover{text-decoration:underline}.markdown-body .md-link{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body .md-image-alt{border:1px dashed var(--color-panel-border);color:var(--color-description-foreground);padding:0 .25em}.markdown-body img{max-width:100%;display:inline}.markdown-body :where(code,pre){font-family:var(--font-mono);font-size:.85em}.markdown-body :not(pre)>code{background-color:var(--color-diff-diagonal-fill);border-radius:.375rem;padding:.2em .4em}.markdown-body pre{overflow-wrap:normal;background-color:var(--color-side-bar-background);border-radius:.375rem;padding:1em;line-height:1.45;overflow-x:auto}.markdown-body table{border-collapse:collapse;width:max-content;max-width:100%;display:block;overflow-x:auto}.markdown-body :where(th,td){border:1px solid var(--color-panel-border);padding:.375em .8125em}.markdown-body th{font-weight:600}.markdown-body tr:nth-child(2n){background-color:var(--color-side-bar-background)}}@layer utilities{.\@container-size{container-type:size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.right-0{right:0}.right-1{right:var(--spacing)}.right-3{right:calc(var(--spacing) * 3)}.right-9\.5{right:calc(var(--spacing) * 9.5)}.left-0{left:0}.left-1\/2{left:50%}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mt-1{margin-top:var(--spacing)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mb-1{margin-bottom:var(--spacing)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-\[0\.5em\]{margin-left:.5em}.ml-auto{margin-left:auto}.scrollbar-none::-webkit-scrollbar{display:none}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.size-0{width:0;height:0}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-96{height:calc(var(--spacing) * 96)}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-110{max-height:calc(var(--spacing) * 110)}.max-h-\[calc\(100cqh-3\.25rem-2px\)\]{max-height:calc(100cqh - 3.25rem - 2px)}.min-h-0{min-height:0}.min-h-\[50vh\]{min-height:50vh}.w-1\/2{width:50%}.w-3{width:calc(var(--spacing) * 3)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-150{width:calc(var(--spacing) * 150)}.w-\[3px\]{width:3px}.w-\[max\(3\.5em\,calc\(var\(--diff-digits\,4\)\*1ch_\+_1em\)\)\]{width:max(3.5em, calc(var(--diff-digits,4) * 1ch + 1em))}.w-\[max\(4em\,calc\(var\(--diff-digits\,4\)\*1ch_\+_1em\)\)\]{width:max(4em, calc(var(--diff-digits,4) * 1ch + 1em))}.w-full{width:100%}.w-max{width:max-content}.max-w-32{max-width:calc(var(--spacing) * 32)}.max-w-60{max-width:calc(var(--spacing) * 60)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[max\(4em\,calc\(var\(--diff-digits\,4\)\*1ch_\+_1em\)\)\]{min-width:max(4em, calc(var(--diff-digits,4) * 1ch + 1em))}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.scrollbar-none{scrollbar-width:none}.grid-cols-\[auto_auto\]{grid-template-columns:auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-center{align-self:center}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y-4{border-block-style:var(--tw-border-style);border-block-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-editor-foreground{border-color:var(--color-editor-foreground)}.border-focus-border{border-color:var(--color-focus-border)}.border-keybinding-label-border{border-color:var(--color-keybinding-label-border)}.border-panel-border{border-color:var(--color-panel-border)}.border-transparent{border-color:#0000}.border-warning-border{border-color:var(--color-warning-border)}.border-y-transparent{border-block-color:#0000}.border-b-keybinding-label-bottom-border{border-bottom-color:var(--color-keybinding-label-bottom-border)}.border-l-editor-gutter-deleted-background{border-left-color:var(--color-editor-gutter-deleted-background)}.diff-gutter{background-color:var(--color-editor-background);background-image:linear-gradient(var(--diff-tint,transparent) 0 0), linear-gradient(var(--diff-tint,transparent) 0 0);border-right:1px solid var(--diff-edge,var(--color-panel-border))}.bg-current{background-color:currentColor}.bg-editor-background{background-color:var(--color-editor-background)}.bg-editor-find-match-highlight-background{background-color:var(--color-editor-find-match-highlight-background)}.bg-editor-group-drop-background{background-color:var(--color-editor-group-drop-background)}.bg-editor-gutter-added-background{background-color:var(--color-editor-gutter-added-background)}.bg-editor-gutter-modified-background{background-color:var(--color-editor-gutter-modified-background)}.bg-editor-range-highlight-background{background-color:var(--color-editor-range-highlight-background)}.bg-keybinding-label-background{background-color:var(--color-keybinding-label-background)}.bg-list-active-selection-background{background-color:var(--color-list-active-selection-background)}.bg-list-hover-background{background-color:var(--color-list-hover-background)}.bg-scm-graph-history-item-ref\/20{background-color:#59a4f933}@supports (color:color-mix(in lab, red, red)){.bg-scm-graph-history-item-ref\/20{background-color:color-mix(in oklab, var(--color-scm-graph-history-item-ref) 20%, transparent)}}.bg-scm-graph-history-item-remote-ref\/20{background-color:#b180d733}@supports (color:color-mix(in lab, red, red)){.bg-scm-graph-history-item-remote-ref\/20{background-color:color-mix(in oklab, var(--color-scm-graph-history-item-remote-ref) 20%, transparent)}}.bg-side-bar-background{background-color:var(--color-side-bar-background)}.bg-side-bar-section-header-background{background-color:var(--color-side-bar-section-header-background)}.bg-title-bar-background{background-color:var(--color-title-bar-background)}.bg-transparent{background-color:#0000}.bg-warning-background{background-color:var(--color-warning-background)}.diff-code{background-color:var(--diff-tint,transparent)}.checkerboard{background-image:repeating-conic-gradient(var(--color-diff-diagonal-fill) 0 25%, transparent 0 50%);background-size:16px 16px}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-4{padding:calc(var(--spacing) * 4)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\[0\.5em\]{padding-inline:.5em}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-\[4\.5em\]{padding-right:4.5em}.pr-\[8em\]{padding-right:8em}.pb-1{padding-bottom:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-\[0\.5em\]{padding-left:.5em}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/6{font-size:var(--text-sm);line-height:calc(var(--spacing) * 6)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\/6{font-size:var(--text-xs);line-height:calc(var(--spacing) * 6)}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words{overflow-wrap:break-word}.wrap-anywhere{overflow-wrap:anywhere}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-description-foreground{color:var(--color-description-foreground)}.text-editor-foreground{color:var(--color-editor-foreground)}.text-git-added{color:var(--color-git-added)}.text-git-conflicting{color:var(--color-git-conflicting)}.text-git-deleted{color:var(--color-git-deleted)}.text-git-modified{color:var(--color-git-modified)}.text-git-renamed{color:var(--color-git-renamed)}.text-git-untracked{color:var(--color-git-untracked)}.text-inherit{color:inherit}.text-list-active-selection-foreground{color:var(--color-list-active-selection-foreground)}.text-scm-graph-history-item-ref{color:var(--color-scm-graph-history-item-ref)}.text-scm-graph-history-item-remote-ref{color:var(--color-scm-graph-history-item-remote-ref)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.divider-b{box-shadow:inset 0 -1px var(--color-panel-border)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[contain-intrinsic-size\:auto_20px\]{contain-intrinsic-size:auto 20px}.\[content-visibility\:auto\]{content-visibility:auto}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:flex:is(:where(.group):hover *){display:flex}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-has-focus-visible\:flex:is(:where(.group):has(:focus-visible) *){display:flex}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:left-\[var\(--guide-x\,0\)\]:after{content:var(--tw-content);left:var(--guide-x,0)}.after\:w-px:after{content:var(--tw-content);width:1px}.after\:bg-tree-inactive-indent-guides-stroke:after{content:var(--tw-content);background-color:var(--color-tree-inactive-indent-guides-stroke)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}@media (hover:hover){.group-hover\/tree\:after\:opacity-100:is(:where(.group\/tree):hover *):after{content:var(--tw-content);opacity:1}}.focus-within\:border-focus-border:focus-within{border-color:var(--color-focus-border)}@media (hover:hover){.hover\:bg-list-hover-background:hover{background-color:var(--color-list-hover-background)}.hover\:bg-toolbar-hover-background:hover{background-color:var(--color-toolbar-hover-background)}.hover\:text-editor-foreground:hover{color:var(--color-editor-foreground)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:calc(2px * -1)}.focus-visible\:outline-focus-border:focus-visible{outline-color:var(--color-focus-border)}.disabled\:cursor-default:disabled{cursor:default}@media (pointer:coarse){.pointer-coarse\:flex{display:flex}.pointer-coarse\:after\:opacity-100:after{content:var(--tw-content);opacity:1}}.\[\&_del\]\:rounded-\[0\.2em\] del{border-radius:.2em}.\[\&_del\]\:bg-diff-removed-text-background del{background-color:var(--color-diff-removed-text-background)}.\[\&_del\]\:no-underline del{text-decoration-line:none}.\[\&_ins\]\:rounded-\[0\.2em\] ins{border-radius:.2em}.\[\&_ins\]\:bg-diff-inserted-text-background ins{background-color:var(--color-diff-inserted-text-background)}.\[\&_ins\]\:no-underline ins{text-decoration-line:none}.\[\&\>\*\]\:opacity-75>*{opacity:.75}.\[\&\>\*\:focus-visible\]\:opacity-100>:focus-visible,.\[\&\>\*\:hover\]\:opacity-100>:hover{opacity:1}@container not (height>=8rem){.\[\@container\(height\<8rem\)\]\:max-h-none{max-height:none}}}:root{--hljs-fg:var(--lightningcss-light,#1f2328)var(--lightningcss-dark,#c9d1d9);--hljs-keyword:var(--lightningcss-light,#cf222e)var(--lightningcss-dark,#ff7b72);--hljs-entity:var(--lightningcss-light,#8250df)var(--lightningcss-dark,#d2a8ff);--hljs-constant:var(--lightningcss-light,#0550ae)var(--lightningcss-dark,#79c0ff);--hljs-string:var(--lightningcss-light,#0a3069)var(--lightningcss-dark,#a5d6ff);--hljs-variable:var(--lightningcss-light,#953800)var(--lightningcss-dark,#ffa657);--hljs-comment:var(--lightningcss-light,#6e7781)var(--lightningcss-dark,#8b949e);--hljs-entity-tag:var(--lightningcss-light,#116329)var(--lightningcss-dark,#7ee787);--hljs-heading:var(--lightningcss-light,#0550ae)var(--lightningcss-dark,#79c0ff);--hljs-list:var(--lightningcss-light,#953800)var(--lightningcss-dark,#ffa657);--hljs-inserted:var(--lightningcss-light,#116329)var(--lightningcss-dark,#7ee787);--hljs-inserted-bg:var(--lightningcss-light,#f0fff4)var(--lightningcss-dark,#033a16);--hljs-deleted:var(--lightningcss-light,#82071e)var(--lightningcss-dark,#ffa198);--hljs-deleted-bg:var(--lightningcss-light,#ffeef0)var(--lightningcss-dark,#67060c)}.hljs{color:var(--hljs-fg)}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:var(--hljs-keyword)}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:var(--hljs-entity)}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:var(--hljs-constant)}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:var(--hljs-string)}.hljs-built_in,.hljs-symbol{color:var(--hljs-variable)}.hljs-comment,.hljs-code,.hljs-formula{color:var(--hljs-comment)}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:var(--hljs-entity-tag)}.hljs-subst{color:var(--hljs-fg)}.hljs-section{color:var(--hljs-heading);font-weight:700}.hljs-bullet{color:var(--hljs-list)}.hljs-emphasis{color:var(--hljs-fg);font-style:italic}.hljs-strong{color:var(--hljs-fg);font-weight:700}.hljs-addition{color:var(--hljs-inserted);background-color:var(--hljs-inserted-bg)}.hljs-deletion{color:var(--hljs-deleted);background-color:var(--hljs-deleted-bg)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background-color:var(--color-editor-background);color:var(--color-editor-foreground)}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-content:"";--tw-outline-style:solid}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-content:"";--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, -apple-system, "Segoe UI", "Noto Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-editor-background:var(--lightningcss-light,#fff)var(--lightningcss-dark,#121314);--color-editor-foreground:var(--lightningcss-light,#202020)var(--lightningcss-dark,#bbbebf);--color-side-bar-background:var(--lightningcss-light,#fafafd)var(--lightningcss-dark,#191a1b);--color-side-bar-section-header-background:var(--lightningcss-light,#fafafd)var(--lightningcss-dark,#191a1b);--color-title-bar-background:var(--lightningcss-light,#fafafd)var(--lightningcss-dark,#191a1b);--color-panel-border:var(--lightningcss-light,#f0f1f2)var(--lightningcss-dark,#2a2b2c);--color-description-foreground:var(--lightningcss-light,#606060)var(--lightningcss-dark,#8c8c8c);--color-focus-border:var(--lightningcss-light,#0069cc)var(--lightningcss-dark,#3994bcb3);--color-text-link-foreground:var(--lightningcss-light,#0069cc)var(--lightningcss-dark,#48a0c7);--color-keybinding-label-background:var(--lightningcss-light,#ddd6)var(--lightningcss-dark,#8080802b);--color-keybinding-label-border:var(--lightningcss-light,#ccc6)var(--lightningcss-dark,#3339);--color-keybinding-label-bottom-border:var(--lightningcss-light,#bbb6)var(--lightningcss-dark,#4449);--color-toolbar-hover-background:var(--lightningcss-light,#0000001f)var(--lightningcss-dark,#5a5d5e4f);--color-editor-group-drop-background:var(--lightningcss-light,#2677cb2e)var(--lightningcss-dark,#53595d80);--color-list-hover-background:var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff14);--color-list-active-selection-background:var(--lightningcss-light,#00000025)var(--lightningcss-dark,#fff2);--color-list-active-selection-foreground:var(--lightningcss-light,#202020)var(--lightningcss-dark,#ededed);--color-tree-inactive-indent-guides-stroke:var(--lightningcss-light,#a9a9a966)var(--lightningcss-dark,#58585866);--color-editor-find-match-highlight-background:var(--lightningcss-light,#0069cc1a)var(--lightningcss-dark,#27678280);--color-editor-range-highlight-background:var(--lightningcss-light,#00000014)var(--lightningcss-dark,#ffffff13);--color-warning-background:var(--lightningcss-light,#fdf6e3)var(--lightningcss-dark,#352a05);--color-warning-border:#b89500;--color-git-modified:var(--lightningcss-light,#667309)var(--lightningcss-dark,#e5ba7d);--color-git-deleted:var(--lightningcss-light,#ad0707)var(--lightningcss-dark,#f48771);--color-git-renamed:var(--lightningcss-light,#007100)var(--lightningcss-dark,#73c991);--color-git-added:var(--lightningcss-light,#587c0c)var(--lightningcss-dark,#73c991);--color-git-untracked:var(--lightningcss-light,#587c0c)var(--lightningcss-dark,#73c991);--color-git-conflicting:var(--lightningcss-light,#ad0707)var(--lightningcss-dark,#f48771);--color-editor-gutter-added-background:var(--lightningcss-light,#48985d)var(--lightningcss-dark,#487e02);--color-editor-gutter-modified-background:var(--lightningcss-light,#2090d3)var(--lightningcss-dark,#1b81a8);--color-editor-gutter-deleted-background:var(--lightningcss-light,#e51400)var(--lightningcss-dark,#f14c4c);--color-scm-graph-history-item-ref:#59a4f9;--color-scm-graph-history-item-remote-ref:#b180d7;--color-diff-inserted-background:var(--lightningcss-light,#9bb95533)var(--lightningcss-dark,#347d3926);--color-diff-inserted-text-background:var(--lightningcss-light,#587c0c26)var(--lightningcss-dark,#57ab5a4d);--color-diff-removed-background:var(--lightningcss-light,#f003)var(--lightningcss-dark,#c93c3726);--color-diff-removed-text-background:var(--lightningcss-light,#ad070726)var(--lightningcss-dark,#f470674d);--color-diff-diagonal-fill:var(--lightningcss-light,#0000000f)var(--lightningcss-dark,#ffffff0f)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}button:not(:disabled){cursor:pointer}*{scrollbar-width:thin}}@layer components{tr[data-line=delete]{--diff-tint:var(--color-diff-removed-background);--diff-edge:var(--color-diff-removed-text-background)}tr[data-line=insert]{--diff-tint:var(--color-diff-inserted-background);--diff-edge:var(--color-diff-inserted-text-background)}tr[data-line=hunk]{--diff-tint:var(--color-side-bar-background);color:var(--color-description-foreground)}tr[data-line=empty]{--diff-tint:var(--color-diff-diagonal-fill)}.markdown-body{overflow-wrap:anywhere;padding:1.5rem 2rem;font-size:.875rem;line-height:1.6}.markdown-body>:first-child{margin-top:0}.markdown-body :where(p,ul,ol,blockquote,pre,table,hr){margin-block:0 1rem}.markdown-body :where(h1,h2,h3,h4,h5,h6){margin-block:1.5rem 1rem;font-weight:600;line-height:1.25}.markdown-body :where(h1,h2){border-bottom:1px solid var(--color-panel-border);padding-bottom:.3em}.markdown-body h1{font-size:2em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body :where(h5,h6){font-size:.875em}.markdown-body h6{color:var(--color-description-foreground)}.markdown-body :where(ul,ol){padding-left:2em}.markdown-body ul{list-style:outside}.markdown-body ol{list-style:decimal}.markdown-body :where(ul,ol) :where(ul,ol){margin-bottom:0}.markdown-body li+li{margin-top:.25em}:is(.markdown-body li:has(>input[type=checkbox]),.markdown-body li:has(>p>input[type=checkbox])){list-style:none}.markdown-body input[type=checkbox]{vertical-align:middle;margin:0 .25em .2em -1.4em}.markdown-body blockquote{border-left:.25em solid var(--color-panel-border);color:var(--color-description-foreground);padding:0 1em}.markdown-body hr{border-top:.25em solid var(--color-panel-border)}.markdown-body a{color:var(--color-text-link-foreground)}.markdown-body a:hover{text-decoration:underline}.markdown-body .md-link{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body .md-image-alt{border:1px dashed var(--color-panel-border);color:var(--color-description-foreground);padding:0 .25em}.markdown-body img{max-width:100%;display:inline}.markdown-body :where(code,pre){font-family:var(--font-mono);font-size:.85em}.markdown-body :not(pre)>code{background-color:var(--color-diff-diagonal-fill);border-radius:.375rem;padding:.2em .4em}.markdown-body pre{overflow-wrap:normal;background-color:var(--color-side-bar-background);border-radius:.375rem;padding:1em;line-height:1.45;overflow-x:auto}.markdown-body table{border-collapse:collapse;width:max-content;max-width:100%;display:block;overflow-x:auto}.markdown-body :where(th,td){border:1px solid var(--color-panel-border);padding:.375em .8125em}.markdown-body th{font-weight:600}.markdown-body tr:nth-child(2n){background-color:var(--color-side-bar-background)}}@layer utilities{.\@container-size{container-type:size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-2{top:calc(var(--spacing) * 2)}.right-0{right:0}.right-1{right:var(--spacing)}.right-3{right:calc(var(--spacing) * 3)}.right-9\.5{right:calc(var(--spacing) * 9.5)}.left-0{left:0}.left-1\/2{left:50%}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mt-1{margin-top:var(--spacing)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mb-1{margin-bottom:var(--spacing)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-\[0\.5em\]{margin-left:.5em}.ml-auto{margin-left:auto}.scrollbar-none::-webkit-scrollbar{display:none}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.size-0{width:0;height:0}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-96{height:calc(var(--spacing) * 96)}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-110{max-height:calc(var(--spacing) * 110)}.max-h-\[calc\(100cqh-3\.25rem-2px\)\]{max-height:calc(100cqh - 3.25rem - 2px)}.min-h-0{min-height:0}.min-h-\[50vh\]{min-height:50vh}.w-1\/2{width:50%}.w-3{width:calc(var(--spacing) * 3)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-150{width:calc(var(--spacing) * 150)}.w-\[3px\]{width:3px}.w-\[max\(3\.5em\,calc\(var\(--diff-digits\,4\)\*1ch_\+_1em\)\)\]{width:max(3.5em, calc(var(--diff-digits,4) * 1ch + 1em))}.w-\[max\(4em\,calc\(var\(--diff-digits\,4\)\*1ch_\+_1em\)\)\]{width:max(4em, calc(var(--diff-digits,4) * 1ch + 1em))}.w-full{width:100%}.w-max{width:max-content}.max-w-32{max-width:calc(var(--spacing) * 32)}.max-w-60{max-width:calc(var(--spacing) * 60)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[max\(4em\,calc\(var\(--diff-digits\,4\)\*1ch_\+_1em\)\)\]{min-width:max(4em, calc(var(--diff-digits,4) * 1ch + 1em))}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.scrollbar-none{scrollbar-width:none}.grid-cols-\[auto_auto\]{grid-template-columns:auto auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-center{align-self:center}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-x-scroll{overflow-x:scroll}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y-4{border-block-style:var(--tw-border-style);border-block-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-editor-foreground{border-color:var(--color-editor-foreground)}.border-keybinding-label-border{border-color:var(--color-keybinding-label-border)}.border-panel-border{border-color:var(--color-panel-border)}.border-transparent{border-color:#0000}.border-warning-border{border-color:var(--color-warning-border)}.border-y-transparent{border-block-color:#0000}.border-b-keybinding-label-bottom-border{border-bottom-color:var(--color-keybinding-label-bottom-border)}.border-l-editor-gutter-deleted-background{border-left-color:var(--color-editor-gutter-deleted-background)}.diff-gutter{background-color:var(--color-editor-background);background-image:linear-gradient(var(--diff-tint,transparent) 0 0), linear-gradient(var(--diff-tint,transparent) 0 0);border-right:1px solid var(--diff-edge,var(--color-panel-border))}.bg-current{background-color:currentColor}.bg-editor-background{background-color:var(--color-editor-background)}.bg-editor-find-match-highlight-background{background-color:var(--color-editor-find-match-highlight-background)}.bg-editor-group-drop-background{background-color:var(--color-editor-group-drop-background)}.bg-editor-gutter-added-background{background-color:var(--color-editor-gutter-added-background)}.bg-editor-gutter-modified-background{background-color:var(--color-editor-gutter-modified-background)}.bg-editor-range-highlight-background{background-color:var(--color-editor-range-highlight-background)}.bg-keybinding-label-background{background-color:var(--color-keybinding-label-background)}.bg-list-active-selection-background{background-color:var(--color-list-active-selection-background)}.bg-list-hover-background{background-color:var(--color-list-hover-background)}.bg-scm-graph-history-item-ref\/20{background-color:#59a4f933}@supports (color:color-mix(in lab, red, red)){.bg-scm-graph-history-item-ref\/20{background-color:color-mix(in oklab, var(--color-scm-graph-history-item-ref) 20%, transparent)}}.bg-scm-graph-history-item-remote-ref\/20{background-color:#b180d733}@supports (color:color-mix(in lab, red, red)){.bg-scm-graph-history-item-remote-ref\/20{background-color:color-mix(in oklab, var(--color-scm-graph-history-item-remote-ref) 20%, transparent)}}.bg-side-bar-background{background-color:var(--color-side-bar-background)}.bg-side-bar-section-header-background{background-color:var(--color-side-bar-section-header-background)}.bg-title-bar-background{background-color:var(--color-title-bar-background)}.bg-transparent{background-color:#0000}.bg-warning-background{background-color:var(--color-warning-background)}.diff-code{background-color:var(--diff-tint,transparent)}.checkerboard{background-image:repeating-conic-gradient(var(--color-diff-diagonal-fill) 0 25%, transparent 0 50%);background-size:16px 16px}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-4{padding:calc(var(--spacing) * 4)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\[0\.5em\]{padding-inline:.5em}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-\[4\.5em\]{padding-right:4.5em}.pr-\[8em\]{padding-right:8em}.pb-1{padding-bottom:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-\[0\.5em\]{padding-left:.5em}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-sm\/6{font-size:var(--text-sm);line-height:calc(var(--spacing) * 6)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-xs\/6{font-size:var(--text-xs);line-height:calc(var(--spacing) * 6)}.text-\[13px\]{font-size:13px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words{overflow-wrap:break-word}.wrap-anywhere{overflow-wrap:anywhere}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-description-foreground{color:var(--color-description-foreground)}.text-editor-foreground{color:var(--color-editor-foreground)}.text-git-added{color:var(--color-git-added)}.text-git-conflicting{color:var(--color-git-conflicting)}.text-git-deleted{color:var(--color-git-deleted)}.text-git-modified{color:var(--color-git-modified)}.text-git-renamed{color:var(--color-git-renamed)}.text-git-untracked{color:var(--color-git-untracked)}.text-inherit{color:inherit}.text-list-active-selection-foreground{color:var(--color-list-active-selection-foreground)}.text-scm-graph-history-item-ref{color:var(--color-scm-graph-history-item-ref)}.text-scm-graph-history-item-remote-ref{color:var(--color-scm-graph-history-item-remote-ref)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.divider-b{box-shadow:inset 0 -1px var(--color-panel-border)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[contain-intrinsic-size\:auto_20px\]{contain-intrinsic-size:auto 20px}.\[content-visibility\:auto\]{content-visibility:auto}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:flex:is(:where(.group):hover *){display:flex}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-has-focus-visible\:flex:is(:where(.group):has(:focus-visible) *){display:flex}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:left-\[var\(--guide-x\,0\)\]:after{content:var(--tw-content);left:var(--guide-x,0)}.after\:w-px:after{content:var(--tw-content);width:1px}.after\:bg-tree-inactive-indent-guides-stroke:after{content:var(--tw-content);background-color:var(--color-tree-inactive-indent-guides-stroke)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}@media (hover:hover){.group-hover\/tree\:after\:opacity-100:is(:where(.group\/tree):hover *):after{content:var(--tw-content);opacity:1}.hover\:bg-list-hover-background:hover{background-color:var(--color-list-hover-background)}.hover\:bg-toolbar-hover-background:hover{background-color:var(--color-toolbar-hover-background)}.hover\:text-editor-foreground:hover{color:var(--color-editor-foreground)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:calc(2px * -1)}.focus-visible\:outline-focus-border:focus-visible{outline-color:var(--color-focus-border)}.disabled\:cursor-default:disabled{cursor:default}@media (pointer:coarse){.pointer-coarse\:flex{display:flex}.pointer-coarse\:after\:opacity-100:after{content:var(--tw-content);opacity:1}}.\[\&_del\]\:rounded-\[0\.2em\] del{border-radius:.2em}.\[\&_del\]\:bg-diff-removed-text-background del{background-color:var(--color-diff-removed-text-background)}.\[\&_del\]\:no-underline del{text-decoration-line:none}.\[\&_ins\]\:rounded-\[0\.2em\] ins{border-radius:.2em}.\[\&_ins\]\:bg-diff-inserted-text-background ins{background-color:var(--color-diff-inserted-text-background)}.\[\&_ins\]\:no-underline ins{text-decoration-line:none}.\[\&\>\*\]\:opacity-75>*{opacity:.75}.\[\&\>\*\:focus-visible\]\:opacity-100>:focus-visible,.\[\&\>\*\:hover\]\:opacity-100>:hover{opacity:1}@container not (height>=8rem){.\[\@container\(height\<8rem\)\]\:max-h-none{max-height:none}}}:root{--hljs-fg:var(--lightningcss-light,#1f2328)var(--lightningcss-dark,#c9d1d9);--hljs-keyword:var(--lightningcss-light,#cf222e)var(--lightningcss-dark,#ff7b72);--hljs-entity:var(--lightningcss-light,#8250df)var(--lightningcss-dark,#d2a8ff);--hljs-constant:var(--lightningcss-light,#0550ae)var(--lightningcss-dark,#79c0ff);--hljs-string:var(--lightningcss-light,#0a3069)var(--lightningcss-dark,#a5d6ff);--hljs-variable:var(--lightningcss-light,#953800)var(--lightningcss-dark,#ffa657);--hljs-comment:var(--lightningcss-light,#6e7781)var(--lightningcss-dark,#8b949e);--hljs-entity-tag:var(--lightningcss-light,#116329)var(--lightningcss-dark,#7ee787);--hljs-heading:var(--lightningcss-light,#0550ae)var(--lightningcss-dark,#79c0ff);--hljs-list:var(--lightningcss-light,#953800)var(--lightningcss-dark,#ffa657);--hljs-inserted:var(--lightningcss-light,#116329)var(--lightningcss-dark,#7ee787);--hljs-inserted-bg:var(--lightningcss-light,#f0fff4)var(--lightningcss-dark,#033a16);--hljs-deleted:var(--lightningcss-light,#82071e)var(--lightningcss-dark,#ffa198);--hljs-deleted-bg:var(--lightningcss-light,#ffeef0)var(--lightningcss-dark,#67060c)}.hljs{color:var(--hljs-fg)}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:var(--hljs-keyword)}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:var(--hljs-entity)}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:var(--hljs-constant)}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:var(--hljs-string)}.hljs-built_in,.hljs-symbol{color:var(--hljs-variable)}.hljs-comment,.hljs-code,.hljs-formula{color:var(--hljs-comment)}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:var(--hljs-entity-tag)}.hljs-subst{color:var(--hljs-fg)}.hljs-section{color:var(--hljs-heading);font-weight:700}.hljs-bullet{color:var(--hljs-list)}.hljs-emphasis{color:var(--hljs-fg);font-style:italic}.hljs-strong{color:var(--hljs-fg);font-weight:700}.hljs-addition{color:var(--hljs-inserted);background-color:var(--hljs-inserted-bg)}.hljs-deletion{color:var(--hljs-deleted);background-color:var(--hljs-deleted-bg)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background-color:var(--color-editor-background);color:var(--color-editor-foreground)}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
3
3
  /*$vite$:1*/
package/dist/web/app.js CHANGED
@@ -8,7 +8,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
8
8
  `);function A(){i!==null&&r!==null&&(r.blocks.push(i),i=null)}function j(){r!==null&&(!r.oldName&&c!==null&&(r.oldName=c),!r.newName&&l!==null&&(r.newName=l),r.newName&&(n.push(r),r=null)),c=null,l=null}function M(){A(),j(),r={blocks:[],deletedLines:0,addedLines:0}}function N(e){A();let t;r!==null&&((t=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(e))?(r.isCombined=!1,a=parseInt(t[1],10),s=parseInt(t[2],10)):(t=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(e))?(r.isCombined=!0,a=parseInt(t[1],10),o=parseInt(t[2],10),s=parseInt(t[3],10)):(e.startsWith(`@@`)&&console.error(`Failed to parse lines, starting in 0!`),a=0,s=0,r.isCombined=!1)),i={lines:[],oldStartLine:a,oldStartLine2:o,newStartLine:s,header:e}}function P(e){if(r===null||i===null||a===null||s===null)return;let t={content:e},n=r.isCombined?[`+ `,` +`,`++`]:[`+`],o=r.isCombined?[`- `,` -`,`--`]:[`-`];Qi(e,n)?(r.addedLines++,t.type=qi.INSERT,t.oldNumber=void 0,t.newNumber=s++):Qi(e,o)?(r.deletedLines++,t.type=qi.DELETE,t.oldNumber=a++,t.newNumber=void 0):(t.type=qi.CONTEXT,t.oldNumber=a++,t.newNumber=s++),i.lines.push(t)}function ee(e,t){let n=t;for(;n<k.length-3;){if(e.startsWith(`diff`))return!1;if(k[n].startsWith(u)&&k[n+1].startsWith(d)&&k[n+2].startsWith(`@@`))return!0;n++}return!1}return k.forEach((e,a)=>{if(!e||e.startsWith(`*`))return;let o,s=k[a-1],A=k[a+1],j=k[a+2];if(e.startsWith(`diff --git`)||e.startsWith(`diff --combined`)){if(M(),(o=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(e))&&(c=ea(o[1],void 0,t.dstPrefix),l=ea(o[2],void 0,t.srcPrefix)),r===null)throw Error(`Where is my file !!!`);r.isGitDiff=!0;return}if(e.startsWith(`Binary files`)&&!r?.isGitDiff){if(M(),(o=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(e))&&(c=ea(o[1],void 0,t.dstPrefix),l=ea(o[2],void 0,t.srcPrefix)),r===null)throw Error(`Where is my file !!!`);r.isBinary=!0;return}if((!r||!r.isGitDiff&&r&&e.startsWith(u)&&A.startsWith(d)&&j.startsWith(`@@`))&&M(),r?.isTooBig)return;if(r&&(typeof t.diffMaxChanges==`number`&&r.addedLines+r.deletedLines>t.diffMaxChanges||typeof t.diffMaxLineLength==`number`&&e.length>t.diffMaxLineLength)){r.isTooBig=!0,r.addedLines=0,r.deletedLines=0,r.blocks=[],i=null,N(typeof t.diffTooBigMessage==`function`?t.diffTooBigMessage(n.length):`Diff too big to be displayed`);return}if(e.startsWith(u)&&A.startsWith(d)||e.startsWith(d)&&s.startsWith(u)){if(r&&!r.oldName&&e.startsWith(`--- `)&&(o=ta(e,t.srcPrefix))){r.oldName=o,r.language=Zi(r.oldName,r.language);return}if(r&&!r.newName&&e.startsWith(`+++ `)&&(o=na(e,t.dstPrefix))){r.newName=o,r.language=Zi(r.newName,r.language);return}}if(r&&(e.startsWith(`@@`)||r.isGitDiff&&r.oldName&&r.newName&&!i)){N(e);return}if(i&&(e.startsWith(`+`)||e.startsWith(`-`)||e.startsWith(` `))){P(e);return}let F=!ee(e,a);if(r===null)throw Error(`Where is my file !!!`);(o=f.exec(e))?r.oldMode=o[1]:(o=p.exec(e))?r.newMode=o[1]:(o=m.exec(e))?(r.deletedFileMode=o[1],r.isDeleted=!0):(o=h.exec(e))?(r.newFileMode=o[1],r.isNew=!0):(o=g.exec(e))?(F&&(r.oldName=o[1]),r.isCopy=!0):(o=_.exec(e))?(F&&(r.newName=o[1]),r.isCopy=!0):(o=v.exec(e))?(F&&(r.oldName=o[1]),r.isRename=!0):(o=y.exec(e))?(F&&(r.newName=o[1]),r.isRename=!0):(o=C.exec(e))?(r.isBinary=!0,r.oldName=ea(o[1],void 0,t.srcPrefix),r.newName=ea(o[2],void 0,t.dstPrefix),N(`Binary file`)):w.test(e)?(r.isBinary=!0,N(e)):(o=b.exec(e))?r.unchangedPercentage=parseInt(o[1],10):(o=x.exec(e))?r.changedPercentage=parseInt(o[1],10):(o=S.exec(e))?(r.checksumBefore=o[1],r.checksumAfter=o[2],o[3]&&(r.mode=o[3])):(o=T.exec(e))?(r.checksumBefore=[o[2],o[3]],r.checksumAfter=o[1]):(o=E.exec(e))?(r.oldMode=[o[2],o[3]],r.newMode=o[1]):(o=D.exec(e))?(r.newFileMode=o[1],r.isNew=!0):(o=O.exec(e))&&(r.deletedFileMode=o[1],r.isDeleted=!0)}),A(),j(),n}function ia(e){return ra(e).map(e=>e.blocks.map(e=>{let t=e.lines.map(e=>({kind:e.type,oldNo:e.oldNumber,newNo:e.newNumber,text:e.content.slice(1)})),n=t.filter(e=>e.kind!==`insert`).length;return{oldFirst:n===0?e.oldStartLine+1:e.oldStartLine,oldCount:n,lines:t}}))}var aa=U(null),oa=U(null),sa=kr();async function ca(){let e=sa.claim();oa.value=null;try{let{refs:t}=await Or(`/api/refs`);if(!sa.isCurrent(e))return;aa.value=t}catch(t){if(!sa.isCurrent(e))return;aa.value=null,oa.value=Er(t)}finally{sa.release(e)}}function la(e,t){let n=t.trim().toLowerCase();return n===``?e:e.filter(e=>e.name.toLowerCase().includes(n))}var ua={local:`refs/heads/`,remote:`refs/remotes/`},da=[``,`refs/`,`refs/heads/`,`refs/remotes/`];function fa(e,t){for(let n of da){let r=n+t,i=e.find(e=>e.kind!==`tag`&&ua[e.kind]+e.name===r);if(i!==void 0)return i}return null}var pa=U(null),ma=kr(),ha=null,ga=null;function _a(e){let{oid:t,upstream:n}=e.branch;return[t??``,n?.name??``,n?.ahead??0,n?.behind??0].join(`\0`)}function va(e){return ga===_a(e)?pa.value:null}async function ya(e){if(e===null)return;let t=_a(e);if(t===ha)return;ha=t;let n=ma.claim();try{let{refs:e}=await Or(`/api/refs`);if(!ma.isCurrent(n))return;pa.value=e,ga=t}catch{if(!ma.isCurrent(n))return;pa.value=null,ba()}finally{ma.release(n)}}function ba(){ha=null,ga=null}var xa=U(null),Sa=U(null),Ca=U(!1),wa=U(null),Ta=e=>({...e,anchor:e.head,offset:0});function Ea(e,t){if(e===null||e.head===null||t.head===null)return Ta(t);if(e.head===t.head)return e;let n=t.commits.findIndex(t=>t.sha===e.head);return n<=0||t.commits.slice(n).some((t,n)=>e.commits[n]?.sha!==t.sha)?Ta(t):{...e,head:t.head,commits:[...t.commits.slice(0,n),...e.commits],offset:e.offset+n}}var Da=Ar(Oa);async function Oa(){try{let e=await Or(`/api/commits`);Sa.value=null;let t=Ea(xa.value,e);if(t===xa.value)return;t.anchor!==xa.value?.anchor&&(wa.value=null),xa.value=t}catch(e){Sa.value=Er(e)}}function ka(e){let t=xa.value;return t===null||Sa.value!==null?!1:t.head===(e.branch.oid??null)}async function Aa(e){e!==null&&(ja=e,Fa(e,null)===null&&za(),await Promise.all([ka(e)?void 0:Da(),ya(e).then(()=>Ia(ja??e))]))}var ja=null,Ma=U(null),Na=U(null),Pa=null;function Fa(e,t){let{oid:n,upstream:r}=e.branch;if(r===null||r.behind===0||n===void 0)return null;if(t===null)return;let i=fa(t,r.name);return i===null?null:{head:n,upstream:i.sha}}async function Ia(e){let t=Fa(e,va(e));if(t!==void 0){if(t===null){za();return}(Pa?.head!==t.head||Pa.upstream!==t.upstream||Na.value!==null)&&(Pa=t,await La())}}var La=Ar(Ra);async function Ra(){let e=Pa;if(e!==null)try{let t=await Or(`/api/commits/incoming?${new URLSearchParams({...e})}`);if(Pa!==e)return;Na.value=null,Ma.value=t}catch(t){if(Pa!==e)return;Ma.value=null,Na.value=Er(t)}}function za(){Pa=null,Ma.value=null,Na.value=null}async function Ba(){let e=xa.value;if(e===null||e.anchor===null||!e.hasMore||Ca.value)return;Ca.value=!0,wa.value=null;let{anchor:t}=e,n=e.commits.length-e.offset;try{let e=await Or(`/api/commits?${new URLSearchParams({head:t,skip:String(n)})}`),r=xa.value;if(r===null||r.anchor!==t||r.commits.length-r.offset!==n)return;xa.value={...r,commits:[...r.commits,...e.commits],hasMore:e.hasMore}}catch(e){xa.value?.anchor===t&&(wa.value=Er(e))}finally{Ca.value=!1}}var Va=U(new Map);function Ha(e){return e===void 0||e.status===`loading`?{kind:`notice`,text:`Loading…`}:e.status===`error`?{kind:`error`,message:e.message}:e.detail.shallow?{kind:`notice`,text:`Shallow clone — parent not available`}:e.detail.files.length===0?{kind:`notice`,text:`No file changes`}:{kind:`files`,files:e.detail.files}}var Ua=U(new Set);async function Wa(e){Va.value=vn(Va.value,e,{status:`loading`});try{let t=await Or(`/api/commit?${new URLSearchParams({sha:e})}`);Va.value=vn(Va.value,e,{status:`ready`,detail:t})}catch(t){Va.value=vn(Va.value,e,{status:`error`,message:Er(t)})}}function Ga(e){let t=new Set(Ua.value);if(t.delete(e)){Ua.value=t;return}t.add(e),Ua.value=t,Ka(e)}function Ka(e){let t=Va.value.get(e);(t===void 0||t.status===`error`)&&Wa(e)}var qa=e=>e.slice(0,7);function Ja(e){try{return localStorage.getItem(e)}catch{return null}}function Ya(e,t){try{return t===null?localStorage.removeItem(e):localStorage.setItem(e,t),!0}catch{return!1}}var Xa=320,Za=U(320);function Qa(e){Za.value=Math.min(960,Math.max(200,Math.round(e)))}var $a=W(()=>`width:${Za.value}px;min-width:200px;max-width:min(960px,calc(100vw - ${Xa}px))`);function eo(){return Math.max(200,Math.min(Za.peek(),window.innerWidth-Xa))}var to=U(null),no=W(()=>{let e=to.value;return e===null?``:`cursor:${e.axis===`x`?`col`:`row`}-resize;user-select:none`}),ro=U(!1),io=U(!1),ao=U(50),oo=(e,t,n)=>Math.round(Math.min(n,Math.max(t,e))*10)/10;function so(e){ao.value=oo(e,15,85)}var co=W(()=>`flex:0 0 ${ao.value}%`),lo=U(50);function uo(e){lo.value=oo(e,20,80)}var fo=W(()=>`flex:0 0 ${lo.value}%`),po=[{key:`difftab:sidebar-width`,value:Za,set:Qa},{key:`difftab:pane-percent`,value:ao,set:so},{key:`difftab:split-percent`,value:lo,set:uo}];function mo(e){let t=Ja(e);if(t===null||t.trim()===``)return null;let n=Number(t);return Number.isFinite(n)?n:null}function ho(){let e=po.map(e=>{let t=mo(e.key);return t!==null&&e.set(t),{...e,last:e.value.peek()}});return Qt(()=>{if(to.value===null)for(let t of e){let e=t.value.value;e!==t.last&&Ya(t.key,String(e))&&(t.last=e)}})}function go(e){let t=[];for(let n=e.indexOf(`/`);n!==-1;n=e.indexOf(`/`,n+1))t.push(e.slice(0,n));return t}var _o=U(new Map),vo=U(new Set),yo=U(new Map),bo=kr();async function xo(e,t=!1){if(!t&&bo.pending(e))return;let n=bo.claim(e);try{let t=await Or(`/api/tree?${new URLSearchParams({path:e})}`);if(!bo.isCurrent(n,e))return;_o.value=vn(_o.value,e,t.entries),yo.value=yn(yo.value,e)}catch(t){if(!bo.isCurrent(n,e))return;yo.value=vn(yo.value,e,Er(t))}finally{bo.release(n,e)}}function So(e){let t=new Set(vo.value);t.has(e)?t.delete(e):(t.add(e),xo(e)),vo.value=t}function Co(){vo.value=new Set}function wo(e){let t=go(e).filter(e=>!vo.value.has(e));if(t.length!==0){for(let e of t)xo(e).then(()=>{yo.value.has(e)&&To(e)});vo.value=new Set([...vo.value,...t])}}function To(e){B(()=>{yo.value=yn(yo.value,e);let t=new Set(vo.value);t.delete(e),vo.value=t})}function Eo(){for(let e of[``,...vo.value])_o.value.has(e)&&xo(e,!0)}var J=U(null),Do=U(null),Oo={ignoreWhitespace:!1,fullContext:!1},ko=(e,t)=>e.ignoreWhitespace===t.ignoreWhitespace&&e.fullContext===t.fullContext;function Ao(e,t){let n=jo(e)??(e?.status===`ready`?e.options:null);return n===null||!ko(n,t)}function jo(e){return e?.status===`loading`?e.options:e?.status===`ready`?e.pending??null:null}var Mo=U(!1),No=U(!0),Po=U(!1),Fo=U(!1);function Io(e){return`preview`in e?e.preview:void 0}function Lo(e,t){let n=Io(e);if(!(n===void 0||!No.value))return t!==void 0&&nr(t)?void 0:n}var Ro=e=>e.kind===`text`&&e.markdown===!0;function zo(e,t){return!Ro(e)||!Po.value?!1:!nr(t)}var Bo=e=>({ignoreWhitespace:Mo.value,fullContext:Sr(e)===`full`});function Vo(e,t){t.ignoreWhitespace&&e.set(`ignoreWhitespace`,`1`),t.fullContext&&e.set(`fullContext`,`1`)}var Ho=(e,t)=>({ignoreWhitespace:e.ignoreWhitespace,fullContext:t.kind===`text`&&t.full}),Uo=(e,t)=>e.fullContext&&(t.kind===`text`&&!t.full||t.kind===`too-large`);function Wo(e){return e.oldPath===void 0?null:{oldPath:e.oldPath}}function Go({path:e,oldPath:t,sha:n}){let r=new URLSearchParams({path:e});return t&&r.set(`oldPath`,t),n!==void 0&&r.set(`sha`,n),r}function Ko(){let e=U(new Map),t=kr();return{states:e,tickets:t,set(t,n){e.value=vn(e.value,t,n)},forget(n){t.claim(n),e.value=yn(e.value,n)},forgetWhere(n){if(!qo(e.value,n))return;let r=[...e.value].filter(([e])=>!n(e));for(let r of e.value.keys())n(r)&&t.claim(r);e.value=new Map(r)}}}function qo(e,t){for(let n of e.keys())if(t(n))return!0;return!1}var Jo=Ko(),Yo=Jo.states;function Xo(e){return mi(e)?`U`:e.unstaged===`.`?e.staged===`.`?null:e.staged:e.unstaged}var Zo={U:0,M:1,T:2,R:3,C:4,D:5,A:6,"?":7},Qo=W(()=>{let e=new Map,t=(t,n)=>{let r=e.get(t);(r===void 0||Zo[n]<Zo[r])&&e.set(t,n)};for(let e of J.value?.files??[]){let n=Xo(e);if(n!==null){t(e.path,n);for(let r of go(e.path))t(r,n)}}return e}),$o=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`});function es(e,t){let n=e.split(`/`),r=t.split(`/`),i=n.length-1,a=r.length-1;for(let e=0;;e++){let t=e===i;if(t!==(e===a))return t?-1:1;let o=n[e]??``,s=r[e]??``,c=$o.compare(o,s)||(o<s?-1:+(o>s));if(c!==0)return c;if(t)return 0}}var ts=e=>[...e].sort((e,t)=>es(e.path,t.path));function ns(e){return[{id:`conflicted`,title:`Merge Changes`,files:ts(e.filter(mi))},{id:`staged`,title:`Staged Changes`,files:ts(e.filter(di))},{id:`unstaged`,title:`Changes`,files:ts(e.filter(e=>fi(e)||pi(e)))}]}function rs(e){let t=new Set,n=[];for(let r of ns(e))for(let e of r.files)t.has(e.path)||(t.add(e.path),n.push(e));return n}var is=kr();async function as(){let e=is.claim();try{let t=await Or(`/api/state`);return is.isCurrent(e)?(J.value=t,Do.value=null,!0):!1}catch(t){return is.isCurrent(e)&&(Do.value=Er(t)),!1}}function os(e){if(!br(K(e)))switch(e.kind){case`diff`:Jo.forget(e.path);return;case`file`:ys.forget(e.path),Cs.forget(e.path);return;case`commit`:Os.forget(K(e));return;case`commit-changes`:Vs(e.sha);return;case`changes`:Ws.forgetWhere(()=>!0);return}}async function ss(e){let{path:t}=e,n=Jo.tickets.claim(t),r=Wo(e),i=Ln(`diff`,t),a=Bo(yr(i));Yo.value.get(t)?.status!==`ready`&&Jo.set(t,{status:`loading`,rename:r,options:a});try{let o=Go(e);Vo(o,a);let s=await Or(`/api/diff?${o}`);if(!Jo.tickets.isCurrent(n,t))return;B(()=>{Jo.set(t,{status:`ready`,rename:r,payload:s,options:Ho(a,s)}),Uo(a,s)&&wr(i,`unavailable`)})}catch(e){if(!Jo.tickets.isCurrent(n,t))return;Jo.set(t,{status:`error`,rename:r,message:Er(e)})}}function cs(e){let t=rr(`diff`,e.path);t!==null&&os(t),ss(e)}async function ls(){_s.value===`files`&&Eo();let e=li(_s.value===`search`),t=Xn.value;for(let e of t)e.kind===`file`&&xs(e.path);if(!await as())return;let n=[...new Set(t.filter(e=>e.kind===`file`).map(e=>e.path))].map(Ts),r=vs.value?Aa(J.value):null,i=J.value?.files??[],a=new Map(i.map(e=>[e.path,e])),o=new Map(i.flatMap(e=>e.oldPath===void 0?[]:[[e.oldPath,e]]));B(()=>{let e=[];for(let t of Gn.value)for(let n of t.editors.value){if(n.kind!==`diff`)continue;let r=a.get(n.path)??o.get(n.path);r===void 0?(ur(K(n),t),e.push(n)):r.path!==n.path&&(_r(`diff`,n.path,r.path,t),e.push(n))}for(let t of e)os(t);br(Ln(`changes`))&&Ws.forgetWhere(e=>!a.has(e))});let s=new Set(t.filter(e=>e.kind===`file`).map(K)),c=Xn.value.filter(e=>!s.has(K(e))).map(e=>ds(e));await Promise.all([r,...n,...c,e])}function us(e,t=q.value){let n=lr(e,t);n!==null&&ds(n)}function ds(e){if(e.kind===`changes`)return Promise.resolve();if(e.kind===`commit-changes`)return Ka(e.sha),Promise.resolve();if(e.kind===`commit`)return Ao(ks.value.get(K(e)),Bo(e))?js(e):Promise.resolve();if(e.kind===`file`)return Ds(e.path);let t=fs(e);return t===void 0?Promise.resolve():ss(t)}var fs=e=>J.value?.files.find(t=>t.path===e.path);function ps(e,t=q.value){let n=t.active.value,r=ur(e,t);if(r===null)return;os(r);let i=t.active.value;i!==null&&i!==n&&ds(i)}function ms(e,t,n,r){gs(e,()=>fr(e,t,n,r))}function hs(e,t,n){gs(e,()=>mr(e,t,n))}function gs(e,t){let n=e.active.value,r=t();if(r===null)return;(n===null||K(n)!==K(r))&&ds(r);let i=e.active.value;i!==null&&i!==n&&ds(i)}var _s=U(`changes`),vs=W(()=>_s.value===`changes`&&!io.value&&J.value!==null),ys=Ko(),bs=ys.states;async function xs(e){let t=ys.tickets.claim(e);bs.value.get(e)?.status!==`ready`&&ys.set(e,{status:`loading`});try{let n=await Or(`/api/file?${new URLSearchParams({path:e})}`);if(!ys.tickets.isCurrent(t,e))return;ys.set(e,{status:`ready`,payload:n})}catch(n){if(!ys.tickets.isCurrent(t,e))return;ys.set(e,{status:`error`,message:Er(n)})}}function Ss(e,{pinned:t=!1,line:n}={}){let r=rr(`file`,e,t);r!==null&&os(r),tr(e,n),Ds(e)}var Cs=Ko(),ws=Cs.states;async function Ts(e){let t=Js.value.get(e);if(t===void 0||gi(t))return Cs.forget(e);let n=Cs.tickets.claim(e);try{let r=await Or(`/api/diff?${Go(t)}`);if(!Cs.tickets.isCurrent(n,e))return;if(r.kind!==`text`)return Cs.forget(e);let i=Ki(ia(r.patch));Es(ws.value.get(e),i)||Cs.set(e,i)}catch{Cs.tickets.isCurrent(n,e)&&Cs.forget(e)}}var Es=(e,t)=>e?.length===t.length&&e.every((e,n)=>e.kind===t[n]?.kind&&e.line===t[n]?.line&&e.count===t[n]?.count);function Ds(e){return Promise.all([xs(e),Ts(e)]).then(()=>{})}var Os=Ko(),ks=Os.states;async function As(e,t,n,r,i){let a=e.tickets.claim(t),o=Wo(n),s=e.states.value.get(t);e.set(t,s?.status===`ready`?{...s,pending:r}:{status:`loading`,rename:o,options:r});try{let s=Go(n);Vo(s,r);let c=await Or(`${n.sha===void 0?`/api/diff`:`/api/commit-diff`}?${s}`);if(!e.tickets.isCurrent(a,t))return;B(()=>{e.set(t,{status:`ready`,rename:o,payload:c,options:Ho(r,c)}),Uo(r,c)&&i()})}catch(n){if(!e.tickets.isCurrent(a,t))return;e.set(t,{status:`error`,rename:o,message:Er(n)})}}function js(e){let t=K(e);return As(Os,t,e,Bo(e),()=>wr(t,`unavailable`))}function Ms(e,t){let n=ir(e,t.path,t.oldPath);n!==null&&os(n);let r=Yn.value;r!==null&&ds(r)}function Ns(e){let t=Ko(),n=U(new Map),r=new Map,i=e=>n.value.get(e)??`hunks`,a=(e,t)=>{n.value=vn(n.value,e,t)},o=n=>e!==void 0&&jo(t.states.value.get(n))===null&&r.get(n)!==e.value;function s(n,s){let c={ignoreWhitespace:Mo.value,fullContext:i(n)===`full`};!Ao(t.states.value.get(n),c)&&!o(n)||(e!==void 0&&r.set(n,e.value),As(t,n,s,c,()=>a(n,`unavailable`)))}return{states:t.states,contexts:n,contextOf:i,outdated:o,ensure:s,expand(e,t){i(e)===`hunks`&&(a(e,`full`),s(e,t))},forgetWhere(e){B(()=>{t.forgetWhere(e),qo(n.value,e)&&(n.value=new Map([...n.value].filter(([t])=>!e(t))))});for(let t of[...r.keys()])e(t)&&r.delete(t)}}}var Ps=Ns(),Fs=Ps.states;Ps.contexts;var Is=Ps.contextOf,Ls=(e,t)=>`${e}:${t}`,Rs=(e,t)=>t.startsWith(Ls(e,``)),zs=(e,t)=>Ps.ensure(Ls(e,t.path),{...t,sha:e}),Bs=(e,t)=>Ps.expand(Ls(e,t.path),{...t,sha:e});function Vs(e){Ps.forgetWhere(t=>Rs(e,t))}function Hs(e){let t=ar(e.sha,e.subject);t!==null&&os(t),Ka(e.sha)}var Us=0,Ws=Ns(W(()=>(J.value,++Us))),Gs=Ws.states;Ws.contexts;var Ks=Ws.contextOf,qs=Ws.outdated,Js=W(()=>new Map((J.value?.files??[]).map(e=>[e.path,e]))),Ys=e=>Js.value.get(e);function Xs(e){let t=Ys(e);t!==void 0&&Ws.ensure(e,t)}function Zs(e){let t=Ys(e);t!==void 0&&Ws.expand(e,t)}function Qs(){let e=or();e!==null&&os(e)}function $s(){Mo.value=!Mo.value;for(let e of Xn.value)xr(e)&&ds(e)}function ec(){Fo.value=!Fo.value}function tc(e,t){let n=t.kind===`file`?bs.peek().get(t.path):void 0,r=n?.status===`ready`&&Ro(n.payload)?Po:No;B(()=>{!e&&t.kind===`file`&&tr(t.path),r.value=!e})}function nc(e){let t=yr(e);if(!xr(t)||Sr(t)!==`hunks`||t.kind===`diff`&&fs(t)===void 0)return;wr(e,`full`);let n=yr(e);n!==void 0&&ds(n)}var rc=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform),ic={goToFile:{label:`Go to File`,key:`P`},search:{label:`Search`,key:`F`,shift:!0},splitEditor:{label:`Split Editor`,key:`\\`}};function ac({key:e,shift:t=!1},n=rc){return n?[...t?[`⇧`]:[],`⌘`,e]:[`Ctrl`,...t?[`Shift`]:[],e]}function oc(e,t,n=rc){return t===void 0?e:`${e} (${ac(t,n).join(n?``:`+`)})`}var sc=(e,{key:t,shift:n=!1})=>e.key.toLowerCase()===t.toLowerCase()&&e.shiftKey===n;function cc(e,t=rc){!(t?e.metaKey:e.ctrlKey)||e.altKey||(sc(e,ic.goToFile)?(e.preventDefault(),jr.value=!0):sc(e,ic.search)?(e.preventDefault(),jr.value=!1,_s.value=`search`,$r()):sc(e,ic.splitEditor)&&(e.preventDefault(),!e.repeat&&!jr.value&&gr()))}var lc=`difftab`;function uc(e){return e?`${e} · ${lc}`:lc}var dc=W(()=>J.value?.repoName??``);function fc(){return Qt(()=>{document.title=uc(dc.value)})}var pc=0;Array.isArray;function Y(e,t,n,r,i,a){t||={};var o,s,c=t;if(`ref`in c)for(s in c={},t)s==`ref`?o=t[s]:c[s]=t[s];var l={type:e,props:c,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--pc,__i:-1,__u:0,__source:i,__self:a};if(typeof e==`function`&&(o=e.defaultProps))for(s in o)c[s]===void 0&&(c[s]=o[s]);return u.vnode&&u.vnode(l),l}function mc({tone:e,title:t,children:n}){return Y(`span`,{class:`shrink-0 rounded-sm bg-warning-background px-1.5 py-0.5 text-xs ${e}`,title:t,children:n})}function hc(e,t,n,r){let i=new Map,a=(e,t)=>{let n=i.get(e);n===void 0?i.set(e,[t]):n.push(t)};e!==``&&t!==``&&a(t,{role:`head`,kind:`local`,name:e}),n!==null&&n.kind!==`tag`&&a(n.sha,{role:`upstream`,kind:n.kind,name:n.name});for(let t of r){if(t.kind===`local`&&t.name===e||n!==null&&t.kind===n.kind&&t.name===n.name)continue;let r=i.get(t.sha)?.at(-1);r?.role===`group`&&r.kind===t.kind?r.names.push(t.name):a(t.sha,{role:`group`,kind:t.kind,names:[t.name]})}return i}var gc=W(()=>{let e=J.value?.branch;return e===void 0||e.detached?``:e.head}),_c=W(()=>J.value?.branch.oid??``),vc=W(()=>J.value?.branch.upstream?.name??``),yc=W(()=>{let e=pa.value,t=vc.value;return e===null||t===``?null:fa(e,t)});function bc(e,t){let n=e.size!==t.size,r=new Map;for(let[i,a]of t){let t=e.get(i),o=t!==void 0&&JSON.stringify(t)===JSON.stringify(a);r.set(i,o?t:a),o||(n=!0)}return n?r:e}var xc=new Map,Sc=W(()=>(xc=bc(xc,hc(gc.value,_c.value,yc.value,pa.value??[])),xc));function Cc({icon:e,size:t=16,class:n}){return Y(e,{size:t,"aria-hidden":`true`,class:n})}var wc={diff:ft,file:dt,commit:_t,"commit-changes":vt,changes:vt},Tc={local:gt,remote:st,tag:Dt},Ec=`shrink-0 rounded-sm p-0.5 focus-visible:outline-2 focus-visible:outline-focus-border`;function Dc({icon:e,label:t,shortcut:n,popup:r=!1,buttonRef:i=null,onClick:a}){let o=Ue(()=>Y(Cc,{icon:e}),[e]);return Y(`button`,{type:`button`,ref:i,onClick:a,class:`${Ec} text-description-foreground hover:bg-toolbar-hover-background`,title:oc(t,n),"aria-label":t,"aria-haspopup":r?`dialog`:void 0,children:o})}var Oc=`bg-list-active-selection-background text-list-active-selection-foreground`,kc=`flex w-full gap-1.5 pr-3 text-left focus-visible:-outline-offset-2 focus-visible:outline-2 focus-visible:outline-focus-border`,Ac=12,jc=e=>({paddingLeft:`${(e+1)*Ac}px`}),Mc=`group/tree`,Nc=`relative after:pointer-events-none after:absolute after:inset-y-0 after:left-[var(--guide-x,0)] after:w-px after:bg-tree-inactive-indent-guides-stroke after:opacity-0 group-hover/tree:after:opacity-100 pointer-coarse:after:opacity-100`;function Pc({depth:e,children:t}){let n=e>0;return Y(`ul`,{class:n?Nc:void 0,style:n?{"--guide-x":`${e*Ac+6}px`}:void 0,children:t})}function Fc({expanded:e}){return Y(Cc,{icon:at,size:12,class:`shrink-0 ${e?`rotate-90`:``}`})}function Ic(){return Y(`span`,{class:`w-3 shrink-0`})}function Lc({text:e,depth:t}){return Y(`li`,{class:`${kc} text-description-foreground`,style:jc(t),title:e,children:[Y(Ic,{}),Y(`span`,{class:`min-w-0 truncate`,children:e})]})}var Rc=`hidden group-hover:flex group-has-focus-visible:flex pointer-coarse:flex`,zc=`group relative hover:bg-list-hover-background`,Bc=`${Rc} absolute inset-y-0 items-center [&>*]:opacity-75 [&>*:hover]:opacity-100 [&>*:focus-visible]:opacity-100`,Vc=`right-9.5`,Hc=`right-3`,Uc=[``,`w-5`,`w-10`];function Wc({actions:e,badge:t,sublevel:n,buttonRef:r=null,children:i,...a}){let o=se(e),s=t?Vc:Hc;return Y(`li`,{children:[Y(`div`,{class:zc,children:[Y(`button`,{type:`button`,ref:r,...a,children:[i,o.length>0&&Y(`span`,{class:`hidden group-hover:flex group-has-focus-visible:flex pointer-coarse:flex shrink-0 ${Uc[o.length]}`}),t]}),Y(`span`,{class:`${Bc} ${s}`,children:o})]}),n]})}var Gc=1500;function Kc(){let e=un(null),t=R();return Ve(()=>()=>clearTimeout(t.current),[]),{copied:e,copy:n=>new Promise(e=>e(navigator.clipboard.writeText(n))).then(()=>{e.value=n,clearTimeout(t.current),t.current=setTimeout(()=>{e.value=null},Gc)},()=>{})}}function qc({text:e,label:t}){let{copied:n,copy:r}=Kc(),i=n.value!==null;return Y(Dc,{icon:i?it:lt,label:i?`Copied`:t,onClick:()=>r(e)})}function Jc({path:e}){return Y(qc,{text:e,label:`Copy path`})}var Yc={".":`Unmodified`,M:`Modified`,T:`Type changed`,A:`Added`,D:`Deleted`,R:`Renamed`,C:`Copied`,U:`Conflict`,"?":`Untracked`},Xc={U:`!`,"?":`U`},Zc=e=>Xc[e]??e;function Qc(e){let t=e.lastIndexOf(`/`);return t===-1?{dir:``,name:e}:{dir:e.slice(0,t),name:e.slice(t+1)}}var $c={".":`text-description-foreground`,M:`text-git-modified`,T:`text-git-modified`,A:`text-git-added`,D:`text-git-deleted`,R:`text-git-renamed`,C:`text-git-added`,U:`text-git-conflicting`,"?":`text-git-untracked`},el=`ml-auto w-5 shrink-0 opacity-75`,tl=`${el} text-center font-mono text-xs`;function nl({code:e}){return Y(`span`,{title:Yc[e],class:`${tl} ${$c[e]}`,children:Zc(e)})}function rl({staged:e,unstaged:t}){return Y(`span`,{title:`${Yc.U} (${e}${t})`,class:`${tl} ${$c.U}`,children:Zc(`U`)})}var il=`${kc} items-baseline`,al=`${kc} items-center`;function ol({file:e,group:t,treeDepth:n}){let{dir:r,name:i}=Qc(e.path),a=n!==void 0,o=!hi(e),s=mi(e)?`U`:t===`staged`?e.staged:e.unstaged,c=G(()=>`${il} ${Zn.value===e.path?Oc:``}`);return Y(Wc,{onClick:()=>cs(e),onDblClick:()=>cr(Ln(`diff`,e.path)),title:e.path,class:c,style:jc(n??0),badge:mi(e)?Y(rl,{staged:e.staged,unstaged:e.unstaged}):Y(nl,{code:s}),actions:[Y(Jc,{path:e.path},`copy`),o&&Y(Dc,{icon:pt,label:`Open file`,onClick:()=>Ss(e.path,{pinned:!0})},`open`)],children:[a&&Y(Ic,{}),Y(`span`,{class:`min-w-0 truncate`,children:[Y(`span`,{class:s===`D`?`line-through`:void 0,children:i}),r&&!a&&Y(`span`,{class:`ml-2 text-xs text-description-foreground`,children:r})]})]})}function sl({node:e,scope:t,depth:n,renderFile:r}){let i=G(()=>!Tn(t,e.path)).value;return Y(Wc,{onClick:()=>En(t,e.path),title:e.path,"aria-expanded":i,class:al,style:jc(n),actions:Y(Jc,{path:e.path}),sublevel:i&&Y(cl,{nodes:e.children,scope:t,depth:n+1,renderFile:r}),children:[Y(Fc,{expanded:i}),Y(`span`,{class:`min-w-0 truncate`,children:e.name})]})}function cl({nodes:e,scope:t,depth:n,renderFile:r}){return Y(Pc,{depth:n,children:e.map(e=>e.kind===`directory`?Y(sl,{node:e,scope:t,depth:n,renderFile:r},e.path):Y(N,{children:r(e.file,n)},e.file.path))})}function ll({group:e}){return Y(cl,{nodes:Ue(()=>An(e.files),[e.files]),scope:e.id,depth:0,renderFile:(t,n)=>Y(ol,{file:t,group:e.id,treeDepth:n})})}var ul=`px-3 text-xs/6 font-medium text-description-foreground`;function dl({group:e}){return e.files.length===0?null:Y(`section`,{children:[Y(`h2`,{class:`sticky top-0 z-10 bg-side-bar-section-header-background ${ul}`,children:[e.title,Y(`span`,{class:`ml-1`,children:e.files.length})]}),xn.value===`tree`?Y(ll,{group:e}):Y(`ul`,{children:e.files.map(t=>Y(ol,{file:t,group:e.id},t.path))})]})}function fl({files:e}){return Y(`div`,{children:Ue(()=>ns(e),[e]).map(e=>Y(dl,{group:e},e.id))})}function pl({children:e}){return Y(`p`,{class:`flex h-full items-center justify-center px-3 text-center text-description-foreground`,children:e})}function ml(){return Y(`div`,{class:`flex min-h-0 flex-1 flex-col overflow-auto p-4 text-sm text-description-foreground`,children:Y(`dl`,{class:`m-auto grid grid-cols-[auto_auto] items-center gap-x-8 gap-y-2`,children:Object.values(ic).map(e=>Y(N,{children:[Y(`dt`,{children:e.label}),Y(`dd`,{"aria-hidden":`true`,class:`flex justify-end gap-1`,children:ac(e).map(e=>Y(`kbd`,{class:`min-w-5 rounded border border-keybinding-label-border border-b-keybinding-label-bottom-border bg-keybinding-label-background px-1 text-center font-sans text-xs`,children:e},e))})]},e.label))})})}var hl=`${kc} items-center`,gl=`${kc} items-baseline`,_l=new Intl.RelativeTimeFormat(`en`,{numeric:`auto`}),vl=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60]];function yl(e,t=Date.now()){let n=e-Math.floor(t/1e3);if(n>0)return`now`;for(let[e,t]of vl)if(-n>=t)return _l.format(Math.trunc(n/t),e);return`now`}function bl(e,t=Date.now()){let n=new Date(e.time*1e3).toLocaleString();return[e.subject,e.body,`${qa(e.sha)} · ${e.author} · ${yl(e.time,t)} (${n})`].filter(e=>e!==``).join(`
9
9
 
10
10
  `)}var xl={local:{bg:`bg-scm-graph-history-item-ref/20`,icon:`text-scm-graph-history-item-ref`},remote:{bg:`bg-scm-graph-history-item-remote-ref/20`,icon:`text-scm-graph-history-item-remote-ref`}},Sl={bg:`bg-list-hover-background`,icon:`text-description-foreground`},Cl=e=>e.role===`group`?Sl:xl[e.kind],wl=(e,t)=>e.role===`group`?e.names.join(t):e.name;function Tl({badge:e}){let t=Cl(e);return Y(`span`,{class:`flex h-4 max-w-32 shrink-0 items-center gap-0.5 rounded-sm px-1 text-xs ${t.bg}`,title:wl(e,`
11
- `),role:`img`,"aria-label":wl(e,`, `),children:[e.role===`group`&&e.names.length>1&&Y(`span`,{children:e.names.length}),Y(Cc,{icon:Tc[e.kind],size:12,class:`shrink-0 ${t.icon}`}),e.role===`head`&&Y(`span`,{class:`truncate`,children:e.name})]})}function El({sha:e,file:t,treeDepth:n}){let{dir:r,name:i}=Qc(t.path),a=n!==void 0,o=Ln(`commit`,t.path,e),s=G(()=>`${gl} ${Jn.value===o?Oc:``}`);return Y(Wc,{onClick:()=>Ms(e,t),onDblClick:()=>cr(o),title:t.path,class:s,style:jc(n??1),badge:Y(nl,{code:t.status}),actions:Y(Jc,{path:t.path}),children:[Y(Ic,{}),Y(`span`,{class:`min-w-0 truncate`,children:[i,r&&!a&&Y(`span`,{class:`ml-2 text-xs text-description-foreground`,children:r})]}),t.oldPath&&Y(`span`,{class:`min-w-0 truncate text-xs text-description-foreground`,children:[`← `,t.oldPath]})]})}function Dl({sha:e,files:t}){return Y(cl,{nodes:Ue(()=>An(t),[t]),scope:`commit:${e}`,depth:1,renderFile:(t,n)=>Y(El,{sha:e,file:t,treeDepth:n})})}function Ol({sha:e}){let t=Ha(G(()=>Va.value.get(e)).value),n=xn.value===`tree`;if(t.kind!==`files`){let e=Y(Lc,{text:t.kind===`error`?t.message:t.text,depth:1});return n?Y(Pc,{depth:1,children:e}):Y(`ul`,{children:e})}return n?Y(Dl,{sha:e,files:t.files}):Y(`ul`,{children:t.files.map(t=>Y(El,{sha:e,file:t},t.path))})}function kl({commit:e}){let t=G(()=>Ua.value.has(e.sha)).value,n=G(()=>Sc.value.get(e.sha)).value;return Y(Wc,{onClick:()=>Ga(e.sha),title:bl(e),"aria-expanded":t,class:hl,style:jc(0),actions:[Y(Dc,{icon:wc[`commit-changes`],label:`Open Changes`,onClick:()=>Hs(e)},`open`),Y(qc,{text:e.sha,label:`Copy commit hash`},`copy`)],sublevel:t&&Y(Ol,{sha:e.sha}),children:[Y(Fc,{expanded:t}),Y(`span`,{class:`min-w-0 grow truncate`,children:[e.subject,Y(`span`,{class:`ml-2 text-xs text-description-foreground`,children:e.author})]}),n?.map(e=>Y(Tl,{badge:e},`${e.role}:${e.kind}`))]})}function Al({list:e}){let t=R(null);Ve(()=>{let e=t.current;if(e===null)return;let n=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&wa.value===null&&Ba()});return n.observe(e),()=>n.disconnect()},[e]);let n=Ca.value,r=wa.value;return Y(`li`,{ref:t,children:Y(`button`,{type:`button`,disabled:n,onClick:()=>void Ba(),class:`${kc} text-description-foreground hover:bg-list-hover-background hover:text-editor-foreground disabled:cursor-default`,style:jc(0),children:Y(`span`,{class:`min-w-0 truncate`,children:n?`Loading…`:r===null?`Load more`:`${r} — click to retry`})})})}function jl(){let e=G(()=>J.value?.branch.upstream?.behind??0).value,t=Ma.value,n=Na.value;if(t===null&&n===null)return null;let r=t?.hasMore?e-t.commits.length:0;return Y(`section`,{class:`border-b border-panel-border`,children:[Y(`h3`,{class:ul,title:`As of the last fetch`,children:[`Incoming · `,Y(`span`,{class:`font-mono`,children:[e,`↓`]})]}),Y(`ul`,{children:[n!==null&&Y(Lc,{text:n,depth:0}),t?.commits.map(e=>Y(kl,{commit:e},e.sha)),r>0&&Y(Lc,{text:`+${r} more`,depth:0})]})]})}function Ml(){let e=xa.value,t=Sa.value;return e===null?Y(pl,{children:t===null?`Loading…`:`Could not load the history. ${t}`}):e.commits.length===0?Y(pl,{children:`No commits yet`}):Y(N,{children:[Y(jl,{}),Y(`ul`,{children:[e.commits.map(e=>Y(kl,{commit:e},e.sha)),e.hasMore&&Y(Al,{list:e})]})]})}function Nl({idPrefix:e,label:t,inputLabel:n,placeholder:r,anchor:i,match:a,keyOf:o,Row:s,groupOf:c,context:l,status:u,noMatch:d,onPick:f,onClose:p}){let m=un(``),h=un(0),g=R(null),_=R(null),v=R(p);v.current=p;let y=t=>`${e}-option-${t}`,b=`${e}-listbox`;Ve(()=>{g.current?.focus()},[]),He(()=>{let e=e=>{let t=e.target;_.current?.contains(t)||i.current?.contains(t)||v.current()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[i]);let x=G(()=>a(m.value)).value,S=x.slice(0,200),C=Math.min(h.value,Math.max(S.length-1,0));Ve(()=>{document.getElementById(y(C))?.scrollIntoView?.({block:`nearest`})},[C]);let w=e=>{e!==void 0&&(p(),f(e))},T=R(w);T.current=w;let E=We(e=>T.current(e),[]),D=We(e=>{h.value!==e&&(h.value=e)},[h]),O=R(()=>{}),k=We(e=>O.current(e),[]),A=e=>{let t=S.length,n=Math.min(h.value,t-1);if(e.key===`Escape`)e.preventDefault(),p();else if(e.key===`Enter`)e.preventDefault(),w(S[n]);else if((e.key===`ArrowDown`||e.key===`ArrowUp`)&&t>0){e.preventDefault();let r=e.key===`ArrowDown`?1:-1;h.value=(n+r+t)%t}};O.current=A;let j=u??(S.length===0?d(m.value):null);return Y(`div`,{ref:_,role:`dialog`,"aria-label":t,class:`fixed top-2 left-1/2 z-50 flex w-150 max-w-[calc(100vw-2rem)] -translate-x-1/2 flex-col rounded-md border border-panel-border bg-side-bar-background p-1 text-sm shadow-lg`,children:[Y(`input`,{ref:g,type:`text`,role:`combobox`,"aria-expanded":`true`,"aria-controls":b,"aria-activedescendant":S.length>0?y(C):void 0,"aria-label":n,placeholder:r,spellcheck:!1,autocomplete:`off`,value:m.value,onInput:e=>{m.value=e.currentTarget.value,h.value=0},onKeyDown:A,class:`mb-1 rounded-sm border border-focus-border bg-editor-background px-2 py-1 outline-none`}),j!==null&&Y(`p`,{class:`px-2 py-1 text-description-foreground`,children:j}),Y(`div`,{id:b,role:`listbox`,class:`max-h-110 overflow-auto`,children:S.map((e,t)=>{let n=S[t-1],r=c!==void 0&&(n===void 0||c(n)!==c(e));return Y(Pl,{id:y(t),item:e,index:t,selected:t===C,first:r,context:l,Row:s,onHover:D,onPick:E,onKeyDown:k},o(e))})}),x.length>S.length&&Y(`p`,{class:`px-2 py-1 text-xs text-description-foreground`,children:[x.length-S.length,` more — type to filter`]})]})}var Pl=class extends P{shouldComponentUpdate(e){return Object.keys(e).some(t=>e[t]!==this.props[t])}render(){let{id:e,item:t,index:n,selected:r,first:i,context:a,Row:o,onHover:s,onPick:c,onKeyDown:l}=this.props;return Y(`div`,{id:e,role:`option`,tabIndex:-1,"aria-selected":r,class:`cursor-pointer rounded-sm px-2 py-0.5 ${r?Oc:``} ${i&&n>0?`mt-1 border-t border-panel-border`:``}`,onMouseMove:()=>s(n),onClick:()=>c(t),onKeyDown:l,children:Y(o,{item:t,first:i,context:a})})}},Fl={local:`branches`,remote:`remote branches`,tag:`tags`};function Il({current:e,anchor:t,onPick:n,onClose:r}){Ve(()=>{ca()},[]);let i=aa.value,a=null;return oa.value===null?i===null?a=`Loading…`:i.length===0&&(a=`No branches or tags`):a=oa.value,Y(Nl,{idPrefix:`branch-picker`,label:`Branches and tags`,inputLabel:`Filter branches and tags`,placeholder:`Select a branch or tag to copy`,anchor:t,match:e=>aa.value===null?[]:la(aa.value,e),keyOf:e=>`${e.kind}:${e.name}`,Row:Ll,groupOf:e=>e.kind,context:e,status:a,noMatch:()=>`No matching branches or tags`,onPick:e=>n(e.name),onClose:r})}function Ll({item:e,first:t,context:n}){let r=e.kind===`local`&&e.name===n;return Y(N,{children:[Y(`div`,{class:`flex items-center gap-1.5`,children:[Y(Cc,{icon:Tc[e.kind],size:14,class:`shrink-0`}),Y(`span`,{class:`truncate`,children:e.name}),e.time>0&&Y(`span`,{class:`shrink-0 text-xs text-description-foreground`,children:yl(e.time)}),Y(`span`,{class:`flex-1`}),r&&Y(Cc,{icon:it,size:14,class:`shrink-0`}),t&&Y(`span`,{class:`shrink-0 text-xs text-description-foreground`,children:Fl[e.kind]})]}),e.subject!==``&&Y(`div`,{class:`truncate pl-5 text-xs text-description-foreground`,children:[e.author,` • `,qa(e.sha),` • `,e.subject]})]})}var Rl=e=>e===0?`text-description-foreground`:``,zl=e=>`${e} commit${e===1?``:`s`}`;function Bl({upstream:e}){return e===null?Y(`span`,{class:`text-description-foreground`,title:`The current branch has no upstream`,children:`no upstream`}):Y(N,{children:[Y(`span`,{class:`font-mono ${Rl(e.behind)}`,title:`${zl(e.behind)} behind upstream`,children:[e.behind,`↓`]}),Y(`span`,{class:`font-mono ${Rl(e.ahead)}`,title:`${zl(e.ahead)} ahead of upstream`,children:[e.ahead,`↑`]})]})}var Vl={rebase:`Rebasing`,am:`Applying patches`,merge:`Merging`,"cherry-pick":`Cherry-picking`,revert:`Reverting`,bisect:`Bisecting`};function Hl({operation:e}){return e===void 0?null:Y(mc,{tone:`text-git-conflicting`,title:`This repository is in the middle of an unfinished multi-step git operation. difftab is read-only and will neither continue nor abort it.`,children:Vl[e]})}function Ul({branch:e}){let t=e.detached?`Detached HEAD`:e.head||`Unknown branch`,n=e.detached?`Not on any branch (detached HEAD)`:t,r=e.upstream!==null||!e.detached,i=un(!1),{copied:a,copy:o}=Kc(),s=R(null);return Y(`span`,{class:`flex min-w-0 items-baseline gap-2 text-xs`,children:[Y(`button`,{ref:s,type:`button`,class:`flex min-w-0 items-baseline gap-2 rounded-sm hover:bg-toolbar-hover-background focus-visible:outline-2 focus-visible:outline-focus-border`,title:a.value===null?n:`Copied ${a.value}`,"aria-haspopup":`dialog`,onClick:()=>{i.value=!i.value},children:[Y(Cc,{icon:a.value===null?gt:it,size:14,class:`shrink-0 self-center`}),Y(`span`,{class:`max-w-60 truncate`,children:t})]}),i.value&&Y(Il,{current:e.detached||e.head===``?null:e.head,anchor:s,onPick:e=>void o(e),onClose:()=>{i.value=!1,s.current?.focus()}}),r&&Y(Bl,{upstream:e.upstream}),Y(Hl,{operation:e.operation})]})}function Wl(e){return e.replace(/&/gm,`&amp;`).replace(/</gm,`&lt;`).replace(/>/gm,`&gt;`)}function Gl(e){return e.nodeName.toLowerCase()}function Kl(e){let t=[],n=(e,r)=>{for(let i=e.firstChild;i;i=i.nextSibling)i.nodeType===3&&i.nodeValue!==null?r+=i.nodeValue.length:i.nodeType===1&&(t.push({event:`start`,offset:r,node:i}),r=n(i,r),Gl(i).match(/br|hr|img|input/)||t.push({event:`stop`,offset:r,node:i}));return r};return n(e,0),t}function ql(e,t,n){let r=0,i=``,a=[];function o(e){return e!==null&&e?.attributes!==void 0}function s(){return!e.length||!t.length?e.length?e:t:e[0].offset===t[0].offset?t[0].event===`start`?e:t:e[0].offset<t[0].offset?e:t}function c(e){if(!o(e))throw Error(`Node is not an Element`);i+=`<${Gl(e)} ${[].map.call(e.attributes,e=>`${e.nodeName}="${Wl(e.value).replace(/"/g,`&quot;`)}"`).join(` `)}>`}function l(e){i+=`</`+Gl(e)+`>`}function u(e){(e.event===`start`?c:l)(e.node)}for(;e.length||t.length;){let t=s();if(i+=Wl(n.substring(r,t[0].offset)),r=t[0].offset,t===e){a.reverse().forEach(l);do u(t.splice(0,1)[0]),t=s();while(t===e&&t.length&&t[0].offset===r);a.reverse().forEach(c)}else t[0].event===`start`?a.push(t[0].node):a.pop(),u(t.splice(0,1)[0])}return i+Wl(n.substr(r))}function Jl(e){let t=[];return e.value=e.value.split(`
11
+ `),role:`img`,"aria-label":wl(e,`, `),children:[e.role===`group`&&e.names.length>1&&Y(`span`,{children:e.names.length}),Y(Cc,{icon:Tc[e.kind],size:12,class:`shrink-0 ${t.icon}`}),e.role===`head`&&Y(`span`,{class:`truncate`,children:e.name})]})}function El({sha:e,file:t,treeDepth:n}){let{dir:r,name:i}=Qc(t.path),a=n!==void 0,o=Ln(`commit`,t.path,e),s=G(()=>`${gl} ${Jn.value===o?Oc:``}`);return Y(Wc,{onClick:()=>Ms(e,t),onDblClick:()=>cr(o),title:t.path,class:s,style:jc(n??1),badge:Y(nl,{code:t.status}),actions:Y(Jc,{path:t.path}),children:[Y(Ic,{}),Y(`span`,{class:`min-w-0 truncate`,children:[i,r&&!a&&Y(`span`,{class:`ml-2 text-xs text-description-foreground`,children:r})]}),t.oldPath&&Y(`span`,{class:`min-w-0 truncate text-xs text-description-foreground`,children:[`← `,t.oldPath]})]})}function Dl({sha:e,files:t}){return Y(cl,{nodes:Ue(()=>An(t),[t]),scope:`commit:${e}`,depth:1,renderFile:(t,n)=>Y(El,{sha:e,file:t,treeDepth:n})})}function Ol({sha:e}){let t=Ha(G(()=>Va.value.get(e)).value),n=xn.value===`tree`;if(t.kind!==`files`){let e=Y(Lc,{text:t.kind===`error`?t.message:t.text,depth:1});return n?Y(Pc,{depth:1,children:e}):Y(`ul`,{children:e})}return n?Y(Dl,{sha:e,files:t.files}):Y(`ul`,{children:t.files.map(t=>Y(El,{sha:e,file:t},t.path))})}function kl({commit:e}){let t=G(()=>Ua.value.has(e.sha)).value,n=G(()=>Sc.value.get(e.sha)).value;return Y(Wc,{onClick:()=>Ga(e.sha),title:bl(e),"aria-expanded":t,class:hl,style:jc(0),actions:[Y(Dc,{icon:wc[`commit-changes`],label:`Open Changes`,onClick:()=>Hs(e)},`open`),Y(qc,{text:e.sha,label:`Copy commit hash`},`copy`)],sublevel:t&&Y(Ol,{sha:e.sha}),children:[Y(Fc,{expanded:t}),Y(`span`,{class:`min-w-0 grow truncate`,children:[e.subject,Y(`span`,{class:`ml-2 text-xs text-description-foreground`,children:e.author})]}),n?.map(e=>Y(Tl,{badge:e},`${e.role}:${e.kind}`))]})}function Al({list:e}){let t=R(null);Ve(()=>{let e=t.current;if(e===null)return;let n=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&wa.value===null&&Ba()});return n.observe(e),()=>n.disconnect()},[e]);let n=Ca.value,r=wa.value;return Y(`li`,{ref:t,children:Y(`button`,{type:`button`,disabled:n,onClick:()=>void Ba(),class:`${kc} text-description-foreground hover:bg-list-hover-background hover:text-editor-foreground disabled:cursor-default`,style:jc(0),children:Y(`span`,{class:`min-w-0 truncate`,children:n?`Loading…`:r===null?`Load more`:`${r} — click to retry`})})})}function jl(){let e=G(()=>J.value?.branch.upstream?.behind??0).value,t=Ma.value,n=Na.value;if(t===null&&n===null)return null;let r=t?.hasMore?e-t.commits.length:0;return Y(`section`,{class:`border-b border-panel-border`,children:[Y(`h3`,{class:ul,title:`As of the last fetch`,children:[`Incoming · `,Y(`span`,{class:`font-mono`,children:[e,`↓`]})]}),Y(`ul`,{children:[n!==null&&Y(Lc,{text:n,depth:0}),t?.commits.map(e=>Y(kl,{commit:e},e.sha)),r>0&&Y(Lc,{text:`+${r} more`,depth:0})]})]})}function Ml(){let e=xa.value,t=Sa.value;return e===null?Y(pl,{children:t===null?`Loading…`:`Could not load the history. ${t}`}):e.commits.length===0?Y(pl,{children:`No commits yet`}):Y(N,{children:[Y(jl,{}),Y(`ul`,{children:[e.commits.map(e=>Y(kl,{commit:e},e.sha)),e.hasMore&&Y(Al,{list:e})]})]})}function Nl({idPrefix:e,label:t,inputLabel:n,placeholder:r,anchor:i,match:a,keyOf:o,Row:s,groupOf:c,context:l,status:u,noMatch:d,onPick:f,onClose:p}){let m=un(``),h=un(0),g=R(null),_=R(null),v=R(p);v.current=p;let y=t=>`${e}-option-${t}`,b=`${e}-listbox`;Ve(()=>{g.current?.focus()},[]),He(()=>{let e=e=>{let t=e.target;_.current?.contains(t)||i.current?.contains(t)||v.current()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[i]);let x=G(()=>a(m.value)).value,S=x.slice(0,200),C=Math.min(h.value,Math.max(S.length-1,0));Ve(()=>{document.getElementById(y(C))?.scrollIntoView?.({block:`nearest`})},[C]);let w=e=>{e!==void 0&&(p(),f(e))},T=R(w);T.current=w;let E=We(e=>T.current(e),[]),D=We(e=>{h.value!==e&&(h.value=e)},[h]),O=R(()=>{}),k=We(e=>O.current(e),[]),A=e=>{let t=S.length,n=Math.min(h.value,t-1);if(e.key===`Escape`)e.preventDefault(),p();else if(e.key===`Enter`)e.preventDefault(),w(S[n]);else if((e.key===`ArrowDown`||e.key===`ArrowUp`)&&t>0){e.preventDefault();let r=e.key===`ArrowDown`?1:-1;h.value=(n+r+t)%t}};O.current=A;let j=u??(S.length===0?d(m.value):null);return Y(`div`,{ref:_,role:`dialog`,"aria-label":t,class:`fixed top-2 left-1/2 z-50 flex w-150 max-w-[calc(100vw-2rem)] -translate-x-1/2 flex-col rounded-md border border-panel-border bg-side-bar-background p-1 text-sm shadow-lg`,children:[Y(`input`,{ref:g,type:`text`,role:`combobox`,"aria-expanded":`true`,"aria-controls":b,"aria-activedescendant":S.length>0?y(C):void 0,"aria-label":n,placeholder:r,spellcheck:!1,autocomplete:`off`,value:m.value,onInput:e=>{m.value=e.currentTarget.value,h.value=0},onKeyDown:A,class:`mb-1 rounded-sm border border-panel-border bg-editor-background px-2 py-1 outline-none`}),j!==null&&Y(`p`,{class:`px-2 py-1 text-description-foreground`,children:j}),Y(`div`,{id:b,role:`listbox`,class:`max-h-110 overflow-auto`,children:S.map((e,t)=>{let n=S[t-1],r=c!==void 0&&(n===void 0||c(n)!==c(e));return Y(Pl,{id:y(t),item:e,index:t,selected:t===C,first:r,context:l,Row:s,onHover:D,onPick:E,onKeyDown:k},o(e))})}),x.length>S.length&&Y(`p`,{class:`px-2 py-1 text-xs text-description-foreground`,children:[x.length-S.length,` more — type to filter`]})]})}var Pl=class extends P{shouldComponentUpdate(e){return Object.keys(e).some(t=>e[t]!==this.props[t])}render(){let{id:e,item:t,index:n,selected:r,first:i,context:a,Row:o,onHover:s,onPick:c,onKeyDown:l}=this.props;return Y(`div`,{id:e,role:`option`,tabIndex:-1,"aria-selected":r,class:`cursor-pointer rounded-sm px-2 py-0.5 ${r?Oc:``} ${i&&n>0?`mt-1 border-t border-panel-border`:``}`,onMouseMove:()=>s(n),onClick:()=>c(t),onKeyDown:l,children:Y(o,{item:t,first:i,context:a})})}},Fl={local:`branches`,remote:`remote branches`,tag:`tags`};function Il({current:e,anchor:t,onPick:n,onClose:r}){Ve(()=>{ca()},[]);let i=aa.value,a=null;return oa.value===null?i===null?a=`Loading…`:i.length===0&&(a=`No branches or tags`):a=oa.value,Y(Nl,{idPrefix:`branch-picker`,label:`Branches and tags`,inputLabel:`Filter branches and tags`,placeholder:`Select a branch or tag to copy`,anchor:t,match:e=>aa.value===null?[]:la(aa.value,e),keyOf:e=>`${e.kind}:${e.name}`,Row:Ll,groupOf:e=>e.kind,context:e,status:a,noMatch:()=>`No matching branches or tags`,onPick:e=>n(e.name),onClose:r})}function Ll({item:e,first:t,context:n}){let r=e.kind===`local`&&e.name===n;return Y(N,{children:[Y(`div`,{class:`flex items-center gap-1.5`,children:[Y(Cc,{icon:Tc[e.kind],size:14,class:`shrink-0`}),Y(`span`,{class:`truncate`,children:e.name}),e.time>0&&Y(`span`,{class:`shrink-0 text-xs text-description-foreground`,children:yl(e.time)}),Y(`span`,{class:`flex-1`}),r&&Y(Cc,{icon:it,size:14,class:`shrink-0`}),t&&Y(`span`,{class:`shrink-0 text-xs text-description-foreground`,children:Fl[e.kind]})]}),e.subject!==``&&Y(`div`,{class:`truncate pl-5 text-xs text-description-foreground`,children:[e.author,` • `,qa(e.sha),` • `,e.subject]})]})}var Rl=e=>e===0?`text-description-foreground`:``,zl=e=>`${e} commit${e===1?``:`s`}`;function Bl({upstream:e}){return e===null?Y(`span`,{class:`text-description-foreground`,title:`The current branch has no upstream`,children:`no upstream`}):Y(N,{children:[Y(`span`,{class:`font-mono ${Rl(e.behind)}`,title:`${zl(e.behind)} behind upstream`,children:[e.behind,`↓`]}),Y(`span`,{class:`font-mono ${Rl(e.ahead)}`,title:`${zl(e.ahead)} ahead of upstream`,children:[e.ahead,`↑`]})]})}var Vl={rebase:`Rebasing`,am:`Applying patches`,merge:`Merging`,"cherry-pick":`Cherry-picking`,revert:`Reverting`,bisect:`Bisecting`};function Hl({operation:e}){return e===void 0?null:Y(mc,{tone:`text-git-conflicting`,title:`This repository is in the middle of an unfinished multi-step git operation. difftab is read-only and will neither continue nor abort it.`,children:Vl[e]})}function Ul({branch:e}){let t=e.detached?`Detached HEAD`:e.head||`Unknown branch`,n=e.detached?`Not on any branch (detached HEAD)`:t,r=e.upstream!==null||!e.detached,i=un(!1),{copied:a,copy:o}=Kc(),s=R(null);return Y(`span`,{class:`flex min-w-0 items-baseline gap-2 text-xs`,children:[Y(`button`,{ref:s,type:`button`,class:`flex min-w-0 items-baseline gap-2 rounded-sm hover:bg-toolbar-hover-background focus-visible:outline-2 focus-visible:outline-focus-border`,title:a.value===null?n:`Copied ${a.value}`,"aria-haspopup":`dialog`,onClick:()=>{i.value=!i.value},children:[Y(Cc,{icon:a.value===null?gt:it,size:14,class:`shrink-0 self-center`}),Y(`span`,{class:`max-w-60 truncate`,children:t})]}),i.value&&Y(Il,{current:e.detached||e.head===``?null:e.head,anchor:s,onPick:e=>void o(e),onClose:()=>{i.value=!1,s.current?.focus()}}),r&&Y(Bl,{upstream:e.upstream}),Y(Hl,{operation:e.operation})]})}function Wl(e){return e.replace(/&/gm,`&amp;`).replace(/</gm,`&lt;`).replace(/>/gm,`&gt;`)}function Gl(e){return e.nodeName.toLowerCase()}function Kl(e){let t=[],n=(e,r)=>{for(let i=e.firstChild;i;i=i.nextSibling)i.nodeType===3&&i.nodeValue!==null?r+=i.nodeValue.length:i.nodeType===1&&(t.push({event:`start`,offset:r,node:i}),r=n(i,r),Gl(i).match(/br|hr|img|input/)||t.push({event:`stop`,offset:r,node:i}));return r};return n(e,0),t}function ql(e,t,n){let r=0,i=``,a=[];function o(e){return e!==null&&e?.attributes!==void 0}function s(){return!e.length||!t.length?e.length?e:t:e[0].offset===t[0].offset?t[0].event===`start`?e:t:e[0].offset<t[0].offset?e:t}function c(e){if(!o(e))throw Error(`Node is not an Element`);i+=`<${Gl(e)} ${[].map.call(e.attributes,e=>`${e.nodeName}="${Wl(e.value).replace(/"/g,`&quot;`)}"`).join(` `)}>`}function l(e){i+=`</`+Gl(e)+`>`}function u(e){(e.event===`start`?c:l)(e.node)}for(;e.length||t.length;){let t=s();if(i+=Wl(n.substring(r,t[0].offset)),r=t[0].offset,t===e){a.reverse().forEach(l);do u(t.splice(0,1)[0]),t=s();while(t===e&&t.length&&t[0].offset===r);a.reverse().forEach(c)}else t[0].event===`start`?a.push(t[0].node):a.pop(),u(t.splice(0,1)[0])}return i+Wl(n.substr(r))}function Jl(e){let t=[];return e.value=e.value.split(`
12
12
  `).map(e=>{let n=t.map(e=>`<span class="${e}">`).join(``),r=e.matchAll(/(<span class="(.*?)">|<\/span>)/g);Array.from(r).forEach(e=>{e[0]===`</span>`?t.shift():t.unshift(e[2])});let i=`</span>`.repeat(t.length);return n+e+i}).join(`
13
13
  `),e}var Yl={"1c":`1c`,abnf:`abnf`,accesslog:`accesslog`,as:`actionscript`,adb:`ada`,ada:`ada`,ads:`ada`,angelscript:`angelscript`,apache:`apache`,applescript:`applescript`,scpt:`applescript`,arcade:`arcade`,cpp:`cpp`,hpp:`cpp`,arduino:`arduino`,ino:`arduino`,armasm:`armasm`,arm:`armasm`,xml:`xml`,html:`xml`,xhtml:`xml`,rss:`xml`,atom:`xml`,xjb:`xml`,xsd:`xml`,xsl:`xml`,plist:`xml`,svg:`xml`,asciidoc:`asciidoc`,adoc:`asciidoc`,asc:`asciidoc`,aspectj:`aspectj`,ahk:`autohotkey`,ahkl:`autohotkey`,au3:`autoit`,avrasm:`avrasm`,awk:`awk`,axapta:`axapta`,"x++":`axapta`,bash:`bash`,sh:`bash`,zsh:`bash`,b:`basic`,bnf:`bnf`,bf:`brainfuck`,c:`c`,h:`c`,cats:`c`,idc:`c`,cal:`cal`,capnproto:`capnproto`,capnp:`capnproto`,ceylon:`ceylon`,clean:`clean`,clj:`clojure`,boot:`clojure`,cl2:`clojure`,cljc:`clojure`,cljs:`clojure`,"cljs.hl":`clojure`,cljscm:`clojure`,cljx:`clojure`,hic:`clojure`,"clojure-repl":`clojure-repl`,cmake:`cmake`,"cmake.in":`cmake`,coffee:`coffeescript`,_coffee:`coffeescript`,cake:`coffeescript`,cjsx:`coffeescript`,iced:`coffeescript`,cson:`coffeescript`,coq:`coq`,cos:`cos`,cls:`cos`,crmsh:`crmsh`,crm:`crmsh`,pcmk:`crmsh`,cr:`crystal`,cs:`csharp`,csx:`csharp`,csp:`csp`,css:`css`,d:`d`,di:`d`,md:`markdown`,markdown:`markdown`,mdown:`markdown`,mdwn:`markdown`,mkd:`markdown`,mkdn:`markdown`,mkdown:`markdown`,ronn:`markdown`,workbook:`markdown`,dart:`dart`,dpr:`delphi`,dfm:`delphi`,pas:`delphi`,pascal:`delphi`,diff:`diff`,patch:`diff`,django:`django`,jinja:`django`,dns:`dns`,zone:`dns`,bind:`dns`,dockerfile:`dockerfile`,docker:`dockerfile`,dos:`dos`,bat:`dos`,cmd:`dos`,dsconfig:`dsconfig`,dts:`dts`,dust:`dust`,dst:`dust`,ebnf:`ebnf`,ex:`elixir`,exs:`elixir`,elm:`elm`,rb:`ruby`,builder:`ruby`,eye:`ruby`,gemspec:`ruby`,god:`ruby`,jbuilder:`ruby`,mspec:`ruby`,pluginspec:`ruby`,podspec:`ruby`,rabl:`ruby`,rake:`ruby`,rbuild:`ruby`,rbw:`ruby`,rbx:`ruby`,ru:`ruby`,ruby:`ruby`,spec:`ruby`,thor:`ruby`,watchr:`ruby`,erb:`erb`,"erlang-repl":`erlang-repl`,erl:`erlang`,"app.src":`erlang`,escript:`erlang`,hrl:`erlang`,xrl:`erlang`,yrl:`erlang`,excel:`excel`,xls:`excel`,xlsx:`excel`,fix:`fix`,flix:`flix`,f90:`fortran`,f:`fortran`,f03:`fortran`,f08:`fortran`,f77:`fortran`,f95:`fortran`,for:`fortran`,fpp:`fortran`,fs:`fsharp`,fsx:`fsharp`,gams:`gams`,gms:`gams`,gauss:`gauss`,gss:`gauss`,gcode:`gcode`,nc:`gcode`,gherkin:`gherkin`,glsl:`glsl`,fp:`glsl`,frag:`glsl`,frg:`glsl`,fsh:`glsl`,fshader:`glsl`,geo:`glsl`,geom:`glsl`,glslv:`glsl`,gshader:`glsl`,shader:`glsl`,tesc:`glsl`,tese:`glsl`,vert:`glsl`,vrx:`glsl`,vsh:`glsl`,vshader:`glsl`,gml:`gml`,go:`go`,bal:`go`,golo:`golo`,gololang:`golo`,gradle:`gradle`,groovy:`groovy`,grt:`groovy`,gtpl:`groovy`,gvy:`groovy`,haml:`haml`,"haml.deface":`haml`,handlebars:`handlebars`,hbs:`handlebars`,"html.hbs":`handlebars`,"html.handlebars":`handlebars`,hs:`haskell`,hsc:`haskell`,idr:`haskell`,purs:`haskell`,hx:`haxe`,hxsl:`haxe`,hsp:`hsp`,htmlbars:`htmlbars`,http:`http`,https:`http`,hy:`hy`,inform7:`inform7`,i7:`inform7`,ini:`ini`,toml:`ini`,cfg:`ini`,prefs:`ini`,irpf90:`irpf90`,isbl:`isbl`,java:`java`,jsp:`java`,js:`javascript`,jsx:`javascript`,_js:`javascript`,bones:`javascript`,es:`javascript`,es6:`javascript`,gs:`javascript`,jake:`javascript`,jsb:`javascript`,jscad:`javascript`,jsfl:`javascript`,jsm:`javascript`,jss:`javascript`,mjs:`javascript`,njs:`javascript`,pac:`javascript`,sjs:`javascript`,ssjs:`javascript`,xsjs:`javascript`,xsjslib:`javascript`,cfc:`javascript`,"jboss-cli":`jboss-cli`,json:`json`,avsc:`json`,geojson:`json`,gltf:`json`,"JSON-tmLanguage":`json`,jsonl:`json`,tfstate:`json`,"tfstate.backup":`json`,topojson:`json`,webapp:`json`,webmanifest:`json`,jl:`julia`,"julia-repl":`julia-repl`,kt:`kotlin`,ktm:`kotlin`,kts:`kotlin`,lasso:`lasso`,lassoscript:`lasso`,tex:`latex`,ldif:`ldif`,leaf:`leaf`,less:`less`,lisp:`lisp`,factor:`lisp`,livecodeserver:`livecodeserver`,ls:`livescript`,_ls:`livescript`,llvm:`llvm`,lsl:`lsl`,lua:`lua`,nse:`lua`,p8:`lua`,pd_lua:`lua`,rbxs:`lua`,wlua:`lua`,mak:`makefile`,make:`makefile`,mk:`makefile`,mkfile:`makefile`,mathematica:`mathematica`,mma:`mathematica`,wl:`mathematica`,matlab:`matlab`,maxima:`maxima`,mel:`mel`,mercury:`mercury`,mipsasm:`mipsasm`,miz:`mizar`,voc:`mizar`,al:`perl`,cgi:`perl`,fcgi:`perl`,perl:`perl`,ph:`perl`,plx:`perl`,pl:`perl`,pm:`perl`,psgi:`perl`,t:`perl`,mojolicious:`mojolicious`,monkey:`monkey`,monkey2:`monkey`,moonscript:`moonscript`,moon:`moonscript`,n1ql:`n1ql`,nginxconf:`nginx`,nim:`nim`,nimrod:`nim`,nix:`nix`,nsi:`nsis`,nsh:`nsis`,m:`objectivec`,objc:`objectivec`,mm:`objectivec`,"obj-c":`objectivec`,"obj-c++":`objectivec`,"objective-c++":`objectivec`,fun:`ocaml`,sig:`ocaml`,ml:`ocaml`,mli:`ocaml`,eliom:`ocaml`,eliomi:`ocaml`,ml4:`ocaml`,mll:`ocaml`,mly:`ocaml`,openscad:`openscad`,oxygene:`oxygene`,parser3:`parser3`,pf:`pf`,"pf.conf":`pf`,pgsql:`pgsql`,postgres:`pgsql`,postgresql:`pgsql`,php:`php`,aw:`php`,ctp:`php`,inc:`php`,php3:`php`,php4:`php`,php5:`php`,phps:`php`,phpt:`php`,"php-template":`php-template`,plaintext:`plaintext`,txt:`plaintext`,text:`plaintext`,pony:`pony`,ps:`powershell`,ps1:`powershell`,psd1:`powershell`,psm1:`powershell`,pde:`processing`,profile:`profile`,pro:`prolog`,prolog:`prolog`,yap:`prolog`,properties:`properties`,proto:`protobuf`,puppet:`puppet`,pp:`puppet`,purebasic:`purebasic`,py:`python`,bzl:`python`,gyp:`python`,gypi:`python`,lmi:`python`,py3:`python`,pyde:`python`,pyi:`python`,pyp:`python`,pyt:`python`,pyw:`python`,rpy:`python`,tac:`python`,wsgi:`python`,xpy:`python`,"python-repl":`python-repl`,pycon:`python-repl`,q:`q`,k:`q`,kdb:`q`,qml:`qml`,r:`r`,rd:`r`,rsx:`r`,reasonml:`reasonml`,re:`reasonml`,rib:`rib`,roboconf:`roboconf`,graph:`roboconf`,instances:`roboconf`,routeros:`routeros`,rsl:`rsl`,ruleslanguage:`ruleslanguage`,rs:`rust`,"rs.in":`rust`,sas:`sas`,scala:`scala`,kojo:`scala`,sbt:`scala`,sc:`scala`,scm:`scheme`,sch:`scheme`,sld:`scheme`,sls:`scheme`,sps:`scheme`,ss:`scheme`,rkt:`scheme`,scilab:`scilab`,scss:`scss`,shell:`shell`,smali:`smali`,st:`smalltalk`,sml:`sml`,sqf:`sqf`,sql:`sql`,cql:`sql`,ddl:`sql`,mysql:`sql`,prc:`sql`,tab:`sql`,udf:`sql`,viw:`sql`,stan:`stan`,stanfuncs:`stan`,stata:`stata`,step21:`step21`,step:`step21`,stp:`step21`,styl:`stylus`,subunit:`subunit`,swift:`swift`,taggerscript:`taggerscript`,yml:`yaml`,mir:`yaml`,reek:`yaml`,rviz:`yaml`,"sublime-syntax":`yaml`,syntax:`yaml`,yaml:`yaml`,"yaml-tmlanguage":`yaml`,"yml.mysql":`yaml`,tap:`tap`,tcl:`tcl`,adp:`tcl`,tm:`tcl`,thrift:`thrift`,tp:`tp`,twig:`twig`,craftcms:`twig`,ts:`typescript`,tsx:`typescript`,vala:`vala`,vbnet:`vbnet`,vb:`vbnet`,vbscript:`vbscript`,vbs:`vbscript`,"vbscript-html":`vbscript-html`,v:`verilog`,veo:`verilog`,vhdl:`vhdl`,vhd:`vhdl`,vhf:`vhdl`,vhi:`vhdl`,vho:`vhdl`,vhs:`vhdl`,vht:`vhdl`,vhw:`vhdl`,vim:`vim`,x86asm:`x86asm`,xl:`xl`,xquery:`xquery`,xpath:`xquery`,xq:`xquery`,zephir:`zephir`,zep:`zephir`};function Xl(e){return Yl[e]??`plaintext`}function Zl(e,t){let n=[],r=0;for(let i of e){let e=i.oldFirst-r-1;e>0&&n.push({kind:`gap`,id:r+1,count:e,lines:[]}),t?n.push(...$l(i.lines)):n.push({kind:`lines`,lines:i.lines}),r=i.oldFirst+i.oldCount-1}let i=e.at(-1);return!t&&i!==void 0&&Ql(i.lines)>=3&&n.push({kind:`gap`,id:r+1,count:null,lines:[]}),n}function Ql(e){let t=0;for(let n=e.length-1;n>=0&&e[n]?.kind===`context`;n--)t+=1;return t}function $l(e){let t=e.map(()=>1/0);for(let n of[e.keys(),[...e.keys()].reverse()]){let r=1/0;for(let i of n)e[i]?.kind===`context`?(r+=1,t[i]=Math.min(t[i]??r,r)):(r=0,t[i]=0)}let n=[];return e.forEach((e,r)=>{let i=(t[r]??0)>3,a=n.at(-1);i?a?.kind===`gap`?(a.lines.push(e),a.count=a.lines.length):n.push({kind:`gap`,id:e.oldNo??0,count:1,lines:[e]}):a?.kind===`lines`?a.lines.push(e):n.push({kind:`lines`,lines:[e]})}),n}var eu=c(o(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#x27;`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function x(e,t){let n=e&&e.exec(t);return n&&n.index===0}var S=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=S.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}var w=/\b\B/,T=`[a-zA-Z]\\w*`,E=`[a-zA-Z_]\\w*`,D=`\\b\\d+(\\.\\d+)?`,O=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,k=`\\b(0b[01]+)`,A=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,j=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},M={begin:`\\\\[\\s\\S]`,relevance:0},N={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[M]},P={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[M]},ee={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},F=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},te=F(`//`,`$`),ne=F(`/\\*`,`\\*/`),re=F(`#`,`$`),ie=Object.freeze({__proto__:null,APOS_STRING_MODE:N,BACKSLASH_ESCAPE:M,BINARY_NUMBER_MODE:{scope:`number`,begin:k,relevance:0},BINARY_NUMBER_RE:k,COMMENT:F,C_BLOCK_COMMENT_MODE:ne,C_LINE_COMMENT_MODE:te,C_NUMBER_MODE:{scope:`number`,begin:O,relevance:0},C_NUMBER_RE:O,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:re,IDENT_RE:T,MATCH_NOTHING_RE:w,METHOD_GUARD:{begin:`\\.\\s*[a-zA-Z_]\\w*`,relevance:0},NUMBER_MODE:{scope:`number`,begin:D,relevance:0},NUMBER_RE:D,PHRASAL_WORDS_MODE:ee,QUOTE_STRING_MODE:P,REGEXP_MODE:{scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[M,{begin:/\[/,end:/\]/,relevance:0,contains:[M]}]},RE_STARTERS_RE:A,SHEBANG:j,TITLE_MODE:{scope:`title`,begin:T,relevance:0},UNDERSCORE_IDENT_RE:E,UNDERSCORE_TITLE_MODE:{scope:`title`,begin:E,relevance:0}});function ae(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function oe(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function se(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=ae,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function ce(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function le(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function ue(e,t){e.relevance===void 0&&(e.relevance=1)}var de=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},fe=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],pe=`keyword`;function me(e,t,n=pe){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,me(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,he(n[0],n[1])]})}}function he(e,t){return t?Number(t):+!ge(e)}function ge(e){return fe.includes(e.toLowerCase())}var _e={},ve=e=>{console.error(e)},ye=(e,...t)=>{console.log(`WARN: ${e}`,...t)},be=(e,t)=>{_e[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),_e[`${e}/${t}`]=!0)},xe=Error();function Se(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function Ce(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw ve(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),xe;if(typeof e.beginScope!=`object`||e.beginScope===null)throw ve(`beginScope must be object`),xe;Se(e,e.begin,{key:`beginScope`}),e.begin=C(e.begin,{joinWith:``})}}function we(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw ve(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),xe;if(typeof e.endScope!=`object`||e.endScope===null)throw ve(`endScope must be object`),xe;Se(e,e.end,{key:`endScope`}),e.end=C(e.end,{joinWith:``})}}function Te(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Ee(e){Te(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),Ce(e),we(e)}function De(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let e=this.regexes.map(e=>e[1]);this.matcherRe=t(C(e,{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[oe,le,Ee,de].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[se,ce,ue].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=me(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return Oe(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function I(e){return e?e.endsWithParent||I(e.starts):!1}function Oe(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:I(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var ke=`11.11.1`,Ae=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},je=i,L=a,Me=Symbol(`nomatch`),Ne=7,Pe=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=N(n[1]);return t||(ye(s.replace(`{}`,n[1])),ye(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||N(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(be(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),be(`10.7.0`,`Please use highlight(code, options) instead.
14
14
  https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(n=!0);let a={code:r,language:i};re(`before:highlight`,a);let o=a.result?a.result:v(a.language,a.code,n);return o.code=a.code,re(`after:highlight`,o),o}function v(e,n,i,a){let c=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!A.keywords){M.addText(P);return}let e=0;A.keywordPatternRe.lastIndex=0;let t=A.keywordPatternRe.exec(P),n=``;for(;t;){n+=P.substring(e,t.index);let r=D.case_insensitive?t[0].toLowerCase():t[0],i=u(A,r);if(i){let[e,a]=i;if(M.addText(n),n=``,c[r]=(c[r]||0)+1,c[r]<=Ne&&(ee+=a),e.startsWith(`_`))n+=t[0];else{let n=D.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=A.keywordPatternRe.lastIndex,t=A.keywordPatternRe.exec(P)}n+=P.substring(e),M.addText(n)}function f(){if(P===``)return;let e=null;if(typeof A.subLanguage==`string`){if(!t[A.subLanguage]){M.addText(P);return}e=v(A.subLanguage,P,!0,j[A.subLanguage]),j[A.subLanguage]=e._top}else e=S(P,A.subLanguage.length?A.subLanguage:null);A.relevance>0&&(ee+=e.relevance),M.__addSublanguage(e._emitter,e.language)}function p(){A.subLanguage==null?d():f(),P=``}function m(e,t){e!==``&&(M.startScope(t),M.addText(e),M.endScope())}function h(e,t){let n=1,r=t.length-1;for(;n<=r;){if(!e._emit[n]){n++;continue}let r=D.classNameAliases[e[n]]||e[n],i=t[n];r?m(i,r):(P=i,d(),P=``),n++}}function g(e,t){return e.scope&&typeof e.scope==`string`&&M.openNode(D.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(P,D.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),P=``):e.beginScope._multi&&(h(e.beginScope,t),P=``)),A=Object.create(e,{parent:{value:A}}),A}function _(e,t,n){let i=x(e.endRe,n);if(i){if(e[`on:end`]){let n=new r(e);e[`on:end`](t,n),n.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return _(e.parent,t,n)}function y(e){return A.matcher.regexIndex===0?(P+=e[0],1):(ne=!0,0)}function b(e){let t=e[0],n=e.rule,i=new r(n),a=[n.__beforeBegin,n[`on:begin`]];for(let n of a)if(n&&(n(e,i),i.isMatchIgnored))return y(t);return n.skip?P+=t:(n.excludeBegin&&(P+=t),p(),!n.returnBegin&&!n.excludeBegin&&(P=t)),g(n,e),n.returnBegin?0:t.length}function C(e){let t=e[0],r=n.substring(e.index),i=_(A,e,r);if(!i)return Me;let a=A;A.endScope&&A.endScope._wrap?(p(),m(t,A.endScope._wrap)):A.endScope&&A.endScope._multi?(p(),h(A.endScope,e)):a.skip?P+=t:(a.returnEnd||a.excludeEnd||(P+=t),p(),a.excludeEnd&&(P=t));do A.scope&&M.closeNode(),!A.skip&&!A.subLanguage&&(ee+=A.relevance),A=A.parent;while(A!==i.parent);return i.starts&&g(i.starts,e),a.returnEnd?0:t.length}function w(){let e=[];for(let t=A;t!==D;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>M.openNode(e))}let T={};function E(t,r){let a=r&&r[0];if(P+=t,a==null)return p(),0;if(T.type===`begin`&&r.type===`end`&&T.index===r.index&&a===``){if(P+=n.slice(r.index,r.index+1),!o){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=T.rule,t}return 1}if(T=r,r.type===`begin`)return b(r);if(r.type===`illegal`&&!i){let e=Error(`Illegal lexeme "`+a+`" for mode "`+(A.scope||`<unnamed>`)+`"`);throw e.mode=A,e}if(r.type===`end`){let e=C(r);if(e!==Me)return e}if(r.type===`illegal`&&a===``)return P+=`
@@ -83,4 +83,4 @@ ${e}</tr>
83
83
  `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
84
84
  `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${Jm(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,text:n,tokens:r,autolink:i}){let a=i?Jm(n,!0):this.parser.parseInline(r),o=Xm(e);if(o===null)return a;e=Jm(o,i);let s=`<a href="`+e+`"`;return t&&(s+=` title="`+Jm(t)+`"`),s+=`>`+a+`</a>`,s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=Xm(e);if(i===null)return Jm(n);e=i;let a=`<img src="${Jm(e)}" alt="${Jm(n)}"`;return t&&(a+=` title="${Jm(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:Jm(e.text)}},lh=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},uh=class e{options;renderer;textRenderer;constructor(e){this.options=e||Tp,this.options.renderer=this.options.renderer||new ch,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new lh}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`checkbox`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`checkbox`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},dh=class{options;block;constructor(e){this.options=e||Tp}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?sh.lex:sh.lexInline}provideParser(e=this.block){return e?uh.parse:uh.parseInline}};function fh(e,t){if(Array.isArray(t))for(let n=0;n<t.length;n++)e.push(t[n]);else e.push(t)}var ph=class{defaults=wp();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=uh;Renderer=ch;TextRenderer=lh;Lexer=sh;Tokenizer=oh;Hooks=dh;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(fh(n,t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)fh(n,this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)fh(n,this.walkTokens(e.tokens,t));break}case`list`:{let e=r;fh(n,this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);fh(n,this.walkTokens(i,t))}):e.tokens&&fh(n,this.walkTokens(e.tokens,t))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new ch(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new oh(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new dh;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];t[r]=dh.passThroughHooks.has(n)?e=>{if(this.defaults.async&&dh.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&fh(n,t.call(this,e)),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return sh.lex(e,t??this.defaults)}parser(e,t){return uh.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?sh.lex:sh.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?uh.parse:uh.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?sh.lex:sh.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?uh.parse:uh.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
85
85
  Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+Jm(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},mh=new ph;function $(e,t){return mh.parse(e,t)}$.options=$.setOptions=function(e){return mh.setOptions(e),$.defaults=mh.defaults,Ep($.defaults),$},$.getDefaults=wp,$.defaults=Tp;function hh(...e){return mh.use(...e),$.defaults=mh.defaults,Ep($.defaults),$}$.use=hh,$.walkTokens=function(e,t){return mh.walkTokens(e,t)},$.parseInline=mh.parseInline,$.Parser=uh,$.parser=uh.parse,$.Renderer=ch,$.TextRenderer=lh,$.Lexer=sh,$.lexer=sh.lex,$.Tokenizer=oh,$.Hooks=dh,$.parse=$,$.options,$.setOptions,$.walkTokens,$.parseInline,uh.parse,sh.lex;var gh=/^(?:[a-z][a-z\d+.-]*:|\/\/)/i,_h=/^(?:https?:|mailto:)/i,vh=new Set(`a.abbr.b.blockquote.br.caption.code.dd.del.details.div.dl.dt.em.h1.h2.h3.h4.h5.h6.hr.i.img.input.ins.kbd.li.mark.ol.p.picture.pre.q.s.samp.small.span.strong.sub.summary.sup.table.tbody.td.tfoot.th.thead.tr.u.ul`.split(`.`)),yh=new Set([`script`,`style`,`iframe`,`frame`,`frameset`,`object`,`embed`,`template`,`noscript`,`svg`,`math`,`form`,`textarea`,`select`,`button`,`source`,`video`,`audio`,`link`,`meta`,`base`,`title`]),bh=new Set([`align`,`alt`,`checked`,`colspan`,`height`,`open`,`rowspan`,`start`,`title`,`type`,`width`]),xh=/^(?:hljs-[\w-]+|[a-z]+_{1,2})$/;function Sh(e,t){let[n=``]=t.split(/[?#]/,1),r;try{r=decodeURIComponent(n)}catch{return null}let i=r.startsWith(`/`)?[]:e.split(`/`).slice(0,-1);for(let e of r.split(`/`))if(e!==``&&e!==`.`){if(e===`..`){if(i.length===0)return null;i.pop()}else i.push(e)}return i.length===0?null:i.join(`/`)}function Ch(e,t){let n=e.ownerDocument.createElement(`span`);return n.className=t,n.append(...e.childNodes),e.replaceWith(n),n}function wh(e,t){t!==null&&(_h.test(t)?(e.setAttribute(`href`,t),e.setAttribute(`target`,`_blank`),e.setAttribute(`rel`,`noopener noreferrer`)):Ch(e,`md-link`).title=t)}function Th(e,t,n){let r=t===null||gh.test(t)?null:Sh(n,t);if(r===null){let t=e.getAttribute(`alt`)??``;t===``?e.remove():Ch(e,`md-image-alt`).textContent=t;return}e.setAttribute(`src`,of(r,`new`,`0`))}function Eh(e,t){for(let n of[...e.childNodes]){if(n.nodeType===Node.COMMENT_NODE){n.remove();continue}if(!(n instanceof Element))continue;let e=n.localName;if(yh.has(e)){n.remove();continue}if(Eh(n,t),!vh.has(e)){n.replaceWith(...n.childNodes);continue}let r=n.getAttribute(`href`),i=n.getAttribute(`src`),a=n.hasAttribute(`class`)?(n.getAttribute(`class`)??``).split(/\s+/).filter(e=>xh.test(e)):[];for(let{name:e}of[...n.attributes])bh.has(e)||n.removeAttribute(e);a.length>0&&n.setAttribute(`class`,a.join(` `)),e===`input`?n.getAttribute(`type`)===`checkbox`?n.setAttribute(`disabled`,``):n.remove():e===`a`?wh(n,r):e===`img`&&Th(n,i,t)}}function Dh(e,t){let n=document.createElement(`template`);return n.innerHTML=e,Eh(n.content,t),n.innerHTML}var Oh=new ph({gfm:!0,renderer:{code({text:e,lang:t}){let[n=``]=(t??``).split(/\s/,1),r=n===``?`plaintext`:Ud(`x.${n}`);return`<pre><code>${Id().highlight(e,{language:r}).value}</code></pre>\n`}}}),kh=null;function Ah(e,t){return(kh?.path!==e||kh.content!==t)&&(kh={path:e,content:t,html:Dh(Oh.parse(t,{async:!1}),e)}),kh.html}function jh({path:e,content:t}){return Y(`article`,{class:`markdown-body`,dangerouslySetInnerHTML:{__html:Ah(e,t)}})}var Mh=20,Nh=8,Ph=e=>Nh+(e-1)*Mh,Fh={added:`w-[3px] bg-editor-gutter-added-background`,modified:`w-[3px] bg-editor-gutter-modified-background`,deleted:`size-0 border-y-4 border-l-4 border-y-transparent border-l-editor-gutter-deleted-background`},Ih=4;function Lh({marks:e}){return e.map(({kind:e,line:t,count:n})=>{let r=Ph(t);return Y(`span`,{"data-mark":e,class:`absolute right-1 ${Fh[e]}`,style:n===0?{top:`${r-Ih}px`}:{top:`${r}px`,height:`${n*Mh}px`}},`${e}:${t}`)})}function Rh({path:e,content:t,reveal:n,marks:r}){let{html:i,gutter:a}=Ue(()=>({html:Hh(e,t),gutter:Array.from({length:tf(t)},(e,t)=>t+1).join(`
86
- `)}),[e,t]),o=R(null);return He(()=>{n!==null&&o.current?.scrollIntoView?.({block:`center`,inline:`nearest`})},[n]),Y(`div`,{class:`relative isolate flex font-mono text-xs leading-5`,children:[n!==null&&Y(`div`,{ref:o,"aria-hidden":`true`,"data-reveal-line":n.line,class:`pointer-events-none absolute inset-x-0 -z-10 bg-editor-range-highlight-background`,style:{top:`${Ph(n.line)}px`,height:`${Mh}px`}}),Y(`pre`,{class:`sticky left-0 shrink-0 bg-editor-background px-3 py-2 text-right text-description-foreground select-none`,children:[a,Y(Lh,{marks:r})]}),Y(`pre`,{class:`min-w-0 py-2 pr-4`,dangerouslySetInnerHTML:{__html:i}})]})}var zh=[];function Bh(e,t){let n=new Map,r=(e,t)=>{let r=n.get(e);r===void 0?n.set(e,[t]):r.push(t)};for(let{kind:n,line:i,count:a}of e)if(n!==`deleted`)for(let e=i;e<i+a&&e<=t;e++)r(e,{kind:n});else i<=t?r(i,{kind:n,edge:`top`}):t>0&&r(t,{kind:n,edge:`bottom`});return n}var Vh=null;function Hh(e,t){return(Vh?.path!==e||Vh.content!==t)&&(Vh={path:e,content:t,html:Id().highlight(t,{language:Ud(e)}).value}),Vh.html}var Uh=class extends P{shouldComponentUpdate(e){let{props:t}=this;return e.html!==t.html||e.marks!==t.marks||e.revealed!==t.revealed||e.gutterWidth!==t.gutterWidth}render(){let{line:e,html:t,marks:n,revealed:r,gutterWidth:i}=this.props;return Y(`div`,{class:`flex [contain-intrinsic-size:auto_20px] [content-visibility:auto]`,children:[Y(`span`,{class:`relative shrink-0 px-3 text-right text-description-foreground select-none`,style:{width:i},children:[e,n?.map(({kind:e,edge:t})=>Y(`span`,{"data-mark":e,class:`absolute right-1 ${t===void 0?`inset-y-0`:``} ${Fh[e]}`,style:t===void 0?void 0:{[t]:`-4px`}},`${e}:${t}`))]}),Y(`span`,{"data-reveal-line":r?e:void 0,class:`min-w-0 flex-1 pr-4 whitespace-pre-wrap wrap-anywhere${r?` bg-editor-range-highlight-background`:``}`,dangerouslySetInnerHTML:{__html:t}})]})}};function Wh({path:e,content:t,reveal:n,marks:r}){let i=Ue(()=>nf(Hh(e,t),tf(t)),[e,t]),a=Ue(()=>Bh(r,i.length),[r,i]),o=n?.line??null,s=R(null);He(()=>{n!==null&&s.current?.querySelector(`[data-reveal-line]`)?.scrollIntoView?.({block:`center`,inline:`nearest`})},[n]);let c=`calc(${String(i.length).length}ch + 1.5rem)`;return Y(`div`,{ref:s,class:`py-2 font-mono text-xs leading-5`,children:i.map((e,t)=>Y(Uh,{line:t+1,html:e,marks:a.get(t+1),revealed:t+1===o,gutterWidth:c},t+1))})}var Gh={text:!0,symlink:!1,binary:!1,image:!1,"too-large":!1},Kh={text:!1,symlink:!1,binary:!1,image:!0,"too-large":!1};function qh({path:e,payload:t,preview:n,rendered:r,wrap:i}){if(n!==void 0)return Y(uf,{path:e,payload:n});switch(t.kind){case`text`:{if(r)return Y(jh,{path:e,content:t.content});let n=er.value,a=n?.path===e?n:null,o=ws.value.get(e)??zh;return Y(i?Wh:Rh,{path:e,content:t.content,reveal:a,marks:o})}case`symlink`:return Y(df,{children:[`Symbolic link to `,Y(`span`,{class:`font-mono break-all`,children:t.target})]});case`binary`:return Y(df,{children:`Binary file — contents are not shown.`});case`image`:return Y(uf,{path:e,payload:t});case`too-large`:return Y(df,{children:zf(t,`file`)})}}function Jh({path:e}){let t=bs.value.get(e)??{status:`loading`},n=t.status===`ready`?t.payload:null,r=n===null?void 0:Lo(n,e),i=r!==void 0,a=n!==null&&zo(n,e),o=Fo.value,s=n!==null&&Gh[n.kind]&&!i&&!a&&!o,c=n!==null&&(Kh[n.kind]||i),l=Y(N,{children:[t.status===`loading`&&Y(df,{children:`Loading…`}),t.status===`error`&&Y(df,{children:[`Could not load this file`,Y(ff,{message:t.message})]}),t.status===`ready`&&Y(qh,{path:e,payload:t.payload,preview:r,rendered:a,wrap:o})]});return Y(Vf,{fill:c,children:s?Y(`div`,{class:`w-max`,children:l}):l})}function Yh({path:e,watcher:t}){let n=G(()=>Gs.value.get(e)).value??Jf,r=G(()=>Ks(e)).value,i=G(()=>qs(e)).value,a=G(()=>{let t=Ys(e);return t===void 0?null:Xo(t)}).value;return Y(tp,{path:e,badge:a!==null&&Y(nl,{code:a}),state:n,context:r,watcher:t,source:i,ensure:()=>Xs(e),onExpand:()=>Zs(e)})}var Xh=class extends P{shouldComponentUpdate(e){return e.path!==this.props.path||e.watcher!==this.props.watcher}render(){return Y(Yh,{path:this.props.path,watcher:this.props.watcher})}};function Zh(){let e=J.value?.files,{scroller:t,watcher:n}=Qf(),r=Ue(()=>e===void 0?null:rs(e),[e]),i;return i=r===null?Y(df,{children:`Loading…`}):r.length===0?Y(df,{children:`No changes`}):r.map(e=>Y(Xh,{path:e.path,watcher:n},e.path)),Y(Vf,{scrollRef:t,children:i})}function Qh(e,t,n){let r=Qn.peek();return r===null?null:r.group===e?qn(e)?op(t,n):null:`move`}var $h={left:`left:0;right:50%`,right:`left:50%;right:0`,move:`left:0;right:0`};function eg({zone:e}){let t=Qn.value===null?null:e.value;return t===null?null:Y(`div`,{"data-drop-zone":t,class:`pointer-events-none absolute inset-y-0 bg-editor-group-drop-background`,style:$h[t]})}function tg({group:e}){let t=e.active.value,n=R(null),r=un(null);return t===null?Y(ml,{}):Y(`div`,{ref:n,class:`relative flex min-h-0 flex-1 flex-col`,onDragOver:t=>{let i=n.current===null?null:Qh(e,t,n.current);r.value=i,i!==null&&t.preventDefault()},onDragLeave:e=>{ip(e)&&(r.value=null)},onDrop:t=>{let i=Qn.peek(),a=n.current===null?null:Qh(e,t,n.current);r.value=null,i!==null&&a!==null&&(t.preventDefault(),Qn.value=null,a===`move`?ms(i.group,i.key,e):hs(e,i.key,a))},children:[t.kind===`file`?Y(Jh,{path:t.path},K(t)):t.kind===`changes`?Y(Zh,{},K(t)):t.kind===`commit-changes`?Y(rp,{sha:t.sha},K(t)):t.kind===`commit`?Y(Kf,{sha:t.sha,path:t.path},K(t)):Y(Gf,{path:t.path},K(t)),Y(eg,{zone:r})]})}function ng({group:e,first:t}){let n=R(null);Ve(()=>{let t=n.current;return t===null?void 0:In(t,e.width)},[e]),_n(()=>{$n.value?.group===e&&n.current?.querySelector(`[role="tab"][aria-selected="true"]`)?.focus()});let r=G(()=>e.active.value!==null).value,i=()=>{q.peek()!==e&&(q.value=e)};return Y(rf.Provider,{value:e,children:Y(`div`,{ref:n,class:t?`flex min-w-0 flex-col border-r border-panel-border`:`flex min-w-0 flex-1 flex-col`,style:t?fo:void 0,onPointerDown:i,onFocusIn:i,children:[r&&Y(Cp,{group:e}),Y(tg,{group:e})]})})}var rg={x:{top:0,bottom:0,right:`-2px`,width:`4px`,cursor:`col-resize`,touchAction:`none`},y:{left:0,right:0,top:`-2px`,height:`4px`,cursor:`row-resize`,touchAction:`none`}},ig={background:`var(--color-description-foreground)`,transition:`opacity 200ms`},ag={x:{...ig,top:0,bottom:0,left:`1px`,right:0,height:`32px`,margin:`auto 0`},y:{...ig,left:0,right:0,top:`1px`,bottom:0,width:`32px`,margin:`0 auto`}},og=e=>t=>{let n=t.parentElement?.parentElement?.getBoundingClientRect();return 100/((e===`x`?n?.width:n?.height)??0)},sg={x:[`ArrowLeft`,`ArrowRight`],y:[`ArrowUp`,`ArrowDown`]};function cg({name:e,axis:t,label:n,value:r,min:i,max:a,step:o,initial:s,current:c,unitsPerPx:l,set:u}){let d=R(null),f=e=>t===`x`?e.clientX:e.clientY,p=()=>{d.current=null,to.value=null};return Ve(()=>()=>{d.current!==null&&p()},[]),Y(`div`,{role:`separator`,"aria-orientation":t===`x`?`vertical`:`horizontal`,"aria-label":n,"aria-valuenow":r,"aria-valuemin":i,"aria-valuemax":a,tabIndex:0,title:`Drag to resize, double-click to reset`,class:`group absolute z-10 focus-visible:-outline-offset-2 focus-visible:outline-2 focus-visible:outline-focus-border`,style:rg[t],onPointerDown:n=>{n.button===0&&(n.preventDefault(),n.currentTarget.setPointerCapture(n.pointerId),d.current={at:f(n),value:c(),scale:l(n.currentTarget)},to.value={name:e,axis:t})},onPointerMove:e=>{let t=d.current;t===null||!Number.isFinite(t.scale)||u(t.value+(f(e)-t.at)*t.scale)},onPointerUp:p,onLostPointerCapture:p,onDblClick:()=>u(s),onKeyDown:e=>{let[n,r]=sg[t],s=e.key===n?c()-o:e.key===r?c()+o:e.key===`Home`?i:e.key===`End`?a:null;s!==null&&(e.preventDefault(),u(s))},children:Y(`span`,{class:`absolute rounded-full ${to.value?.name===e?``:`opacity-0 group-hover:opacity-100`}`,style:ag[t]})})}var lg=2,ug=()=>lo.peek(),dg=og(`x`);function fg(){return Y(cg,{name:`split`,axis:`x`,label:`Resize editor groups`,value:lo,min:20,max:80,step:lg,initial:50,current:ug,unitsPerPx:dg,set:uo})}function pg({code:e}){return Y(`span`,{role:`img`,"aria-label":`Contains changes`,title:`Contains changes`,class:`${el} flex items-center justify-center ${$c[e]}`,children:Y(`span`,{class:`size-1.5 rounded-full bg-current`})})}var mg=`${kc} items-center`;function hg({entry:e,depth:t}){let n=e.kind===`directory`,r=G(()=>vo.value.has(e.path)),i=G(()=>`${mg} ${!n&&Zn.value===e.path?Oc:e.ignored?`text-description-foreground opacity-60`:``}`),a=G(()=>Qo.value.get(e.path)??null).value,o=a===null?`min-w-0 truncate`:`min-w-0 truncate ${$c[a]}`,s=n&&r.value,c=R(null);return _n(()=>{Zn.value===e.path&&c.current?.scrollIntoView({block:`nearest`})}),Y(Wc,{buttonRef:c,onClick:()=>n?So(e.path):Ss(e.path),onDblClick:n?void 0:()=>cr(Ln(`file`,e.path)),title:e.path,"aria-expanded":n?s:void 0,class:i,style:jc(t),badge:a!==null&&Y(n?pg:nl,{code:a}),actions:Y(Jc,{path:e.path}),sublevel:s&&Y(gg,{path:e.path,depth:t+1}),children:[n?Y(Fc,{expanded:s}):Y(Ic,{}),Y(`span`,{class:o,children:e.name})]})}function gg({path:e,depth:t}){let n=G(()=>_o.value.get(e)).value,r=G(()=>yo.value.get(e)).value,i=n===void 0?r??`Loading…`:n.length===0?`Empty`:null;return Y(Pc,{depth:t,children:i===null?n?.map(e=>Y(hg,{entry:e,depth:t},e.path)):Y(Lc,{text:i,depth:t})})}function _g(){return _n(()=>{let e=Zn.value;e!==null&&Ft(()=>wo(e))}),Y(gg,{path:``,depth:0})}var vg={removed:`#e5484d`,added:`#30a46c`},yg=(e,t,n)=>[`rect`,{x:`4.5`,y:String(e),width:String(t),height:`4`,rx:`1.5`,...n,stroke:`none`}],bg=z(`difftab-mark`,[yg(4,10,{fill:`currentColor`,"fill-opacity":`0.35`}),yg(10,15,{fill:vg.removed}),yg(16,12,{fill:vg.added})]);function xg(){return(J.value?.files??[]).filter(e=>!hi(e)).map(e=>({path:e.path,score:0,positions:[]}))}function Sg({anchor:e}){let t=R(document.activeElement);return Ve(()=>{Fr()},[]),Y(Nl,{idPrefix:`quick-open`,label:ic.goToFile.label,inputLabel:`Search files by name`,placeholder:`Search files by name`,anchor:e,match:e=>{if(e.trim()===``)return xg();let t=Mr.value;return t===null?[]:Ur(t,e)},keyOf:e=>e.path,Row:Cg,context:null,status:Nr.value,noMatch:e=>e.trim()===``?`No changed files — type to search by name`:Mr.value===null?`Loading…`:`No matching files`,onPick:e=>Ss(e.path,{pinned:!0}),onClose:()=>{jr.value=!1,t.current?.focus?.()}})}function Cg({item:e}){let{dir:t,name:n}=Qc(e.path),r=new Set(e.positions),i=e.path.length-n.length;return Y(`div`,{class:`truncate`,title:e.path,children:[wg(n,i,r),t&&Y(`span`,{class:`ml-2 text-xs text-description-foreground`,children:wg(t,0,r)})]})}function wg(e,t,n){if(n.size===0)return e;let r=[],i=``,a=!1,o=()=>{i!==``&&(r.push(a?Y(`b`,{class:`font-semibold text-editor-foreground`,children:i}):i),i=``)};for(let r=0;r<e.length;r+=1){let s=n.has(t+r);s!==a&&(o(),a=s),i+=e[r]}return o(),r}var Tg=`${kc} items-center`,Eg=`${kc} items-baseline`;function Dg(){let e=R(null),t=Qr.value;return Ve(()=>{e.current?.focus(),t>0&&e.current?.select()},[t]),Y(`div`,{class:`shrink-0 px-3 py-2`,children:Y(`div`,{class:`flex items-center rounded-sm border border-panel-border bg-editor-background focus-within:border-focus-border`,children:[Y(`input`,{ref:e,type:`text`,"aria-label":`Search`,placeholder:`Search`,spellcheck:!1,autocomplete:`off`,value:Wr.value,onInput:e=>ri(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&oi()},class:`min-w-0 flex-1 bg-transparent px-2 outline-none`}),Y(sp,{icon:rt,label:`Match Case`,pressed:Gr.value,onClick:ii}),Y(sp,{icon:At,label:`Match Whole Word`,pressed:Kr.value,onClick:ai})]})})}var Og=(e,t)=>`${e} ${t}${e===1?``:`s`}`;function kg(){if(Wr.value===``)return null;let e=Jr.value,t=qr.value,n;if(e!==null)n=Y(N,{children:[`Could not search`,Y(ff,{message:e})]});else if(t===null)n=Yr.value?`Searching…`:null;else{let e=t.files.reduce((e,t)=>e+t.matches.length,0);n=e===0?`No results`:`${Og(e,`result`)} in ${Og(t.files.length,`file`)}`}return Y(`div`,{class:`shrink-0 px-3 pb-1 text-xs text-description-foreground`,children:[Y(`p`,{"aria-live":`polite`,children:n}),t?.truncated&&Y(`p`,{children:[`Showing the first `,2e3.toLocaleString(`en`),` results — refine your search`]})]})}function Ag(e){let t=[],n=0;for(let[r,i]of e.ranges)r>n&&t.push(e.text.slice(n,r)),t.push(Y(`mark`,{class:`rounded-xs bg-editor-find-match-highlight-background text-inherit`,children:e.text.slice(r,i)})),n=i;return n<e.text.length&&t.push(e.text.slice(n)),t}function jg({path:e,match:t}){return Y(Wc,{actions:null,onClick:()=>Ss(e,{line:t.line}),onDblClick:()=>cr(Ln(`file`,e)),title:`${e}:${t.line}`,class:Eg,style:jc(1),children:[Y(Ic,{}),Y(`span`,{class:`min-w-0 truncate`,children:Ag(t)})]})}function Mg({file:e}){let t=Xr.value.has(e.path),{dir:n,name:r}=Qc(e.path),i=G(()=>`${Tg} ${Zn.value===e.path?Oc:``}`);return Y(Wc,{actions:Y(Jc,{path:e.path}),onClick:()=>Zr(e.path),title:e.path,"aria-expanded":!t,class:i,style:jc(0),sublevel:!t&&Y(`ul`,{children:e.matches.map(t=>Y(jg,{path:e.path,match:t},t.line))}),children:[Y(Fc,{expanded:!t}),Y(`span`,{class:`min-w-0 truncate`,children:[r,n&&Y(`span`,{class:`ml-2 text-xs text-description-foreground`,children:n})]}),Y(`span`,{class:`ml-auto shrink-0 text-xs text-description-foreground`,children:e.matches.length})]})}function Ng(){let e=qr.value;return Y(`div`,{class:`flex h-full flex-col`,children:[Y(Dg,{}),Y(kg,{}),Y(`div`,{class:`min-h-0 flex-1 overflow-auto`,children:e!==null&&Y(`ul`,{"aria-label":`Search results`,children:e.files.map(e=>Y(Mg,{file:e},e.path))})})]})}var Pg=16,Fg=()=>1;function Ig(){return Y(cg,{name:`sidebar`,axis:`x`,label:`Resize sidebar`,value:Za,min:200,max:960,step:Pg,initial:320,current:eo,unitsPerPx:Fg,set:Qa})}var Lg=5;function Rg({title:e,collapsed:t,style:n,actions:r,children:i}){let a=!t.value;return Y(`div`,{class:`flex min-h-0 flex-col ${a?`flex-1`:`shrink-0`}`,style:n,children:[Y(`h2`,{class:`flex shrink-0 items-center ${r?`pr-3`:``}`,children:[Y(`button`,{type:`button`,"aria-expanded":a,onClick:()=>{t.value=a},class:`flex min-w-0 flex-1 items-center gap-1 px-1 text-xs/6 font-medium text-description-foreground uppercase hover:text-editor-foreground focus-visible:-outline-offset-2 focus-visible:outline-2 focus-visible:outline-focus-border`,children:[Y(Fc,{expanded:a}),e]}),r]}),Y(`div`,{class:`min-h-0 flex-1 overflow-auto ${a?``:`hidden`}`,children:i})]})}var zg=()=>ao.peek(),Bg=og(`y`);function Vg(){return Y(cg,{name:`pane`,axis:`y`,label:`Resize changes`,value:ao,min:15,max:85,step:Lg,initial:50,current:zg,unitsPerPx:Bg,set:so})}function Hg(){let e=J.value,t=Do.value;return e===null?Y(pl,{children:t===null?`Loading…`:`Could not load the change list. Reload the page to retry.`}):Y(fl,{files:e.files})}function Ug(){let e=!ro.value&&!io.value,t=vs.value;return Ve(()=>{if(!t){ba();return}Aa(J.peek())},[t]),Y(`div`,{class:`flex h-full flex-col`,children:[Y(Rg,{title:`Changes`,collapsed:ro,style:e?co:void 0,actions:Y(Dc,{icon:wc.changes,label:`Open Changes`,onClick:Qs}),children:Y(Hg,{})}),Y(`div`,{class:`relative shrink-0 border-t border-panel-border`,children:e&&Y(Vg,{})}),Y(Rg,{title:`History`,collapsed:io,children:Y(Ml,{})})]})}var Wg={system:`light`,light:`dark`,dark:`system`},Gg=`difftab:theme`,Kg=e=>e===`light`||e===`dark`;function qg(){let e=Ja(Gg);return Kg(e)?e:`system`}var Jg=U(`system`);function Yg(){Jg.value=Wg[Jg.value]}function Xg(){let e=qg();return Jg.value=e,Qt(()=>{let t=Jg.value,n=document.documentElement;t===`system`?n.removeAttribute(`data-theme`):n.setAttribute(`data-theme`,t),t!==e&&Ya(Gg,t===`system`?null:t)&&(e=t)})}var Zg={system:{label:`Follow system`,icon:xt},light:{label:`Light`,icon:Et},dark:{label:`Dark`,icon:St}};function Qg(){let{label:e,icon:t}=Zg[Jg.value];return Y(Dc,{icon:t,label:e,onClick:Yg})}function $g({watch:e}){return e.mode===`polling`?Y(mc,{tone:`text-description-foreground`,title:`Native file watching is not in use; working tree changes are picked up by polling and may take a second or two`,children:`Polling`}):null}var e_=[{id:`changes`,label:`Changes`,icon:gt},{id:`files`,label:`Files`,icon:ht},{id:`search`,label:ic.search.label,shortcut:ic.search,icon:Tt}],t_=`flex border-b px-3 py-1.5 focus-visible:-outline-offset-2 focus-visible:outline-2 focus-visible:outline-focus-border`,n_={list:{icon:yt,label:`View as tree`},tree:{icon:bt,label:`View as list`}};function r_(){let e=_s.value;return Y(`div`,{class:`flex shrink-0 items-center justify-between divider-b pr-3`,children:[Y(`div`,{class:`flex`,role:`tablist`,children:e_.map(t=>Y(`button`,{type:`button`,role:`tab`,"aria-selected":e===t.id,"aria-label":t.label,title:oc(t.label,t.shortcut),onClick:()=>{_s.value=t.id},class:`${t_} ${e===t.id?`border-editor-foreground text-editor-foreground`:`border-transparent text-description-foreground hover:bg-list-hover-background`}`,children:Y(Cc,{icon:t.icon})},t.id))}),e===`changes`&&Y(Dc,{...n_[xn.value],onClick:Sn}),e===`files`&&Y(Dc,{icon:ot,label:`Collapse all`,onClick:Co})]})}function i_(){let e=J.value,t=Do.value,n=_s.value,r=Gn.value;Ve(()=>{n===`search`&&ui(),n===`files`&&(_o.value.has(``)||xo(``),Eo())},[n]),Ve(()=>(document.addEventListener(`keydown`,cc),()=>document.removeEventListener(`keydown`,cc)),[]);let i=R(null);return Y(`div`,{class:`flex h-screen bg-editor-background text-editor-foreground`,style:no,children:[Y(`aside`,{class:`relative flex shrink-0 flex-col border-r border-panel-border bg-side-bar-background`,style:$a,children:[Y(`header`,{class:`flex h-9 shrink-0 items-center gap-2 border-b border-panel-border bg-title-bar-background px-3 text-sm font-medium`,children:[Y(Cc,{icon:bg,class:`shrink-0`}),Y(`span`,{class:`min-w-0 flex-1 truncate`,children:e?.repoName||`difftab`}),Y(Dc,{icon:mt,label:ic.goToFile.label,shortcut:ic.goToFile,popup:!0,buttonRef:i,onClick:()=>{jr.value=!jr.value}}),Y(Qg,{})]}),Y(r_,{}),t!==null&&Y(`p`,{class:`shrink-0 border-b border-warning-border bg-warning-background px-3 py-2 text-sm break-words`,children:t}),Y(`nav`,{class:`${Mc} min-h-0 flex-1 text-sm/6 ${n===`files`?`overflow-auto`:``}`,children:Y(n===`files`?_g:n===`search`?Ng:Ug,{})}),e!==null&&Y(`footer`,{class:`flex shrink-0 items-baseline gap-2 border-t border-panel-border px-3 py-1`,children:[Y(Ul,{branch:e.branch}),Y($g,{watch:e.watch})]}),Y(Ig,{})]}),Y(`section`,{class:`flex min-w-0 flex-1`,children:r.map((e,t)=>Y(N,{children:[Y(ng,{group:e,first:t===0&&r.length>1}),t===0&&r.length>1&&Y(`div`,{class:`relative shrink-0`,children:Y(fg,{})})]},e.id))}),jr.value&&Y(Sg,{anchor:i})]})}var a_=2,o_=3e3,s_=_i*2+5e3;function c_(){let e=null,t=null,n=0,r=0,i=!1,a=()=>{if(i||(t!==null&&(clearTimeout(t),t=null),e!==null&&e.readyState!==a_))return!1;e?.close();let o=new EventSource(`/api/events`);e=o,r=Date.now();let s=()=>{r=Date.now(),n=0};return o.addEventListener(`open`,s),o.addEventListener(`heartbeat`,s),o.addEventListener(`change`,()=>{s(),ls()}),o.addEventListener(`error`,()=>{o.readyState!==a_||i||t!==null||n>=5||(n+=1,t=setTimeout(a,o_))}),!0},o=()=>{document.hidden||(e!==null&&Date.now()-r>s_&&(e.close(),e=null),n=0,a()&&ls())};return document.addEventListener(`visibilitychange`,o),a(),()=>{i=!0,document.removeEventListener(`visibilitychange`,o),t!==null&&clearTimeout(t),e?.close(),e=null}}var l_=document.getElementById(`app`);l_&&(Xg(),ho(),be(Y(i_,{}),l_),as(),c_(),fc());
86
+ `)}),[e,t]),o=R(null);return He(()=>{n!==null&&o.current?.scrollIntoView?.({block:`center`,inline:`nearest`})},[n]),Y(`div`,{class:`relative isolate flex font-mono text-xs leading-5`,children:[n!==null&&Y(`div`,{ref:o,"aria-hidden":`true`,"data-reveal-line":n.line,class:`pointer-events-none absolute inset-x-0 -z-10 bg-editor-range-highlight-background`,style:{top:`${Ph(n.line)}px`,height:`${Mh}px`}}),Y(`pre`,{class:`sticky left-0 shrink-0 bg-editor-background px-3 py-2 text-right text-description-foreground select-none`,children:[a,Y(Lh,{marks:r})]}),Y(`pre`,{class:`min-w-0 py-2 pr-4`,dangerouslySetInnerHTML:{__html:i}})]})}var zh=[];function Bh(e,t){let n=new Map,r=(e,t)=>{let r=n.get(e);r===void 0?n.set(e,[t]):r.push(t)};for(let{kind:n,line:i,count:a}of e)if(n!==`deleted`)for(let e=i;e<i+a&&e<=t;e++)r(e,{kind:n});else i<=t?r(i,{kind:n,edge:`top`}):t>0&&r(t,{kind:n,edge:`bottom`});return n}var Vh=null;function Hh(e,t){return(Vh?.path!==e||Vh.content!==t)&&(Vh={path:e,content:t,html:Id().highlight(t,{language:Ud(e)}).value}),Vh.html}var Uh=class extends P{shouldComponentUpdate(e){let{props:t}=this;return e.html!==t.html||e.marks!==t.marks||e.revealed!==t.revealed||e.gutterWidth!==t.gutterWidth}render(){let{line:e,html:t,marks:n,revealed:r,gutterWidth:i}=this.props;return Y(`div`,{class:`flex [contain-intrinsic-size:auto_20px] [content-visibility:auto]`,children:[Y(`span`,{class:`relative shrink-0 px-3 text-right text-description-foreground select-none`,style:{width:i},children:[e,n?.map(({kind:e,edge:t})=>Y(`span`,{"data-mark":e,class:`absolute right-1 ${t===void 0?`inset-y-0`:``} ${Fh[e]}`,style:t===void 0?void 0:{[t]:`-4px`}},`${e}:${t}`))]}),Y(`span`,{"data-reveal-line":r?e:void 0,class:`min-w-0 flex-1 pr-4 whitespace-pre-wrap wrap-anywhere${r?` bg-editor-range-highlight-background`:``}`,dangerouslySetInnerHTML:{__html:t}})]})}};function Wh({path:e,content:t,reveal:n,marks:r}){let i=Ue(()=>nf(Hh(e,t),tf(t)),[e,t]),a=Ue(()=>Bh(r,i.length),[r,i]),o=n?.line??null,s=R(null);He(()=>{n!==null&&s.current?.querySelector(`[data-reveal-line]`)?.scrollIntoView?.({block:`center`,inline:`nearest`})},[n]);let c=`calc(${String(i.length).length}ch + 1.5rem)`;return Y(`div`,{ref:s,class:`py-2 font-mono text-xs leading-5`,children:i.map((e,t)=>Y(Uh,{line:t+1,html:e,marks:a.get(t+1),revealed:t+1===o,gutterWidth:c},t+1))})}var Gh={text:!0,symlink:!1,binary:!1,image:!1,"too-large":!1},Kh={text:!1,symlink:!1,binary:!1,image:!0,"too-large":!1};function qh({path:e,payload:t,preview:n,rendered:r,wrap:i}){if(n!==void 0)return Y(uf,{path:e,payload:n});switch(t.kind){case`text`:{if(r)return Y(jh,{path:e,content:t.content});let n=er.value,a=n?.path===e?n:null,o=ws.value.get(e)??zh;return Y(i?Wh:Rh,{path:e,content:t.content,reveal:a,marks:o})}case`symlink`:return Y(df,{children:[`Symbolic link to `,Y(`span`,{class:`font-mono break-all`,children:t.target})]});case`binary`:return Y(df,{children:`Binary file — contents are not shown.`});case`image`:return Y(uf,{path:e,payload:t});case`too-large`:return Y(df,{children:zf(t,`file`)})}}function Jh({path:e}){let t=bs.value.get(e)??{status:`loading`},n=t.status===`ready`?t.payload:null,r=n===null?void 0:Lo(n,e),i=r!==void 0,a=n!==null&&zo(n,e),o=Fo.value,s=n!==null&&Gh[n.kind]&&!i&&!a&&!o,c=n!==null&&(Kh[n.kind]||i),l=Y(N,{children:[t.status===`loading`&&Y(df,{children:`Loading…`}),t.status===`error`&&Y(df,{children:[`Could not load this file`,Y(ff,{message:t.message})]}),t.status===`ready`&&Y(qh,{path:e,payload:t.payload,preview:r,rendered:a,wrap:o})]});return Y(Vf,{fill:c,children:s?Y(`div`,{class:`w-max`,children:l}):l})}function Yh({path:e,watcher:t}){let n=G(()=>Gs.value.get(e)).value??Jf,r=G(()=>Ks(e)).value,i=G(()=>qs(e)).value,a=G(()=>{let t=Ys(e);return t===void 0?null:Xo(t)}).value;return Y(tp,{path:e,badge:a!==null&&Y(nl,{code:a}),state:n,context:r,watcher:t,source:i,ensure:()=>Xs(e),onExpand:()=>Zs(e)})}var Xh=class extends P{shouldComponentUpdate(e){return e.path!==this.props.path||e.watcher!==this.props.watcher}render(){return Y(Yh,{path:this.props.path,watcher:this.props.watcher})}};function Zh(){let e=J.value?.files,{scroller:t,watcher:n}=Qf(),r=Ue(()=>e===void 0?null:rs(e),[e]),i;return i=r===null?Y(df,{children:`Loading…`}):r.length===0?Y(df,{children:`No changes`}):r.map(e=>Y(Xh,{path:e.path,watcher:n},e.path)),Y(Vf,{scrollRef:t,children:i})}function Qh(e,t,n){let r=Qn.peek();return r===null?null:r.group===e?qn(e)?op(t,n):null:`move`}var $h={left:`left:0;right:50%`,right:`left:50%;right:0`,move:`left:0;right:0`};function eg({zone:e}){let t=Qn.value===null?null:e.value;return t===null?null:Y(`div`,{"data-drop-zone":t,class:`pointer-events-none absolute inset-y-0 bg-editor-group-drop-background`,style:$h[t]})}function tg({group:e}){let t=e.active.value,n=R(null),r=un(null);return t===null?Y(ml,{}):Y(`div`,{ref:n,class:`relative flex min-h-0 flex-1 flex-col`,onDragOver:t=>{let i=n.current===null?null:Qh(e,t,n.current);r.value=i,i!==null&&t.preventDefault()},onDragLeave:e=>{ip(e)&&(r.value=null)},onDrop:t=>{let i=Qn.peek(),a=n.current===null?null:Qh(e,t,n.current);r.value=null,i!==null&&a!==null&&(t.preventDefault(),Qn.value=null,a===`move`?ms(i.group,i.key,e):hs(e,i.key,a))},children:[t.kind===`file`?Y(Jh,{path:t.path},K(t)):t.kind===`changes`?Y(Zh,{},K(t)):t.kind===`commit-changes`?Y(rp,{sha:t.sha},K(t)):t.kind===`commit`?Y(Kf,{sha:t.sha,path:t.path},K(t)):Y(Gf,{path:t.path},K(t)),Y(eg,{zone:r})]})}function ng({group:e,first:t}){let n=R(null);Ve(()=>{let t=n.current;return t===null?void 0:In(t,e.width)},[e]),_n(()=>{$n.value?.group===e&&n.current?.querySelector(`[role="tab"][aria-selected="true"]`)?.focus()});let r=G(()=>e.active.value!==null).value,i=()=>{q.peek()!==e&&(q.value=e)};return Y(rf.Provider,{value:e,children:Y(`div`,{ref:n,class:t?`flex min-w-0 flex-col border-r border-panel-border`:`flex min-w-0 flex-1 flex-col`,style:t?fo:void 0,onPointerDown:i,onFocusIn:i,children:[r&&Y(Cp,{group:e}),Y(tg,{group:e})]})})}var rg={x:{top:0,bottom:0,right:`-2px`,width:`4px`,cursor:`col-resize`,touchAction:`none`},y:{left:0,right:0,top:`-2px`,height:`4px`,cursor:`row-resize`,touchAction:`none`}},ig={background:`var(--color-description-foreground)`,transition:`opacity 200ms`},ag={x:{...ig,top:0,bottom:0,left:`1px`,right:0,height:`32px`,margin:`auto 0`},y:{...ig,left:0,right:0,top:`1px`,bottom:0,width:`32px`,margin:`0 auto`}},og=e=>t=>{let n=t.parentElement?.parentElement?.getBoundingClientRect();return 100/((e===`x`?n?.width:n?.height)??0)},sg={x:[`ArrowLeft`,`ArrowRight`],y:[`ArrowUp`,`ArrowDown`]};function cg({name:e,axis:t,label:n,value:r,min:i,max:a,step:o,initial:s,current:c,unitsPerPx:l,set:u}){let d=R(null),f=e=>t===`x`?e.clientX:e.clientY,p=()=>{d.current=null,to.value=null};return Ve(()=>()=>{d.current!==null&&p()},[]),Y(`div`,{role:`separator`,"aria-orientation":t===`x`?`vertical`:`horizontal`,"aria-label":n,"aria-valuenow":r,"aria-valuemin":i,"aria-valuemax":a,tabIndex:0,title:`Drag to resize, double-click to reset`,class:`group absolute z-10 focus-visible:-outline-offset-2 focus-visible:outline-2 focus-visible:outline-focus-border`,style:rg[t],onPointerDown:n=>{n.button===0&&(n.preventDefault(),n.currentTarget.setPointerCapture(n.pointerId),d.current={at:f(n),value:c(),scale:l(n.currentTarget)},to.value={name:e,axis:t})},onPointerMove:e=>{let t=d.current;t===null||!Number.isFinite(t.scale)||u(t.value+(f(e)-t.at)*t.scale)},onPointerUp:p,onLostPointerCapture:p,onDblClick:()=>u(s),onKeyDown:e=>{let[n,r]=sg[t],s=e.key===n?c()-o:e.key===r?c()+o:e.key===`Home`?i:e.key===`End`?a:null;s!==null&&(e.preventDefault(),u(s))},children:Y(`span`,{class:`absolute rounded-full ${to.value?.name===e?``:`opacity-0 group-hover:opacity-100`}`,style:ag[t]})})}var lg=2,ug=()=>lo.peek(),dg=og(`x`);function fg(){return Y(cg,{name:`split`,axis:`x`,label:`Resize editor groups`,value:lo,min:20,max:80,step:lg,initial:50,current:ug,unitsPerPx:dg,set:uo})}function pg({code:e}){return Y(`span`,{role:`img`,"aria-label":`Contains changes`,title:`Contains changes`,class:`${el} flex items-center justify-center ${$c[e]}`,children:Y(`span`,{class:`size-1.5 rounded-full bg-current`})})}var mg=`${kc} items-center`;function hg({entry:e,depth:t}){let n=e.kind===`directory`,r=G(()=>vo.value.has(e.path)),i=G(()=>`${mg} ${!n&&Zn.value===e.path?Oc:e.ignored?`text-description-foreground opacity-60`:``}`),a=G(()=>Qo.value.get(e.path)??null).value,o=a===null?`min-w-0 truncate`:`min-w-0 truncate ${$c[a]}`,s=n&&r.value,c=R(null);return _n(()=>{Zn.value===e.path&&c.current?.scrollIntoView({block:`nearest`})}),Y(Wc,{buttonRef:c,onClick:()=>n?So(e.path):Ss(e.path),onDblClick:n?void 0:()=>cr(Ln(`file`,e.path)),title:e.path,"aria-expanded":n?s:void 0,class:i,style:jc(t),badge:a!==null&&Y(n?pg:nl,{code:a}),actions:Y(Jc,{path:e.path}),sublevel:s&&Y(gg,{path:e.path,depth:t+1}),children:[n?Y(Fc,{expanded:s}):Y(Ic,{}),Y(`span`,{class:o,children:e.name})]})}function gg({path:e,depth:t}){let n=G(()=>_o.value.get(e)).value,r=G(()=>yo.value.get(e)).value,i=n===void 0?r??`Loading…`:n.length===0?`Empty`:null;return Y(Pc,{depth:t,children:i===null?n?.map(e=>Y(hg,{entry:e,depth:t},e.path)):Y(Lc,{text:i,depth:t})})}function _g(){return _n(()=>{let e=Zn.value;e!==null&&Ft(()=>wo(e))}),Y(gg,{path:``,depth:0})}var vg={removed:`#e5484d`,added:`#30a46c`},yg=(e,t,n)=>[`rect`,{x:`4.5`,y:String(e),width:String(t),height:`4`,rx:`1.5`,...n,stroke:`none`}],bg=z(`difftab-mark`,[yg(4,10,{fill:`currentColor`,"fill-opacity":`0.35`}),yg(10,15,{fill:vg.removed}),yg(16,12,{fill:vg.added})]);function xg(){return(J.value?.files??[]).filter(e=>!hi(e)).map(e=>({path:e.path,score:0,positions:[]}))}function Sg({anchor:e}){let t=R(document.activeElement);return Ve(()=>{Fr()},[]),Y(Nl,{idPrefix:`quick-open`,label:ic.goToFile.label,inputLabel:`Search files by name`,placeholder:`Search files by name`,anchor:e,match:e=>{if(e.trim()===``)return xg();let t=Mr.value;return t===null?[]:Ur(t,e)},keyOf:e=>e.path,Row:Cg,context:null,status:Nr.value,noMatch:e=>e.trim()===``?`No changed files — type to search by name`:Mr.value===null?`Loading…`:`No matching files`,onPick:e=>Ss(e.path,{pinned:!0}),onClose:()=>{jr.value=!1,t.current?.focus?.()}})}function Cg({item:e}){let{dir:t,name:n}=Qc(e.path),r=new Set(e.positions),i=e.path.length-n.length;return Y(`div`,{class:`truncate`,title:e.path,children:[wg(n,i,r),t&&Y(`span`,{class:`ml-2 text-xs text-description-foreground`,children:wg(t,0,r)})]})}function wg(e,t,n){if(n.size===0)return e;let r=[],i=``,a=!1,o=()=>{i!==``&&(r.push(a?Y(`b`,{class:`font-semibold text-editor-foreground`,children:i}):i),i=``)};for(let r=0;r<e.length;r+=1){let s=n.has(t+r);s!==a&&(o(),a=s),i+=e[r]}return o(),r}var Tg=`${kc} items-center`,Eg=`${kc} items-baseline`;function Dg(){let e=R(null),t=Qr.value;return Ve(()=>{e.current?.focus(),t>0&&e.current?.select()},[t]),Y(`div`,{class:`shrink-0 px-3 py-2`,children:Y(`div`,{class:`flex items-center rounded-sm border border-panel-border bg-editor-background`,children:[Y(`input`,{ref:e,type:`text`,"aria-label":`Search`,placeholder:`Search`,spellcheck:!1,autocomplete:`off`,value:Wr.value,onInput:e=>ri(e.currentTarget.value),onKeyDown:e=>{e.key===`Enter`&&oi()},class:`min-w-0 flex-1 bg-transparent px-2 outline-none`}),Y(sp,{icon:rt,label:`Match Case`,pressed:Gr.value,onClick:ii}),Y(sp,{icon:At,label:`Match Whole Word`,pressed:Kr.value,onClick:ai})]})})}var Og=(e,t)=>`${e} ${t}${e===1?``:`s`}`;function kg(){if(Wr.value===``)return null;let e=Jr.value,t=qr.value,n;if(e!==null)n=Y(N,{children:[`Could not search`,Y(ff,{message:e})]});else if(t===null)n=Yr.value?`Searching…`:null;else{let e=t.files.reduce((e,t)=>e+t.matches.length,0);n=e===0?`No results`:`${Og(e,`result`)} in ${Og(t.files.length,`file`)}`}return Y(`div`,{class:`shrink-0 px-3 pb-1 text-xs text-description-foreground`,children:[Y(`p`,{"aria-live":`polite`,children:n}),t?.truncated&&Y(`p`,{children:[`Showing the first `,2e3.toLocaleString(`en`),` results — refine your search`]})]})}function Ag(e){let t=[],n=0;for(let[r,i]of e.ranges)r>n&&t.push(e.text.slice(n,r)),t.push(Y(`mark`,{class:`rounded-xs bg-editor-find-match-highlight-background text-inherit`,children:e.text.slice(r,i)})),n=i;return n<e.text.length&&t.push(e.text.slice(n)),t}function jg({path:e,match:t}){return Y(Wc,{actions:null,onClick:()=>Ss(e,{line:t.line}),onDblClick:()=>cr(Ln(`file`,e)),title:`${e}:${t.line}`,class:Eg,style:jc(1),children:[Y(Ic,{}),Y(`span`,{class:`min-w-0 truncate`,children:Ag(t)})]})}function Mg({file:e}){let t=Xr.value.has(e.path),{dir:n,name:r}=Qc(e.path),i=G(()=>`${Tg} ${Zn.value===e.path?Oc:``}`);return Y(Wc,{actions:Y(Jc,{path:e.path}),onClick:()=>Zr(e.path),title:e.path,"aria-expanded":!t,class:i,style:jc(0),sublevel:!t&&Y(`ul`,{children:e.matches.map(t=>Y(jg,{path:e.path,match:t},t.line))}),children:[Y(Fc,{expanded:!t}),Y(`span`,{class:`min-w-0 truncate`,children:[r,n&&Y(`span`,{class:`ml-2 text-xs text-description-foreground`,children:n})]}),Y(`span`,{class:`ml-auto shrink-0 text-xs text-description-foreground`,children:e.matches.length})]})}function Ng(){let e=qr.value;return Y(`div`,{class:`flex h-full flex-col`,children:[Y(Dg,{}),Y(kg,{}),Y(`div`,{class:`min-h-0 flex-1 overflow-auto`,children:e!==null&&Y(`ul`,{"aria-label":`Search results`,children:e.files.map(e=>Y(Mg,{file:e},e.path))})})]})}var Pg=16,Fg=()=>1;function Ig(){return Y(cg,{name:`sidebar`,axis:`x`,label:`Resize sidebar`,value:Za,min:200,max:960,step:Pg,initial:320,current:eo,unitsPerPx:Fg,set:Qa})}var Lg=5;function Rg({title:e,collapsed:t,style:n,actions:r,children:i}){let a=!t.value;return Y(`div`,{class:`flex min-h-0 flex-col ${a?`flex-1`:`shrink-0`}`,style:n,children:[Y(`h2`,{class:`flex shrink-0 items-center ${r?`pr-3`:``}`,children:[Y(`button`,{type:`button`,"aria-expanded":a,onClick:()=>{t.value=a},class:`flex min-w-0 flex-1 items-center gap-1 px-1 text-xs/6 font-medium text-description-foreground uppercase hover:text-editor-foreground focus-visible:-outline-offset-2 focus-visible:outline-2 focus-visible:outline-focus-border`,children:[Y(Fc,{expanded:a}),e]}),r]}),Y(`div`,{class:`min-h-0 flex-1 overflow-auto ${a?``:`hidden`}`,children:i})]})}var zg=()=>ao.peek(),Bg=og(`y`);function Vg(){return Y(cg,{name:`pane`,axis:`y`,label:`Resize changes`,value:ao,min:15,max:85,step:Lg,initial:50,current:zg,unitsPerPx:Bg,set:so})}function Hg(){let e=J.value,t=Do.value;return e===null?Y(pl,{children:t===null?`Loading…`:`Could not load the change list. Reload the page to retry.`}):Y(fl,{files:e.files})}function Ug(){let e=!ro.value&&!io.value,t=vs.value;return Ve(()=>{if(!t){ba();return}Aa(J.peek())},[t]),Y(`div`,{class:`flex h-full flex-col`,children:[Y(Rg,{title:`Changes`,collapsed:ro,style:e?co:void 0,actions:Y(Dc,{icon:wc.changes,label:`Open Changes`,onClick:Qs}),children:Y(Hg,{})}),Y(`div`,{class:`relative shrink-0 border-t border-panel-border`,children:e&&Y(Vg,{})}),Y(Rg,{title:`History`,collapsed:io,children:Y(Ml,{})})]})}var Wg={system:`light`,light:`dark`,dark:`system`},Gg=`difftab:theme`,Kg=e=>e===`light`||e===`dark`;function qg(){let e=Ja(Gg);return Kg(e)?e:`system`}var Jg=U(`system`);function Yg(){Jg.value=Wg[Jg.value]}function Xg(){let e=qg();return Jg.value=e,Qt(()=>{let t=Jg.value,n=document.documentElement;t===`system`?n.removeAttribute(`data-theme`):n.setAttribute(`data-theme`,t),t!==e&&Ya(Gg,t===`system`?null:t)&&(e=t)})}var Zg={system:{label:`Follow system`,icon:xt},light:{label:`Light`,icon:Et},dark:{label:`Dark`,icon:St}};function Qg(){let{label:e,icon:t}=Zg[Jg.value];return Y(Dc,{icon:t,label:e,onClick:Yg})}function $g({watch:e}){return e.mode===`polling`?Y(mc,{tone:`text-description-foreground`,title:`Native file watching is not in use; working tree changes are picked up by polling and may take a second or two`,children:`Polling`}):null}var e_=[{id:`changes`,label:`Changes`,icon:gt},{id:`files`,label:`Files`,icon:ht},{id:`search`,label:ic.search.label,shortcut:ic.search,icon:Tt}],t_=`flex border-b px-3 py-1.5 focus-visible:-outline-offset-2 focus-visible:outline-2 focus-visible:outline-focus-border`,n_={list:{icon:yt,label:`View as tree`},tree:{icon:bt,label:`View as list`}};function r_(){let e=_s.value;return Y(`div`,{class:`flex shrink-0 items-center justify-between divider-b pr-3`,children:[Y(`div`,{class:`flex`,role:`tablist`,children:e_.map(t=>Y(`button`,{type:`button`,role:`tab`,"aria-selected":e===t.id,"aria-label":t.label,title:oc(t.label,t.shortcut),onClick:()=>{_s.value=t.id},class:`${t_} ${e===t.id?`border-editor-foreground text-editor-foreground`:`border-transparent text-description-foreground hover:bg-list-hover-background`}`,children:Y(Cc,{icon:t.icon})},t.id))}),e===`changes`&&Y(Dc,{...n_[xn.value],onClick:Sn}),e===`files`&&Y(Dc,{icon:ot,label:`Collapse all`,onClick:Co})]})}function i_(){let e=J.value,t=Do.value,n=_s.value,r=Gn.value;Ve(()=>{n===`search`&&ui(),n===`files`&&(_o.value.has(``)||xo(``),Eo())},[n]),Ve(()=>(document.addEventListener(`keydown`,cc),()=>document.removeEventListener(`keydown`,cc)),[]);let i=R(null);return Y(`div`,{class:`flex h-screen bg-editor-background text-editor-foreground`,style:no,children:[Y(`aside`,{class:`relative flex shrink-0 flex-col border-r border-panel-border bg-side-bar-background`,style:$a,children:[Y(`header`,{class:`flex h-9 shrink-0 items-center gap-2 border-b border-panel-border bg-title-bar-background px-3 text-sm font-medium`,children:[Y(Cc,{icon:bg,class:`shrink-0`}),Y(`span`,{class:`min-w-0 flex-1 truncate`,children:e?.repoName||`difftab`}),Y(Dc,{icon:mt,label:ic.goToFile.label,shortcut:ic.goToFile,popup:!0,buttonRef:i,onClick:()=>{jr.value=!jr.value}}),Y(Qg,{})]}),Y(r_,{}),t!==null&&Y(`p`,{class:`shrink-0 border-b border-warning-border bg-warning-background px-3 py-2 text-sm break-words`,children:t}),Y(`nav`,{class:`${Mc} min-h-0 flex-1 text-sm/6 ${n===`files`?`overflow-auto`:``}`,children:Y(n===`files`?_g:n===`search`?Ng:Ug,{})}),e!==null&&Y(`footer`,{class:`flex shrink-0 items-baseline gap-2 border-t border-panel-border px-3 py-1`,children:[Y(Ul,{branch:e.branch}),Y($g,{watch:e.watch})]}),Y(Ig,{})]}),Y(`section`,{class:`flex min-w-0 flex-1`,children:r.map((e,t)=>Y(N,{children:[Y(ng,{group:e,first:t===0&&r.length>1}),t===0&&r.length>1&&Y(`div`,{class:`relative shrink-0`,children:Y(fg,{})})]},e.id))}),jr.value&&Y(Sg,{anchor:i})]})}var a_=2,o_=3e3,s_=_i*2+5e3;function c_(){let e=null,t=null,n=0,r=0,i=!1,a=()=>{if(i||(t!==null&&(clearTimeout(t),t=null),e!==null&&e.readyState!==a_))return!1;e?.close();let o=new EventSource(`/api/events`);e=o,r=Date.now();let s=()=>{r=Date.now(),n=0};return o.addEventListener(`open`,s),o.addEventListener(`heartbeat`,s),o.addEventListener(`change`,()=>{s(),ls()}),o.addEventListener(`error`,()=>{o.readyState!==a_||i||t!==null||n>=5||(n+=1,t=setTimeout(a,o_))}),!0},o=()=>{document.hidden||(e!==null&&Date.now()-r>s_&&(e.close(),e=null),n=0,a()&&ls())};return document.addEventListener(`visibilitychange`,o),a(),()=>{i=!0,document.removeEventListener(`visibilitychange`,o),t!==null&&clearTimeout(t),e?.close(),e=null}}var l_=document.getElementById(`app`);l_&&(Xg(),ho(),be(Y(i_,{}),l_),as(),c_(),fc());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "difftab",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "description": "See what your AI coding agent changed — a read-only git diff viewer in one browser tab",
5
5
  "license": "MIT",
6
6
  "author": "zhangwanli",
@@ -78,6 +78,6 @@
78
78
  "tsdown": "0.22.14",
79
79
  "typescript": "7.0.2",
80
80
  "vite": "8.2.1",
81
- "vitest": "4.1.10"
81
+ "vitest": "5.0.5"
82
82
  }
83
83
  }