difit 5.0.7 → 5.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/dist/client/assets/{arc-DREI5TWD.js → arc-Ce71GpYh.js} +1 -1
- package/dist/client/assets/architecture-7EHR7CIX-DJuaV-Fy.js +1 -0
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-DFkR4rlM.js → architectureDiagram-3BPJPVTR-Co4nMikn.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-ZxUtccGH.js → blockDiagram-GPEHLZMM-BZ8XmnOe.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-EE04Xrty.js → c4Diagram-AAUBKEIU-Bifc6015.js} +1 -1
- package/dist/client/assets/channel-DCmC_NJ8.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-CuaIj_t6.js → chunk-2J33WTMH-BKZtrrMM.js} +1 -1
- package/dist/client/assets/{chunk-3OPIFGDE-CH_P6j0v.js → chunk-3OPIFGDE-p1HDQKHx.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-BhIIlsZ3.js → chunk-4BX2VUAB-B1JdC880.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-BHzcuGiT.js → chunk-55IACEB6-BfDdrInp.js} +1 -1
- package/dist/client/assets/{chunk-5ZQYHXKU-irirG3d7.js → chunk-5ZQYHXKU-B0UFDeNc.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-CxLWqspe.js → chunk-727SXJPM-C1GLS2mt.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-B_5FWHRn.js → chunk-AQP2D5EJ-CdhTjctN.js} +1 -1
- package/dist/client/assets/{chunk-BSJP7CBP-DpFoD8PT.js → chunk-BSJP7CBP-8ezJh_7H.js} +1 -1
- package/dist/client/assets/{chunk-CSCIHK7Q-CN57H9UO.js → chunk-CSCIHK7Q-DNeLjTAX.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-DS0PqbvC.js → chunk-FMBD7UC4-CwtitMT8.js} +1 -1
- package/dist/client/assets/{chunk-KSCS5N6A-DMeidheb.js → chunk-KSCS5N6A-DdLtmoYV.js} +1 -1
- package/dist/client/assets/{chunk-L5ZTLDWV-C9K_60Xm.js → chunk-L5ZTLDWV-DZrSg_8S.js} +1 -1
- package/dist/client/assets/{chunk-LZXEDZCA-BGtpnXZ1.js → chunk-LZXEDZCA-CPsWjeej.js} +2 -2
- package/dist/client/assets/{chunk-ND2GUHAM-dPpYOuu1.js → chunk-ND2GUHAM-B3wT6dSk.js} +1 -1
- package/dist/client/assets/{chunk-NZK2D7GU-DuRhNiHO.js → chunk-NZK2D7GU-DTCItxUJ.js} +1 -1
- package/dist/client/assets/{chunk-O5CBEL6O-DBgK6fiG.js → chunk-O5CBEL6O-HSc7nkWp.js} +1 -1
- package/dist/client/assets/chunk-QZHKN3VN-Dl7i9TFZ.js +1 -0
- package/dist/client/assets/chunk-WU5MYG2G-H9-XOWa2.js +1 -0
- package/dist/client/assets/{chunk-XPW4576I-RVDoolKv.js → chunk-XPW4576I-DWA1L2SH.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-CIis5MpW.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CIis5MpW.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-C_heAUQX.js → cose-bilkent-S5V4N54A-BA0dewjs.js} +1 -1
- package/dist/client/assets/{dagre-BM42HDAG-nAm5-YBv.js → dagre-BM42HDAG-DQ6amw4B.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-DzkMI5-T.js → diagram-2AECGRRQ-lt3q0PPx.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-CISSUOsD.js → diagram-5GNKFQAL-RN_cFqeH.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-DVRaNRJB.js → diagram-KO2AKTUF-69-WWf-i.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-DJsfPM2-.js → diagram-LMA3HP47-CJp_AQpE.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-CgfXkSn6.js → diagram-OG6HWLK6-ld8yVyEO.js} +1 -1
- package/dist/client/assets/{dist-DsFysxLW.js → dist-MrZ1zwt-.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-Duprm7mz.js → erDiagram-TEJ5UH35-C9-9-98D.js} +1 -1
- package/dist/client/assets/eventmodeling-FCH6USID-sUz5BqkA.js +1 -0
- package/dist/client/assets/{flowDiagram-I6XJVG4X-ChDsFg1k.js → flowDiagram-I6XJVG4X-BIWAxSyl.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-BgT4bA2O.js → ganttDiagram-6RSMTGT7-DEekfrSb.js} +1 -1
- package/dist/client/assets/{gitGraph-WXDBUCRP-D2Tc-dnW.js → gitGraph-WXDBUCRP-iLmA5ZOg.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-CktpkEml.js → gitGraphDiagram-PVQCEYII-Cp9no67W.js} +1 -1
- package/dist/client/assets/{index-BMRoOTU-.js → index-D6ilk_N-.js} +21 -21
- package/dist/client/assets/{info-J43DQDTF-bJtQyd_Y.js → info-J43DQDTF-WGiiYO2H.js} +1 -1
- package/dist/client/assets/{infoDiagram-5YYISTIA-2Pd6AfIZ.js → infoDiagram-5YYISTIA-DSq2paHS.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BNKWCuEa.js → ishikawaDiagram-YF4QCWOH-BRvjhcHO.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-DW7F45JQ.js → journeyDiagram-JHISSGLW-BeojzJiQ.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-BP9z6Fz_.js → kanban-definition-UN3LZRKU-Cxd2TSzC.js} +1 -1
- package/dist/client/assets/{line-D5Ou3Ysz.js → line-DfNX00iH.js} +1 -1
- package/dist/client/assets/{linear-j-04apkE.js → linear-BqTigxmw.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-mbc8J2Wv.js → mermaid-parser.core-B_EZyTa5.js} +2 -2
- package/dist/client/assets/{mermaid.core-BqQLoEhf.js → mermaid.core-Ssrtijme.js} +3 -3
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-D6V6zOcp.js → mindmap-definition-RKZ34NQL-CFexQB41.js} +1 -1
- package/dist/client/assets/{packet-YPE3B663-DEYhteSK.js → packet-YPE3B663-DWRftxLl.js} +1 -1
- package/dist/client/assets/{pie-LRSECV5Y-B5pcI4cb.js → pie-LRSECV5Y-FBJQi9YS.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-Cbhj1myT.js → pieDiagram-4H26LBE5-rWmojAfB.js} +1 -1
- package/dist/client/assets/prism-gdscript-C1gnCftx.js +1 -0
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-BLRF1wH0.js → quadrantDiagram-W4KKPZXB-ClhgNDn7.js} +1 -1
- package/dist/client/assets/{radar-GUYGQ44K-3u8RaujE.js → radar-GUYGQ44K-C948fgjI.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-CvuvVoeD.js → requirementDiagram-4Y6WPE33-BuMMQGw0.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-DK6Ak875.js → sankeyDiagram-5OEKKPKP-CEd3YUpA.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BUrpkbLl.js → sequenceDiagram-3UESZ5HK-DgsZJ52B.js} +1 -1
- package/dist/client/assets/{src-3oJtdAc0.js → src-CAgFxagX.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-rMdhh-BM.js → stateDiagram-AJRCARHV-Cg0npyBC.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-CpV01lL-.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-HJrE8OfG.js → timeline-definition-PNZ67QCA-Be8CZnBb.js} +1 -1
- package/dist/client/assets/{treeView-BLDUP644-DhCldToR.js → treeView-BLDUP644-B4fII_xt.js} +1 -1
- package/dist/client/assets/{treemap-LRROVOQU-C3ctDtd2.js → treemap-LRROVOQU-Dy2AIK2x.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-BU_h1DHf.js → vennDiagram-CIIHVFJN-DehXkI0n.js} +1 -1
- package/dist/client/assets/{wardley-L42UT6IY-DzaGiv5e.js → wardley-L42UT6IY-AqOhXLdx.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-Dk9C0jMk.js → wardleyDiagram-YWT4CUSO-BzK61bpB.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-CD9r_u2H.js → xychartDiagram-2RQKCTM6-D0uYHNx6.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/git-diff.d.ts +1 -0
- package/dist/server/git-diff.js +79 -21
- package/dist/server/git-diff.test.js +110 -0
- package/package.json +1 -1
- package/dist/client/assets/architecture-7EHR7CIX-DGxkQlnD.js +0 -1
- package/dist/client/assets/channel-CHYmQZZG.js +0 -1
- package/dist/client/assets/chunk-QZHKN3VN-AnmIw7mX.js +0 -1
- package/dist/client/assets/chunk-WU5MYG2G-BTiTfGJM.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-DMyzL29P.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DMyzL29P.js +0 -1
- package/dist/client/assets/eventmodeling-FCH6USID-DgO_2CL2.js +0 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-D57jPzmZ.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-Ssrtijme.js","assets/chunk-O5CBEL6O-HSc7nkWp.js","assets/src-CAgFxagX.js","assets/chunk-5ZQYHXKU-B0UFDeNc.js","assets/dist-MrZ1zwt-.js","assets/chunk-CSCIHK7Q-DNeLjTAX.js","assets/chunk-3OPIFGDE-p1HDQKHx.js","assets/chunk-L5ZTLDWV-DZrSg_8S.js","assets/chunk-NZK2D7GU-DTCItxUJ.js","assets/rough.esm-CSKSodPl.js","assets/chunk-BSJP7CBP-8ezJh_7H.js","assets/chunk-KSCS5N6A-DdLtmoYV.js","assets/line-DfNX00iH.js","assets/path-BWPyau1x.js","assets/array-BifhSqXX.js","assets/chunk-LZXEDZCA-CPsWjeej.js","assets/chunk-WU5MYG2G-H9-XOWa2.js","assets/chunk-XPW4576I-DWA1L2SH.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=`data-theme`,d={dark:{"--color-github-bg-primary":`#0d1117`,"--color-github-bg-secondary":`#161b22`,"--color-github-bg-tertiary":`#21262d`,"--color-github-border":`#30363d`,"--color-github-text-primary":`#f0f6fc`,"--color-github-text-secondary":`#8b949e`,"--color-github-text-muted":`#6e7681`,"--color-github-accent":`#238636`,"--color-github-danger":`#da3633`,"--color-github-warning":`#d29922`,"--color-diff-addition-bg":`#0d4429`,"--color-diff-addition-border":`#1b7c3d`,"--color-diff-deletion-bg":`#67060c`,"--color-diff-deletion-border":`#da3633`,"--color-diff-neutral-bg":`#21262d`,"--color-comment-bg":`#1c2128`,"--color-comment-border":`#373e47`,"--color-comment-text":`#e6edf3`,"--color-yellow-btn-bg":`rgba(180, 83, 9, 0.2)`,"--color-yellow-btn-border":`rgba(217, 119, 6, 0.5)`,"--color-yellow-btn-text":`#fbbf24`,"--color-yellow-btn-hover-bg":`rgba(180, 83, 9, 0.3)`,"--color-yellow-btn-hover-border":`#d97706`,"--color-yellow-path-bg":`rgba(180, 83, 9, 0.3)`,"--color-yellow-path-text":`#fbbf24`,"--color-editor-btn-bg":`rgba(248, 250, 252, 0.1)`,"--color-editor-btn-border":`rgba(248, 250, 252, 0.3)`,"--color-editor-btn-text":`#f0f6fc`,"--color-editor-btn-hover-bg":`rgba(248, 250, 252, 0.2)`,"--color-editor-btn-hover-border":`rgba(248, 250, 252, 0.45)`},light:{"--color-github-bg-primary":`#ffffff`,"--color-github-bg-secondary":`#f6f8fa`,"--color-github-bg-tertiary":`#f1f3f4`,"--color-github-border":`#d1d9e0`,"--color-github-text-primary":`#24292f`,"--color-github-text-secondary":`#656d76`,"--color-github-text-muted":`#8c959f`,"--color-github-accent":`#1f883d`,"--color-github-danger":`#cf222e`,"--color-github-warning":`#bf8700`,"--color-diff-addition-bg":`#d1f4cd`,"--color-diff-addition-border":`#1f883d`,"--color-diff-deletion-bg":`#ffd8d3`,"--color-diff-deletion-border":`#cf222e`,"--color-diff-neutral-bg":`#f1f3f4`,"--color-comment-bg":`#fff8e1`,"--color-comment-border":`#ffd54f`,"--color-comment-text":`#5d4037`,"--color-yellow-btn-bg":`#fef3c7`,"--color-yellow-btn-border":`#f59e0b`,"--color-yellow-btn-text":`#92400e`,"--color-yellow-btn-hover-bg":`#fde68a`,"--color-yellow-btn-hover-border":`#d97706`,"--color-yellow-path-bg":`#fde68a`,"--color-yellow-path-text":`#92400e`,"--color-editor-btn-bg":`rgba(248, 250, 252, 0.1)`,"--color-editor-btn-border":`rgba(31, 41, 55, 0.35)`,"--color-editor-btn-text":`#1f2937`,"--color-editor-btn-hover-bg":`rgba(248, 250, 252, 0.2)`,"--color-editor-btn-hover-border":`rgba(31, 41, 55, 0.5)`}},f=`reviewit-appearance-settings`,p=e=>e===`light`||e===`dark`||e===`auto`,m=e=>e===`normal`||e===`deuteranopia`,h=e=>e===`light`||e===`dark`,g=()=>{if(!(typeof window>`u`))try{return window.localStorage}catch{return}},_=()=>{if(!(typeof window>`u`))return window};function v(e=g()){if(!e)return null;try{let t=e.getItem(f);if(!t)return null;let n=JSON.parse(t);if(n&&typeof n==`object`){let e={},t=n;return p(t.theme)&&(e.theme=t.theme),m(t.colorVision)&&(e.colorVision=t.colorVision),e}}catch{return null}return null}function y(e=_()){return e?.matchMedia(`(prefers-color-scheme: dark)`).matches??!0?`dark`:`light`}function b(e,t=y()){return e===`light`||e===`dark`?e:t}function x(e=typeof document>`u`?void 0:document,t=g(),n=_()){let r=e?.documentElement.getAttribute(u)??null;return h(r)?r:b(v(t)?.theme,y(n))}var S={dark:{"--color-github-accent":`#58a6ff`,"--color-github-danger":`#d29922`,"--color-diff-addition-bg":`#0c2d6b`,"--color-diff-addition-border":`#388bfd`,"--color-diff-deletion-bg":`#5a3600`,"--color-diff-deletion-border":`#d29922`},light:{"--color-github-accent":`#0969da`,"--color-github-danger":`#bf8700`,"--color-diff-addition-bg":`#ddf4ff`,"--color-diff-addition-border":`#0969da`,"--color-diff-deletion-bg":`#fff8c5`,"--color-diff-deletion-border":`#bf8700`}};function C(e,t=`normal`,n=document){let r=n.documentElement;r.setAttribute(u,e),r.setAttribute(`data-color-vision`,t);let i=d[e];if(Object.entries(i).forEach(([e,t])=>{r.style.setProperty(e,t)}),t===`deuteranopia`){let t=S[e];Object.entries(t).forEach(([e,t])=>{r.style.setProperty(e,t)})}n.body&&(n.body.style.backgroundColor=`var(--color-github-bg-primary)`,n.body.style.color=`var(--color-github-text-primary)`)}function w(e=typeof document>`u`?void 0:document,t=g(),n=_()){if(!e)return null;let r=v(t),i=b(r?.theme,y(n));return C(i,r?.colorVision??`normal`,e),i}w();var T=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function ee(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var F=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},I={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=I,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:ee}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,F)}catch(e){F(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.7`})),E=o(((e,t)=>{t.exports=T()})),D=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),O=o(((e,t)=>{t.exports=D()})),k=o((e=>{var t=E();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`);function o(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var s=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return o(e,t,null,r)},e.flushSync=function(e){var t=s.T,n=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=c(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=c(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=c(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return s.H.useFormState(e,t,n)},e.useFormStatus=function(){return s.H.useHostTransitionStatus()},e.version=`19.2.7`})),A=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=k()})),j=o((e=>{var t=O(),n=E(),r=A();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var f=Object.assign,p=Symbol.for(`react.element`),m=Symbol.for(`react.transitional.element`),h=Symbol.for(`react.portal`),g=Symbol.for(`react.fragment`),_=Symbol.for(`react.strict_mode`),v=Symbol.for(`react.profiler`),y=Symbol.for(`react.consumer`),b=Symbol.for(`react.context`),x=Symbol.for(`react.forward_ref`),S=Symbol.for(`react.suspense`),C=Symbol.for(`react.suspense_list`),w=Symbol.for(`react.memo`),T=Symbol.for(`react.lazy`),D=Symbol.for(`react.activity`),k=Symbol.for(`react.memo_cache_sentinel`),j=Symbol.iterator;function M(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var N=Symbol.for(`react.client.reference`);function P(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===N?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case g:return`Fragment`;case v:return`Profiler`;case _:return`StrictMode`;case S:return`Suspense`;case C:return`SuspenseList`;case D:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case h:return`Portal`;case b:return e.displayName||`Context`;case y:return(e._context.displayName||`Context`)+`.Consumer`;case x:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case w:return t=e.displayName||null,t===null?P(e.type)||`Memo`:t;case T:t=e._payload,e=e._init;try{return P(e(t))}catch{}}return null}var ee=Array.isArray,F=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,te={pending:!1,data:null,method:null,action:null},ne=[],re=-1;function L(e){return{current:e}}function R(e){0>re||(e.current=ne[re],ne[re]=null,re--)}function z(e,t){re++,ne[re]=e.current,e.current=t}var ie=L(null),ae=L(null),oe=L(null),se=L(null);function ce(e,t){switch(z(oe,t),z(ae,e),z(ie,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Hd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Hd(t),e=Ud(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}R(ie),z(ie,e)}function le(){R(ie),R(ae),R(oe)}function ue(e){e.memoizedState!==null&&z(se,e);var t=ie.current,n=Ud(t,e.type);t!==n&&(z(ae,e),z(ie,n))}function de(e){ae.current===e&&(R(ie),R(ae)),se.current===e&&(R(se),Qf._currentValue=te)}var fe,pe;function me(e){if(fe===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);fe=t&&t[1]||``,pe=-1<e.stack.indexOf(`
|
|
3
3
|
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
4
4
|
`+fe+e+pe}var he=!1;function ge(e,t){if(!e||he)return``;he=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
|
|
@@ -39,45 +39,45 @@ Error generating stack: `+e.message+`
|
|
|
39
39
|
`)?e:e+`
|
|
40
40
|
`}\`\`\``}function Bd(e){return e&&e.split(`.`).pop()?.toLowerCase()||null}function Vd(e){return e&&e.split(`/`).pop()||``}var Hd=[`md`,`markdown`];function Ud(e){if(!e)return!1;let t=Bd(e);return t?Hd.includes(t):!1}var Wd=e=>/^(https?:|mailto:|#|\.{0,2}\/|\/)/i.test(e.trim()),Gd=e=>F.isValidElement(e),Kd=e=>F.isValidElement(e),qd=e=>e==null||typeof e==`boolean`?``:typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(qd).join(``):Kd(e)?qd(e.props.children):``,Jd=(0,F.createContext)({getOldTokens:null,getNewTokens:null});function Yd({value:e,children:t}){return(0,I.jsx)(Jd.Provider,{value:e,children:t})}function Xd(){return(0,F.useContext)(Jd)}var Zd=2,Qd=100;function $d(e){return!(e.length<Zd||e.length>Qd)}function ef(e){return e.toLowerCase()}function tf(e){let t=e.trim();return t?t.match(/^\w+$/)!==null&&$d(t):!1}var nf=200,rf=(0,F.createContext)(void 0);function af({children:e}){let[t,n]=(0,F.useState)(null),r=(0,F.useRef)(null),i=(0,F.useCallback)(()=>{r.current&&=(clearTimeout(r.current),null)},[]),a=(0,F.useCallback)(e=>{let t=e.target;if(!t.classList.contains(`word-token`))return;i();let a=t.getAttribute(`data-word`);a&&(r.current=setTimeout(()=>{n(a)},nf))},[i]),o=(0,F.useCallback)(()=>{i(),n(null)},[i]),s=(0,F.useCallback)(e=>t?ef(e)===ef(t):!1,[t]);(0,F.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]);let c=(0,F.useMemo)(()=>({highlightedWord:t,handleMouseOver:a,handleMouseOut:o,isWordHighlighted:s}),[t,a,o,s]);return(0,I.jsx)(rf.Provider,{value:c,children:e})}function of(){let e=(0,F.useContext)(rf);if(!e)throw Error(`useWordHighlight must be used within a WordHighlightProvider`);return e}function sf(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=sf(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function cf(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=sf(e))&&(r&&(r+=` `),r+=t);return r}var lf=Object.create,uf=Object.defineProperty,df=Object.defineProperties,ff=Object.getOwnPropertyDescriptor,pf=Object.getOwnPropertyDescriptors,mf=Object.getOwnPropertyNames,hf=Object.getOwnPropertySymbols,gf=Object.getPrototypeOf,_f=Object.prototype.hasOwnProperty,vf=Object.prototype.propertyIsEnumerable,yf=(e,t,n)=>t in e?uf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bf=(e,t)=>{for(var n in t||={})_f.call(t,n)&&yf(e,n,t[n]);if(hf)for(var n of hf(t))vf.call(t,n)&&yf(e,n,t[n]);return e},xf=(e,t)=>df(e,pf(t)),Sf=(e,t)=>{var n={};for(var r in e)_f.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&hf)for(var r of hf(e))t.indexOf(r)<0&&vf.call(e,r)&&(n[r]=e[r]);return n},Cf=(e,t)=>function(){return t||(0,e[mf(e)[0]])((t={exports:{}}).exports,t),t.exports},wf=(e,t)=>{for(var n in t)uf(e,n,{get:t[n],enumerable:!0})},Tf=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of mf(t))!_f.call(e,i)&&i!==n&&uf(e,i,{get:()=>t[i],enumerable:!(r=ff(t,i))||r.enumerable});return e},$=((e,t,n)=>(n=e==null?{}:lf(gf(e)),Tf(t||!e||!e.__esModule?uf(n,`default`,{value:e,enumerable:!0}):n,e)))(Cf({"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof i?new i(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,`&`).replace(/</g,`<`).replace(/\u00a0/g,` `)},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){n||={};var i,a;switch(r.util.type(t)){case`Object`:if(a=r.util.objId(t),n[a])return n[a];for(var o in i={},n[a]=i,t)t.hasOwnProperty(o)&&(i[o]=e(t[o],n));return i;case`Array`:return a=r.util.objId(t),n[a]?n[a]:(i=[],n[a]=i,t.forEach(function(t,r){i[r]=e(t,n)}),i);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return`none`},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,`gi`),``),t.classList.add(`language-`+n)},isActive:function(e,t,n){for(var r=`no-`+t;e;){var i=e.classList;if(i.contains(t))return!0;if(i.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var i in t)n[i]=t[i];return n},insertBefore:function(e,t,n,i){i||=r.languages;var a=i[e],o={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var c in n)n.hasOwnProperty(c)&&(o[c]=n[c]);n.hasOwnProperty(s)||(o[s]=a[s])}var l=i[e];return i[e]=o,r.languages.DFS(r.languages,function(t,n){n===l&&t!=e&&(this[t]=o)}),o},DFS:function e(t,n,i,a){a||={};var o=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],i||s);var c=t[s],l=r.util.type(c);l===`Object`&&!a[o(c)]?(a[o(c)]=!0,e(c,n,null,a)):l===`Array`&&!a[o(c)]&&(a[o(c)]=!0,e(c,n,s,a))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(r.hooks.run(`before-tokenize`,a),!a.grammar)throw Error(`The language "`+a.language+`" has no grammar.`);return a.tokens=r.tokenize(a.code,a.grammar),r.hooks.run(`after-tokenize`,a),i.stringify(r.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new s;return c(i,i.head,e),o(e,i,t,i.head,0),u(i)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(!(!n||!n.length))for(var i=0,a;a=n[i++];)a(t)}},Token:i};function i(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}i.stringify=function e(t,n){if(typeof t==`string`)return t;if(Array.isArray(t)){var i=``;return t.forEach(function(t){i+=e(t,n)}),i}var a={type:t.type,content:e(t.content,n),tag:`span`,classes:[`token`,t.type],attributes:{},language:n},o=t.alias;o&&(Array.isArray(o)?Array.prototype.push.apply(a.classes,o):a.classes.push(o)),r.hooks.run(`wrap`,a);var s=``;for(var c in a.attributes)s+=` `+c+`="`+(a.attributes[c]||``).replace(/"/g,`"`)+`"`;return`<`+a.tag+` class="`+a.classes.join(` `)+`"`+s+`>`+a.content+`</`+a.tag+`>`};function a(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function o(e,t,n,s,u,d){for(var f in n)if(!(!n.hasOwnProperty(f)||!n[f])){var p=n[f];p=Array.isArray(p)?p:[p];for(var m=0;m<p.length;++m){if(d&&d.cause==f+`,`+m)return;var h=p[m],g=h.inside,_=!!h.lookbehind,v=!!h.greedy,y=h.alias;if(v&&!h.pattern.global){var b=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,b+`g`)}for(var x=h.pattern||h,S=s.next,C=u;S!==t.tail&&!(d&&C>=d.reach);C+=S.value.length,S=S.next){var w=S.value;if(t.length>e.length)return;if(!(w instanceof i)){var T=1,E;if(v){if(E=a(x,C,e,_),!E||E.index>=e.length)break;var D=E.index,O=E.index+E[0].length,k=C;for(k+=S.value.length;D>=k;)S=S.next,k+=S.value.length;if(k-=S.value.length,C=k,S.value instanceof i)continue;for(var A=S;A!==t.tail&&(k<O||typeof A.value==`string`);A=A.next)T++,k+=A.value.length;T--,w=e.slice(C,k),E.index-=C}else if(E=a(x,0,w,_),!E)continue;var D=E.index,j=E[0],M=w.slice(0,D),N=w.slice(D+j.length),P=C+w.length;d&&P>d.reach&&(d.reach=P);var ee=S.prev;M&&(ee=c(t,ee,M),C+=M.length),l(t,ee,T);var F=new i(f,g?r.tokenize(j,g):j,y,j);if(S=c(t,ee,F),N&&c(t,S,N),T>1){var I={cause:f+`,`+m,reach:P};o(e,t,n,S.prev,C,I),d&&I.reach>d.reach&&(d.reach=I.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function l(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function u(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}return r}();t.exports=n,n.default=n}})());$.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},$.languages.markup.tag.inside[`attr-value`].inside.entity=$.languages.markup.entity,$.languages.markup.doctype.inside[`internal-subset`].inside=$.languages.markup,$.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.replace(/&/,`&`))}),Object.defineProperty($.languages.markup.tag,"addInlined",{value:function(e,t){var n={},n=(n[`language-`+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:$.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}),t=(n[`language-`+t]={pattern:/[\s\S]+/,inside:$.languages[t]},{});t[e]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return e}),`i`),lookbehind:!0,greedy:!0,inside:n},$.languages.insertBefore(`markup`,`cdata`,t)}}),Object.defineProperty($.languages.markup.tag,"addAttribute",{value:function(e,t){$.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+e+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,`language-`+t],inside:$.languages[t]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),$.languages.html=$.languages.markup,$.languages.mathml=$.languages.markup,$.languages.svg=$.languages.markup,$.languages.xml=$.languages.extend(`markup`,{}),$.languages.ssml=$.languages.xml,$.languages.atom=$.languages.xml,$.languages.rss=$.languages.xml,function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:`escape`},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,r=`(?:[^\\\\-]|`+n.source+`)`,r=RegExp(r+`-`+r),i={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:`variable`};e.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:`operator`},"char-class-punctuation":{pattern:/^\[|\]$/,alias:`punctuation`},range:{pattern:r,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:`operator`}}},"special-escape":t,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},escape:n}},"special-escape":t,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:`class-name`},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:`keyword`},{pattern:/\\k<[^<>']+>/,alias:`keyword`,inside:{"group-name":i}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:`function`},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:`punctuation`,inside:{"group-name":i}},{pattern:/\)/,alias:`punctuation`}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:`number`},alternation:{pattern:/\|/,alias:`keyword`}}}($),$.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},$.languages.javascript=$.languages.extend(`clike`,{"class-name":[$.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),$.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,$.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:$.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:$.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:$.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:$.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:$.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),$.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:$.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),$.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),$.languages.markup&&($.languages.markup.tag.addInlined(`script`,`javascript`),$.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),$.languages.js=$.languages.javascript,$.languages.actionscript=$.languages.extend(`javascript`,{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),$.languages.actionscript[`class-name`].alias=`function`,delete $.languages.actionscript.parameter,delete $.languages.actionscript[`literal-property`],$.languages.markup&&$.languages.insertBefore(`actionscript`,`string`,{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:$.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:`variable`};e.languages.coffeescript=e.languages.extend(`javascript`,{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:`variable`}}),e.languages.insertBefore(`coffeescript`,`comment`,{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:`comment`},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:`regex`,inside:{comment:t,interpolation:n}}}),e.languages.insertBefore(`coffeescript`,`string`,{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:`punctuation`},script:{pattern:/[\s\S]+/,alias:`language-javascript`,inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:`string`},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:`string`,inside:{interpolation:n}}]}),e.languages.insertBefore(`coffeescript`,`keyword`,{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript[`template-string`],e.languages.coffee=e.languages.coffeescript}($),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t=typeof t==`string`?[t]:t).forEach(function(t){var r=function(e){e.inside||={},e.inside.rest=n},i=`doc-comment`;if(a=e.languages[t]){var a,o=a[i];if((o||=(a=e.languages.insertBefore(t,`comment`,{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:`comment`}}))[i])instanceof RegExp&&(o=a[i]={pattern:o}),Array.isArray(o))for(var s=0,c=o.length;s<c;s++)o[s]instanceof RegExp&&(o[s]={pattern:o[s]}),r(o[s]);else r(o)}})}}),t.addSupport([`java`,`javascript`,`php`],t)}($),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup);t&&(t.tag.addInlined(`style`,`css`),t.tag.addAttribute(`style`,`css`))}($),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp(`\\[(?:[^[\\]"']|`+t.source+`)*\\]`),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:`keyword`},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside[`selector-function-argument`].inside=t,e.languages.insertBefore(`css`,`property`,{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore(`css`,`function`,{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:`color`},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}($),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}($),function(e){var t=`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`;function n(e){return e=e.replace(/<inner>/g,function(){return t}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var r="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",i=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return r}),a=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`,o=(e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+i+a+`(?:`+i+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+i+a+`)(?:`+i+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+i+`)`+a+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+i+`$`),inside:{"table-header":{pattern:RegExp(r),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:n(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:n(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){e.language!==`markdown`&&e.language!==`md`||function e(t){if(t&&typeof t!=`string`)for(var n=0,r=t.length;n<r;n++){var i,a=t[n];a.type===`code`?(i=a.content[1],a=a.content[3],i&&a&&i.type===`code-language`&&a.type===`code-block`&&typeof i.content==`string`&&(i=i.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`),i=`language-`+(i=(/[a-z][\w-]*/i.exec(i)||[``])[0].toLowerCase()),a.alias?typeof a.alias==`string`?a.alias=[a.alias,i]:a.alias.push(i):a.alias=[i])):e(a.content)}}(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],a=/language-(.+)/.exec(a);if(a){n=a[1];break}}var l,u=e.languages[n];u?t.content=e.highlight(function(e){return e=e.replace(o,``),e=e.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(e,t){var n;return(t=t.toLowerCase())[0]===`#`?(n=t[1]===`x`?parseInt(t.slice(2),16):Number(t.slice(1)),c(n)):s[t]||e})}(t.content),u,n):n&&n!==`none`&&e.plugins.autoloader&&(l=`md-`+new Date().valueOf()+`-`+Math.floor(0x2386f26fc10000*Math.random()),t.attributes.id=l,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(l);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))}))}}),RegExp(e.languages.markup.tag.pattern.source,`gi`)),s={amp:`&`,lt:`<`,gt:`>`,quot:`"`},c=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}($),$.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:`string`,inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:$.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:`function`},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:`class-name`},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:`function`},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:`function`},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:`function`},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},$.hooks.add(`after-tokenize`,function(e){if(e.language===`graphql`)for(var t=e.tokens.filter(function(e){return typeof e!=`string`&&e.type!==`comment`&&e.type!==`scalar`}),n=0;n<t.length;){var r=t[n++];if(r.type===`keyword`&&r.content===`mutation`){var i=[];if(d([`definition-mutation`,`punctuation`])&&u(1).content===`(`){n+=2;var a=f(/^\($/,/^\)$/);if(a===-1)continue;for(;n<a;n++){var o=u(0);o.type===`variable`&&(p(o,`variable-input`),i.push(o.content))}n=a+1}if(d([`punctuation`,`property-query`])&&u(0).content===`{`&&(n++,p(u(0),`property-mutation`),0<i.length)){var s=f(/^\{$/,/^\}$/);if(s!==-1)for(var c=n;c<s;c++){var l=t[c];l.type===`variable`&&0<=i.indexOf(l.content)&&p(l,`variable-input`)}}}}function u(e){return t[n+e]}function d(e,t){t||=0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return}return 1}function f(e,r){for(var i=1,a=n;a<t.length;a++){var o=t[a],s=o.content;if(o.type===`punctuation`&&typeof s==`string`){if(e.test(s))i++;else if(r.test(s)&&--i===0)return a}}return-1}function p(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}}),$.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript[`template-string`],n=t.pattern.source,r=t.inside.interpolation,i=r.inside[`interpolation-punctuation`],a=r.pattern.source;function o(t,r){if(e.languages[t])return{pattern:RegExp(`((?:`+r+`)\\s*)`+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run(`before-tokenize`,t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run(`after-tokenize`,t),t.tokens}function c(t,n,o){var c=e.tokenize(t,{interpolation:{pattern:RegExp(a),lookbehind:!0}}),l=0,u={},c=s(c.map(function(e){if(typeof e==`string`)return e;for(var n,r,e=e.content;t.indexOf((r=l++,n=`___`+o.toUpperCase()+`_`+r+`___`))!==-1;);return u[n]=e,n}).join(``),n,o),d=Object.keys(u);return l=0,function t(n){for(var a=0;a<n.length;a++){if(l>=d.length)return;var o,c,f,p,m,h,g,_=n[a];typeof _==`string`||typeof _.content==`string`?(o=d[l],(g=(h=typeof _==`string`?_:_.content).indexOf(o))!==-1&&(++l,c=h.substring(0,g),m=u[o],f=void 0,(p={})[`interpolation-punctuation`]=i,(p=e.tokenize(m,p)).length===3&&((f=[1,1]).push.apply(f,s(p[1],e.languages.javascript,`javascript`)),p.splice.apply(p,f)),f=new e.Token(`interpolation`,p,r.alias,m),p=h.substring(g+o.length),m=[],c&&m.push(c),m.push(f),p&&(t(h=[p]),m.push.apply(m,h)),typeof _==`string`?(n.splice.apply(n,[a,1].concat(m)),a+=m.length-1):_.content=m)):(g=_.content,t(Array.isArray(g)?g:[g]))}}(c),new e.Token(o,c,`language-`+o,t)}e.languages.javascript[`template-string`]=[o(`css`,`\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)`),o(`html`,`\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=`),o(`svg`,`\\bsvg`),o(`markdown`,`\\b(?:markdown|md)`),o(`graphql`,`\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)`),o(`sql`,`\\bsql`),t].filter(Boolean);var l={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return typeof e==`string`?e:Array.isArray(e)?e.map(u).join(``):u(e.content)}e.hooks.add(`after-tokenize`,function(t){t.language in l&&function t(n){for(var r=0,i=n.length;r<i;r++){var a,o,s,l=n[r];typeof l!=`string`&&(a=l.content,Array.isArray(a)?l.type===`template-string`?(l=a[1],a.length===3&&typeof l!=`string`&&l.type===`embedded-code`&&(o=u(l),l=l.alias,l=Array.isArray(l)?l[0]:l,s=e.languages[l])&&(a[1]=c(o,s,l))):t(a):typeof a!=`string`&&t([a]))}}(t.tokens)})}($),function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript}($),function(e){var t=e.languages.javascript,n=`\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}`,r=`(@(?:arg|argument|param|property)\\s+(?:`+n+`\\s+)?)`;e.languages.jsdoc=e.languages.extend(`javadoclike`,{parameter:{pattern:RegExp(r+`(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)`),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore(`jsdoc`,`keyword`,{"optional-parameter":{pattern:RegExp(r+`\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)`),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:`language-javascript`},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(`(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*`.replace(/<TYPE>/g,function(){return n})),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp(`(@[a-z]+\\s+)`+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:`language-javascript`}}}}),e.languages.javadoclike.addSupport(`javascript`,e.languages.jsdoc)}($),function(e){e.languages.flow=e.languages.extend(`javascript`,{}),e.languages.insertBefore(`flow`,`keyword`,{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:`class-name`}]}),e.languages.flow[`function-variable`].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore(`flow`,`operator`,{"flow-punctuation":{pattern:/\{\||\|\}/,alias:`punctuation`}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}($),$.languages.n4js=$.languages.extend(`javascript`,{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),$.languages.insertBefore(`n4js`,`constant`,{annotation:{pattern:/@+\w+/,alias:`operator`}}),$.languages.n4jsd=$.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,function(){return`(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*`}),t)}e.languages.insertBefore(`javascript`,`function-variable`,{"method-variable":{pattern:RegExp(`(\\.\\s*)`+e.languages.javascript[`function-variable`].pattern.source),lookbehind:!0,alias:[`function-variable`,`method`,`function`,`property-access`]}}),e.languages.insertBefore(`javascript`,`function`,{method:{pattern:RegExp(`(\\.\\s*)`+e.languages.javascript.function.source),lookbehind:!0,alias:[`function`,`property-access`]}}),e.languages.insertBefore(`javascript`,`constant`,{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:`class-name`},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:`class-name`}]}),e.languages.insertBefore(`javascript`,`keyword`,{imports:{pattern:t(`(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)`),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(`(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})`),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:`module`},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:`control-flow`},{pattern:/\bnull\b/,alias:[`null`,`nil`]},{pattern:/\bundefined\b/,alias:`nil`}),e.languages.insertBefore(`javascript`,`operator`,{spread:{pattern:/\.{3}/,alias:`operator`},arrow:{pattern:/=>/,alias:`operator`}}),e.languages.insertBefore(`javascript`,`punctuation`,{"property-access":{pattern:t(`(\\.\\s*)#?<ID>`),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:`variable`},console:{pattern:/\bconsole(?=\s*\.)/,alias:`class-name`}});for(var n=[`function`,`function-variable`,`method`,`method-variable`,`property-access`],r=0;r<n.length;r++){var i=n[r],a=e.languages.javascript[i],i=(a=e.util.type(a)===`RegExp`?e.languages.javascript[i]={pattern:a}:a).inside||{};(a.inside=i)[`maybe-class-name`]=/^[A-Z][\s\S]*/}}($),function(e){var t=e.util.clone(e.languages.javascript),n=`(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)`,r=`(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})`,i=`(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})`;function a(e,t){return e=e.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return i}),RegExp(e,t)}i=a(i).source,e.languages.jsx=e.languages.extend(`markup`,t),e.languages.jsx.tag.pattern=a(`<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>`),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside[`attr-value`].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside[`class-name`]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore(`inside`,`attr-name`,{spread:{pattern:a(`<SPREAD>`),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore(`inside`,`special-attr`,{script:{pattern:a(`=<BRACES>`),alias:`language-javascript`,inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:`punctuation`},rest:e.languages.jsx}}},e.languages.jsx.tag);function o(t){for(var n=[],r=0;r<t.length;r++){var i=t[r],a=!1;typeof i!=`string`&&(i.type===`tag`&&i.content[0]&&i.content[0].type===`tag`?i.content[0].content[0].content===`</`?0<n.length&&n[n.length-1].tagName===s(i.content[0].content[1])&&n.pop():i.content[i.content.length-1].content!==`/>`&&n.push({tagName:s(i.content[0].content[1]),openedBraces:0}):0<n.length&&i.type===`punctuation`&&i.content===`{`?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&i.type===`punctuation`&&i.content===`}`?n[n.length-1].openedBraces--:a=!0),(a||typeof i==`string`)&&0<n.length&&n[n.length-1].openedBraces===0&&(a=s(i),r<t.length-1&&(typeof t[r+1]==`string`||t[r+1].type===`plain-text`)&&(a+=s(t[r+1]),t.splice(r+1,1)),0<r&&(typeof t[r-1]==`string`||t[r-1].type===`plain-text`)&&(a=s(t[r-1])+a,t.splice(r-1,1),r--),t[r]=new e.Token(`plain-text`,a,null,a)),i.content&&typeof i.content!=`string`&&o(i.content)}}var s=function(e){return e?typeof e==`string`?e:typeof e.content==`string`?e.content:e.content.map(s).join(``):``};e.hooks.add(`after-tokenize`,function(e){e.language!==`jsx`&&e.language!==`tsx`||o(e.tokens)})}($),function(e){var t=e.util.clone(e.languages.typescript),t=(e.languages.tsx=e.languages.extend(`jsx`,t),delete e.languages.tsx.parameter,delete e.languages.tsx[`literal-property`],e.languages.tsx.tag);t.pattern=RegExp(`(^|[^\\w$]|(?=<\\/))(?:`+t.pattern.source+`)`,t.pattern.flags),t.lookbehind=!0}($),$.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(`(^|[^"#])(?:"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n"])*"|"""(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\"]|"(?!""))*""")(?!["#])`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:`punctuation`},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(`(^|[^"#])(#+)(?:"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?"|"""(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?""")\\2`),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:`punctuation`},string:/[\s\S]+/}}],directive:{pattern:RegExp(`#(?:(?:elseif|if)\\b(?:[ ]*(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?)+|(?:else|endif)\\b)`),alias:`property`,inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:`constant`},"other-directive":{pattern:/#\w+\b/,alias:`property`},attribute:{pattern:/@\w+/,alias:`atrule`},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:`function`},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:`important`},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:`constant`},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:`keyword`},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},$.languages.swift[`string-literal`].forEach(function(e){e.inside.interpolation.inside=$.languages.swift}),function(e){e.languages.kotlin=e.languages.extend(`clike`,{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin[`class-name`];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:`punctuation`},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore(`kotlin`,`string`,{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:`multiline`,inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:`singleline`,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore(`kotlin`,`keyword`,{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:`builtin`}}),e.languages.insertBefore(`kotlin`,`function`,{label:{pattern:/\b\w+@|@\w+\b/,alias:`symbol`}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}($),$.languages.c=$.languages.extend(`clike`,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),$.languages.insertBefore(`c`,`string`,{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),$.languages.insertBefore(`c`,`string`,{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:`property`,inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},$.languages.c.string],char:$.languages.c.char,comment:$.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:`function`}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:`keyword`},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:$.languages.c}}}}),$.languages.insertBefore(`c`,`function`,{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete $.languages.c.boolean,$.languages.objectivec=$.languages.extend(`c`,{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete $.languages.objectivec[`class-name`],$.languages.objc=$.languages.objectivec,$.languages.reason=$.languages.extend(`clike`,{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),$.languages.insertBefore(`reason`,`class-name`,{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:`symbol`}}),delete $.languages.reason.function,function(e){for(var t=`\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/`,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return`[^\\s\\S]`}),e.languages.rust={comment:[{pattern:RegExp(`(^|[^\\\\])`+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:`attr-name`,inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:`punctuation`},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:`symbol`},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:`punctuation`},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:`function`},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:`class-name`},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:`namespace`},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:`namespace`,inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:`property`},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust[`closure-params`].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}($),$.languages.go=$.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),$.languages.insertBefore(`go`,`string`,{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete $.languages.go[`class-name`],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=`\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b`.replace(/<keyword>/g,function(){return t.source});e.languages.cpp=e.languages.extend(`c`,{"class-name":[{pattern:RegExp(`(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore(`cpp`,`string`,{module:{pattern:RegExp(`(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|<[^<>\\r\\n]*>|`+`<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>`.replace(/<mod-name>/g,function(){return n})+`)`),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:`string`,greedy:!0}}),e.languages.insertBefore(`cpp`,`keyword`,{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:e.languages.cpp}}}}),e.languages.insertBefore(`cpp`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}}),e.languages.insertBefore(`cpp`,`class-name`,{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(`cpp`,{})}}),e.languages.insertBefore(`inside`,`double-colon`,{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[`base-clause`])}($),$.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern://,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},$.languages.python[`string-interpolation`].inside.interpolation.inside.rest=$.languages.python,$.languages.py=$.languages.python,$.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},$.languages.webmanifest=$.languages.json;var Ef={};wf(Ef,{dracula:()=>Df,duotoneDark:()=>Of,duotoneLight:()=>kf,github:()=>Af,gruvboxMaterialDark:()=>Kf,gruvboxMaterialLight:()=>qf,jettwaveDark:()=>Hf,jettwaveLight:()=>Uf,nightOwl:()=>jf,nightOwlLight:()=>Mf,oceanicNext:()=>Pf,okaidia:()=>Ff,oneDark:()=>Wf,oneLight:()=>Gf,palenight:()=>If,shadesOfPurple:()=>Lf,synthwave84:()=>Rf,ultramin:()=>zf,vsDark:()=>Bf,vsLight:()=>Vf});var Df={plain:{color:`#F8F8F2`,backgroundColor:`#282A36`},styles:[{types:[`prolog`,`constant`,`builtin`],style:{color:`rgb(189, 147, 249)`}},{types:[`inserted`,`function`],style:{color:`rgb(80, 250, 123)`}},{types:[`deleted`],style:{color:`rgb(255, 85, 85)`}},{types:[`changed`],style:{color:`rgb(255, 184, 108)`}},{types:[`punctuation`,`symbol`],style:{color:`rgb(248, 248, 242)`}},{types:[`string`,`char`,`tag`,`selector`],style:{color:`rgb(255, 121, 198)`}},{types:[`keyword`,`variable`],style:{color:`rgb(189, 147, 249)`,fontStyle:`italic`}},{types:[`comment`],style:{color:`rgb(98, 114, 164)`}},{types:[`attr-name`],style:{color:`rgb(241, 250, 140)`}}]},Of={plain:{backgroundColor:`#2a2734`,color:`#9a86fd`},styles:[{types:[`comment`,`prolog`,`doctype`,`cdata`,`punctuation`],style:{color:`#6c6783`}},{types:[`namespace`],style:{opacity:.7}},{types:[`tag`,`operator`,`number`],style:{color:`#e09142`}},{types:[`property`,`function`],style:{color:`#9a86fd`}},{types:[`tag-id`,`selector`,`atrule-id`],style:{color:`#eeebff`}},{types:[`attr-name`],style:{color:`#c4b9fe`}},{types:[`boolean`,`string`,`entity`,`url`,`attr-value`,`keyword`,`control`,`directive`,`unit`,`statement`,`regex`,`atrule`,`placeholder`,`variable`],style:{color:`#ffcc99`}},{types:[`deleted`],style:{textDecorationLine:`line-through`}},{types:[`inserted`],style:{textDecorationLine:`underline`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`important`,`bold`],style:{fontWeight:`bold`}},{types:[`important`],style:{color:`#c4b9fe`}}]},kf={plain:{backgroundColor:`#faf8f5`,color:`#728fcb`},styles:[{types:[`comment`,`prolog`,`doctype`,`cdata`,`punctuation`],style:{color:`#b6ad9a`}},{types:[`namespace`],style:{opacity:.7}},{types:[`tag`,`operator`,`number`],style:{color:`#063289`}},{types:[`property`,`function`],style:{color:`#b29762`}},{types:[`tag-id`,`selector`,`atrule-id`],style:{color:`#2d2006`}},{types:[`attr-name`],style:{color:`#896724`}},{types:[`boolean`,`string`,`entity`,`url`,`attr-value`,`keyword`,`control`,`directive`,`unit`,`statement`,`regex`,`atrule`],style:{color:`#728fcb`}},{types:[`placeholder`,`variable`],style:{color:`#93abdc`}},{types:[`deleted`],style:{textDecorationLine:`line-through`}},{types:[`inserted`],style:{textDecorationLine:`underline`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`important`,`bold`],style:{fontWeight:`bold`}},{types:[`important`],style:{color:`#896724`}}]},Af={plain:{color:`#393A34`,backgroundColor:`#f6f8fa`},styles:[{types:[`comment`,`prolog`,`doctype`,`cdata`],style:{color:`#999988`,fontStyle:`italic`}},{types:[`namespace`],style:{opacity:.7}},{types:[`string`,`attr-value`],style:{color:`#e3116c`}},{types:[`punctuation`,`operator`],style:{color:`#393A34`}},{types:[`entity`,`url`,`symbol`,`number`,`boolean`,`variable`,`constant`,`property`,`regex`,`inserted`],style:{color:`#36acaa`}},{types:[`atrule`,`keyword`,`attr-name`,`selector`],style:{color:`#00a4db`}},{types:[`function`,`deleted`,`tag`],style:{color:`#d73a49`}},{types:[`function-variable`],style:{color:`#6f42c1`}},{types:[`tag`,`selector`,`keyword`],style:{color:`#00009f`}}]},jf={plain:{color:`#d6deeb`,backgroundColor:`#011627`},styles:[{types:[`changed`],style:{color:`rgb(162, 191, 252)`,fontStyle:`italic`}},{types:[`deleted`],style:{color:`rgba(239, 83, 80, 0.56)`,fontStyle:`italic`}},{types:[`inserted`,`attr-name`],style:{color:`rgb(173, 219, 103)`,fontStyle:`italic`}},{types:[`comment`],style:{color:`rgb(99, 119, 119)`,fontStyle:`italic`}},{types:[`string`,`url`],style:{color:`rgb(173, 219, 103)`}},{types:[`variable`],style:{color:`rgb(214, 222, 235)`}},{types:[`number`],style:{color:`rgb(247, 140, 108)`}},{types:[`builtin`,`char`,`constant`,`function`],style:{color:`rgb(130, 170, 255)`}},{types:[`punctuation`],style:{color:`rgb(199, 146, 234)`}},{types:[`selector`,`doctype`],style:{color:`rgb(199, 146, 234)`,fontStyle:`italic`}},{types:[`class-name`],style:{color:`rgb(255, 203, 139)`}},{types:[`tag`,`operator`,`keyword`],style:{color:`rgb(127, 219, 202)`}},{types:[`boolean`],style:{color:`rgb(255, 88, 116)`}},{types:[`property`],style:{color:`rgb(128, 203, 196)`}},{types:[`namespace`],style:{color:`rgb(178, 204, 214)`}}]},Mf={plain:{color:`#403f53`,backgroundColor:`#FBFBFB`},styles:[{types:[`changed`],style:{color:`rgb(162, 191, 252)`,fontStyle:`italic`}},{types:[`deleted`],style:{color:`rgba(239, 83, 80, 0.56)`,fontStyle:`italic`}},{types:[`inserted`,`attr-name`],style:{color:`rgb(72, 118, 214)`,fontStyle:`italic`}},{types:[`comment`],style:{color:`rgb(152, 159, 177)`,fontStyle:`italic`}},{types:[`string`,`builtin`,`char`,`constant`,`url`],style:{color:`rgb(72, 118, 214)`}},{types:[`variable`],style:{color:`rgb(201, 103, 101)`}},{types:[`number`],style:{color:`rgb(170, 9, 130)`}},{types:[`punctuation`],style:{color:`rgb(153, 76, 195)`}},{types:[`function`,`selector`,`doctype`],style:{color:`rgb(153, 76, 195)`,fontStyle:`italic`}},{types:[`class-name`],style:{color:`rgb(17, 17, 17)`}},{types:[`tag`],style:{color:`rgb(153, 76, 195)`}},{types:[`operator`,`property`,`keyword`,`namespace`],style:{color:`rgb(12, 150, 155)`}},{types:[`boolean`],style:{color:`rgb(188, 84, 84)`}}]},Nf={char:`#D8DEE9`,comment:`#999999`,keyword:`#c5a5c5`,primitive:`#5a9bcf`,string:`#8dc891`,variable:`#d7deea`,boolean:`#ff8b50`,punctuation:`#5FB3B3`,tag:`#fc929e`,function:`#79b6f2`,className:`#FAC863`,method:`#6699CC`,operator:`#fc929e`},Pf={plain:{backgroundColor:`#282c34`,color:`#ffffff`},styles:[{types:[`attr-name`],style:{color:Nf.keyword}},{types:[`attr-value`],style:{color:Nf.string}},{types:[`comment`,`block-comment`,`prolog`,`doctype`,`cdata`,`shebang`],style:{color:Nf.comment}},{types:[`property`,`number`,`function-name`,`constant`,`symbol`,`deleted`],style:{color:Nf.primitive}},{types:[`boolean`],style:{color:Nf.boolean}},{types:[`tag`],style:{color:Nf.tag}},{types:[`string`],style:{color:Nf.string}},{types:[`punctuation`],style:{color:Nf.string}},{types:[`selector`,`char`,`builtin`,`inserted`],style:{color:Nf.char}},{types:[`function`],style:{color:Nf.function}},{types:[`operator`,`entity`,`url`,`variable`],style:{color:Nf.variable}},{types:[`keyword`],style:{color:Nf.keyword}},{types:[`atrule`,`class-name`],style:{color:Nf.className}},{types:[`important`],style:{fontWeight:`400`}},{types:[`bold`],style:{fontWeight:`bold`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`namespace`],style:{opacity:.7}}]},Ff={plain:{color:`#f8f8f2`,backgroundColor:`#272822`},styles:[{types:[`changed`],style:{color:`rgb(162, 191, 252)`,fontStyle:`italic`}},{types:[`deleted`],style:{color:`#f92672`,fontStyle:`italic`}},{types:[`inserted`],style:{color:`rgb(173, 219, 103)`,fontStyle:`italic`}},{types:[`comment`],style:{color:`#8292a2`,fontStyle:`italic`}},{types:[`string`,`url`],style:{color:`#a6e22e`}},{types:[`variable`],style:{color:`#f8f8f2`}},{types:[`number`],style:{color:`#ae81ff`}},{types:[`builtin`,`char`,`constant`,`function`,`class-name`],style:{color:`#e6db74`}},{types:[`punctuation`],style:{color:`#f8f8f2`}},{types:[`selector`,`doctype`],style:{color:`#a6e22e`,fontStyle:`italic`}},{types:[`tag`,`operator`,`keyword`],style:{color:`#66d9ef`}},{types:[`boolean`],style:{color:`#ae81ff`}},{types:[`namespace`],style:{color:`rgb(178, 204, 214)`,opacity:.7}},{types:[`tag`,`property`],style:{color:`#f92672`}},{types:[`attr-name`],style:{color:`#a6e22e !important`}},{types:[`doctype`],style:{color:`#8292a2`}},{types:[`rule`],style:{color:`#e6db74`}}]},If={plain:{color:`#bfc7d5`,backgroundColor:`#292d3e`},styles:[{types:[`comment`],style:{color:`rgb(105, 112, 152)`,fontStyle:`italic`}},{types:[`string`,`inserted`],style:{color:`rgb(195, 232, 141)`}},{types:[`number`],style:{color:`rgb(247, 140, 108)`}},{types:[`builtin`,`char`,`constant`,`function`],style:{color:`rgb(130, 170, 255)`}},{types:[`punctuation`,`selector`],style:{color:`rgb(199, 146, 234)`}},{types:[`variable`],style:{color:`rgb(191, 199, 213)`}},{types:[`class-name`,`attr-name`],style:{color:`rgb(255, 203, 107)`}},{types:[`tag`,`deleted`],style:{color:`rgb(255, 85, 114)`}},{types:[`operator`],style:{color:`rgb(137, 221, 255)`}},{types:[`boolean`],style:{color:`rgb(255, 88, 116)`}},{types:[`keyword`],style:{fontStyle:`italic`}},{types:[`doctype`],style:{color:`rgb(199, 146, 234)`,fontStyle:`italic`}},{types:[`namespace`],style:{color:`rgb(178, 204, 214)`}},{types:[`url`],style:{color:`rgb(221, 221, 221)`}}]},Lf={plain:{color:`#9EFEFF`,backgroundColor:`#2D2A55`},styles:[{types:[`changed`],style:{color:`rgb(255, 238, 128)`}},{types:[`deleted`],style:{color:`rgba(239, 83, 80, 0.56)`}},{types:[`inserted`],style:{color:`rgb(173, 219, 103)`}},{types:[`comment`],style:{color:`rgb(179, 98, 255)`,fontStyle:`italic`}},{types:[`punctuation`],style:{color:`rgb(255, 255, 255)`}},{types:[`constant`],style:{color:`rgb(255, 98, 140)`}},{types:[`string`,`url`],style:{color:`rgb(165, 255, 144)`}},{types:[`variable`],style:{color:`rgb(255, 238, 128)`}},{types:[`number`,`boolean`],style:{color:`rgb(255, 98, 140)`}},{types:[`attr-name`],style:{color:`rgb(255, 180, 84)`}},{types:[`keyword`,`operator`,`property`,`namespace`,`tag`,`selector`,`doctype`],style:{color:`rgb(255, 157, 0)`}},{types:[`builtin`,`char`,`constant`,`function`,`class-name`],style:{color:`rgb(250, 208, 0)`}}]},Rf={plain:{backgroundColor:`linear-gradient(to bottom, #2a2139 75%, #34294f)`,backgroundImage:`#34294f`,color:`#f92aad`,textShadow:`0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3`},styles:[{types:[`comment`,`block-comment`,`prolog`,`doctype`,`cdata`],style:{color:`#495495`,fontStyle:`italic`}},{types:[`punctuation`],style:{color:`#ccc`}},{types:[`tag`,`attr-name`,`namespace`,`number`,`unit`,`hexcode`,`deleted`],style:{color:`#e2777a`}},{types:[`property`,`selector`],style:{color:`#72f1b8`,textShadow:`0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475`}},{types:[`function-name`],style:{color:`#6196cc`}},{types:[`boolean`,`selector-id`,`function`],style:{color:`#fdfdfd`,textShadow:`0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975`}},{types:[`class-name`,`maybe-class-name`,`builtin`],style:{color:`#fff5f6`,textShadow:`0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75`}},{types:[`constant`,`symbol`],style:{color:`#f92aad`,textShadow:`0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3`}},{types:[`important`,`atrule`,`keyword`,`selector-class`],style:{color:`#f4eee4`,textShadow:`0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575`}},{types:[`string`,`char`,`attr-value`,`regex`,`variable`],style:{color:`#f87c32`}},{types:[`parameter`],style:{fontStyle:`italic`}},{types:[`entity`,`url`],style:{color:`#67cdcc`}},{types:[`operator`],style:{color:`ffffffee`}},{types:[`important`,`bold`],style:{fontWeight:`bold`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`entity`],style:{cursor:`help`}},{types:[`inserted`],style:{color:`green`}}]},zf={plain:{color:`#282a2e`,backgroundColor:`#ffffff`},styles:[{types:[`comment`],style:{color:`rgb(197, 200, 198)`}},{types:[`string`,`number`,`builtin`,`variable`],style:{color:`rgb(150, 152, 150)`}},{types:[`class-name`,`function`,`tag`,`attr-name`],style:{color:`rgb(40, 42, 46)`}}]},Bf={plain:{color:`#9CDCFE`,backgroundColor:`#1E1E1E`},styles:[{types:[`prolog`],style:{color:`rgb(0, 0, 128)`}},{types:[`comment`],style:{color:`rgb(106, 153, 85)`}},{types:[`builtin`,`changed`,`keyword`,`interpolation-punctuation`],style:{color:`rgb(86, 156, 214)`}},{types:[`number`,`inserted`],style:{color:`rgb(181, 206, 168)`}},{types:[`constant`],style:{color:`rgb(100, 102, 149)`}},{types:[`attr-name`,`variable`],style:{color:`rgb(156, 220, 254)`}},{types:[`deleted`,`string`,`attr-value`,`template-punctuation`],style:{color:`rgb(206, 145, 120)`}},{types:[`selector`],style:{color:`rgb(215, 186, 125)`}},{types:[`tag`],style:{color:`rgb(78, 201, 176)`}},{types:[`tag`],languages:[`markup`],style:{color:`rgb(86, 156, 214)`}},{types:[`punctuation`,`operator`],style:{color:`rgb(212, 212, 212)`}},{types:[`punctuation`],languages:[`markup`],style:{color:`#808080`}},{types:[`function`],style:{color:`rgb(220, 220, 170)`}},{types:[`class-name`],style:{color:`rgb(78, 201, 176)`}},{types:[`char`],style:{color:`rgb(209, 105, 105)`}}]},Vf={plain:{color:`#000000`,backgroundColor:`#ffffff`},styles:[{types:[`comment`],style:{color:`rgb(0, 128, 0)`}},{types:[`builtin`],style:{color:`rgb(0, 112, 193)`}},{types:[`number`,`variable`,`inserted`],style:{color:`rgb(9, 134, 88)`}},{types:[`operator`],style:{color:`rgb(0, 0, 0)`}},{types:[`constant`,`char`],style:{color:`rgb(129, 31, 63)`}},{types:[`tag`],style:{color:`rgb(128, 0, 0)`}},{types:[`attr-name`],style:{color:`rgb(255, 0, 0)`}},{types:[`deleted`,`string`],style:{color:`rgb(163, 21, 21)`}},{types:[`changed`,`punctuation`],style:{color:`rgb(4, 81, 165)`}},{types:[`function`,`keyword`],style:{color:`rgb(0, 0, 255)`}},{types:[`class-name`],style:{color:`rgb(38, 127, 153)`}}]},Hf={plain:{color:`#f8fafc`,backgroundColor:`#011627`},styles:[{types:[`prolog`],style:{color:`#000080`}},{types:[`comment`],style:{color:`#6A9955`}},{types:[`builtin`,`changed`,`keyword`,`interpolation-punctuation`],style:{color:`#569CD6`}},{types:[`number`,`inserted`],style:{color:`#B5CEA8`}},{types:[`constant`],style:{color:`#f8fafc`}},{types:[`attr-name`,`variable`],style:{color:`#9CDCFE`}},{types:[`deleted`,`string`,`attr-value`,`template-punctuation`],style:{color:`#cbd5e1`}},{types:[`selector`],style:{color:`#D7BA7D`}},{types:[`tag`],style:{color:`#0ea5e9`}},{types:[`tag`],languages:[`markup`],style:{color:`#0ea5e9`}},{types:[`punctuation`,`operator`],style:{color:`#D4D4D4`}},{types:[`punctuation`],languages:[`markup`],style:{color:`#808080`}},{types:[`function`],style:{color:`#7dd3fc`}},{types:[`class-name`],style:{color:`#0ea5e9`}},{types:[`char`],style:{color:`#D16969`}}]},Uf={plain:{color:`#0f172a`,backgroundColor:`#f1f5f9`},styles:[{types:[`prolog`],style:{color:`#000080`}},{types:[`comment`],style:{color:`#6A9955`}},{types:[`builtin`,`changed`,`keyword`,`interpolation-punctuation`],style:{color:`#0c4a6e`}},{types:[`number`,`inserted`],style:{color:`#B5CEA8`}},{types:[`constant`],style:{color:`#0f172a`}},{types:[`attr-name`,`variable`],style:{color:`#0c4a6e`}},{types:[`deleted`,`string`,`attr-value`,`template-punctuation`],style:{color:`#64748b`}},{types:[`selector`],style:{color:`#D7BA7D`}},{types:[`tag`],style:{color:`#0ea5e9`}},{types:[`tag`],languages:[`markup`],style:{color:`#0ea5e9`}},{types:[`punctuation`,`operator`],style:{color:`#475569`}},{types:[`punctuation`],languages:[`markup`],style:{color:`#808080`}},{types:[`function`],style:{color:`#0e7490`}},{types:[`class-name`],style:{color:`#0ea5e9`}},{types:[`char`],style:{color:`#D16969`}}]},Wf={plain:{backgroundColor:`hsl(220, 13%, 18%)`,color:`hsl(220, 14%, 71%)`,textShadow:`0 1px rgba(0, 0, 0, 0.3)`},styles:[{types:[`comment`,`prolog`,`cdata`],style:{color:`hsl(220, 10%, 40%)`}},{types:[`doctype`,`punctuation`,`entity`],style:{color:`hsl(220, 14%, 71%)`}},{types:[`attr-name`,`class-name`,`maybe-class-name`,`boolean`,`constant`,`number`,`atrule`],style:{color:`hsl(29, 54%, 61%)`}},{types:[`keyword`],style:{color:`hsl(286, 60%, 67%)`}},{types:[`property`,`tag`,`symbol`,`deleted`,`important`],style:{color:`hsl(355, 65%, 65%)`}},{types:[`selector`,`string`,`char`,`builtin`,`inserted`,`regex`,`attr-value`],style:{color:`hsl(95, 38%, 62%)`}},{types:[`variable`,`operator`,`function`],style:{color:`hsl(207, 82%, 66%)`}},{types:[`url`],style:{color:`hsl(187, 47%, 55%)`}},{types:[`deleted`],style:{textDecorationLine:`line-through`}},{types:[`inserted`],style:{textDecorationLine:`underline`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`important`,`bold`],style:{fontWeight:`bold`}},{types:[`important`],style:{color:`hsl(220, 14%, 71%)`}}]},Gf={plain:{backgroundColor:`hsl(230, 1%, 98%)`,color:`hsl(230, 8%, 24%)`},styles:[{types:[`comment`,`prolog`,`cdata`],style:{color:`hsl(230, 4%, 64%)`}},{types:[`doctype`,`punctuation`,`entity`],style:{color:`hsl(230, 8%, 24%)`}},{types:[`attr-name`,`class-name`,`boolean`,`constant`,`number`,`atrule`],style:{color:`hsl(35, 99%, 36%)`}},{types:[`keyword`],style:{color:`hsl(301, 63%, 40%)`}},{types:[`property`,`tag`,`symbol`,`deleted`,`important`],style:{color:`hsl(5, 74%, 59%)`}},{types:[`selector`,`string`,`char`,`builtin`,`inserted`,`regex`,`attr-value`,`punctuation`],style:{color:`hsl(119, 34%, 47%)`}},{types:[`variable`,`operator`,`function`],style:{color:`hsl(221, 87%, 60%)`}},{types:[`url`],style:{color:`hsl(198, 99%, 37%)`}},{types:[`deleted`],style:{textDecorationLine:`line-through`}},{types:[`inserted`],style:{textDecorationLine:`underline`}},{types:[`italic`],style:{fontStyle:`italic`}},{types:[`important`,`bold`],style:{fontWeight:`bold`}},{types:[`important`],style:{color:`hsl(230, 8%, 24%)`}}]},Kf={plain:{color:`#ebdbb2`,backgroundColor:`#292828`},styles:[{types:[`imports`,`class-name`,`maybe-class-name`,`constant`,`doctype`,`builtin`,`function`],style:{color:`#d8a657`}},{types:[`property-access`],style:{color:`#7daea3`}},{types:[`tag`],style:{color:`#e78a4e`}},{types:[`attr-name`,`char`,`url`,`regex`],style:{color:`#a9b665`}},{types:[`attr-value`,`string`],style:{color:`#89b482`}},{types:[`comment`,`prolog`,`cdata`,`operator`,`inserted`],style:{color:`#a89984`}},{types:[`delimiter`,`boolean`,`keyword`,`selector`,`important`,`atrule`,`property`,`variable`,`deleted`],style:{color:`#ea6962`}},{types:[`entity`,`number`,`symbol`],style:{color:`#d3869b`}}]},qf={plain:{color:`#654735`,backgroundColor:`#f9f5d7`},styles:[{types:[`delimiter`,`boolean`,`keyword`,`selector`,`important`,`atrule`,`property`,`variable`,`deleted`],style:{color:`#af2528`}},{types:[`imports`,`class-name`,`maybe-class-name`,`constant`,`doctype`,`builtin`],style:{color:`#b4730e`}},{types:[`string`,`attr-value`],style:{color:`#477a5b`}},{types:[`property-access`],style:{color:`#266b79`}},{types:[`function`,`attr-name`,`char`,`url`],style:{color:`#72761e`}},{types:[`tag`],style:{color:`#b94c07`}},{types:[`comment`,`prolog`,`cdata`,`operator`,`inserted`],style:{color:`#a89984`}},{types:[`entity`,`number`,`symbol`],style:{color:`#924f79`}}]},Jf=e=>(0,F.useCallback)(t=>{var n=t,{className:r,style:i,line:a}=n;let o=xf(bf({},Sf(n,[`className`,`style`,`line`])),{className:cf(`token-line`,r)});return typeof e==`object`&&`plain`in e&&(o.style=e.plain),typeof i==`object`&&(o.style=bf(bf({},o.style||{}),i)),o},[e]),Yf=e=>{let t=(0,F.useCallback)(({types:t,empty:n})=>{if(e!=null)return t.length===1&&t[0]===`plain`?n==null?void 0:{display:`inline-block`}:t.length===1&&n!=null?e[t[0]]:Object.assign(n==null?{}:{display:`inline-block`},...t.map(t=>e[t]))},[e]);return(0,F.useCallback)(e=>{var n=e,{token:r,className:i,style:a}=n;let o=xf(bf({},Sf(n,[`token`,`className`,`style`])),{className:cf(`token`,...r.types,i),children:r.content,style:t(r)});return a!=null&&(o.style=bf(bf({},o.style||{}),a)),o},[t])},Xf=/\r\n|\r|\n/,Zf=e=>{e.length===0?e.push({types:[`plain`],content:`
|
|
41
41
|
`,empty:!0}):e.length===1&&e[0].content===``&&(e[0].content=`
|
|
42
|
-
`,e[0].empty=!0)},Qf=(e,t)=>{let n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},$f=e=>{let t=[[]],n=[e],r=[0],i=[e.length],a=0,o=0,s=[],c=[s];for(;o>-1;){for(;(a=r[o]++)<i[o];){let e,l=t[o],u=n[o][a];if(typeof u==`string`?(l=o>0?l:[`plain`],e=u):(l=Qf(l,u.type),u.alias&&(l=Qf(l,u.alias)),e=u.content),typeof e!=`string`){o++,t.push(l),n.push(e),r.push(0),i.push(e.length);continue}let d=e.split(Xf),f=d.length;s.push({types:l,content:d[0]});for(let e=1;e<f;e++)Zf(s),c.push(s=[]),s.push({types:l,content:d[e]})}o--,t.pop(),n.pop(),r.pop(),i.pop()}return Zf(s),c},ep=({prism:e,code:t,grammar:n,language:r})=>(0,F.useMemo)(()=>{if(n==null)return $f([t]);let i={code:t,grammar:n,language:r,tokens:[]};return e.hooks.run(`before-tokenize`,i),i.tokens=e.tokenize(t,n),e.hooks.run(`after-tokenize`,i),$f(i.tokens)},[t,n,r,e]),tp=(e,t)=>{let{plain:n}=e,r=e.styles.reduce((e,n)=>{let{languages:r,style:i}=n;return r&&!r.includes(t)||n.types.forEach(t=>{e[t]=bf(bf({},e[t]),i)}),e},{});return r.root=n,r.plain=xf(bf({},n),{backgroundColor:void 0}),r},np=({children:e,language:t,code:n,theme:r,prism:i})=>{let a=t.toLowerCase(),o=tp(r,a),s=Jf(o),c=Yf(o),l=i.languages[a];return e({tokens:ep({prism:i,language:a,code:n,grammar:l}),className:`prism-code language-${a}`,style:o==null?{}:o.root,getLineProps:s,getTokenProps:c})},rp=e=>(0,F.createElement)(np,xf(bf({},e),{prism:e.prism||$,theme:e.theme||Bf,code:e.code,language:e.language})),ip=`modulepreload`,ap=function(e){return`/`+e},op={},sp=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=ap(t,n),t in op)return;op[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:ip,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},cp={};function lp(e){if(!cp[e]){let t={bash:()=>sp(()=>import(`./prism-bash-D6zCJ74D.js`),[]),sh:()=>sp(()=>import(`./prism-bash-D6zCJ74D.js`),[]),shell:()=>sp(()=>import(`./prism-bash-D6zCJ74D.js`),[]),php:async()=>(await sp(()=>import(`./prism-markup-templating-KkSMBj6Y.js`),[]),sp(()=>import(`./prism-php-Co4fM40K.js`),[])),sql:()=>sp(()=>import(`./prism-sql-CYhVDMEE.js`),[]),ruby:()=>sp(()=>import(`./prism-ruby-DFCASkuD.js`),[]),java:()=>sp(()=>import(`./prism-java-6wtusvIl.js`),[]),scala:async()=>(await lp(`java`),sp(()=>import(`./prism-scala-VkM3wCOL.js`),[])),solidity:()=>sp(()=>import(`./prism-solidity-DTom4k5p.js`),[]),vim:()=>sp(()=>import(`./prism-vim-BgpkjCK5.js`),[]),dart:()=>sp(()=>import(`./prism-dart-CDv16Fbu.js`),[]),csharp:()=>sp(()=>import(`./prism-csharp-XPn2bw0d.js`),[]),protobuf:()=>sp(()=>import(`./prism-protobuf-yzSHlhwy.js`),[]),hcl:()=>sp(()=>import(`./prism-hcl-B6Z0Ouoo.js`),[]),perl:()=>sp(()=>import(`./prism-perl-Lsbi34sH.js`),[]),elixir:()=>sp(()=>import(`./prism-elixir-DhHhV5Rj.js`),[]),nix:()=>sp(()=>import(`./prism-nix-C88dTX93.js`),[]),haskell:()=>sp(()=>import(`./prism-haskell-5hq1Nh9c.js`),[]),clojure:()=>sp(()=>import(`./prism-clojure-_z-zoNcE.js`),[]),svelte:()=>sp(()=>import(`./prism-svelte-g6PI_2ah.js`),[])}[e];if(!t)return console.warn(`No loader available for language: ${e}`),Promise.reject(Error(`Unsupported language: ${e}`));cp[e]=t().then(()=>void 0).catch(t=>{throw delete cp[e],console.warn(`Failed to load language: ${e}`,t),t})}return cp[e]}typeof global<`u`?global.Prism=$:typeof window<`u`&&(window.Prism=$);var up=$,dp=`markup.html.xml.svg.javascript.js.typescript.ts.jsx.tsx.css.c.cpp.swift.kotlin.objectivec.reason.rust.go.graphql.yaml.yml.json.markdown.md.python.py`.split(`.`);function fp(e,t){let[n,r]=(0,F.useState)(()=>dp.includes(t)||!!up.languages[t]);return(0,F.useEffect)(()=>{if(!n){if(dp.includes(t)){r(!0);return}lp(t).then(()=>{r(!0)}).catch(()=>{r(!1)})}},[t,n]),{ready:n,actualLang:n?t:`text`}}var pp={js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`javascript`,ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`typescript`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,cpp:`cpp`,c:`c`,cs:`csharp`,php:`php`,swift:`swift`,kt:`kotlin`,scala:`scala`,r:`r`,sql:`sql`,sh:`bash`,bash:`bash`,zsh:`bash`,fish:`bash`,yml:`yaml`,yaml:`yaml`,json:`json`,xml:`xml`,html:`html`,vue:`html`,css:`css`,scss:`scss`,sass:`sass`,less:`less`,md:`markdown`,markdown:`markdown`,tex:`latex`,vim:`vim`,ex:`elixir`,exs:`elixir`,heex:`elixir`,nix:`nix`,hs:`haskell`,lhs:`haskell`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,edn:`clojure`},mp={ts:`typescript`,tsx:`tsx`,mts:`typescript`,cts:`typescript`,js:`javascript`,jsx:`jsx`,mjs:`javascript`,cjs:`javascript`,json:`json`,css:`css`,scss:`css`,html:`html`,vue:`html`,sh:`bash`,bash:`bash`,zsh:`bash`,fish:`bash`,yml:`yaml`,yaml:`yaml`,md:`markdown`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,cpp:`cpp`,c:`c`,php:`php`,sql:`sql`,xml:`xml`,swift:`swift`,kt:`kotlin`,scala:`scala`,svelte:`svelte`,r:`r`,lua:`lua`,perl:`perl`,pl:`perl`,pm:`perl`,dockerfile:`docker`,makefile:`makefile`,gitignore:`git`,env:`bash`,conf:`nginx`,ini:`ini`,toml:`toml`,sol:`solidity`,vim:`vim`,dart:`dart`,cs:`csharp`,proto:`protobuf`,tf:`hcl`,tfvars:`hcl`,hcl:`hcl`,ex:`elixir`,exs:`elixir`,heex:`elixir`,nix:`nix`,hs:`haskell`,lhs:`haskell`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,edn:`clojure`},hp={dockerfile:`docker`,makefile:`makefile`,".gitignore":`git`,".env":`bash`,".bashrc":`bash`,".zshrc":`bash`,".bash_profile":`bash`,".profile":`bash`};function gp(e,t){if(e)return t[e.toLowerCase()]}function _p(e){return gp(Bd(e),pp)}function vp(e){return hp[Vd(e).toLowerCase()]||gp(Bd(e),mp)||`text`}var yp=new Set([`vue`,`svelte`,`astro`]);function bp(e){let t=Bd(e);return t!=null&&yp.has(t)}function xp(e){return{...e,styles:e.styles.map(e=>({...e,style:{...e.style,background:void 0,backgroundColor:void 0}}))}}function Sp(e){let t;switch(e){case`github`:t=Ef.github;break;case`vsLight`:t=Ef.vsLight;break;case`oneLight`:t=Ef.oneLight;break;case`gruvboxMaterialLight`:t=Ef.gruvboxMaterialLight;break;case`nightOwlLight`:t=Ef.nightOwlLight;break;case`vsDark`:t=Ef.vsDark;break;case`oneDark`:t=Ef.oneDark;break;case`gruvboxMaterialDark`:t=Ef.gruvboxMaterialDark;break;case`nightOwl`:t=Ef.nightOwl;break;case`dracula`:t=Ef.dracula;break;case`okaidia`:t=Ef.okaidia;break;default:t=Ef.vsDark}return xp(t)}var Cp=F.memo(function({code:e,language:t,className:n,syntaxTheme:r=`vsDark`,filename:i=``,precomputedTokens:a,renderToken:o,onMouseOver:s,onMouseOut:c}){let{actualLang:l}=fp(e,t||(i?vp(i):`text`)),u=Sp(r),d=!!a,f=(0,F.useCallback)(({style:e,tokens:t,getLineProps:r,getTokenProps:i})=>{let l=a??t;return(0,I.jsx)(`span`,{className:n,style:{...e,background:`transparent`,backgroundColor:`transparent`},onMouseOver:s,onMouseOut:c,children:l.map((e,t)=>(0,I.jsx)(`span`,{...r({line:e}),children:e.map((e,t)=>o?o(e,t,i):(0,I.jsx)(`span`,{...i({token:e})},t))},t))})},[n,s,c,o,a]);return(0,I.jsx)(rp,{code:d?``:e,language:l,theme:u,prism:up,children:f})}),wp=F.memo(function(e){let{handleMouseOver:t,handleMouseOut:n,isWordHighlighted:r}=of(),i=(0,F.useCallback)((e,t,n)=>{let i=n({token:e}),a=e.content.split(/( +)/);if(a.length===1&&a[0]&&!tf(a[0]))return(0,I.jsx)(`span`,{...i},t);let o=a.map((e,n)=>{if(!e)return null;if(tf(e)){let i=e.trim();return(0,I.jsx)(`span`,{className:`word-token ${r(i)?`word-highlight`:``}`,"data-word":i,children:e},`${t}-${n}`)}return(0,I.jsx)(`span`,{children:e},`${t}-${n}`)});return(0,I.jsx)(`span`,{...i,children:o},t)},[r]);return(0,I.jsx)(Cp,{...e,renderToken:i,onMouseOver:t,onMouseOut:n})}),Tp=F.memo(function({segments:e,className:t=``}){return(0,I.jsx)(`span`,{className:t,children:(0,F.useMemo)(()=>e.map((e,t)=>(0,I.jsx)(`span`,{className:e.type===`added`?`word-diff-added`:e.type===`removed`?`word-diff-removed`:``,children:e.value},t)),[e])})}),Ep=e=>{switch(e){case`add`:return`+`;case`delete`:return`-`;default:return` `}},Dp=e=>{switch(e){case`add`:return`text-github-accent bg-diff-addition-bg`;case`delete`:return`text-github-danger bg-diff-deletion-bg`;default:return`text-github-text-muted bg-github-bg-secondary`}};function Op({line:e,syntaxTheme:t,filename:n,diffSegments:r,showPrefixBorder:i=!0}){let{getOldTokens:a,getNewTokens:o}=Xd();return(0,I.jsxs)(`div`,{className:`flex items-center relative min-h-[16px]`,children:[(0,I.jsx)(`span`,{className:`w-5 text-center flex-shrink-0 ${i?`border-r border-github-border`:``} ${Dp(e.type)}`,children:Ep(e.type)}),r?(0,I.jsx)(Tp,{segments:r,className:`flex-1 px-3 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text`}):(0,I.jsx)(wp,{code:e.content,className:`flex-1 px-3 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text [&_pre]:m-0 [&_pre]:p-0 [&_pre]:!bg-transparent [&_pre]:font-inherit [&_pre]:text-inherit [&_pre]:leading-inherit [&_code]:!bg-transparent [&_code]:font-inherit [&_code]:text-inherit [&_code]:leading-inherit`,syntaxTheme:t,filename:n,precomputedTokens:(()=>{let t=e.oldLineNumber==null?null:a?.(e.oldLineNumber)??null;if(e.type===`delete`)return t?[t]:null;let n=e.newLineNumber==null?t:o?.(e.newLineNumber)??null;return n?[n]:null})()})]})}var kp=[Id,Wc],Ap=e=>Wd(e)?e:``,jp=e=>e===`add`?`bg-diff-addition-bg`:`bg-diff-deletion-bg`,Mp=(e,t)=>({type:e,content:t});function Np({code:e,type:t,filename:n,keyPrefix:r,syntaxTheme:i}){return(0,I.jsx)(I.Fragment,{children:e.split(`
|
|
42
|
+
`,e[0].empty=!0)},Qf=(e,t)=>{let n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},$f=e=>{let t=[[]],n=[e],r=[0],i=[e.length],a=0,o=0,s=[],c=[s];for(;o>-1;){for(;(a=r[o]++)<i[o];){let e,l=t[o],u=n[o][a];if(typeof u==`string`?(l=o>0?l:[`plain`],e=u):(l=Qf(l,u.type),u.alias&&(l=Qf(l,u.alias)),e=u.content),typeof e!=`string`){o++,t.push(l),n.push(e),r.push(0),i.push(e.length);continue}let d=e.split(Xf),f=d.length;s.push({types:l,content:d[0]});for(let e=1;e<f;e++)Zf(s),c.push(s=[]),s.push({types:l,content:d[e]})}o--,t.pop(),n.pop(),r.pop(),i.pop()}return Zf(s),c},ep=({prism:e,code:t,grammar:n,language:r})=>(0,F.useMemo)(()=>{if(n==null)return $f([t]);let i={code:t,grammar:n,language:r,tokens:[]};return e.hooks.run(`before-tokenize`,i),i.tokens=e.tokenize(t,n),e.hooks.run(`after-tokenize`,i),$f(i.tokens)},[t,n,r,e]),tp=(e,t)=>{let{plain:n}=e,r=e.styles.reduce((e,n)=>{let{languages:r,style:i}=n;return r&&!r.includes(t)||n.types.forEach(t=>{e[t]=bf(bf({},e[t]),i)}),e},{});return r.root=n,r.plain=xf(bf({},n),{backgroundColor:void 0}),r},np=({children:e,language:t,code:n,theme:r,prism:i})=>{let a=t.toLowerCase(),o=tp(r,a),s=Jf(o),c=Yf(o),l=i.languages[a];return e({tokens:ep({prism:i,language:a,code:n,grammar:l}),className:`prism-code language-${a}`,style:o==null?{}:o.root,getLineProps:s,getTokenProps:c})},rp=e=>(0,F.createElement)(np,xf(bf({},e),{prism:e.prism||$,theme:e.theme||Bf,code:e.code,language:e.language})),ip=`modulepreload`,ap=function(e){return`/`+e},op={},sp=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=ap(t,n),t in op)return;op[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:ip,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},cp={};function lp(e){if(!cp[e]){let t={bash:()=>sp(()=>import(`./prism-bash-D6zCJ74D.js`),[]),sh:()=>sp(()=>import(`./prism-bash-D6zCJ74D.js`),[]),shell:()=>sp(()=>import(`./prism-bash-D6zCJ74D.js`),[]),php:async()=>(await sp(()=>import(`./prism-markup-templating-KkSMBj6Y.js`),[]),sp(()=>import(`./prism-php-Co4fM40K.js`),[])),sql:()=>sp(()=>import(`./prism-sql-CYhVDMEE.js`),[]),ruby:()=>sp(()=>import(`./prism-ruby-DFCASkuD.js`),[]),java:()=>sp(()=>import(`./prism-java-6wtusvIl.js`),[]),scala:async()=>(await lp(`java`),sp(()=>import(`./prism-scala-VkM3wCOL.js`),[])),solidity:()=>sp(()=>import(`./prism-solidity-DTom4k5p.js`),[]),vim:()=>sp(()=>import(`./prism-vim-BgpkjCK5.js`),[]),dart:()=>sp(()=>import(`./prism-dart-CDv16Fbu.js`),[]),csharp:()=>sp(()=>import(`./prism-csharp-XPn2bw0d.js`),[]),protobuf:()=>sp(()=>import(`./prism-protobuf-yzSHlhwy.js`),[]),hcl:()=>sp(()=>import(`./prism-hcl-B6Z0Ouoo.js`),[]),perl:()=>sp(()=>import(`./prism-perl-Lsbi34sH.js`),[]),elixir:()=>sp(()=>import(`./prism-elixir-DhHhV5Rj.js`),[]),nix:()=>sp(()=>import(`./prism-nix-C88dTX93.js`),[]),haskell:()=>sp(()=>import(`./prism-haskell-5hq1Nh9c.js`),[]),clojure:()=>sp(()=>import(`./prism-clojure-_z-zoNcE.js`),[]),gdscript:()=>sp(()=>import(`./prism-gdscript-C1gnCftx.js`),[]),svelte:()=>sp(()=>import(`./prism-svelte-g6PI_2ah.js`),[])}[e];if(!t)return console.warn(`No loader available for language: ${e}`),Promise.reject(Error(`Unsupported language: ${e}`));cp[e]=t().then(()=>void 0).catch(t=>{throw delete cp[e],console.warn(`Failed to load language: ${e}`,t),t})}return cp[e]}typeof global<`u`?global.Prism=$:typeof window<`u`&&(window.Prism=$);var up=$,dp=`markup.html.xml.svg.javascript.js.typescript.ts.jsx.tsx.css.c.cpp.swift.kotlin.objectivec.reason.rust.go.graphql.yaml.yml.json.markdown.md.python.py`.split(`.`);function fp(e,t){let[n,r]=(0,F.useState)(()=>dp.includes(t)||!!up.languages[t]);return(0,F.useEffect)(()=>{if(!n){if(dp.includes(t)){r(!0);return}lp(t).then(()=>{r(!0)}).catch(()=>{r(!1)})}},[t,n]),{ready:n,actualLang:n?t:`text`}}var pp={js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`javascript`,ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`typescript`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,cpp:`cpp`,c:`c`,cs:`csharp`,php:`php`,swift:`swift`,kt:`kotlin`,scala:`scala`,r:`r`,sql:`sql`,sh:`bash`,bash:`bash`,zsh:`bash`,fish:`bash`,yml:`yaml`,yaml:`yaml`,json:`json`,xml:`xml`,html:`html`,vue:`html`,css:`css`,scss:`scss`,sass:`sass`,less:`less`,md:`markdown`,markdown:`markdown`,tex:`latex`,vim:`vim`,ex:`elixir`,exs:`elixir`,heex:`elixir`,nix:`nix`,hs:`haskell`,lhs:`haskell`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,edn:`clojure`,gd:`gdscript`},mp={ts:`typescript`,tsx:`tsx`,mts:`typescript`,cts:`typescript`,js:`javascript`,jsx:`jsx`,mjs:`javascript`,cjs:`javascript`,json:`json`,css:`css`,scss:`css`,html:`html`,vue:`html`,sh:`bash`,bash:`bash`,zsh:`bash`,fish:`bash`,yml:`yaml`,yaml:`yaml`,md:`markdown`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,cpp:`cpp`,c:`c`,php:`php`,sql:`sql`,xml:`xml`,swift:`swift`,kt:`kotlin`,scala:`scala`,svelte:`svelte`,r:`r`,lua:`lua`,perl:`perl`,pl:`perl`,pm:`perl`,dockerfile:`docker`,makefile:`makefile`,gitignore:`git`,env:`bash`,conf:`nginx`,ini:`ini`,toml:`toml`,sol:`solidity`,vim:`vim`,dart:`dart`,cs:`csharp`,proto:`protobuf`,tf:`hcl`,tfvars:`hcl`,hcl:`hcl`,ex:`elixir`,exs:`elixir`,heex:`elixir`,nix:`nix`,hs:`haskell`,lhs:`haskell`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,edn:`clojure`,gd:`gdscript`},hp={dockerfile:`docker`,makefile:`makefile`,".gitignore":`git`,".env":`bash`,".bashrc":`bash`,".zshrc":`bash`,".bash_profile":`bash`,".profile":`bash`};function gp(e,t){if(e)return t[e.toLowerCase()]}function _p(e){return gp(Bd(e),pp)}function vp(e){return hp[Vd(e).toLowerCase()]||gp(Bd(e),mp)||`text`}var yp=new Set([`vue`,`svelte`,`astro`]);function bp(e){let t=Bd(e);return t!=null&&yp.has(t)}function xp(e){return{...e,styles:e.styles.map(e=>({...e,style:{...e.style,background:void 0,backgroundColor:void 0}}))}}function Sp(e){let t;switch(e){case`github`:t=Ef.github;break;case`vsLight`:t=Ef.vsLight;break;case`oneLight`:t=Ef.oneLight;break;case`gruvboxMaterialLight`:t=Ef.gruvboxMaterialLight;break;case`nightOwlLight`:t=Ef.nightOwlLight;break;case`vsDark`:t=Ef.vsDark;break;case`oneDark`:t=Ef.oneDark;break;case`gruvboxMaterialDark`:t=Ef.gruvboxMaterialDark;break;case`nightOwl`:t=Ef.nightOwl;break;case`dracula`:t=Ef.dracula;break;case`okaidia`:t=Ef.okaidia;break;default:t=Ef.vsDark}return xp(t)}var Cp=F.memo(function({code:e,language:t,className:n,syntaxTheme:r=`vsDark`,filename:i=``,precomputedTokens:a,renderToken:o,onMouseOver:s,onMouseOut:c}){let{actualLang:l}=fp(e,t||(i?vp(i):`text`)),u=Sp(r),d=!!a,f=(0,F.useCallback)(({style:e,tokens:t,getLineProps:r,getTokenProps:i})=>{let l=a??t;return(0,I.jsx)(`span`,{className:n,style:{...e,background:`transparent`,backgroundColor:`transparent`},onMouseOver:s,onMouseOut:c,children:l.map((e,t)=>(0,I.jsx)(`span`,{...r({line:e}),children:e.map((e,t)=>o?o(e,t,i):(0,I.jsx)(`span`,{...i({token:e})},t))},t))})},[n,s,c,o,a]);return(0,I.jsx)(rp,{code:d?``:e,language:l,theme:u,prism:up,children:f})}),wp=F.memo(function(e){let{handleMouseOver:t,handleMouseOut:n,isWordHighlighted:r}=of(),i=(0,F.useCallback)((e,t,n)=>{let i=n({token:e}),a=e.content.split(/( +)/);if(a.length===1&&a[0]&&!tf(a[0]))return(0,I.jsx)(`span`,{...i},t);let o=a.map((e,n)=>{if(!e)return null;if(tf(e)){let i=e.trim();return(0,I.jsx)(`span`,{className:`word-token ${r(i)?`word-highlight`:``}`,"data-word":i,children:e},`${t}-${n}`)}return(0,I.jsx)(`span`,{children:e},`${t}-${n}`)});return(0,I.jsx)(`span`,{...i,children:o},t)},[r]);return(0,I.jsx)(Cp,{...e,renderToken:i,onMouseOver:t,onMouseOut:n})}),Tp=F.memo(function({segments:e,className:t=``}){return(0,I.jsx)(`span`,{className:t,children:(0,F.useMemo)(()=>e.map((e,t)=>(0,I.jsx)(`span`,{className:e.type===`added`?`word-diff-added`:e.type===`removed`?`word-diff-removed`:``,children:e.value},t)),[e])})}),Ep=e=>{switch(e){case`add`:return`+`;case`delete`:return`-`;default:return` `}},Dp=e=>{switch(e){case`add`:return`text-github-accent bg-diff-addition-bg`;case`delete`:return`text-github-danger bg-diff-deletion-bg`;default:return`text-github-text-muted bg-github-bg-secondary`}};function Op({line:e,syntaxTheme:t,filename:n,diffSegments:r,showPrefixBorder:i=!0}){let{getOldTokens:a,getNewTokens:o}=Xd();return(0,I.jsxs)(`div`,{className:`flex items-center relative min-h-[16px]`,children:[(0,I.jsx)(`span`,{className:`w-5 text-center flex-shrink-0 ${i?`border-r border-github-border`:``} ${Dp(e.type)}`,children:Ep(e.type)}),r?(0,I.jsx)(Tp,{segments:r,className:`flex-1 px-3 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text`}):(0,I.jsx)(wp,{code:e.content,className:`flex-1 px-3 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text [&_pre]:m-0 [&_pre]:p-0 [&_pre]:!bg-transparent [&_pre]:font-inherit [&_pre]:text-inherit [&_pre]:leading-inherit [&_code]:!bg-transparent [&_code]:font-inherit [&_code]:text-inherit [&_code]:leading-inherit`,syntaxTheme:t,filename:n,precomputedTokens:(()=>{let t=e.oldLineNumber==null?null:a?.(e.oldLineNumber)??null;if(e.type===`delete`)return t?[t]:null;let n=e.newLineNumber==null?t:o?.(e.newLineNumber)??null;return n?[n]:null})()})]})}var kp=[Id,Wc],Ap=e=>Wd(e)?e:``,jp=e=>e===`add`?`bg-diff-addition-bg`:`bg-diff-deletion-bg`,Mp=(e,t)=>({type:e,content:t});function Np({code:e,type:t,filename:n,keyPrefix:r,syntaxTheme:i}){return(0,I.jsx)(I.Fragment,{children:e.split(`
|
|
43
43
|
`).map((e,a)=>(0,I.jsx)(`div`,{className:jp(t),children:(0,I.jsx)(Op,{line:Mp(t,e),filename:n,syntaxTheme:i,showPrefixBorder:!1})},`${r}-${a}`))})}var Pp=e=>e.startsWith(`+`)?`bg-diff-addition-bg`:e.startsWith(`-`)?`bg-diff-deletion-bg`:``;function Fp({code:e}){return(0,I.jsx)(`div`,{className:`my-2 rounded-md border border-github-border bg-github-bg-secondary overflow-x-auto font-mono text-xs leading-5`,children:e.split(`
|
|
44
44
|
`).map((e,t)=>(0,I.jsx)(`div`,{className:`px-3 whitespace-pre ${Pp(e)}`,children:e||` `},t))})}var Ip=e=>({h1:({children:e})=>(0,I.jsx)(`h1`,{className:`text-lg font-semibold mt-4 mb-2 first:mt-0`,children:e}),h2:({children:e})=>(0,I.jsx)(`h2`,{className:`text-base font-semibold mt-4 mb-2 first:mt-0`,children:e}),h3:({children:e})=>(0,I.jsx)(`h3`,{className:`text-sm font-semibold mt-3 mb-1 first:mt-0`,children:e}),h4:({children:e})=>(0,I.jsx)(`h4`,{className:`text-sm font-semibold mt-3 mb-1 first:mt-0`,children:e}),h5:({children:e})=>(0,I.jsx)(`h5`,{className:`text-sm font-semibold mt-3 mb-1 first:mt-0`,children:e}),h6:({children:e})=>(0,I.jsx)(`h6`,{className:`text-sm font-semibold mt-3 mb-1 first:mt-0`,children:e}),p:({children:e})=>(0,I.jsx)(`p`,{className:`my-2 first:mt-0 last:mb-0 whitespace-pre-wrap`,children:e}),ul:({children:e})=>(0,I.jsx)(`ul`,{className:`list-disc pl-5 my-2 first:mt-0 last:mb-0 space-y-0.5`,children:e}),ol:({children:e})=>(0,I.jsx)(`ol`,{className:`list-decimal pl-5 my-2 first:mt-0 last:mb-0 space-y-0.5`,children:e}),li:({children:e})=>(0,I.jsx)(`li`,{className:`whitespace-pre-wrap`,children:e}),blockquote:({children:e})=>(0,I.jsx)(`blockquote`,{className:`border-l-4 border-github-border pl-3 my-2 text-github-text-muted`,children:e}),hr:()=>(0,I.jsx)(`hr`,{className:`my-3 border-github-border`}),a:({href:e,children:t})=>{let n=e??``;if(!n||!Wd(n))return(0,I.jsx)(`span`,{children:t});let r=n.startsWith(`http`);return(0,I.jsx)(`a`,{href:n,target:r?`_blank`:void 0,rel:r?`noreferrer`:void 0,className:`text-sky-400 hover:text-sky-300 underline underline-offset-4`,children:t})},img:({src:e,alt:t})=>{let n=e??``;return!n||!Wd(n)?null:(0,I.jsx)(`img`,{src:n,alt:t??``,loading:`lazy`,className:`max-w-full rounded border border-github-border`})},pre:({children:t})=>{let n=(Array.isArray(t)?t:[t]).find(Gd),r=qd(n??t),i=/language-(\S+)/.exec(n?.props.className??``)?.[1],a=r.replace(/\n$/,``);return i===`diff`&&a?(0,I.jsx)(Fp,{code:a}):r.trim()?(0,I.jsx)(`pre`,{className:`my-2 rounded-md border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-xs leading-5`,children:(0,I.jsx)(Cp,{code:a,language:i,syntaxTheme:e,className:`font-mono text-github-text-primary`})}):(0,I.jsx)(`pre`,{className:`my-2 rounded-md border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-xs leading-5`,children:t})},code:({className:e,children:t})=>e?(0,I.jsx)(`code`,{className:e,children:t}):(0,I.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-github-bg-tertiary border border-github-border font-mono text-[85%]`,children:t}),table:({children:e})=>(0,I.jsx)(`div`,{className:`overflow-x-auto my-2 first:mt-0 last:mb-0`,children:(0,I.jsx)(`table`,{className:`border-collapse`,children:e})}),thead:({children:e})=>(0,I.jsx)(`thead`,{className:`bg-github-bg-secondary`,children:e}),tbody:({children:e})=>(0,I.jsx)(`tbody`,{children:e}),tr:({children:e})=>(0,I.jsx)(`tr`,{className:`border-b border-github-border`,children:e}),th:({children:e})=>(0,I.jsx)(`th`,{className:`px-2 py-1 text-left font-semibold border border-github-border`,children:e}),td:({children:e})=>(0,I.jsx)(`td`,{className:`px-2 py-1 border border-github-border`,children:e})});function Lp(e){return Ld(e)}function Rp({body:e,originalCode:t,filename:n,syntaxTheme:r}){let i=(0,F.useMemo)(()=>{let n=Rd(e);if(n.length===0)return[{type:`text`,content:e}];let r=[],i=0;for(let a of n)a.startIndex>i&&r.push({type:`text`,content:e.slice(i,a.startIndex)}),r.push({type:`suggestion`,code:a.suggestedCode,original:t||``}),i=a.endIndex;return i<e.length&&r.push({type:`text`,content:e.slice(i)}),r},[e,t]),a=(0,F.useMemo)(()=>Ip(r),[r]);return(0,I.jsx)(`div`,{className:`text-github-text-primary text-sm leading-6`,children:i.map((e,t)=>e.type===`text`?e.content.trim()?(0,I.jsx)(`div`,{children:(0,I.jsx)(Mc,{remarkPlugins:kp,urlTransform:Ap,components:a,children:e.content})},t):null:(0,I.jsx)(`div`,{className:`my-2 border border-github-border rounded-md overflow-hidden`,children:(0,I.jsxs)(`div`,{className:`font-mono text-sm`,children:[e.original&&(0,I.jsx)(Np,{code:e.original,type:`delete`,filename:n,keyPrefix:`orig-${t}`,syntaxTheme:r}),(0,I.jsx)(Np,{code:e.code,type:`add`,filename:n,keyPrefix:`sugg-${t}`,syntaxTheme:r})]})},t))})}var zp=`text-xs px-3 py-1.5 bg-github-bg-tertiary text-github-text-primary border border-github-border rounded hover:opacity-80 transition-all flex items-center gap-1`;function Bp({selectedCode:e,value:t,onChange:n,textareaRef:r,className:i=zp}){return e?(0,I.jsxs)(`button`,{type:`button`,onClick:()=>{let i=zd(e),a=r?.current;if(!a){n(`${t}${t?`
|
|
45
45
|
|
|
46
46
|
`:``}${i}\n\n`);return}let o=a.selectionStart,s=a.selectionEnd,c=t.slice(0,o),l=t.slice(s),u=`${c?`
|
|
47
47
|
|
|
48
48
|
`:``}${i}\n\n`;n(c+u+l);let d=c.length+u.length;requestAnimationFrame(()=>{a.focus(),a.setSelectionRange(d,d)})},className:i,title:`Add code suggestion`,children:[(0,I.jsx)(Ke,{size:12}),`Add suggestion`]}):null}function Vp({onSubmit:e,onCancel:t,selectedCode:n,syntaxTheme:r,filename:i,initialValue:a=``,embedded:o=!1,title:s=`Add a comment`,submitLabel:c=`Submit`,placeholder:l=`Leave a comment...`}){let[u,d]=(0,F.useState)(a),[f,p]=(0,F.useState)(!1),[m,h]=(0,F.useState)(`edit`),g=(0,F.useRef)(null),_=Lp(u),v=_?m:`edit`,y=async t=>{if(t.preventDefault(),u.trim()){p(!0);try{await e(u.trim()),d(``),h(`edit`)}catch(e){console.error(`Failed to submit comment:`,e)}finally{p(!1)}}};return(0,I.jsxs)(`form`,{className:o?`bg-transparent`:`m-2 mx-3 rounded-md border border-yellow-600/50 border-l-4 border-l-yellow-400 bg-github-bg-tertiary p-3`,onSubmit:y,onClick:e=>e.stopPropagation(),"data-empty":!u.trim(),children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,I.jsx)(`span`,{className:`text-sm font-medium`,style:{color:`var(--color-yellow-path-text)`},children:s}),_?(0,I.jsxs)(`div`,{className:`flex items-center border border-github-border rounded-md overflow-hidden`,children:[(0,I.jsx)(`button`,{type:`button`,onClick:()=>h(`edit`),className:`text-xs px-2.5 py-1.5 ${v===`edit`?`bg-github-bg-tertiary text-github-text-primary`:`bg-github-bg-secondary text-github-text-secondary`} transition-colors`,children:`Edit`}),(0,I.jsx)(`button`,{type:`button`,onClick:()=>h(`preview`),className:`text-xs px-2.5 py-1.5 border-l border-github-border ${v===`preview`?`bg-github-bg-tertiary text-github-text-primary`:`bg-github-bg-secondary text-github-text-secondary`} transition-colors`,children:`Preview`})]}):(0,I.jsx)(Bp,{selectedCode:n,value:u,onChange:d,textareaRef:g})]}),_&&v===`preview`?(0,I.jsx)(`div`,{className:`min-h-[60px] mb-2 bg-github-bg-secondary border border-github-border rounded px-3 py-2`,children:(0,I.jsx)(Rp,{body:u,originalCode:n,filename:i,syntaxTheme:r})}):(0,I.jsx)(`textarea`,{ref:g,className:`w-full min-h-[60px] mb-2 resize-y bg-github-bg-secondary border border-github-border rounded px-3 py-2 text-github-text-primary text-sm leading-6 focus:outline-none focus:border-blue-600 focus:ring-2 focus:ring-blue-600/30 focus:min-h-[80px] disabled:opacity-50`,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)?y(e):e.key===`Escape`&&t()},placeholder:l,rows:Math.max(3,u.split(`
|
|
49
|
-
`).length),autoFocus:!0,disabled:f}),(0,I.jsxs)(`div`,{className:`flex gap-2 justify-end`,children:[(0,I.jsx)(`button`,{type:`button`,onClick:t,className:`text-xs px-3 py-1.5 bg-github-bg-tertiary text-github-text-primary border border-github-border rounded hover:opacity-80 transition-all disabled:opacity-50`,disabled:f,children:`Cancel`}),(0,I.jsx)(`button`,{type:`submit`,className:`text-xs px-3 py-1.5 rounded transition-all disabled:opacity-50`,style:{backgroundColor:`var(--color-yellow-btn-bg)`,color:`var(--color-yellow-btn-text)`,border:`1px solid var(--color-yellow-btn-border)`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`var(--color-yellow-btn-hover-bg)`,e.currentTarget.style.borderColor=`var(--color-yellow-btn-hover-border)`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`var(--color-yellow-btn-bg)`,e.currentTarget.style.borderColor=`var(--color-yellow-btn-border)`},disabled:!u.trim()||f,children:f?`Submitting...`:c})]})]})}function Hp({message:e,isRootMessage:t=!1,showAuthorBadge:n,syntaxTheme:r,filename:i,originalCode:a,onUpdate:o,onResolveOrDelete:s,actionLabel:c,confirmPrompt:l,onClick:u}){let[d,f]=(0,F.useState)(!1),[p,m]=(0,F.useState)(!1),h=(0,F.useRef)(null),g=(0,F.useRef)(null),_=n&&!!e.author,v=e.author?.trim()===`User`;return $t(h,()=>m(!1),p),(0,F.useEffect)(()=>{if(!p)return;g.current?.focus();let e=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),m(!1))};return document.addEventListener(`keydown`,e,!0),()=>document.removeEventListener(`keydown`,e,!0)},[p]),(0,I.jsx)(`div`,{className:d?``:`flex min-w-0 items-start gap-3`,onClick:u,children:d?(0,I.jsx)(Vp,{onSubmit:t=>(t!==e.body&&o(t),f(!1),Promise.resolve()),onCancel:()=>{f(!1)},selectedCode:a,syntaxTheme:r,filename:i,initialValue:e.body,embedded:!0,title:`Edit comment`,submitLabel:`Save`,placeholder:`Edit your message...`}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[_&&(0,I.jsx)(`div`,{className:`mb-2 flex min-w-0 items-center gap-2 pr-2 text-xs text-github-text-secondary`,children:(0,I.jsx)(`span`,{className:`inline-flex items-center rounded-full border border-github-border bg-github-bg-primary px-2 py-0.5 text-[11px] font-medium text-github-text-primary`,children:e.author})}),(0,I.jsx)(Rp,{body:e.body,originalCode:a,filename:i,syntaxTheme:r})]}),(t||v)&&(p?(0,I.jsxs)(`div`,{ref:h,className:`flex shrink-0 items-center gap-1.5 pt-0.5`,onClick:e=>e.stopPropagation(),children:[(0,I.jsx)(`span`,{className:`whitespace-nowrap text-xs text-github-text-secondary`,children:l}),(0,I.jsx)(`button`,{ref:g,type:`button`,onClick:e=>{e.stopPropagation(),m(!1),s()},className:`whitespace-nowrap rounded border border-github-border bg-github-bg-tertiary px-2 py-1 text-xs font-medium transition-all hover:bg-github-bg-primary ${t?`text-green-700 hover:text-green-800`:`text-github-danger`}`,children:t?`Resolve`:`Delete`}),(0,I.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),m(!1)},className:`whitespace-nowrap rounded border border-github-border bg-github-bg-tertiary px-2 py-1 text-xs text-github-text-primary transition-all hover:bg-github-bg-primary`,children:`Cancel`})]}):(0,I.jsxs)(`div`,{className:`flex shrink-0 items-start gap-2 pt-0.5`,children:[v&&(0,I.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),f(!0)},className:`rounded border border-github-border bg-github-bg-tertiary p-1.5 text-github-text-primary transition-all hover:bg-github-bg-primary`,title:`Edit message`,children:(0,I.jsx)(ft,{size:12})}),(0,I.jsx)(`button`,{type:`button`,onClick:e=>{if(e.stopPropagation(),l){m(!0);return}s()},className:`rounded border border-github-border bg-github-bg-tertiary p-1.5 transition-all hover:bg-github-bg-primary ${t?`text-green-700 hover:text-green-800`:`text-github-danger`}`,title:c,"aria-label":c,children:t?(0,I.jsx)(Be,{size:12}):(0,I.jsx)(vt,{size:12})})]}))]})})}function Up({thread:e,showAuthorBadges:t=!1,confirmRootAction:n=!0,onGeneratePrompt:r,onRemoveThread:i,onReplyToThread:a,onRemoveMessage:o,onUpdateMessage:s,onClick:c,syntaxTheme:l}){let[u,d]=(0,F.useState)(!1),[f,p]=(0,F.useState)(!1),m=Array.isArray(e.line)?`${e.line[0]}-${e.line[1]}`:e.line,h=async t=>{t.stopPropagation();try{await nn(r(e)),d(!0),setTimeout(()=>d(!1),2e3)}catch(e){console.error(`Failed to copy thread prompt:`,e)}},g=e.messages[0];return g?(0,I.jsxs)(`div`,{id:`comment-thread-${e.id}`,className:`rounded-md border border-yellow-600/50 border-l-4 border-l-yellow-400 bg-github-bg-tertiary p-3 shadow-sm transition-all ${c?`cursor-pointer hover:shadow-md`:``}`,onClick:c,children:[(0,I.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs text-github-text-secondary`,children:[(0,I.jsxs)(`span`,{className:`font-mono px-1 py-0.5 rounded overflow-hidden text-ellipsis whitespace-nowrap`,style:{backgroundColor:`var(--color-yellow-path-bg)`,color:`var(--color-yellow-path-text)`},children:[e.file,`:`,m]}),e.isOutdated&&(0,I.jsx)(`span`,{className:`inline-flex h-5 shrink-0 items-center rounded-full border border-github-text-muted px-2 text-[10px] font-medium text-github-text-muted`,title:`Code has changed since this comment was made`,"aria-label":`Outdated comment`,children:`Outdated`})]}),(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,I.jsx)(`button`,{type:`button`,onClick:h,className:`whitespace-nowrap rounded px-2 py-1 text-xs transition-all`,style:{backgroundColor:`var(--color-yellow-btn-bg)`,color:`var(--color-yellow-btn-text)`,border:`1px solid var(--color-yellow-btn-border)`},title:`Copy thread prompt for AI coding agent`,children:(0,I.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,I.jsx)(Je,{size:12}),u?`Copied!`:`Copy Prompt`]})}),(0,I.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),p(e=>!e)},"aria-label":`Reply`,className:`rounded border border-github-border bg-github-bg-tertiary p-1.5 text-github-text-primary transition-all hover:bg-github-bg-primary`,title:`Reply to thread`,children:(0,I.jsx)(ct,{size:14})})]})]}),(0,I.jsxs)(`div`,{className:`space-y-3`,children:[(0,I.jsx)(Hp,{message:g,isRootMessage:!0,showAuthorBadge:t,syntaxTheme:l,filename:e.file,originalCode:e.codeContent,onUpdate:t=>s(e.id,g.id,t),onResolveOrDelete:()=>i(e.id),actionLabel:`Resolve thread`,confirmPrompt:n?`Resolve?`:void 0}),e.messages.slice(1).map(n=>(0,I.jsx)(`div`,{className:`ml-4 border-l border-github-border pl-3`,children:(0,I.jsx)(Hp,{message:n,showAuthorBadge:t,syntaxTheme:l,filename:e.file,originalCode:e.codeContent,onUpdate:t=>s(e.id,n.id,t),onResolveOrDelete:()=>o(e.id,n.id),actionLabel:`Delete reply`,confirmPrompt:`Delete?`})},n.id)),f&&(0,I.jsx)(`div`,{className:`ml-4 border-l border-github-border pl-3`,onClick:e=>e.stopPropagation(),children:(0,I.jsx)(Vp,{onSubmit:async t=>{await a(e.id,t),p(!1)},onCancel:()=>p(!1),selectedCode:e.codeContent,syntaxTheme:l,filename:e.file,embedded:!0,title:`Reply to thread`,submitLabel:`Reply`,placeholder:`Write a reply...`})})]})]}):null}function Wp({isOpen:e,onClose:t,onNavigate:n,comments:r,showAuthorBadges:i=!1,onRemoveThread:a,onGenerateThreadPrompt:o,onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,syntaxTheme:u}){let[d,f]=(0,F.useState)(0),p=(0,F.useRef)([]),{enableScope:m,disableScope:h}=Ce(),g=[...r].sort((e,t)=>{let n=e.file.localeCompare(t.file);if(n!==0)return n;let r=Array.isArray(e.line)?e.line[0]:e.line,i=Array.isArray(t.line)?t.line[0]:t.line;return r===i?e.createdAt.localeCompare(t.createdAt):r-i}),_=(0,F.useCallback)(e=>{n(e),t()},[t,n]),v=(0,F.useCallback)(e=>{let t=e.messages[0]?.body||``;confirm(`Resolve this thread?\n\n"${t}"`)&&(a(e.id),d>=g.length-1&&d>0&&f(d-1))},[a,d,g.length]);(0,F.useEffect)(()=>(e?(m(`comments-list`),h(`navigation`)):(m(`navigation`),h(`comments-list`),f(0)),()=>{m(`navigation`),h(`comments-list`)}),[h,m,e]);let y={scopes:`comments-list`,enableOnFormTags:!1};return B(`escape`,()=>t(),y,[t]),B(`j, down`,()=>f(e=>Math.min(e+1,g.length-1)),y,[g.length]),B(`k, up`,()=>f(e=>Math.max(e-1,0)),y,[]),B(`enter`,()=>{g[d]&&_(g[d])},y,[_,d,g]),B(`d`,()=>{g[d]&&v(g[d])},y,[v,d,g]),(0,F.useEffect)(()=>{p.current[d]&&p.current[d]?.scrollIntoView({block:`nearest`})},[d]),e?(0,I.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,I.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,onClick:t}),(0,I.jsxs)(`div`,{className:`relative max-h-[80vh] w-full max-w-4xl overflow-hidden rounded-lg border border-github-border bg-github-bg-primary shadow-lg`,children:[(0,I.jsxs)(`div`,{className:`sticky top-0 border-b border-github-border bg-github-bg-primary px-6 py-4`,children:[(0,I.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,I.jsx)(`h2`,{className:`text-lg font-semibold text-github-text-primary`,children:`All Comments`}),(0,I.jsx)(`button`,{onClick:t,className:`text-github-text-secondary transition-colors hover:text-github-text-primary`,"aria-label":`Close comments list`,children:(0,I.jsx)(bt,{size:20})})]}),(0,I.jsxs)(`div`,{className:`text-xs text-github-text-secondary`,children:[(0,I.jsx)(`span`,{className:`font-mono`,children:`j/k`}),` or `,(0,I.jsx)(`span`,{className:`font-mono`,children:`↑/↓`}),` to navigate • `,(0,I.jsx)(`span`,{className:`font-mono`,children:`Enter`}),` to jump •`,` `,(0,I.jsx)(`span`,{className:`font-mono`,children:`d`}),` to resolve • `,(0,I.jsx)(`span`,{className:`font-mono`,children:`Esc`}),` `,`to close`]})]}),(0,I.jsx)(`div`,{className:`max-h-[calc(80vh-120px)] overflow-y-auto`,children:(0,I.jsx)(`div`,{className:`p-6`,children:g.length===0?(0,I.jsx)(`p`,{className:`text-center text-github-text-secondary`,children:`No comments yet`}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`div`,{className:`space-y-2`,children:g.map((e,t)=>(0,I.jsx)(`div`,{ref:e=>{p.current[t]=e},className:d===t?`rounded ring-2 ring-blue-500`:``,children:(0,I.jsx)(Up,{thread:e,showAuthorBadges:i,confirmRootAction:!1,onGeneratePrompt:o,onRemoveThread:t=>{t===e.id&&v(e)},onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,syntaxTheme:u,onClick:n=>{n.stopPropagation(),f(t),_(e)}})},e.id))}),(0,I.jsxs)(`div`,{className:`mt-4 border-t border-github-border pt-4 text-center text-xs text-github-text-secondary`,children:[d+1,` of `,g.length,` threads`]})]})})})]})]}):null}function Gp(){return typeof window<`u`}function Kp(e){return Yp(e)?(e.nodeName||``).toLowerCase():`#document`}function qp(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Jp(e){return((Yp(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Yp(e){return Gp()?e instanceof Node||e instanceof qp(e).Node:!1}function Xp(e){return Gp()?e instanceof Element||e instanceof qp(e).Element:!1}function Zp(e){return Gp()?e instanceof HTMLElement||e instanceof qp(e).HTMLElement:!1}function Qp(e){return!Gp()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof qp(e).ShadowRoot}function $p(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=um(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function em(e){return/^(table|td|th)$/.test(Kp(e))}function tm(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var nm=/transform|translate|scale|rotate|perspective|filter/,rm=/paint|layout|strict|content/,im=e=>!!e&&e!==`none`,am;function om(e){let t=Xp(e)?um(e):e;return im(t.transform)||im(t.translate)||im(t.scale)||im(t.rotate)||im(t.perspective)||!cm()&&(im(t.backdropFilter)||im(t.filter))||nm.test(t.willChange||``)||rm.test(t.contain||``)}function sm(e){let t=fm(e);for(;Zp(t)&&!lm(t);){if(om(t))return t;if(tm(t))return null;t=fm(t)}return null}function cm(){return am??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),am}function lm(e){return/^(html|body|#document)$/.test(Kp(e))}function um(e){return qp(e).getComputedStyle(e)}function dm(e){return Xp(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function fm(e){if(Kp(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Qp(e)&&e.host||Jp(e);return Qp(t)?t.host:t}function pm(e){let t=fm(e);return lm(t)?e.ownerDocument?e.ownerDocument.body:e.body:Zp(t)&&$p(t)?t:pm(t)}function mm(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=pm(e),i=r===e.ownerDocument?.body,a=qp(r);if(i){let e=hm(a);return t.concat(a,a.visualViewport||[],$p(r)?r:[],e&&n?mm(e):[])}else return t.concat(r,mm(r,[],n))}function hm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var gm=Math.min,_m=Math.max,vm=Math.round,ym=Math.floor,bm=e=>({x:e,y:e}),xm={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Sm(e,t,n){return _m(e,gm(t,n))}function Cm(e,t){return typeof e==`function`?e(t):e}function wm(e){return e.split(`-`)[0]}function Tm(e){return e.split(`-`)[1]}function Em(e){return e===`x`?`y`:`x`}function Dm(e){return e===`y`?`height`:`width`}function Om(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function km(e){return Em(Om(e))}function Am(e,t,n){n===void 0&&(n=!1);let r=Tm(e),i=km(e),a=Dm(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=zm(o)),[o,zm(o)]}function jm(e){let t=zm(e);return[Mm(e),t,Mm(t)]}function Mm(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Nm=[`left`,`right`],Pm=[`right`,`left`],Fm=[`top`,`bottom`],Im=[`bottom`,`top`];function Lm(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Pm:Nm:t?Nm:Pm;case`left`:case`right`:return t?Fm:Im;default:return[]}}function Rm(e,t,n,r){let i=Tm(e),a=Lm(wm(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Mm)))),a}function zm(e){let t=wm(e);return xm[t]+e.slice(t.length)}function Bm(e){return{top:0,right:0,bottom:0,left:0,...e}}function Vm(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Bm(e)}function Hm(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}var Um=[`input:not([inert]):not([inert] *)`,`select:not([inert]):not([inert] *)`,`textarea:not([inert]):not([inert] *)`,`a[href]:not([inert]):not([inert] *)`,`button:not([inert]):not([inert] *)`,`[tabindex]:not(slot):not([inert]):not([inert] *)`,`audio[controls]:not([inert]):not([inert] *)`,`video[controls]:not([inert]):not([inert] *)`,`[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)`,`details>summary:first-of-type:not([inert]):not([inert] *)`,`details:not([inert]):not([inert] *)`].join(`,`),Wm=typeof Element>`u`,Gm=Wm?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Km=!Wm&&Element.prototype.getRootNode?function(e){return e?.getRootNode?.call(e)}:function(e){return e?.ownerDocument},qm=function(e,t){t===void 0&&(t=!0);var n=e?.getAttribute?.call(e,`inert`);return n===``||n===`true`||t&&e&&(typeof e.closest==`function`?e.closest(`[inert]`):qm(e.parentNode))},Jm=function(e){var t=e?.getAttribute?.call(e,`contenteditable`);return t===``||t===`true`},Ym=function(e,t,n){if(qm(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(Um));return t&&Gm.call(e,Um)&&r.unshift(e),r=r.filter(n),r},Xm=function(e,t,n){for(var r=[],i=Array.from(e);i.length;){var a=i.shift();if(!qm(a,!1))if(a.tagName===`SLOT`){var o=a.assignedElements(),s=Xm(o.length?o:a.children,!0,n);n.flatten?r.push.apply(r,s):r.push({scopeParent:a,candidates:s})}else{Gm.call(a,Um)&&n.filter(a)&&(t||!e.includes(a))&&r.push(a);var c=a.shadowRoot||typeof n.getShadowRoot==`function`&&n.getShadowRoot(a),l=!qm(c,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(a));if(c&&l){var u=Xm(c===!0?a.children:c.children,!0,n);n.flatten?r.push.apply(r,u):r.push({scopeParent:a,candidates:u})}else i.unshift.apply(i,a.children)}}return r},Zm=function(e){return!isNaN(parseInt(e.getAttribute(`tabindex`),10))},Qm=function(e){if(!e)throw Error(`No node provided`);return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Jm(e))&&!Zm(e)?0:e.tabIndex},$m=function(e,t){var n=Qm(e);return n<0&&t&&!Zm(e)?0:n},eh=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},th=function(e){return e.tagName===`INPUT`},nh=function(e){return th(e)&&e.type===`hidden`},rh=function(e){return e.tagName===`DETAILS`&&Array.prototype.slice.apply(e.children).some(function(e){return e.tagName===`SUMMARY`})},ih=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]},ah=function(e){if(!e.name)return!0;var t=e.form||Km(e),n=function(e){return t.querySelectorAll(`input[type="radio"][name="`+e+`"]`)},r;if(typeof window<`u`&&window.CSS!==void 0&&typeof window.CSS.escape==`function`)r=n(window.CSS.escape(e.name));else try{r=n(e.name)}catch(e){return console.error(`Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s`,e.message),!1}var i=ih(r,e.form);return!i||i===e},oh=function(e){return th(e)&&e.type===`radio`},sh=function(e){return oh(e)&&!ah(e)},ch=function(e){var t=e&&Km(e),n=t?.host,r=!1;if(t&&t!==e){var i,a,o;for(r=!!((i=n)!=null&&(a=i.ownerDocument)!=null&&a.contains(n)||e!=null&&(o=e.ownerDocument)!=null&&o.contains(e));!r&&n;){var s,c;t=Km(n),n=t?.host,r=!!((s=n)!=null&&(c=s.ownerDocument)!=null&&c.contains(n))}}return r},lh=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return n===0&&r===0},uh=function(e,t){var n=t.displayCheck,r=t.getShadowRoot;if(n===`full-native`&&`checkVisibility`in e)return!e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});if(getComputedStyle(e).visibility===`hidden`)return!0;var i=Gm.call(e,`details>summary:first-of-type`)?e.parentElement:e;if(Gm.call(i,`details:not([open]) *`))return!0;if(!n||n===`full`||n===`full-native`||n===`legacy-full`){if(typeof r==`function`){for(var a=e;e;){var o=e.parentElement,s=Km(e);if(o&&!o.shadowRoot&&r(o)===!0)return lh(e);e=e.assignedSlot?e.assignedSlot:!o&&s!==e.ownerDocument?s.host:o}e=a}if(ch(e))return!e.getClientRects().length;if(n!==`legacy-full`)return!0}else if(n===`non-zero-area`)return lh(e);return!1},dh=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName===`FIELDSET`&&t.disabled){for(var n=0;n<t.children.length;n++){var r=t.children.item(n);if(r.tagName===`LEGEND`)return Gm.call(t,`fieldset[disabled] *`)?!0:!r.contains(e)}return!0}t=t.parentElement}return!1},fh=function(e,t){return!(t.disabled||nh(t)||uh(t,e)||rh(t)||dh(t))},ph=function(e,t){return!(sh(t)||Qm(t)<0||!fh(e,t))},mh=function(e){var t=parseInt(e.getAttribute(`tabindex`),10);return!!(isNaN(t)||t>=0)},hh=function(e){var t=[],n=[];return e.forEach(function(e,r){var i=!!e.scopeParent,a=i?e.scopeParent:e,o=$m(a,i),s=i?hh(e.candidates):a;o===0?i?t.push.apply(t,s):t.push(a):n.push({documentOrder:r,tabIndex:o,item:e,isScope:i,content:s})}),n.sort(eh).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},gh=function(e,t){return t||={},hh(t.getShadowRoot?Xm([e],t.includeContainer,{filter:ph.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:mh}):Ym(e,t.includeContainer,ph.bind(null,t)))},_h=function(e,t){return t||={},t.getShadowRoot?Xm([e],t.includeContainer,{filter:fh.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):Ym(e,t.includeContainer,fh.bind(null,t))},vh=function(e,t){if(t||={},!e)throw Error(`No node provided`);return Gm.call(e,Um)===!1?!1:ph(t,e)};function yh(){let e=navigator.userAgentData;return e!=null&&e.platform?e.platform:navigator.platform}function bh(){let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(e=>{let{brand:t,version:n}=e;return t+`/`+n}).join(` `):navigator.userAgent}function xh(){return/apple/i.test(navigator.vendor)}function Sh(){let e=/android/i;return e.test(yh())||e.test(bh())}function Ch(){return yh().toLowerCase().startsWith(`mac`)&&!navigator.maxTouchPoints}function wh(){return bh().includes(`jsdom/`)}var Th=`data-floating-ui-focusable`,Eh=`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`;function Dh(e){let t=e.activeElement;for(;((n=t)==null||(n=n.shadowRoot)==null?void 0:n.activeElement)!=null;){var n;t=t.shadowRoot.activeElement}return t}function Oh(e,t){if(!e||!t)return!1;let n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&Qp(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function kh(e){return`composedPath`in e?e.composedPath()[0]:e.target}function Ah(e,t){if(t==null)return!1;if(`composedPath`in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function jh(e){return e.matches(`html,body`)}function Mh(e){return e?.ownerDocument||document}function Nh(e){return Zp(e)&&e.matches(Eh)}function Ph(e){return e?e.getAttribute(`role`)===`combobox`&&Nh(e):!1}function Fh(e){if(!e||wh())return!0;try{return e.matches(`:focus-visible`)}catch{return!0}}function Ih(e){return e?e.hasAttribute(Th)?e:e.querySelector(`[data-floating-ui-focusable]`)||e:null}function Lh(e,t,n){return n===void 0&&(n=!0),e.filter(e=>e.parentId===t&&(!n||e.context?.open)).flatMap(t=>[t,...Lh(e,t.id,n)])}function Rh(e,t){let n=[],r=e.find(e=>e.id===t)?.parentId;for(;r;){let t=e.find(e=>e.id===r);r=t?.parentId,t&&(n=n.concat(t))}return n}function zh(e){e.preventDefault(),e.stopPropagation()}function Bh(e){return`nativeEvent`in e}function Vh(e){return e.mozInputSource===0&&e.isTrusted?!0:Sh()&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function Hh(e){return wh()?!1:!Sh()&&e.width===0&&e.height===0||Sh()&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType===`mouse`||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType===`touch`}function Uh(e,t){let n=[`mouse`,`pen`];return t||n.push(``,void 0),n.includes(e)}var Wh=typeof document<`u`?F.useLayoutEffect:function(){},Gh={...F};function Kh(e){let t=F.useRef(e);return Wh(()=>{t.current=e}),t}var qh=Gh.useInsertionEffect||(e=>e());function Jh(e){let t=F.useRef(()=>{});return qh(()=>{t.current=e}),F.useCallback(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}var Yh=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver==`function`&&ResizeObserver.toString().includes(`[native code]`)?`full`:`none`});function Xh(e,t){let n=gh(e,Yh()),r=n.length;if(r===0)return;let i=Dh(Mh(e)),a=n.indexOf(i);return n[a===-1?t===1?0:r-1:a+t]}function Zh(e){return Xh(Mh(e).body,1)||e}function Qh(e){return Xh(Mh(e).body,-1)||e}function $h(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!Oh(n,r)}function eg(e){gh(e,Yh()).forEach(e=>{e.dataset.tabindex=e.getAttribute(`tabindex`)||``,e.setAttribute(`tabindex`,`-1`)})}function tg(e){e.querySelectorAll(`[data-tabindex]`).forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute(`tabindex`,t):e.removeAttribute(`tabindex`)})}var ng=l(A(),1);function rg(e,t,n){let{reference:r,floating:i}=e,a=Om(t),o=km(t),s=Dm(o),c=wm(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Tm(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function ig(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Cm(t,e),p=Vm(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Hm(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Hm(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var ag=50,og=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ig},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=rg(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<ag&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=rg(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},sg=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Cm(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=wm(r),_=Om(o),v=wm(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[zm(o)]:jm(o)),x=p!==`none`;!d&&x&&b.push(...Rm(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Am(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==Om(t))||T.every(e=>Om(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Om(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},cg=new Set([`left`,`top`]);async function lg(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=wm(n),s=Tm(n),c=Om(n)===`y`,l=cg.has(o)?-1:1,u=a&&c?-1:1,d=Cm(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var ug=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await lg(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},dg=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Cm(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Om(wm(i)),p=Em(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Sm(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Sm(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}};function fg(e){let t=um(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Zp(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=vm(n)!==a||vm(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function pg(e){return Xp(e)?e:e.contextElement}function mg(e){let t=pg(e);if(!Zp(t))return bm(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=fg(t),o=(a?vm(n.width):n.width)/r,s=(a?vm(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var hg=bm(0);function gg(e){let t=qp(e);return!cm()||!t.visualViewport?hg:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function _g(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==qp(e)?!1:t}function vg(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=pg(e),o=bm(1);t&&(r?Xp(r)&&(o=mg(r)):o=mg(e));let s=_g(a,n,r)?gg(a):bm(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=qp(a),t=r&&Xp(r)?qp(r):r,n=e,i=hm(n);for(;i&&r&&t!==n;){let e=mg(i),t=i.getBoundingClientRect(),r=um(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=qp(i),i=hm(n)}}return Hm({width:u,height:d,x:c,y:l})}function yg(e,t){let n=dm(e).scrollLeft;return t?t.left+n:vg(Jp(e)).left+n}function bg(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-yg(e,n),y:n.top+t.scrollTop}}function xg(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Jp(r),s=t?tm(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=bm(1),u=bm(0),d=Zp(r);if((d||!d&&!a)&&((Kp(r)!==`body`||$p(o))&&(c=dm(r)),d)){let e=vg(r);l=mg(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?bg(o,c):bm(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Sg(e){return Array.from(e.getClientRects())}function Cg(e){let t=Jp(e),n=dm(e),r=e.ownerDocument.body,i=_m(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=_m(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+yg(e),s=-n.scrollTop;return um(r).direction===`rtl`&&(o+=_m(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var wg=25;function Tg(e,t){let n=qp(e),r=Jp(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=cm();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=yg(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=wg&&(a-=o)}else l<=wg&&(a+=l);return{width:a,height:o,x:s,y:c}}function Eg(e,t){let n=vg(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Zp(e)?mg(e):bm(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Dg(e,t,n){let r;if(t===`viewport`)r=Tg(e,n);else if(t===`document`)r=Cg(Jp(e));else if(Xp(t))r=Eg(t,n);else{let n=gg(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Hm(r)}function Og(e,t){let n=fm(e);return n===t||!Xp(n)||lm(n)?!1:um(n).position===`fixed`||Og(n,t)}function kg(e,t){let n=t.get(e);if(n)return n;let r=mm(e,[],!1).filter(e=>Xp(e)&&Kp(e)!==`body`),i=null,a=um(e).position===`fixed`,o=a?fm(e):e;for(;Xp(o)&&!lm(o);){let t=um(o),n=om(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||$p(o)&&!n&&Og(e,o))?r=r.filter(e=>e!==o):i=t,o=fm(o)}return t.set(e,r),r}function Ag(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?tm(t)?[]:kg(t,this._c):[].concat(n),r],o=Dg(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Dg(t,a[e],i);s=_m(n.top,s),c=gm(n.right,c),l=gm(n.bottom,l),u=_m(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function jg(e){let{width:t,height:n}=fg(e);return{width:t,height:n}}function Mg(e,t,n){let r=Zp(t),i=Jp(t),a=n===`fixed`,o=vg(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=bm(0);function l(){c.x=yg(i)}if(r||!r&&!a)if((Kp(t)!==`body`||$p(i))&&(s=dm(t)),r){let e=vg(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?bg(i,s):bm(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Ng(e){return um(e).position===`static`}function Pg(e,t){if(!Zp(e)||um(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Jp(e)===n&&(n=n.ownerDocument.body),n}function Fg(e,t){let n=qp(e);if(tm(e))return n;if(!Zp(e)){let t=fm(e);for(;t&&!lm(t);){if(Xp(t)&&!Ng(t))return t;t=fm(t)}return n}let r=Pg(e,t);for(;r&&em(r)&&Ng(r);)r=Pg(r,t);return r&&lm(r)&&Ng(r)&&!om(r)?n:r||sm(e)||n}var Ig=async function(e){let t=this.getOffsetParent||Fg,n=this.getDimensions,r=await n(e.floating);return{reference:Mg(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Lg(e){return um(e).direction===`rtl`}var Rg={convertOffsetParentRelativeRectToViewportRelativeRect:xg,getDocumentElement:Jp,getClippingRect:Ag,getOffsetParent:Fg,getElementRects:Ig,getClientRects:Sg,getDimensions:jg,getScale:mg,isElement:Xp,isRTL:Lg};function zg(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Bg(e,t){let n=null,r,i=Jp(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=ym(d),h=ym(i.clientWidth-(u+f)),g=ym(i.clientHeight-(d+p)),_=ym(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:_m(0,gm(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!zg(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Vg(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=pg(e),u=i||a?[...l?mm(l):[],...t?mm(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Bg(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?vg(e):null;c&&g();function g(){let t=vg(e);h&&!zg(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Hg=ug,Ug=dg,Wg=sg,Gg=(e,t,n)=>{let r=new Map,i={platform:Rg,...n},a={...i.platform,_c:r};return og(e,t,{...i,platform:a})},Kg=typeof document<`u`?F.useLayoutEffect:function(){};function qg(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!qg(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!qg(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Jg(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Yg(e,t){let n=Jg(e);return Math.round(t*n)/n}function Xg(e){let t=F.useRef(e);return Kg(()=>{t.current=e}),t}function Zg(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=F.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=F.useState(r);qg(f,r)||p(r);let[m,h]=F.useState(null),[g,_]=F.useState(null),v=F.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=F.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=F.useRef(null),C=F.useRef(null),w=F.useRef(u),T=c!=null,E=Xg(c),D=Xg(i),O=Xg(l),k=F.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),Gg(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!qg(w.current,t)&&(w.current=t,ng.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);Kg(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=F.useRef(!1);Kg(()=>(A.current=!0,()=>{A.current=!1}),[]),Kg(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let j=F.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),M=F.useMemo(()=>({reference:b,floating:x}),[b,x]),N=F.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=Yg(M.floating,u.x),r=Yg(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Jg(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return F.useMemo(()=>({...u,update:k,refs:j,elements:M,floatingStyles:N}),[u,k,j,M,N])}var Qg=(e,t)=>{let n=Hg(e);return{name:n.name,fn:n.fn,options:[e,t]}},$g=(e,t)=>{let n=Ug(e);return{name:n.name,fn:n.fn,options:[e,t]}},e_=(e,t)=>{let n=Wg(e);return{name:n.name,fn:n.fn,options:[e,t]}},t_=`data-floating-ui-focusable`,n_=`active`,r_=`selected`,i_=`ArrowLeft`,a_=`ArrowRight`,o_=`ArrowUp`,s_=`ArrowDown`,c_=[i_,a_],l_=[o_,s_];[...c_,...l_];var u_={...F},d_=!1,f_=0,p_=()=>`floating-ui-`+Math.random().toString(36).slice(2,6)+ f_++;function m_(){let[e,t]=F.useState(()=>d_?p_():void 0);return Wh(()=>{e??t(p_())},[]),F.useEffect(()=>{d_=!0},[]),e}var h_=u_.useId||m_;function g_(){let e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){var r;(r=e.get(t))==null||r.delete(n)}}}var __=F.createContext(null),v_=F.createContext(null),y_=()=>F.useContext(__)?.id||null,b_=()=>F.useContext(v_);function x_(e){return`data-floating-ui-`+e}function S_(e){e.current!==-1&&(clearTimeout(e.current),e.current=-1)}var C_=x_(`safe-polygon`);function w_(e,t,n){if(n&&!Uh(n))return 0;if(typeof e==`number`)return e;if(typeof e==`function`){let n=e();return typeof n==`number`?n:n?.[t]}return e?.[t]}function T_(e){return typeof e==`function`?e():e}function E_(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,dataRef:i,events:a,elements:o}=e,{enabled:s=!0,delay:c=0,handleClose:l=null,mouseOnly:u=!1,restMs:d=0,move:f=!0}=t,p=b_(),m=y_(),h=Kh(l),g=Kh(c),_=Kh(n),v=Kh(d),y=F.useRef(),b=F.useRef(-1),x=F.useRef(),S=F.useRef(-1),C=F.useRef(!0),w=F.useRef(!1),T=F.useRef(()=>{}),E=F.useRef(!1),D=Jh(()=>{let e=i.current.openEvent?.type;return e?.includes(`mouse`)&&e!==`mousedown`});F.useEffect(()=>{if(!s)return;function e(e){let{open:t}=e;t||(S_(b),S_(S),C.current=!0,E.current=!1)}return a.on(`openchange`,e),()=>{a.off(`openchange`,e)}},[s,a]),F.useEffect(()=>{if(!s||!h.current||!n)return;function e(e){D()&&r(!1,e,`hover`)}let t=Mh(o.floating).documentElement;return t.addEventListener(`mouseleave`,e),()=>{t.removeEventListener(`mouseleave`,e)}},[o.floating,n,r,s,h,D]);let O=F.useCallback(function(e,t,n){t===void 0&&(t=!0),n===void 0&&(n=`hover`);let i=w_(g.current,`close`,y.current);i&&!x.current?(S_(b),b.current=window.setTimeout(()=>r(!1,e,n),i)):t&&(S_(b),r(!1,e,n))},[g,r]),k=Jh(()=>{T.current(),x.current=void 0}),A=Jh(()=>{if(w.current){let e=Mh(o.floating).body;e.style.pointerEvents=``,e.removeAttribute(C_),w.current=!1}}),j=Jh(()=>i.current.openEvent?[`click`,`mousedown`].includes(i.current.openEvent.type):!1);F.useEffect(()=>{if(!s)return;function e(e){if(S_(b),C.current=!1,u&&!Uh(y.current)||T_(v.current)>0&&!w_(g.current,`open`))return;let t=w_(g.current,`open`,y.current);t?b.current=window.setTimeout(()=>{_.current||r(!0,e,`hover`)},t):n||r(!0,e,`hover`)}function t(e){if(j()){A();return}T.current();let t=Mh(o.floating);if(S_(S),E.current=!1,h.current&&i.current.floatingContext){n||S_(b),x.current=h.current({...i.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){A(),k(),j()||O(e,!0,`safe-polygon`)}});let r=x.current;t.addEventListener(`mousemove`,r),T.current=()=>{t.removeEventListener(`mousemove`,r)};return}(y.current!==`touch`||!Oh(o.floating,e.relatedTarget))&&O(e)}function a(e){j()||i.current.floatingContext&&(h.current==null||h.current({...i.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){A(),k(),j()||O(e)}})(e))}function c(){S_(b)}function l(e){j()||O(e,!1)}if(Xp(o.domReference)){let r=o.domReference,i=o.floating;return n&&r.addEventListener(`mouseleave`,a),f&&r.addEventListener(`mousemove`,e,{once:!0}),r.addEventListener(`mouseenter`,e),r.addEventListener(`mouseleave`,t),i&&(i.addEventListener(`mouseleave`,a),i.addEventListener(`mouseenter`,c),i.addEventListener(`mouseleave`,l)),()=>{n&&r.removeEventListener(`mouseleave`,a),f&&r.removeEventListener(`mousemove`,e),r.removeEventListener(`mouseenter`,e),r.removeEventListener(`mouseleave`,t),i&&(i.removeEventListener(`mouseleave`,a),i.removeEventListener(`mouseenter`,c),i.removeEventListener(`mouseleave`,l))}}},[o,s,e,u,f,O,k,A,r,n,_,p,g,h,i,j,v]),Wh(()=>{var e;if(s&&n&&(e=h.current)!=null&&(e=e.__options)!=null&&e.blockPointerEvents&&D()){w.current=!0;let e=o.floating;if(Xp(o.domReference)&&e){var t;let n=Mh(o.floating).body;n.setAttribute(C_,``);let r=o.domReference,i=p==null||(t=p.nodesRef.current.find(e=>e.id===m))==null||(t=t.context)==null?void 0:t.elements.floating;return i&&(i.style.pointerEvents=``),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,e.style.pointerEvents=`auto`,()=>{n.style.pointerEvents=``,r.style.pointerEvents=``,e.style.pointerEvents=``}}}},[s,n,m,o,p,h,D]),Wh(()=>{n||(y.current=void 0,E.current=!1,k(),A())},[n,k,A]),F.useEffect(()=>()=>{k(),S_(b),S_(S),A()},[s,o.domReference,k,A]);let M=F.useMemo(()=>{function e(e){y.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e;function i(){!C.current&&!_.current&&r(!0,t,`hover`)}u&&!Uh(y.current)||n||T_(v.current)===0||E.current&&e.movementX**2+e.movementY**2<2||(S_(S),y.current===`touch`?i():(E.current=!0,S.current=window.setTimeout(i,T_(v.current))))}}},[u,r,n,_,v]);return F.useMemo(()=>s?{reference:M}:{},[s,M])}var D_=0;function O_(e,t){t===void 0&&(t={});let{preventScroll:n=!1,cancelPrevious:r=!0,sync:i=!1}=t;r&&cancelAnimationFrame(D_);let a=()=>e?.focus({preventScroll:n});i?a():D_=requestAnimationFrame(a)}function k_(e,t){if(!e||!t)return!1;let n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&Qp(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function A_(e){return`composedPath`in e?e.composedPath()[0]:e.target}function j_(e){return e?.ownerDocument||document}var M_={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap};function N_(e){return e===`inert`?M_.inert:e===`aria-hidden`?M_[`aria-hidden`]:M_.none}var P_=new WeakSet,F_={},I_=0,L_=()=>typeof HTMLElement<`u`&&`inert`in HTMLElement.prototype;function R_(e){return e?Qp(e)?e.host:R_(e.parentNode):null}var z_=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=R_(t);return e.contains(n)?n:null}).filter(e=>e!=null);function B_(e,t,n,r){let i=`data-floating-ui-inert`,a=r?`inert`:n?`aria-hidden`:null,o=z_(t,e),s=new Set,c=new Set(o),l=[];F_[i]||(F_[i]=new WeakMap);let u=F_[i];o.forEach(d),f(t),s.clear();function d(e){!e||s.has(e)||(s.add(e),e.parentNode&&d(e.parentNode))}function f(e){!e||c.has(e)||[].forEach.call(e.children,e=>{if(Kp(e)!==`script`)if(s.has(e))f(e);else{let t=a?e.getAttribute(a):null,n=t!==null&&t!==`false`,r=N_(a),o=(r.get(e)||0)+1,s=(u.get(e)||0)+1;r.set(e,o),u.set(e,s),l.push(e),o===1&&n&&P_.add(e),s===1&&e.setAttribute(i,``),!n&&a&&e.setAttribute(a,a===`inert`?``:`true`)}})}return I_++,()=>{l.forEach(e=>{let t=N_(a),n=(t.get(e)||0)-1,r=(u.get(e)||0)-1;t.set(e,n),u.set(e,r),n||(!P_.has(e)&&a&&e.removeAttribute(a),P_.delete(e)),r||e.removeAttribute(i)}),I_--,I_||(M_.inert=new WeakMap,M_[`aria-hidden`]=new WeakMap,M_.none=new WeakMap,P_=new WeakSet,F_={})}}function V_(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);let r=j_(e[0]).body;return B_(e.concat(Array.from(r.querySelectorAll(`[aria-live],[role="status"],output`))),r,t,n)}var H_={border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`fixed`,whiteSpace:`nowrap`,width:`1px`,top:0,left:0},U_=F.forwardRef(function(e,t){let[n,r]=F.useState();Wh(()=>{xh()&&r(`button`)},[]);let i={ref:t,tabIndex:0,role:n,"aria-hidden":n?void 0:!0,[x_(`focus-guard`)]:``,style:H_};return(0,I.jsx)(`span`,{...e,...i})}),W_={clipPath:`inset(50%)`,position:`fixed`,top:0,left:0},G_=F.createContext(null),K_=x_(`portal`);function q_(e){e===void 0&&(e={});let{id:t,root:n}=e,r=h_(),i=Y_(),[a,o]=F.useState(null),s=F.useRef(null);return Wh(()=>()=>{a?.remove(),queueMicrotask(()=>{s.current=null})},[a]),Wh(()=>{if(!r||s.current)return;let e=t?document.getElementById(t):null;if(!e)return;let n=document.createElement(`div`);n.id=r,n.setAttribute(K_,``),e.appendChild(n),s.current=n,o(n)},[t,r]),Wh(()=>{if(n===null||!r||s.current)return;let e=n||i?.portalNode;e&&!Yp(e)&&(e=e.current),e||=document.body;let a=null;t&&(a=document.createElement(`div`),a.id=t,e.appendChild(a));let c=document.createElement(`div`);c.id=r,c.setAttribute(K_,``),e=a||e,e.appendChild(c),s.current=c,o(c)},[t,n,r,i]),a}function J_(e){let{children:t,id:n,root:r,preserveTabOrder:i=!0}=e,a=q_({id:n,root:r}),[o,s]=F.useState(null),c=F.useRef(null),l=F.useRef(null),u=F.useRef(null),d=F.useRef(null),f=o?.modal,p=o?.open,m=!!o&&!o.modal&&o.open&&i&&!!(r||a);return F.useEffect(()=>{if(!a||!i||f)return;function e(e){a&&$h(e)&&(e.type===`focusin`?tg:eg)(a)}return a.addEventListener(`focusin`,e,!0),a.addEventListener(`focusout`,e,!0),()=>{a.removeEventListener(`focusin`,e,!0),a.removeEventListener(`focusout`,e,!0)}},[a,i,f]),F.useEffect(()=>{a&&(p||tg(a))},[p,a]),(0,I.jsxs)(G_.Provider,{value:F.useMemo(()=>({preserveTabOrder:i,beforeOutsideRef:c,afterOutsideRef:l,beforeInsideRef:u,afterInsideRef:d,portalNode:a,setFocusManagerState:s}),[i,a]),children:[m&&a&&(0,I.jsx)(U_,{"data-type":`outside`,ref:c,onFocus:e=>{if($h(e,a)){var t;(t=u.current)==null||t.focus()}else Qh(o?o.domReference:null)?.focus()}}),m&&a&&(0,I.jsx)(`span`,{"aria-owns":a.id,style:W_}),a&&ng.createPortal(t,a),m&&a&&(0,I.jsx)(U_,{"data-type":`outside`,ref:l,onFocus:e=>{if($h(e,a)){var t;(t=d.current)==null||t.focus()}else Zh(o?o.domReference:null)?.focus(),o!=null&&o.closeOnFocusOut&&o?.onOpenChange(!1,e.nativeEvent,`focus-out`)}})]})}var Y_=()=>F.useContext(G_);function X_(e){return F.useMemo(()=>t=>{e.forEach(e=>{e&&(e.current=t)})},e)}var Z_=20,Q_=[];function $_(){Q_=Q_.filter(e=>e.deref()?.isConnected)}function ev(e){$_(),e&&Kp(e)!==`body`&&(Q_.push(new WeakRef(e)),Q_.length>Z_&&(Q_=Q_.slice(-20)))}function tv(){return $_(),Q_[Q_.length-1]?.deref()}function nv(e){let t=Yh();return vh(e,t)?e:gh(e,t)[0]||e}function rv(e,t){var n;if(!t.current.includes(`floating`)&&!((n=e.getAttribute(`role`))!=null&&n.includes(`dialog`)))return;let r=Yh(),i=_h(e,r).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return vh(e,r)||e.hasAttribute(`data-tabindex`)&&!t.startsWith(`-`)}),a=e.getAttribute(`tabindex`);t.current.includes(`floating`)||i.length===0?a!==`0`&&e.setAttribute(`tabindex`,`0`):(a!==`-1`||e.hasAttribute(`data-tabindex`)&&e.getAttribute(`data-tabindex`)!==`-1`)&&(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`data-tabindex`,`-1`))}var iv=F.forwardRef(function(e,t){return(0,I.jsx)(`button`,{...e,type:`button`,ref:t,tabIndex:-1,style:H_})});function av(e){let{context:t,children:n,disabled:r=!1,order:i=[`content`],guards:a=!0,initialFocus:o=0,returnFocus:s=!0,restoreFocus:c=!1,modal:l=!0,visuallyHiddenDismiss:u=!1,closeOnFocusOut:d=!0,outsideElementsInert:f=!1,getInsideElements:p=()=>[]}=e,{open:m,onOpenChange:h,events:g,dataRef:_,elements:{domReference:v,floating:y}}=t,b=Jh(()=>_.current.floatingContext?.nodeId),x=Jh(p),S=typeof o==`number`&&o<0,C=Ph(v)&&S,w=L_(),T=w?a:!0,E=!T||w&&f,D=Kh(i),O=Kh(o),k=Kh(s),A=b_(),j=Y_(),M=F.useRef(null),N=F.useRef(null),P=F.useRef(!1),ee=F.useRef(!1),te=F.useRef(-1),ne=F.useRef(-1),re=j!=null,L=Ih(y),R=Jh(function(e){return e===void 0&&(e=L),e?gh(e,Yh()):[]}),z=Jh(e=>{let t=R(e);return D.current.map(e=>v&&e===`reference`?v:L&&e===`floating`?L:t).filter(Boolean).flat()});F.useEffect(()=>{if(r||!l)return;function e(e){if(e.key===`Tab`){Oh(L,Dh(Mh(L)))&&R().length===0&&!C&&zh(e);let t=z(),n=kh(e);D.current[0]===`reference`&&n===v&&(zh(e),e.shiftKey?O_(t[t.length-1]):O_(t[1])),D.current[1]===`floating`&&n===L&&e.shiftKey&&(zh(e),O_(t[0]))}}let t=Mh(L);return t.addEventListener(`keydown`,e),()=>{t.removeEventListener(`keydown`,e)}},[r,v,L,l,D,C,R,z]),F.useEffect(()=>{if(r||!y)return;function e(e){let t=kh(e),n=R().indexOf(t);n!==-1&&(te.current=n)}return y.addEventListener(`focusin`,e),()=>{y.removeEventListener(`focusin`,e)}},[r,y,R]),F.useEffect(()=>{if(r||!d)return;function e(){ee.current=!0,setTimeout(()=>{ee.current=!1})}function t(e){let t=e.relatedTarget,n=e.currentTarget,r=kh(e);queueMicrotask(()=>{let i=b(),a=!(Oh(v,t)||Oh(y,t)||Oh(t,y)||Oh(j?.portalNode,t)||t!=null&&t.hasAttribute(x_(`focus-guard`))||A&&(Lh(A.nodesRef.current,i).find(e=>Oh(e.context?.elements.floating,t)||Oh(e.context?.elements.domReference,t))||Rh(A.nodesRef.current,i).find(e=>[e.context?.elements.floating,Ih(e.context?.elements.floating)].includes(t)||e.context?.elements.domReference===t)));if(n===v&&L&&rv(L,D),c&&n!==v&&!(r!=null&&r.isConnected)&&Dh(Mh(L))===Mh(L).body){Zp(L)&&L.focus();let e=te.current,t=R(),n=t[e]||t[t.length-1]||L;Zp(n)&&n.focus()}if(_.current.insideReactTree){_.current.insideReactTree=!1;return}(C||!l)&&t&&a&&!ee.current&&t!==tv()&&(P.current=!0,h(!1,e,`focus-out`))})}let n=!!(!A&&j);function i(){S_(ne),_.current.insideReactTree=!0,ne.current=window.setTimeout(()=>{_.current.insideReactTree=!1})}if(y&&Zp(v))return v.addEventListener(`focusout`,t),v.addEventListener(`pointerdown`,e),y.addEventListener(`focusout`,t),n&&y.addEventListener(`focusout`,i,!0),()=>{v.removeEventListener(`focusout`,t),v.removeEventListener(`pointerdown`,e),y.removeEventListener(`focusout`,t),n&&y.removeEventListener(`focusout`,i,!0)}},[r,v,y,L,l,A,j,h,d,c,R,C,b,D,_]);let ie=F.useRef(null),ae=F.useRef(null),oe=X_([ie,j?.beforeInsideRef]),se=X_([ae,j?.afterInsideRef]);F.useEffect(()=>{var e,t;if(r||!y)return;let n=Array.from((j==null||(e=j.portalNode)==null?void 0:e.querySelectorAll(`[`+x_(`portal`)+`]`))||[]),i=[y,(t=(A?Rh(A.nodesRef.current,b()):[]).find(e=>Ph(e.context?.elements.domReference||null)))==null||(t=t.context)==null?void 0:t.elements.domReference,...n,...x(),M.current,N.current,ie.current,ae.current,j?.beforeOutsideRef.current,j?.afterOutsideRef.current,D.current.includes(`reference`)||C?v:null].filter(e=>e!=null),a=l||C?V_(i,!E,E):V_(i);return()=>{a()}},[r,v,y,l,D,j,C,T,E,A,b,x]),Wh(()=>{if(r||!Zp(L))return;let e=Dh(Mh(L));queueMicrotask(()=>{let t=z(L),n=O.current,r=(typeof n==`number`?t[n]:n.current)||L,i=Oh(L,e);!S&&!i&&m&&O_(r,{preventScroll:r===L})})},[r,m,L,S,z,O]),Wh(()=>{if(r||!L)return;let e=Mh(L);ev(Dh(e));function t(e){let{reason:t,event:n,nested:r}=e;if([`hover`,`safe-polygon`].includes(t)&&n.type===`mouseleave`&&(P.current=!0),t===`outside-press`)if(r)P.current=!1;else if(Vh(n)||Hh(n))P.current=!1;else{let e=!1;document.createElement(`div`).focus({get preventScroll(){return e=!0,!1}}),e?P.current=!1:P.current=!0}}g.on(`openchange`,t);let n=e.createElement(`span`);n.setAttribute(`tabindex`,`-1`),n.setAttribute(`aria-hidden`,`true`),Object.assign(n.style,H_),re&&v&&v.insertAdjacentElement(`afterend`,n);function i(){if(typeof k.current==`boolean`){let e=v||tv();return e&&e.isConnected?e:n}return k.current.current||n}return()=>{g.off(`openchange`,t);let r=Dh(e),a=Oh(y,r)||A&&Lh(A.nodesRef.current,b(),!1).some(e=>Oh(e.context?.elements.floating,r)),o=i();queueMicrotask(()=>{let t=nv(o);k.current&&!P.current&&Zp(t)&&(!(t!==r&&r!==e.body)||a)&&t.focus({preventScroll:!0}),n.remove()})}},[r,y,L,k,_,g,A,re,v,b]),F.useEffect(()=>(queueMicrotask(()=>{P.current=!1}),()=>{queueMicrotask($_)}),[r]),Wh(()=>{if(!r&&j)return j.setFocusManagerState({modal:l,closeOnFocusOut:d,open:m,onOpenChange:h,domReference:v}),()=>{j.setFocusManagerState(null)}},[r,j,l,m,h,d,v]),Wh(()=>{r||L&&rv(L,D)},[r,L,D]);function ce(e){return r||!u||!l?null:(0,I.jsx)(iv,{ref:e===`start`?M:N,onClick:e=>h(!1,e.nativeEvent),children:typeof u==`string`?u:`Dismiss`})}let le=!r&&T&&(l?!C:!0)&&(re||l);return(0,I.jsxs)(I.Fragment,{children:[le&&(0,I.jsx)(U_,{"data-type":`inside`,ref:oe,onFocus:e=>{if(l){let e=z();O_(i[0]===`reference`?e[0]:e[e.length-1])}else if(j!=null&&j.preserveTabOrder&&j.portalNode)if(P.current=!1,$h(e,j.portalNode))Zh(v)?.focus();else{var t;(t=j.beforeOutsideRef.current)==null||t.focus()}}}),!C&&ce(`start`),n,ce(`end`),le&&(0,I.jsx)(U_,{"data-type":`inside`,ref:se,onFocus:e=>{if(l)O_(z()[0]);else if(j!=null&&j.preserveTabOrder&&j.portalNode)if(d&&(P.current=!0),$h(e,j.portalNode))Qh(v)?.focus();else{var t;(t=j.afterOutsideRef.current)==null||t.focus()}}})]})}function ov(e){return Zp(e.target)&&e.target.tagName===`BUTTON`}function sv(e){return Zp(e.target)&&e.target.tagName===`A`}function cv(e){return Nh(e)}function lv(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,dataRef:i,elements:{domReference:a}}=e,{enabled:o=!0,event:s=`click`,toggle:c=!0,ignoreMouse:l=!1,keyboardHandlers:u=!0,stickIfOpen:d=!0}=t,f=F.useRef(),p=F.useRef(!1),m=F.useMemo(()=>({onPointerDown(e){f.current=e.pointerType},onMouseDown(e){let t=f.current;e.button===0&&s!==`click`&&(Uh(t,!0)&&l||(n&&c&&(!(i.current.openEvent&&d)||i.current.openEvent.type===`mousedown`)?r(!1,e.nativeEvent,`click`):(e.preventDefault(),r(!0,e.nativeEvent,`click`))))},onClick(e){let t=f.current;if(s===`mousedown`&&f.current){f.current=void 0;return}Uh(t,!0)&&l||(n&&c&&(!(i.current.openEvent&&d)||i.current.openEvent.type===`click`)?r(!1,e.nativeEvent,`click`):r(!0,e.nativeEvent,`click`))},onKeyDown(e){f.current=void 0,!(e.defaultPrevented||!u||ov(e))&&(e.key===` `&&!cv(a)&&(e.preventDefault(),p.current=!0),!sv(e)&&e.key===`Enter`&&r(!(n&&c),e.nativeEvent,`click`))},onKeyUp(e){e.defaultPrevented||!u||ov(e)||cv(a)||e.key===` `&&p.current&&(p.current=!1,r(!(n&&c),e.nativeEvent,`click`))}}),[i,a,s,l,u,r,n,d,c]);return F.useMemo(()=>o?{reference:m}:{},[o,m])}var uv={pointerdown:`onPointerDown`,mousedown:`onMouseDown`,click:`onClick`},dv={pointerdown:`onPointerDownCapture`,mousedown:`onMouseDownCapture`,click:`onClickCapture`},fv=e=>({escapeKey:typeof e==`boolean`?e:e?.escapeKey??!1,outsidePress:typeof e==`boolean`?e:e?.outsidePress??!0});function pv(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,elements:i,dataRef:a}=e,{enabled:o=!0,escapeKey:s=!0,outsidePress:c=!0,outsidePressEvent:l=`pointerdown`,referencePress:u=!1,referencePressEvent:d=`pointerdown`,ancestorScroll:f=!1,bubbles:p,capture:m}=t,h=b_(),g=Jh(typeof c==`function`?c:()=>!1),_=typeof c==`function`?g:c,v=F.useRef(!1),{escapeKey:y,outsidePress:b}=fv(p),{escapeKey:x,outsidePress:S}=fv(m),C=F.useRef(!1),w=Jh(e=>{if(!n||!o||!s||e.key!==`Escape`||C.current)return;let t=a.current.floatingContext?.nodeId,i=h?Lh(h.nodesRef.current,t):[];if(!y&&(e.stopPropagation(),i.length>0)){let e=!0;if(i.forEach(t=>{var n;if((n=t.context)!=null&&n.open&&!t.context.dataRef.current.__escapeKeyBubbles){e=!1;return}}),!e)return}r(!1,Bh(e)?e.nativeEvent:e,`escape-key`)}),T=Jh(e=>{var t;let n=()=>{var t;w(e),(t=kh(e))==null||t.removeEventListener(`keydown`,n)};(t=kh(e))==null||t.addEventListener(`keydown`,n)}),E=Jh(e=>{let t=a.current.insideReactTree;a.current.insideReactTree=!1;let n=v.current;if(v.current=!1,l===`click`&&n||t||typeof _==`function`&&!_(e))return;let o=kh(e),s=`[`+x_(`inert`)+`]`,c=Mh(i.floating).querySelectorAll(s),u=Xp(o)?o:null;for(;u&&!lm(u);){let e=fm(u);if(lm(e)||!Xp(e))break;u=e}if(c.length&&Xp(o)&&!jh(o)&&!Oh(o,i.floating)&&Array.from(c).every(e=>!Oh(u,e)))return;if(Zp(o)&&k){let t=lm(o),n=um(o),r=/auto|scroll/,i=t||r.test(n.overflowX),a=t||r.test(n.overflowY),s=i&&o.clientWidth>0&&o.scrollWidth>o.clientWidth,c=a&&o.clientHeight>0&&o.scrollHeight>o.clientHeight,l=n.direction===`rtl`,u=c&&(l?e.offsetX<=o.offsetWidth-o.clientWidth:e.offsetX>o.clientWidth),d=s&&e.offsetY>o.clientHeight;if(u||d)return}let d=a.current.floatingContext?.nodeId,f=h&&Lh(h.nodesRef.current,d).some(t=>Ah(e,t.context?.elements.floating));if(Ah(e,i.floating)||Ah(e,i.domReference)||f)return;let p=h?Lh(h.nodesRef.current,d):[];if(p.length>0){let e=!0;if(p.forEach(t=>{var n;if((n=t.context)!=null&&n.open&&!t.context.dataRef.current.__outsidePressBubbles){e=!1;return}}),!e)return}r(!1,e,`outside-press`)}),D=Jh(e=>{var t;let n=()=>{var t;E(e),(t=kh(e))==null||t.removeEventListener(l,n)};(t=kh(e))==null||t.addEventListener(l,n)});F.useEffect(()=>{if(!n||!o)return;a.current.__escapeKeyBubbles=y,a.current.__outsidePressBubbles=b;let e=-1;function t(e){r(!1,e,`ancestor-scroll`)}function c(){window.clearTimeout(e),C.current=!0}function u(){e=window.setTimeout(()=>{C.current=!1},cm()?5:0)}let d=Mh(i.floating);s&&(d.addEventListener(`keydown`,x?T:w,x),d.addEventListener(`compositionstart`,c),d.addEventListener(`compositionend`,u)),_&&d.addEventListener(l,S?D:E,S);let p=[];return f&&(Xp(i.domReference)&&(p=mm(i.domReference)),Xp(i.floating)&&(p=p.concat(mm(i.floating))),!Xp(i.reference)&&i.reference&&i.reference.contextElement&&(p=p.concat(mm(i.reference.contextElement)))),p=p.filter(e=>e!==d.defaultView?.visualViewport),p.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0})}),()=>{s&&(d.removeEventListener(`keydown`,x?T:w,x),d.removeEventListener(`compositionstart`,c),d.removeEventListener(`compositionend`,u)),_&&d.removeEventListener(l,S?D:E,S),p.forEach(e=>{e.removeEventListener(`scroll`,t)}),window.clearTimeout(e)}},[a,i,s,_,l,n,r,f,o,y,b,w,x,T,E,S,D]),F.useEffect(()=>{a.current.insideReactTree=!1},[a,_,l]);let O=F.useMemo(()=>({onKeyDown:w,...u&&{[uv[d]]:e=>{r(!1,e.nativeEvent,`reference-press`)},...d!==`click`&&{onClick(e){r(!1,e.nativeEvent,`reference-press`)}}}}),[w,r,u,d]),k=F.useMemo(()=>{function e(e){e.button===0&&(v.current=!0)}return{onKeyDown:w,onMouseDown:e,onMouseUp:e,[dv[l]]:()=>{a.current.insideReactTree=!0}}},[w,l,a]);return F.useMemo(()=>o?{reference:O,floating:k}:{},[o,O,k])}function mv(e){let{open:t=!1,onOpenChange:n,elements:r}=e,i=h_(),a=F.useRef({}),[o]=F.useState(()=>g_()),s=y_()!=null,[c,l]=F.useState(r.reference),u=Jh((e,t,r)=>{a.current.openEvent=e?t:void 0,o.emit(`openchange`,{open:e,event:t,reason:r,nested:s}),n?.(e,t,r)}),d=F.useMemo(()=>({setPositionReference:l}),[]),f=F.useMemo(()=>({reference:c||r.reference||null,floating:r.floating||null,domReference:r.reference}),[c,r.reference,r.floating]);return F.useMemo(()=>({dataRef:a,open:t,onOpenChange:u,elements:f,events:o,floatingId:i,refs:d}),[t,u,f,o,i,d])}function hv(e){e===void 0&&(e={});let{nodeId:t}=e,n=mv({...e,elements:{reference:null,floating:null,...e.elements}}),r=e.rootContext||n,i=r.elements,[a,o]=F.useState(null),[s,c]=F.useState(null),l=i?.domReference||a,u=F.useRef(null),d=b_();Wh(()=>{l&&(u.current=l)},[l]);let f=Zg({...e,elements:{...i,...s&&{reference:s}}}),p=F.useCallback(e=>{let t=Xp(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;c(t),f.refs.setReference(t)},[f.refs]),m=F.useCallback(e=>{(Xp(e)||e===null)&&(u.current=e,o(e)),(Xp(f.refs.reference.current)||f.refs.reference.current===null||e!==null&&!Xp(e))&&f.refs.setReference(e)},[f.refs]),h=F.useMemo(()=>({...f.refs,setReference:m,setPositionReference:p,domReference:u}),[f.refs,m,p]),g=F.useMemo(()=>({...f.elements,domReference:l}),[f.elements,l]),_=F.useMemo(()=>({...f,...r,refs:h,elements:g,nodeId:t}),[f,h,g,t,r]);return Wh(()=>{r.dataRef.current.floatingContext=_;let e=d?.nodesRef.current.find(e=>e.id===t);e&&(e.context=_)}),F.useMemo(()=>({...f,context:_,refs:h,elements:g}),[f,h,g,_])}function gv(){return Ch()&&xh()}function _v(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,events:i,dataRef:a,elements:o}=e,{enabled:s=!0,visibleOnly:c=!0}=t,l=F.useRef(!1),u=F.useRef(-1),d=F.useRef(!0);F.useEffect(()=>{if(!s)return;let e=qp(o.domReference);function t(){!n&&Zp(o.domReference)&&o.domReference===Dh(Mh(o.domReference))&&(l.current=!0)}function r(){d.current=!0}function i(){d.current=!1}return e.addEventListener(`blur`,t),gv()&&(e.addEventListener(`keydown`,r,!0),e.addEventListener(`pointerdown`,i,!0)),()=>{e.removeEventListener(`blur`,t),gv()&&(e.removeEventListener(`keydown`,r,!0),e.removeEventListener(`pointerdown`,i,!0))}},[o.domReference,n,s]),F.useEffect(()=>{if(!s)return;function e(e){let{reason:t}=e;(t===`reference-press`||t===`escape-key`)&&(l.current=!0)}return i.on(`openchange`,e),()=>{i.off(`openchange`,e)}},[i,s]),F.useEffect(()=>()=>{S_(u)},[]);let f=F.useMemo(()=>({onMouseLeave(){l.current=!1},onFocus(e){if(l.current)return;let t=kh(e.nativeEvent);if(c&&Xp(t)){if(gv()&&!e.relatedTarget){if(!d.current&&!Nh(t))return}else if(!Fh(t))return}r(!0,e.nativeEvent,`focus`)},onBlur(e){l.current=!1;let t=e.relatedTarget,n=e.nativeEvent,i=Xp(t)&&t.hasAttribute(x_(`focus-guard`))&&t.getAttribute(`data-type`)===`outside`;u.current=window.setTimeout(()=>{let e=Dh(o.domReference?o.domReference.ownerDocument:document);!t&&e===o.domReference||Oh(a.current.floatingContext?.refs.floating.current,e)||Oh(o.domReference,e)||i||r(!1,n,`focus`)})}}),[a,o.domReference,r,c]);return F.useMemo(()=>s?{reference:f}:{},[s,f])}function vv(e,t,n){let r=new Map,i=n===`item`,a=e;if(i&&e){let{[n_]:t,[r_]:n,...r}=e;a=r}return{...n===`floating`&&{tabIndex:-1,[t_]:``},...a,...t.map(t=>{let r=t?t[n]:null;return typeof r==`function`?e?r(e):null:r}).concat(e).reduce((e,t)=>(t&&Object.entries(t).forEach(t=>{let[n,a]=t;if(!(i&&[n_,r_].includes(n)))if(n.indexOf(`on`)===0){if(r.has(n)||r.set(n,[]),typeof a==`function`){var o;(o=r.get(n))==null||o.push(a),e[n]=function(){var e=[...arguments];return r.get(n)?.map(t=>t(...e)).find(e=>e!==void 0)}}}else e[n]=a}),e),{})}}function yv(e){e===void 0&&(e=[]);let t=e.map(e=>e?.reference),n=e.map(e=>e?.floating),r=e.map(e=>e?.item),i=F.useCallback(t=>vv(t,e,`reference`),t),a=F.useCallback(t=>vv(t,e,`floating`),n),o=F.useCallback(t=>vv(t,e,`item`),r);return F.useMemo(()=>({getReferenceProps:i,getFloatingProps:a,getItemProps:o}),[i,a,o])}var bv=new Map([[`select`,`listbox`],[`combobox`,`listbox`],[`label`,!1]]);function xv(e,t){t===void 0&&(t={});let{open:n,elements:r,floatingId:i}=e,{enabled:a=!0,role:o=`dialog`}=t,s=h_(),c=r.domReference?.id||s,l=F.useMemo(()=>Ih(r.floating)?.id||i,[r.floating,i]),u=bv.get(o)??o,d=y_()!=null,f=F.useMemo(()=>u===`tooltip`||o===`label`?{[`aria-`+(o===`label`?`labelledby`:`describedby`)]:n?l:void 0}:{"aria-expanded":n?`true`:`false`,"aria-haspopup":u===`alertdialog`?`dialog`:u,"aria-controls":n?l:void 0,...u===`listbox`&&{role:`combobox`},...u===`menu`&&{id:c},...u===`menu`&&d&&{role:`menuitem`},...o===`select`&&{"aria-autocomplete":`none`},...o===`combobox`&&{"aria-autocomplete":`list`}},[u,l,d,n,c,o]),p=F.useMemo(()=>{let e={id:l,...u&&{role:u}};return u===`tooltip`||o===`label`?e:{...e,...u===`menu`&&{"aria-labelledby":c}}},[u,l,c,o]),m=F.useCallback(e=>{let{active:t,selected:n}=e,r={role:`option`,...t&&{id:l+`-fui-option`}};switch(o){case`select`:case`combobox`:return{...r,"aria-selected":n}}return{}},[l,o]);return F.useMemo(()=>a?{reference:f,floating:p,item:m}:{},[a,f,p,m])}var Sv=e=>e.replace(/[A-Z]+(?![a-z])|[A-Z]/g,(e,t)=>(t?`-`:``)+e.toLowerCase());function Cv(e,t){return typeof e==`function`?e(t):e}function wv(e,t){let[n,r]=F.useState(e);return e&&!n&&r(!0),F.useEffect(()=>{if(!e&&n){let e=setTimeout(()=>r(!1),t);return()=>clearTimeout(e)}},[e,n,t]),n}function Tv(e,t){t===void 0&&(t={});let{open:n,elements:{floating:r}}=e,{duration:i=250}=t,a=(typeof i==`number`?i:i.close)||0,[o,s]=F.useState(`unmounted`),c=wv(n,a);return!c&&o===`close`&&s(`unmounted`),Wh(()=>{if(r){if(n){s(`initial`);let e=requestAnimationFrame(()=>{ng.flushSync(()=>{s(`open`)})});return()=>{cancelAnimationFrame(e)}}s(`close`)}},[n,r]),{isMounted:c,status:o}}function Ev(e,t){t===void 0&&(t={});let{initial:n={opacity:0},open:r,close:i,common:a,duration:o=250}=t,s=e.placement,c=s.split(`-`)[0],l=F.useMemo(()=>({side:c,placement:s}),[c,s]),u=typeof o==`number`,d=(u?o:o.open)||0,f=(u?o:o.close)||0,[p,m]=F.useState(()=>({...Cv(a,l),...Cv(n,l)})),{isMounted:h,status:g}=Tv(e,{duration:o}),_=Kh(n),v=Kh(r),y=Kh(i),b=Kh(a);return Wh(()=>{let e=Cv(_.current,l),t=Cv(y.current,l),n=Cv(b.current,l),r=Cv(v.current,l)||Object.keys(e).reduce((e,t)=>(e[t]=``,e),{});if(g===`initial`&&m(t=>({transitionProperty:t.transitionProperty,...n,...e})),g===`open`&&m({transitionProperty:Object.keys(r).map(Sv).join(`,`),transitionDuration:d+`ms`,...n,...r}),g===`close`){let r=t||e;m({transitionProperty:Object.keys(r).map(Sv).join(`,`),transitionDuration:f+`ms`,...n,...r})}},[f,y,_,v,b,d,g,l]),{isMounted:h,styles:p}}function Dv(e,t,n){return n===void 0&&(n=!0),e.filter(e=>e.parentId===t&&(!n||e.context?.open)).flatMap(t=>[t,...Dv(e,t.id,n)])}function Ov(e,t){let[n,r]=e,i=!1,a=t.length;for(let e=0,o=a-1;e<a;o=e++){let[a,s]=t[e]||[0,0],[c,l]=t[o]||[0,0];s>=r!=l>=r&&n<=(c-a)*(r-s)/(l-s)+a&&(i=!i)}return i}function kv(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}function Av(e){e===void 0&&(e={});let{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:r=!0}=e,i={current:-1},a=!1,o=null,s=null,c=typeof performance<`u`?performance.now():0;function l(e,t){let n=performance.now(),r=n-c;if(o===null||s===null||r===0)return o=e,s=t,c=n,null;let i=e-o,a=t-s,l=Math.sqrt(i*i+a*a)/r;return o=e,s=t,c=n,l}let u=e=>{let{x:n,y:o,placement:s,elements:c,onClose:u,nodeId:d,tree:f}=e;return function(e){function p(){S_(i),u()}if(S_(i),!c.domReference||!c.floating||s==null||n==null||o==null)return;let{clientX:m,clientY:h}=e,g=[m,h],_=A_(e),v=e.type===`mouseleave`,y=k_(c.floating,_),b=k_(c.domReference,_),x=c.domReference.getBoundingClientRect(),S=c.floating.getBoundingClientRect(),C=s.split(`-`)[0],w=n>S.right-S.width/2,T=o>S.bottom-S.height/2,E=kv(g,x),D=S.width>x.width,O=S.height>x.height,k=(D?x:S).left,A=(D?x:S).right,j=(O?x:S).top,M=(O?x:S).bottom;if(y&&(a=!0,!v))return;if(b&&(a=!1),b&&!v){a=!0;return}if(v&&Xp(e.relatedTarget)&&k_(c.floating,e.relatedTarget)||f&&Dv(f.nodesRef.current,d).length)return;if(C===`top`&&o>=x.bottom-1||C===`bottom`&&o<=x.top+1||C===`left`&&n>=x.right-1||C===`right`&&n<=x.left+1)return p();let N=[];switch(C){case`top`:N=[[k,x.top+1],[k,S.bottom-1],[A,S.bottom-1],[A,x.top+1]];break;case`bottom`:N=[[k,S.top+1],[k,x.bottom-1],[A,x.bottom-1],[A,S.top+1]];break;case`left`:N=[[S.right-1,M],[S.right-1,j],[x.left+1,j],[x.left+1,M]];break;case`right`:N=[[x.right-1,M],[x.right-1,j],[S.left+1,j],[S.left+1,M]];break}function P(e){let[n,r]=e;switch(C){case`top`:return[[D?n+t/2:w?n+t*4:n-t*4,r+t+1],[D?n-t/2:w?n+t*4:n-t*4,r+t+1],[S.left,w||D?S.bottom-t:S.top],[S.right,w?D?S.bottom-t:S.top:S.bottom-t]];case`bottom`:return[[D?n+t/2:w?n+t*4:n-t*4,r-t],[D?n-t/2:w?n+t*4:n-t*4,r-t],[S.left,w||D?S.top+t:S.bottom],[S.right,w?D?S.top+t:S.bottom:S.top+t]];case`left`:{let e=[n+t+1,O?r+t/2:T?r+t*4:r-t*4],i=[n+t+1,O?r-t/2:T?r+t*4:r-t*4];return[[T||O?S.right-t:S.left,S.top],[T?O?S.right-t:S.left:S.right-t,S.bottom],e,i]}case`right`:return[[n-t,O?r+t/2:T?r+t*4:r-t*4],[n-t,O?r-t/2:T?r+t*4:r-t*4],[T||O?S.left+t:S.right,S.top],[T?O?S.left+t:S.right:S.left+t,S.bottom]]}}if(!Ov([m,h],N)){if(a&&!E)return p();if(!v&&r){let t=l(e.clientX,e.clientY);if(t!==null&&t<.1)return p()}Ov([m,h],P([n,o]))?!a&&r&&(i.current=window.setTimeout(p,40)):p()}}};return u.__options={blockPointerEvents:n},u}var jv={".":`Uncommitted Changes`,staged:`Staging Area`,working:`Working Directory`},Mv=new Set([`.`,`staged`,`working`]),Nv=e=>{let t=!e||Mv.has(e)?`HEAD`:`${e}^`;return Yt(`${t}^`,t)},Pv=e=>Jt(e.baseMode)===`merge-base`?!1:!!e.targetCommitish&&e.baseCommitish===`${e.targetCommitish}^`,Fv=(e,t)=>e?e===t.shortHash||e===t.hash:!1,Iv=(e,t)=>t?`${e.shortHash}^`:e.shortHash,Lv=(e,t,n)=>{if(!t)return`Select...`;let r=t.endsWith(`^`),i=r?t.slice(0,-1):t;if(i.startsWith(`HEAD`))return t;let a=jv[t];if(a)return a;let o=e.specialOptions.find(e=>e.value===t);if(o)return o.label;let s=e.branches.find(e=>e.name===i);if(s)return r?`${s.name}^`:s.name;let c=e.commits.find(e=>e.shortHash===i||e.hash===i);if(c)return Iv(c,r);if(n){let t=e.commits.find(e=>e.shortHash===n||e.hash===n);if(t)return Iv(t,!1)}return t};function Rv({options:e,selection:t,resolvedBaseRevision:n,resolvedTargetRevision:r,onSelectDiff:i,onOpenAdvanced:a,compact:o=!1}){let[s,c]=(0,F.useState)(!1),[l,u]=(0,F.useState)(!1),d=o,{refs:f,floatingStyles:p,context:m}=hv({open:s||l,onOpenChange:e=>{!e&&l||c(e)},placement:`bottom-end`,middleware:[Qg(6),e_(),$g({padding:8})],whileElementsMounted:Vg}),{getReferenceProps:h,getFloatingProps:g}=yv([E_(m,{handleClose:Av()}),lv(m),pv(m),xv(m,{role:`menu`})]),{refs:_,floatingStyles:v,context:y}=hv({open:l,onOpenChange:e=>{e&&c(!0),u(e)},placement:`left-start`,middleware:[Qg(0),e_(),$g({padding:8})],whileElementsMounted:Vg}),{getReferenceProps:b,getFloatingProps:x}=yv([E_(y,{handleClose:Av()}),lv(y),pv(y),xv(y,{role:`menu`})]);(0,F.useEffect)(()=>{s||u(!1)},[s]);let S=(0,F.useMemo)(()=>{let i=Pv(t),a=e.commits.find(e=>i?Fv(t.targetCommitish,e)||Fv(r,e):!1);return a?`${a.shortHash} ${a.message}`:`${Lv(e,t.baseCommitish,n)}...${Lv(e,t.targetCommitish,r)}${Jt(t.baseMode)===`merge-base`?` (merge-base)`:``}`},[e,t,n,r]),C=(0,F.useMemo)(()=>e.branches.find(e=>e.name===`main`)||e.branches.find(e=>e.name===`master`),[e.branches]),w=e.originDefaultBranch,T=(0,F.useMemo)(()=>Yt(`HEAD^`,`HEAD`),[]),E=(0,F.useMemo)(()=>Yt(`HEAD`,`.`,`merge-base`),[]),D=(0,F.useMemo)(()=>C?Yt(C.name,`.`,`merge-base`):null,[C]),O=(0,F.useMemo)(()=>w?Yt(w,`.`,`merge-base`):null,[w]),k=(0,F.useMemo)(()=>Nv(t.targetCommitish),[t.targetCommitish]),A=e=>{i(e),u(!1),c(!1)},j=()=>{u(!1),c(!1),a()},M=(e,t)=>[`w-full text-left px-3 py-2 text-xs focus:outline-none transition-colors`,e?`hover:bg-diff-selected-bg focus:bg-diff-selected-bg`:`hover:bg-github-bg-tertiary focus:bg-github-bg-tertiary`,e?`bg-diff-selected-bg border-l-4 border-l-diff-selected-border font-semibold pl-2`:``,t?`opacity-50 cursor-not-allowed`:`cursor-pointer`].join(` `),N=e=>Xt(t,e),P=e=>Pv(t)?Fv(t.targetCommitish,e)||Fv(r,e):!1;return(0,I.jsxs)(`div`,{className:`relative`,children:[(0,I.jsx)(`button`,{ref:f.setReference,type:`button`,className:`flex items-center gap-1.5 cursor-pointer group`,"aria-haspopup":`menu`,"aria-expanded":s,"aria-label":`Revision menu: ${S}`,title:S,...h(),children:d?(0,I.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2 py-1 bg-github-bg-tertiary border border-github-border rounded hover:border-github-text-secondary transition-colors`,children:[(0,I.jsx)(it,{size:14,className:`text-github-text-secondary`}),(0,I.jsx)(Ve,{size:12,className:`text-github-text-secondary group-hover:text-github-text-primary transition-colors`})]}):(0,I.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 bg-github-bg-tertiary border border-github-border rounded hover:border-github-text-secondary transition-colors`,children:[(0,I.jsx)(`code`,{className:`text-xs text-github-text-primary`,children:S}),(0,I.jsx)(Ve,{size:12,className:`text-github-text-secondary group-hover:text-github-text-primary transition-colors`})]})}),s&&(0,I.jsx)(J_,{children:(0,I.jsxs)(`div`,{ref:f.setFloating,style:p,className:`bg-github-bg-secondary border border-github-border rounded shadow-lg z-50 w-[260px] max-h-[360px] overflow-y-auto`,...g(),children:[(0,I.jsxs)(`div`,{className:`border-b border-github-border`,children:[(0,I.jsx)(`div`,{className:`px-3 py-2 text-xs font-semibold text-github-text-secondary bg-github-bg-tertiary`,children:`Quick Diffs`}),(0,I.jsx)(`button`,{onClick:()=>A(T),className:M(N(T),!1),children:`HEAD`}),(0,I.jsx)(`button`,{onClick:()=>A(E),className:M(N(E),!1),children:`HEAD...Uncommitted (merge-base)`}),C&&D&&(0,I.jsx)(I.Fragment,{children:(0,I.jsxs)(`button`,{onClick:()=>A(D),className:M(N(D),!1),children:[C.name,`...Uncommitted (merge-base)`]})}),w&&O&&(0,I.jsxs)(`button`,{onClick:()=>A(O),className:M(N(O),!1),children:[w,`...Uncommitted (merge-base)`]})]}),(0,I.jsx)(`div`,{className:`border-b border-github-border`,children:(0,I.jsx)(`button`,{onClick:()=>A(k),className:M(N(k),!1),type:`button`,children:`Previous commit`})}),(0,I.jsx)(`div`,{className:`border-b border-github-border`,children:(0,I.jsx)(`button`,{ref:e.commits.length>0?_.setReference:void 0,className:M(!1,e.commits.length===0),...e.commits.length>0?b():{},disabled:e.commits.length===0,type:`button`,children:(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,I.jsx)(He,{size:12,className:`text-github-text-secondary`}),(0,I.jsx)(`span`,{children:`Pick Commit...`})]})})}),(0,I.jsx)(`div`,{children:(0,I.jsx)(`button`,{onClick:j,className:M(!1,!1),type:`button`,children:`Detailed...`})})]})}),l&&e.commits.length>0&&(0,I.jsx)(J_,{children:(0,I.jsxs)(`div`,{ref:_.setFloating,style:v,className:`bg-github-bg-secondary border border-github-border rounded shadow-lg z-50 w-[360px] max-h-[360px] overflow-y-auto`,...x(),children:[(0,I.jsx)(`div`,{className:`px-3 py-2 text-xs font-semibold text-github-text-secondary bg-github-bg-tertiary`,children:`Recent Commits`}),e.commits.map(e=>(0,I.jsx)(`button`,{onClick:()=>A(Yt(`${e.shortHash}^`,e.shortHash)),className:M(P(e),!1),type:`button`,children:(0,I.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,I.jsx)(`code`,{className:`text-xs text-github-text-primary font-mono whitespace-nowrap`,children:e.shortHash}),(0,I.jsx)(`span`,{className:`text-xs text-github-text-secondary flex-1 break-words`,children:e.message})]})},e.hash))]})})]})}var zv={getOldTokens:null,getNewTokens:null},Bv=2e3;async function Vv(e,t){try{let n=await fetch(`/api/blob/${encodeURIComponent(e)}?ref=${encodeURIComponent(t)}`);return n.ok?await n.text():null}catch{return null}}function Hv(e,t){if(e.split(`
|
|
50
|
-
`).length>Bv)return null;let n=up.languages[t];if(!n)return null;try{return $f(up.tokenize(e,n))}catch{return null}}function Uv({file:e,enabled:t,baseCommitish:n,targetCommitish:r,reloadKey:i}){let a=(0,F.useMemo)(()=>vp(e.path),[e.path]),[
|
|
49
|
+
`).length),autoFocus:!0,disabled:f}),(0,I.jsxs)(`div`,{className:`flex gap-2 justify-end`,children:[(0,I.jsx)(`button`,{type:`button`,"data-comment-cancel":`true`,onClick:t,className:`text-xs px-3 py-1.5 bg-github-bg-tertiary text-github-text-primary border border-github-border rounded hover:opacity-80 transition-all disabled:opacity-50`,disabled:f,children:`Cancel`}),(0,I.jsx)(`button`,{type:`submit`,className:`text-xs px-3 py-1.5 rounded transition-all disabled:opacity-50`,style:{backgroundColor:`var(--color-yellow-btn-bg)`,color:`var(--color-yellow-btn-text)`,border:`1px solid var(--color-yellow-btn-border)`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`var(--color-yellow-btn-hover-bg)`,e.currentTarget.style.borderColor=`var(--color-yellow-btn-hover-border)`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`var(--color-yellow-btn-bg)`,e.currentTarget.style.borderColor=`var(--color-yellow-btn-border)`},disabled:!u.trim()||f,children:f?`Submitting...`:c})]})]})}function Hp({message:e,isRootMessage:t=!1,showAuthorBadge:n,syntaxTheme:r,filename:i,originalCode:a,onUpdate:o,onResolveOrDelete:s,actionLabel:c,confirmPrompt:l,onClick:u}){let[d,f]=(0,F.useState)(!1),[p,m]=(0,F.useState)(!1),h=(0,F.useRef)(null),g=(0,F.useRef)(null),_=n&&!!e.author,v=e.author?.trim()===`User`;return $t(h,()=>m(!1),p),(0,F.useEffect)(()=>{if(!p)return;g.current?.focus();let e=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),m(!1))};return document.addEventListener(`keydown`,e,!0),()=>document.removeEventListener(`keydown`,e,!0)},[p]),(0,I.jsx)(`div`,{className:d?``:`flex min-w-0 items-start gap-3`,onClick:u,children:d?(0,I.jsx)(Vp,{onSubmit:t=>(t!==e.body&&o(t),f(!1),Promise.resolve()),onCancel:()=>{f(!1)},selectedCode:a,syntaxTheme:r,filename:i,initialValue:e.body,embedded:!0,title:`Edit comment`,submitLabel:`Save`,placeholder:`Edit your message...`}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[_&&(0,I.jsx)(`div`,{className:`mb-2 flex min-w-0 items-center gap-2 pr-2 text-xs text-github-text-secondary`,children:(0,I.jsx)(`span`,{className:`inline-flex items-center rounded-full border border-github-border bg-github-bg-primary px-2 py-0.5 text-[11px] font-medium text-github-text-primary`,children:e.author})}),(0,I.jsx)(Rp,{body:e.body,originalCode:a,filename:i,syntaxTheme:r})]}),(t||v)&&(p?(0,I.jsxs)(`div`,{ref:h,className:`flex shrink-0 items-center gap-1.5 pt-0.5`,onClick:e=>e.stopPropagation(),children:[(0,I.jsx)(`span`,{className:`whitespace-nowrap text-xs text-github-text-secondary`,children:l}),(0,I.jsx)(`button`,{ref:g,type:`button`,onClick:e=>{e.stopPropagation(),m(!1),s()},className:`whitespace-nowrap rounded border border-github-border bg-github-bg-tertiary px-2 py-1 text-xs font-medium transition-all hover:bg-github-bg-primary ${t?`text-green-700 hover:text-green-800`:`text-github-danger`}`,children:t?`Resolve`:`Delete`}),(0,I.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),m(!1)},className:`whitespace-nowrap rounded border border-github-border bg-github-bg-tertiary px-2 py-1 text-xs text-github-text-primary transition-all hover:bg-github-bg-primary`,children:`Cancel`})]}):(0,I.jsxs)(`div`,{className:`flex shrink-0 items-start gap-2 pt-0.5`,children:[v&&(0,I.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),f(!0)},className:`rounded border border-github-border bg-github-bg-tertiary p-1.5 text-github-text-primary transition-all hover:bg-github-bg-primary`,title:`Edit message`,children:(0,I.jsx)(ft,{size:12})}),(0,I.jsx)(`button`,{type:`button`,onClick:e=>{if(e.stopPropagation(),l){m(!0);return}s()},className:`rounded border border-github-border bg-github-bg-tertiary p-1.5 transition-all hover:bg-github-bg-primary ${t?`text-green-700 hover:text-green-800`:`text-github-danger`}`,title:c,"aria-label":c,children:t?(0,I.jsx)(Be,{size:12}):(0,I.jsx)(vt,{size:12})})]}))]})})}function Up({thread:e,showAuthorBadges:t=!1,confirmRootAction:n=!0,onGeneratePrompt:r,onRemoveThread:i,onReplyToThread:a,onRemoveMessage:o,onUpdateMessage:s,onClick:c,syntaxTheme:l}){let[u,d]=(0,F.useState)(!1),[f,p]=(0,F.useState)(!1),m=Array.isArray(e.line)?`${e.line[0]}-${e.line[1]}`:e.line,h=async t=>{t.stopPropagation();try{await nn(r(e)),d(!0),setTimeout(()=>d(!1),2e3)}catch(e){console.error(`Failed to copy thread prompt:`,e)}},g=e.messages[0];return g?(0,I.jsxs)(`div`,{id:`comment-thread-${e.id}`,className:`rounded-md border border-yellow-600/50 border-l-4 border-l-yellow-400 bg-github-bg-tertiary p-3 shadow-sm transition-all ${c?`cursor-pointer hover:shadow-md`:``}`,onClick:c,children:[(0,I.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs text-github-text-secondary`,children:[(0,I.jsxs)(`span`,{className:`font-mono px-1 py-0.5 rounded overflow-hidden text-ellipsis whitespace-nowrap`,style:{backgroundColor:`var(--color-yellow-path-bg)`,color:`var(--color-yellow-path-text)`},children:[e.file,`:`,m]}),e.isOutdated&&(0,I.jsx)(`span`,{className:`inline-flex h-5 shrink-0 items-center rounded-full border border-github-text-muted px-2 text-[10px] font-medium text-github-text-muted`,title:`Code has changed since this comment was made`,"aria-label":`Outdated comment`,children:`Outdated`})]}),(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,I.jsx)(`button`,{type:`button`,onClick:h,className:`whitespace-nowrap rounded px-2 py-1 text-xs transition-all`,style:{backgroundColor:`var(--color-yellow-btn-bg)`,color:`var(--color-yellow-btn-text)`,border:`1px solid var(--color-yellow-btn-border)`},title:`Copy thread prompt for AI coding agent`,children:(0,I.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,I.jsx)(Je,{size:12}),u?`Copied!`:`Copy Prompt`]})}),(0,I.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),p(e=>!e)},"aria-label":`Reply`,className:`rounded border border-github-border bg-github-bg-tertiary p-1.5 text-github-text-primary transition-all hover:bg-github-bg-primary`,title:`Reply to thread`,children:(0,I.jsx)(ct,{size:14})})]})]}),(0,I.jsxs)(`div`,{className:`space-y-3`,children:[(0,I.jsx)(Hp,{message:g,isRootMessage:!0,showAuthorBadge:t,syntaxTheme:l,filename:e.file,originalCode:e.codeContent,onUpdate:t=>s(e.id,g.id,t),onResolveOrDelete:()=>i(e.id),actionLabel:`Resolve thread`,confirmPrompt:n?`Resolve?`:void 0}),e.messages.slice(1).map(n=>(0,I.jsx)(`div`,{className:`ml-4 border-l border-github-border pl-3`,children:(0,I.jsx)(Hp,{message:n,showAuthorBadge:t,syntaxTheme:l,filename:e.file,originalCode:e.codeContent,onUpdate:t=>s(e.id,n.id,t),onResolveOrDelete:()=>o(e.id,n.id),actionLabel:`Delete reply`,confirmPrompt:`Delete?`})},n.id)),f&&(0,I.jsx)(`div`,{className:`ml-4 border-l border-github-border pl-3`,onClick:e=>e.stopPropagation(),children:(0,I.jsx)(Vp,{onSubmit:async t=>{await a(e.id,t),p(!1)},onCancel:()=>p(!1),selectedCode:e.codeContent,syntaxTheme:l,filename:e.file,embedded:!0,title:`Reply to thread`,submitLabel:`Reply`,placeholder:`Write a reply...`})})]})]}):null}function Wp({isOpen:e,onClose:t,onNavigate:n,comments:r,showAuthorBadges:i=!1,onRemoveThread:a,onGenerateThreadPrompt:o,onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,syntaxTheme:u}){let[d,f]=(0,F.useState)(0),p=(0,F.useRef)([]),{enableScope:m,disableScope:h}=Ce(),g=[...r].sort((e,t)=>{let n=e.file.localeCompare(t.file);if(n!==0)return n;let r=Array.isArray(e.line)?e.line[0]:e.line,i=Array.isArray(t.line)?t.line[0]:t.line;return r===i?e.createdAt.localeCompare(t.createdAt):r-i}),_=(0,F.useCallback)(e=>{n(e),t()},[t,n]),v=(0,F.useCallback)(e=>{let t=e.messages[0]?.body||``;confirm(`Resolve this thread?\n\n"${t}"`)&&(a(e.id),d>=g.length-1&&d>0&&f(d-1))},[a,d,g.length]);(0,F.useEffect)(()=>(e?(m(`comments-list`),h(`navigation`)):(m(`navigation`),h(`comments-list`),f(0)),()=>{m(`navigation`),h(`comments-list`)}),[h,m,e]);let y={scopes:`comments-list`,enableOnFormTags:!1};return B(`escape`,()=>t(),y,[t]),B(`j, down`,()=>f(e=>Math.min(e+1,g.length-1)),y,[g.length]),B(`k, up`,()=>f(e=>Math.max(e-1,0)),y,[]),B(`enter`,()=>{g[d]&&_(g[d])},y,[_,d,g]),B(`d`,()=>{g[d]&&v(g[d])},y,[v,d,g]),(0,F.useEffect)(()=>{p.current[d]&&p.current[d]?.scrollIntoView({block:`nearest`})},[d]),e?(0,I.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,I.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,onClick:t}),(0,I.jsxs)(`div`,{className:`relative max-h-[80vh] w-full max-w-4xl overflow-hidden rounded-lg border border-github-border bg-github-bg-primary shadow-lg`,children:[(0,I.jsxs)(`div`,{className:`sticky top-0 border-b border-github-border bg-github-bg-primary px-6 py-4`,children:[(0,I.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,I.jsx)(`h2`,{className:`text-lg font-semibold text-github-text-primary`,children:`All Comments`}),(0,I.jsx)(`button`,{onClick:t,className:`text-github-text-secondary transition-colors hover:text-github-text-primary`,"aria-label":`Close comments list`,children:(0,I.jsx)(bt,{size:20})})]}),(0,I.jsxs)(`div`,{className:`text-xs text-github-text-secondary`,children:[(0,I.jsx)(`span`,{className:`font-mono`,children:`j/k`}),` or `,(0,I.jsx)(`span`,{className:`font-mono`,children:`↑/↓`}),` to navigate • `,(0,I.jsx)(`span`,{className:`font-mono`,children:`Enter`}),` to jump •`,` `,(0,I.jsx)(`span`,{className:`font-mono`,children:`d`}),` to resolve • `,(0,I.jsx)(`span`,{className:`font-mono`,children:`Esc`}),` `,`to close`]})]}),(0,I.jsx)(`div`,{className:`max-h-[calc(80vh-120px)] overflow-y-auto`,children:(0,I.jsx)(`div`,{className:`p-6`,children:g.length===0?(0,I.jsx)(`p`,{className:`text-center text-github-text-secondary`,children:`No comments yet`}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`div`,{className:`space-y-2`,children:g.map((e,t)=>(0,I.jsx)(`div`,{ref:e=>{p.current[t]=e},className:d===t?`rounded ring-2 ring-blue-500`:``,children:(0,I.jsx)(Up,{thread:e,showAuthorBadges:i,confirmRootAction:!1,onGeneratePrompt:o,onRemoveThread:t=>{t===e.id&&v(e)},onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,syntaxTheme:u,onClick:n=>{n.stopPropagation(),f(t),_(e)}})},e.id))}),(0,I.jsxs)(`div`,{className:`mt-4 border-t border-github-border pt-4 text-center text-xs text-github-text-secondary`,children:[d+1,` of `,g.length,` threads`]})]})})})]})]}):null}function Gp(){return typeof window<`u`}function Kp(e){return Yp(e)?(e.nodeName||``).toLowerCase():`#document`}function qp(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Jp(e){return((Yp(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Yp(e){return Gp()?e instanceof Node||e instanceof qp(e).Node:!1}function Xp(e){return Gp()?e instanceof Element||e instanceof qp(e).Element:!1}function Zp(e){return Gp()?e instanceof HTMLElement||e instanceof qp(e).HTMLElement:!1}function Qp(e){return!Gp()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof qp(e).ShadowRoot}function $p(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=um(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function em(e){return/^(table|td|th)$/.test(Kp(e))}function tm(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var nm=/transform|translate|scale|rotate|perspective|filter/,rm=/paint|layout|strict|content/,im=e=>!!e&&e!==`none`,am;function om(e){let t=Xp(e)?um(e):e;return im(t.transform)||im(t.translate)||im(t.scale)||im(t.rotate)||im(t.perspective)||!cm()&&(im(t.backdropFilter)||im(t.filter))||nm.test(t.willChange||``)||rm.test(t.contain||``)}function sm(e){let t=fm(e);for(;Zp(t)&&!lm(t);){if(om(t))return t;if(tm(t))return null;t=fm(t)}return null}function cm(){return am??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),am}function lm(e){return/^(html|body|#document)$/.test(Kp(e))}function um(e){return qp(e).getComputedStyle(e)}function dm(e){return Xp(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function fm(e){if(Kp(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Qp(e)&&e.host||Jp(e);return Qp(t)?t.host:t}function pm(e){let t=fm(e);return lm(t)?e.ownerDocument?e.ownerDocument.body:e.body:Zp(t)&&$p(t)?t:pm(t)}function mm(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=pm(e),i=r===e.ownerDocument?.body,a=qp(r);if(i){let e=hm(a);return t.concat(a,a.visualViewport||[],$p(r)?r:[],e&&n?mm(e):[])}else return t.concat(r,mm(r,[],n))}function hm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var gm=Math.min,_m=Math.max,vm=Math.round,ym=Math.floor,bm=e=>({x:e,y:e}),xm={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Sm(e,t,n){return _m(e,gm(t,n))}function Cm(e,t){return typeof e==`function`?e(t):e}function wm(e){return e.split(`-`)[0]}function Tm(e){return e.split(`-`)[1]}function Em(e){return e===`x`?`y`:`x`}function Dm(e){return e===`y`?`height`:`width`}function Om(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function km(e){return Em(Om(e))}function Am(e,t,n){n===void 0&&(n=!1);let r=Tm(e),i=km(e),a=Dm(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=zm(o)),[o,zm(o)]}function jm(e){let t=zm(e);return[Mm(e),t,Mm(t)]}function Mm(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Nm=[`left`,`right`],Pm=[`right`,`left`],Fm=[`top`,`bottom`],Im=[`bottom`,`top`];function Lm(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Pm:Nm:t?Nm:Pm;case`left`:case`right`:return t?Fm:Im;default:return[]}}function Rm(e,t,n,r){let i=Tm(e),a=Lm(wm(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Mm)))),a}function zm(e){let t=wm(e);return xm[t]+e.slice(t.length)}function Bm(e){return{top:0,right:0,bottom:0,left:0,...e}}function Vm(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Bm(e)}function Hm(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}var Um=[`input:not([inert]):not([inert] *)`,`select:not([inert]):not([inert] *)`,`textarea:not([inert]):not([inert] *)`,`a[href]:not([inert]):not([inert] *)`,`button:not([inert]):not([inert] *)`,`[tabindex]:not(slot):not([inert]):not([inert] *)`,`audio[controls]:not([inert]):not([inert] *)`,`video[controls]:not([inert]):not([inert] *)`,`[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)`,`details>summary:first-of-type:not([inert]):not([inert] *)`,`details:not([inert]):not([inert] *)`].join(`,`),Wm=typeof Element>`u`,Gm=Wm?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Km=!Wm&&Element.prototype.getRootNode?function(e){return e?.getRootNode?.call(e)}:function(e){return e?.ownerDocument},qm=function(e,t){t===void 0&&(t=!0);var n=e?.getAttribute?.call(e,`inert`);return n===``||n===`true`||t&&e&&(typeof e.closest==`function`?e.closest(`[inert]`):qm(e.parentNode))},Jm=function(e){var t=e?.getAttribute?.call(e,`contenteditable`);return t===``||t===`true`},Ym=function(e,t,n){if(qm(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(Um));return t&&Gm.call(e,Um)&&r.unshift(e),r=r.filter(n),r},Xm=function(e,t,n){for(var r=[],i=Array.from(e);i.length;){var a=i.shift();if(!qm(a,!1))if(a.tagName===`SLOT`){var o=a.assignedElements(),s=Xm(o.length?o:a.children,!0,n);n.flatten?r.push.apply(r,s):r.push({scopeParent:a,candidates:s})}else{Gm.call(a,Um)&&n.filter(a)&&(t||!e.includes(a))&&r.push(a);var c=a.shadowRoot||typeof n.getShadowRoot==`function`&&n.getShadowRoot(a),l=!qm(c,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(a));if(c&&l){var u=Xm(c===!0?a.children:c.children,!0,n);n.flatten?r.push.apply(r,u):r.push({scopeParent:a,candidates:u})}else i.unshift.apply(i,a.children)}}return r},Zm=function(e){return!isNaN(parseInt(e.getAttribute(`tabindex`),10))},Qm=function(e){if(!e)throw Error(`No node provided`);return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Jm(e))&&!Zm(e)?0:e.tabIndex},$m=function(e,t){var n=Qm(e);return n<0&&t&&!Zm(e)?0:n},eh=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},th=function(e){return e.tagName===`INPUT`},nh=function(e){return th(e)&&e.type===`hidden`},rh=function(e){return e.tagName===`DETAILS`&&Array.prototype.slice.apply(e.children).some(function(e){return e.tagName===`SUMMARY`})},ih=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]},ah=function(e){if(!e.name)return!0;var t=e.form||Km(e),n=function(e){return t.querySelectorAll(`input[type="radio"][name="`+e+`"]`)},r;if(typeof window<`u`&&window.CSS!==void 0&&typeof window.CSS.escape==`function`)r=n(window.CSS.escape(e.name));else try{r=n(e.name)}catch(e){return console.error(`Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s`,e.message),!1}var i=ih(r,e.form);return!i||i===e},oh=function(e){return th(e)&&e.type===`radio`},sh=function(e){return oh(e)&&!ah(e)},ch=function(e){var t=e&&Km(e),n=t?.host,r=!1;if(t&&t!==e){var i,a,o;for(r=!!((i=n)!=null&&(a=i.ownerDocument)!=null&&a.contains(n)||e!=null&&(o=e.ownerDocument)!=null&&o.contains(e));!r&&n;){var s,c;t=Km(n),n=t?.host,r=!!((s=n)!=null&&(c=s.ownerDocument)!=null&&c.contains(n))}}return r},lh=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return n===0&&r===0},uh=function(e,t){var n=t.displayCheck,r=t.getShadowRoot;if(n===`full-native`&&`checkVisibility`in e)return!e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});if(getComputedStyle(e).visibility===`hidden`)return!0;var i=Gm.call(e,`details>summary:first-of-type`)?e.parentElement:e;if(Gm.call(i,`details:not([open]) *`))return!0;if(!n||n===`full`||n===`full-native`||n===`legacy-full`){if(typeof r==`function`){for(var a=e;e;){var o=e.parentElement,s=Km(e);if(o&&!o.shadowRoot&&r(o)===!0)return lh(e);e=e.assignedSlot?e.assignedSlot:!o&&s!==e.ownerDocument?s.host:o}e=a}if(ch(e))return!e.getClientRects().length;if(n!==`legacy-full`)return!0}else if(n===`non-zero-area`)return lh(e);return!1},dh=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName===`FIELDSET`&&t.disabled){for(var n=0;n<t.children.length;n++){var r=t.children.item(n);if(r.tagName===`LEGEND`)return Gm.call(t,`fieldset[disabled] *`)?!0:!r.contains(e)}return!0}t=t.parentElement}return!1},fh=function(e,t){return!(t.disabled||nh(t)||uh(t,e)||rh(t)||dh(t))},ph=function(e,t){return!(sh(t)||Qm(t)<0||!fh(e,t))},mh=function(e){var t=parseInt(e.getAttribute(`tabindex`),10);return!!(isNaN(t)||t>=0)},hh=function(e){var t=[],n=[];return e.forEach(function(e,r){var i=!!e.scopeParent,a=i?e.scopeParent:e,o=$m(a,i),s=i?hh(e.candidates):a;o===0?i?t.push.apply(t,s):t.push(a):n.push({documentOrder:r,tabIndex:o,item:e,isScope:i,content:s})}),n.sort(eh).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},gh=function(e,t){return t||={},hh(t.getShadowRoot?Xm([e],t.includeContainer,{filter:ph.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:mh}):Ym(e,t.includeContainer,ph.bind(null,t)))},_h=function(e,t){return t||={},t.getShadowRoot?Xm([e],t.includeContainer,{filter:fh.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):Ym(e,t.includeContainer,fh.bind(null,t))},vh=function(e,t){if(t||={},!e)throw Error(`No node provided`);return Gm.call(e,Um)===!1?!1:ph(t,e)};function yh(){let e=navigator.userAgentData;return e!=null&&e.platform?e.platform:navigator.platform}function bh(){let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(e=>{let{brand:t,version:n}=e;return t+`/`+n}).join(` `):navigator.userAgent}function xh(){return/apple/i.test(navigator.vendor)}function Sh(){let e=/android/i;return e.test(yh())||e.test(bh())}function Ch(){return yh().toLowerCase().startsWith(`mac`)&&!navigator.maxTouchPoints}function wh(){return bh().includes(`jsdom/`)}var Th=`data-floating-ui-focusable`,Eh=`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`;function Dh(e){let t=e.activeElement;for(;((n=t)==null||(n=n.shadowRoot)==null?void 0:n.activeElement)!=null;){var n;t=t.shadowRoot.activeElement}return t}function Oh(e,t){if(!e||!t)return!1;let n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&Qp(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function kh(e){return`composedPath`in e?e.composedPath()[0]:e.target}function Ah(e,t){if(t==null)return!1;if(`composedPath`in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function jh(e){return e.matches(`html,body`)}function Mh(e){return e?.ownerDocument||document}function Nh(e){return Zp(e)&&e.matches(Eh)}function Ph(e){return e?e.getAttribute(`role`)===`combobox`&&Nh(e):!1}function Fh(e){if(!e||wh())return!0;try{return e.matches(`:focus-visible`)}catch{return!0}}function Ih(e){return e?e.hasAttribute(Th)?e:e.querySelector(`[data-floating-ui-focusable]`)||e:null}function Lh(e,t,n){return n===void 0&&(n=!0),e.filter(e=>e.parentId===t&&(!n||e.context?.open)).flatMap(t=>[t,...Lh(e,t.id,n)])}function Rh(e,t){let n=[],r=e.find(e=>e.id===t)?.parentId;for(;r;){let t=e.find(e=>e.id===r);r=t?.parentId,t&&(n=n.concat(t))}return n}function zh(e){e.preventDefault(),e.stopPropagation()}function Bh(e){return`nativeEvent`in e}function Vh(e){return e.mozInputSource===0&&e.isTrusted?!0:Sh()&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function Hh(e){return wh()?!1:!Sh()&&e.width===0&&e.height===0||Sh()&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType===`mouse`||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType===`touch`}function Uh(e,t){let n=[`mouse`,`pen`];return t||n.push(``,void 0),n.includes(e)}var Wh=typeof document<`u`?F.useLayoutEffect:function(){},Gh={...F};function Kh(e){let t=F.useRef(e);return Wh(()=>{t.current=e}),t}var qh=Gh.useInsertionEffect||(e=>e());function Jh(e){let t=F.useRef(()=>{});return qh(()=>{t.current=e}),F.useCallback(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}var Yh=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver==`function`&&ResizeObserver.toString().includes(`[native code]`)?`full`:`none`});function Xh(e,t){let n=gh(e,Yh()),r=n.length;if(r===0)return;let i=Dh(Mh(e)),a=n.indexOf(i);return n[a===-1?t===1?0:r-1:a+t]}function Zh(e){return Xh(Mh(e).body,1)||e}function Qh(e){return Xh(Mh(e).body,-1)||e}function $h(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!Oh(n,r)}function eg(e){gh(e,Yh()).forEach(e=>{e.dataset.tabindex=e.getAttribute(`tabindex`)||``,e.setAttribute(`tabindex`,`-1`)})}function tg(e){e.querySelectorAll(`[data-tabindex]`).forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute(`tabindex`,t):e.removeAttribute(`tabindex`)})}var ng=l(A(),1);function rg(e,t,n){let{reference:r,floating:i}=e,a=Om(t),o=km(t),s=Dm(o),c=wm(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Tm(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function ig(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Cm(t,e),p=Vm(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Hm(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Hm(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var ag=50,og=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:ig},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=rg(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<ag&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=rg(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},sg=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Cm(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=wm(r),_=Om(o),v=wm(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[zm(o)]:jm(o)),x=p!==`none`;!d&&x&&b.push(...Rm(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Am(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==Om(t))||T.every(e=>Om(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Om(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}},cg=new Set([`left`,`top`]);async function lg(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=wm(n),s=Tm(n),c=Om(n)===`y`,l=cg.has(o)?-1:1,u=a&&c?-1:1,d=Cm(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var ug=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await lg(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},dg=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Cm(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Om(wm(i)),p=Em(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Sm(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Sm(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}};function fg(e){let t=um(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Zp(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=vm(n)!==a||vm(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function pg(e){return Xp(e)?e:e.contextElement}function mg(e){let t=pg(e);if(!Zp(t))return bm(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=fg(t),o=(a?vm(n.width):n.width)/r,s=(a?vm(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var hg=bm(0);function gg(e){let t=qp(e);return!cm()||!t.visualViewport?hg:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function _g(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==qp(e)?!1:t}function vg(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=pg(e),o=bm(1);t&&(r?Xp(r)&&(o=mg(r)):o=mg(e));let s=_g(a,n,r)?gg(a):bm(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=qp(a),t=r&&Xp(r)?qp(r):r,n=e,i=hm(n);for(;i&&r&&t!==n;){let e=mg(i),t=i.getBoundingClientRect(),r=um(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=qp(i),i=hm(n)}}return Hm({width:u,height:d,x:c,y:l})}function yg(e,t){let n=dm(e).scrollLeft;return t?t.left+n:vg(Jp(e)).left+n}function bg(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-yg(e,n),y:n.top+t.scrollTop}}function xg(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Jp(r),s=t?tm(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=bm(1),u=bm(0),d=Zp(r);if((d||!d&&!a)&&((Kp(r)!==`body`||$p(o))&&(c=dm(r)),d)){let e=vg(r);l=mg(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?bg(o,c):bm(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Sg(e){return Array.from(e.getClientRects())}function Cg(e){let t=Jp(e),n=dm(e),r=e.ownerDocument.body,i=_m(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=_m(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+yg(e),s=-n.scrollTop;return um(r).direction===`rtl`&&(o+=_m(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var wg=25;function Tg(e,t){let n=qp(e),r=Jp(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=cm();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=yg(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=wg&&(a-=o)}else l<=wg&&(a+=l);return{width:a,height:o,x:s,y:c}}function Eg(e,t){let n=vg(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Zp(e)?mg(e):bm(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Dg(e,t,n){let r;if(t===`viewport`)r=Tg(e,n);else if(t===`document`)r=Cg(Jp(e));else if(Xp(t))r=Eg(t,n);else{let n=gg(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Hm(r)}function Og(e,t){let n=fm(e);return n===t||!Xp(n)||lm(n)?!1:um(n).position===`fixed`||Og(n,t)}function kg(e,t){let n=t.get(e);if(n)return n;let r=mm(e,[],!1).filter(e=>Xp(e)&&Kp(e)!==`body`),i=null,a=um(e).position===`fixed`,o=a?fm(e):e;for(;Xp(o)&&!lm(o);){let t=um(o),n=om(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||$p(o)&&!n&&Og(e,o))?r=r.filter(e=>e!==o):i=t,o=fm(o)}return t.set(e,r),r}function Ag(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?tm(t)?[]:kg(t,this._c):[].concat(n),r],o=Dg(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Dg(t,a[e],i);s=_m(n.top,s),c=gm(n.right,c),l=gm(n.bottom,l),u=_m(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function jg(e){let{width:t,height:n}=fg(e);return{width:t,height:n}}function Mg(e,t,n){let r=Zp(t),i=Jp(t),a=n===`fixed`,o=vg(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=bm(0);function l(){c.x=yg(i)}if(r||!r&&!a)if((Kp(t)!==`body`||$p(i))&&(s=dm(t)),r){let e=vg(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?bg(i,s):bm(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Ng(e){return um(e).position===`static`}function Pg(e,t){if(!Zp(e)||um(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Jp(e)===n&&(n=n.ownerDocument.body),n}function Fg(e,t){let n=qp(e);if(tm(e))return n;if(!Zp(e)){let t=fm(e);for(;t&&!lm(t);){if(Xp(t)&&!Ng(t))return t;t=fm(t)}return n}let r=Pg(e,t);for(;r&&em(r)&&Ng(r);)r=Pg(r,t);return r&&lm(r)&&Ng(r)&&!om(r)?n:r||sm(e)||n}var Ig=async function(e){let t=this.getOffsetParent||Fg,n=this.getDimensions,r=await n(e.floating);return{reference:Mg(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Lg(e){return um(e).direction===`rtl`}var Rg={convertOffsetParentRelativeRectToViewportRelativeRect:xg,getDocumentElement:Jp,getClippingRect:Ag,getOffsetParent:Fg,getElementRects:Ig,getClientRects:Sg,getDimensions:jg,getScale:mg,isElement:Xp,isRTL:Lg};function zg(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Bg(e,t){let n=null,r,i=Jp(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=ym(d),h=ym(i.clientWidth-(u+f)),g=ym(i.clientHeight-(d+p)),_=ym(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:_m(0,gm(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!zg(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Vg(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=pg(e),u=i||a?[...l?mm(l):[],...t?mm(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Bg(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?vg(e):null;c&&g();function g(){let t=vg(e);h&&!zg(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Hg=ug,Ug=dg,Wg=sg,Gg=(e,t,n)=>{let r=new Map,i={platform:Rg,...n},a={...i.platform,_c:r};return og(e,t,{...i,platform:a})},Kg=typeof document<`u`?F.useLayoutEffect:function(){};function qg(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!qg(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!qg(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Jg(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Yg(e,t){let n=Jg(e);return Math.round(t*n)/n}function Xg(e){let t=F.useRef(e);return Kg(()=>{t.current=e}),t}function Zg(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=F.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=F.useState(r);qg(f,r)||p(r);let[m,h]=F.useState(null),[g,_]=F.useState(null),v=F.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=F.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=F.useRef(null),C=F.useRef(null),w=F.useRef(u),T=c!=null,E=Xg(c),D=Xg(i),O=Xg(l),k=F.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),Gg(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!qg(w.current,t)&&(w.current=t,ng.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);Kg(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=F.useRef(!1);Kg(()=>(A.current=!0,()=>{A.current=!1}),[]),Kg(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let j=F.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),M=F.useMemo(()=>({reference:b,floating:x}),[b,x]),N=F.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=Yg(M.floating,u.x),r=Yg(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Jg(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return F.useMemo(()=>({...u,update:k,refs:j,elements:M,floatingStyles:N}),[u,k,j,M,N])}var Qg=(e,t)=>{let n=Hg(e);return{name:n.name,fn:n.fn,options:[e,t]}},$g=(e,t)=>{let n=Ug(e);return{name:n.name,fn:n.fn,options:[e,t]}},e_=(e,t)=>{let n=Wg(e);return{name:n.name,fn:n.fn,options:[e,t]}},t_=`data-floating-ui-focusable`,n_=`active`,r_=`selected`,i_=`ArrowLeft`,a_=`ArrowRight`,o_=`ArrowUp`,s_=`ArrowDown`,c_=[i_,a_],l_=[o_,s_];[...c_,...l_];var u_={...F},d_=!1,f_=0,p_=()=>`floating-ui-`+Math.random().toString(36).slice(2,6)+ f_++;function m_(){let[e,t]=F.useState(()=>d_?p_():void 0);return Wh(()=>{e??t(p_())},[]),F.useEffect(()=>{d_=!0},[]),e}var h_=u_.useId||m_;function g_(){let e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){var r;(r=e.get(t))==null||r.delete(n)}}}var __=F.createContext(null),v_=F.createContext(null),y_=()=>F.useContext(__)?.id||null,b_=()=>F.useContext(v_);function x_(e){return`data-floating-ui-`+e}function S_(e){e.current!==-1&&(clearTimeout(e.current),e.current=-1)}var C_=x_(`safe-polygon`);function w_(e,t,n){if(n&&!Uh(n))return 0;if(typeof e==`number`)return e;if(typeof e==`function`){let n=e();return typeof n==`number`?n:n?.[t]}return e?.[t]}function T_(e){return typeof e==`function`?e():e}function E_(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,dataRef:i,events:a,elements:o}=e,{enabled:s=!0,delay:c=0,handleClose:l=null,mouseOnly:u=!1,restMs:d=0,move:f=!0}=t,p=b_(),m=y_(),h=Kh(l),g=Kh(c),_=Kh(n),v=Kh(d),y=F.useRef(),b=F.useRef(-1),x=F.useRef(),S=F.useRef(-1),C=F.useRef(!0),w=F.useRef(!1),T=F.useRef(()=>{}),E=F.useRef(!1),D=Jh(()=>{let e=i.current.openEvent?.type;return e?.includes(`mouse`)&&e!==`mousedown`});F.useEffect(()=>{if(!s)return;function e(e){let{open:t}=e;t||(S_(b),S_(S),C.current=!0,E.current=!1)}return a.on(`openchange`,e),()=>{a.off(`openchange`,e)}},[s,a]),F.useEffect(()=>{if(!s||!h.current||!n)return;function e(e){D()&&r(!1,e,`hover`)}let t=Mh(o.floating).documentElement;return t.addEventListener(`mouseleave`,e),()=>{t.removeEventListener(`mouseleave`,e)}},[o.floating,n,r,s,h,D]);let O=F.useCallback(function(e,t,n){t===void 0&&(t=!0),n===void 0&&(n=`hover`);let i=w_(g.current,`close`,y.current);i&&!x.current?(S_(b),b.current=window.setTimeout(()=>r(!1,e,n),i)):t&&(S_(b),r(!1,e,n))},[g,r]),k=Jh(()=>{T.current(),x.current=void 0}),A=Jh(()=>{if(w.current){let e=Mh(o.floating).body;e.style.pointerEvents=``,e.removeAttribute(C_),w.current=!1}}),j=Jh(()=>i.current.openEvent?[`click`,`mousedown`].includes(i.current.openEvent.type):!1);F.useEffect(()=>{if(!s)return;function e(e){if(S_(b),C.current=!1,u&&!Uh(y.current)||T_(v.current)>0&&!w_(g.current,`open`))return;let t=w_(g.current,`open`,y.current);t?b.current=window.setTimeout(()=>{_.current||r(!0,e,`hover`)},t):n||r(!0,e,`hover`)}function t(e){if(j()){A();return}T.current();let t=Mh(o.floating);if(S_(S),E.current=!1,h.current&&i.current.floatingContext){n||S_(b),x.current=h.current({...i.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){A(),k(),j()||O(e,!0,`safe-polygon`)}});let r=x.current;t.addEventListener(`mousemove`,r),T.current=()=>{t.removeEventListener(`mousemove`,r)};return}(y.current!==`touch`||!Oh(o.floating,e.relatedTarget))&&O(e)}function a(e){j()||i.current.floatingContext&&(h.current==null||h.current({...i.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){A(),k(),j()||O(e)}})(e))}function c(){S_(b)}function l(e){j()||O(e,!1)}if(Xp(o.domReference)){let r=o.domReference,i=o.floating;return n&&r.addEventListener(`mouseleave`,a),f&&r.addEventListener(`mousemove`,e,{once:!0}),r.addEventListener(`mouseenter`,e),r.addEventListener(`mouseleave`,t),i&&(i.addEventListener(`mouseleave`,a),i.addEventListener(`mouseenter`,c),i.addEventListener(`mouseleave`,l)),()=>{n&&r.removeEventListener(`mouseleave`,a),f&&r.removeEventListener(`mousemove`,e),r.removeEventListener(`mouseenter`,e),r.removeEventListener(`mouseleave`,t),i&&(i.removeEventListener(`mouseleave`,a),i.removeEventListener(`mouseenter`,c),i.removeEventListener(`mouseleave`,l))}}},[o,s,e,u,f,O,k,A,r,n,_,p,g,h,i,j,v]),Wh(()=>{var e;if(s&&n&&(e=h.current)!=null&&(e=e.__options)!=null&&e.blockPointerEvents&&D()){w.current=!0;let e=o.floating;if(Xp(o.domReference)&&e){var t;let n=Mh(o.floating).body;n.setAttribute(C_,``);let r=o.domReference,i=p==null||(t=p.nodesRef.current.find(e=>e.id===m))==null||(t=t.context)==null?void 0:t.elements.floating;return i&&(i.style.pointerEvents=``),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,e.style.pointerEvents=`auto`,()=>{n.style.pointerEvents=``,r.style.pointerEvents=``,e.style.pointerEvents=``}}}},[s,n,m,o,p,h,D]),Wh(()=>{n||(y.current=void 0,E.current=!1,k(),A())},[n,k,A]),F.useEffect(()=>()=>{k(),S_(b),S_(S),A()},[s,o.domReference,k,A]);let M=F.useMemo(()=>{function e(e){y.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e;function i(){!C.current&&!_.current&&r(!0,t,`hover`)}u&&!Uh(y.current)||n||T_(v.current)===0||E.current&&e.movementX**2+e.movementY**2<2||(S_(S),y.current===`touch`?i():(E.current=!0,S.current=window.setTimeout(i,T_(v.current))))}}},[u,r,n,_,v]);return F.useMemo(()=>s?{reference:M}:{},[s,M])}var D_=0;function O_(e,t){t===void 0&&(t={});let{preventScroll:n=!1,cancelPrevious:r=!0,sync:i=!1}=t;r&&cancelAnimationFrame(D_);let a=()=>e?.focus({preventScroll:n});i?a():D_=requestAnimationFrame(a)}function k_(e,t){if(!e||!t)return!1;let n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&Qp(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function A_(e){return`composedPath`in e?e.composedPath()[0]:e.target}function j_(e){return e?.ownerDocument||document}var M_={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap};function N_(e){return e===`inert`?M_.inert:e===`aria-hidden`?M_[`aria-hidden`]:M_.none}var P_=new WeakSet,F_={},I_=0,L_=()=>typeof HTMLElement<`u`&&`inert`in HTMLElement.prototype;function R_(e){return e?Qp(e)?e.host:R_(e.parentNode):null}var z_=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=R_(t);return e.contains(n)?n:null}).filter(e=>e!=null);function B_(e,t,n,r){let i=`data-floating-ui-inert`,a=r?`inert`:n?`aria-hidden`:null,o=z_(t,e),s=new Set,c=new Set(o),l=[];F_[i]||(F_[i]=new WeakMap);let u=F_[i];o.forEach(d),f(t),s.clear();function d(e){!e||s.has(e)||(s.add(e),e.parentNode&&d(e.parentNode))}function f(e){!e||c.has(e)||[].forEach.call(e.children,e=>{if(Kp(e)!==`script`)if(s.has(e))f(e);else{let t=a?e.getAttribute(a):null,n=t!==null&&t!==`false`,r=N_(a),o=(r.get(e)||0)+1,s=(u.get(e)||0)+1;r.set(e,o),u.set(e,s),l.push(e),o===1&&n&&P_.add(e),s===1&&e.setAttribute(i,``),!n&&a&&e.setAttribute(a,a===`inert`?``:`true`)}})}return I_++,()=>{l.forEach(e=>{let t=N_(a),n=(t.get(e)||0)-1,r=(u.get(e)||0)-1;t.set(e,n),u.set(e,r),n||(!P_.has(e)&&a&&e.removeAttribute(a),P_.delete(e)),r||e.removeAttribute(i)}),I_--,I_||(M_.inert=new WeakMap,M_[`aria-hidden`]=new WeakMap,M_.none=new WeakMap,P_=new WeakSet,F_={})}}function V_(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);let r=j_(e[0]).body;return B_(e.concat(Array.from(r.querySelectorAll(`[aria-live],[role="status"],output`))),r,t,n)}var H_={border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`fixed`,whiteSpace:`nowrap`,width:`1px`,top:0,left:0},U_=F.forwardRef(function(e,t){let[n,r]=F.useState();Wh(()=>{xh()&&r(`button`)},[]);let i={ref:t,tabIndex:0,role:n,"aria-hidden":n?void 0:!0,[x_(`focus-guard`)]:``,style:H_};return(0,I.jsx)(`span`,{...e,...i})}),W_={clipPath:`inset(50%)`,position:`fixed`,top:0,left:0},G_=F.createContext(null),K_=x_(`portal`);function q_(e){e===void 0&&(e={});let{id:t,root:n}=e,r=h_(),i=Y_(),[a,o]=F.useState(null),s=F.useRef(null);return Wh(()=>()=>{a?.remove(),queueMicrotask(()=>{s.current=null})},[a]),Wh(()=>{if(!r||s.current)return;let e=t?document.getElementById(t):null;if(!e)return;let n=document.createElement(`div`);n.id=r,n.setAttribute(K_,``),e.appendChild(n),s.current=n,o(n)},[t,r]),Wh(()=>{if(n===null||!r||s.current)return;let e=n||i?.portalNode;e&&!Yp(e)&&(e=e.current),e||=document.body;let a=null;t&&(a=document.createElement(`div`),a.id=t,e.appendChild(a));let c=document.createElement(`div`);c.id=r,c.setAttribute(K_,``),e=a||e,e.appendChild(c),s.current=c,o(c)},[t,n,r,i]),a}function J_(e){let{children:t,id:n,root:r,preserveTabOrder:i=!0}=e,a=q_({id:n,root:r}),[o,s]=F.useState(null),c=F.useRef(null),l=F.useRef(null),u=F.useRef(null),d=F.useRef(null),f=o?.modal,p=o?.open,m=!!o&&!o.modal&&o.open&&i&&!!(r||a);return F.useEffect(()=>{if(!a||!i||f)return;function e(e){a&&$h(e)&&(e.type===`focusin`?tg:eg)(a)}return a.addEventListener(`focusin`,e,!0),a.addEventListener(`focusout`,e,!0),()=>{a.removeEventListener(`focusin`,e,!0),a.removeEventListener(`focusout`,e,!0)}},[a,i,f]),F.useEffect(()=>{a&&(p||tg(a))},[p,a]),(0,I.jsxs)(G_.Provider,{value:F.useMemo(()=>({preserveTabOrder:i,beforeOutsideRef:c,afterOutsideRef:l,beforeInsideRef:u,afterInsideRef:d,portalNode:a,setFocusManagerState:s}),[i,a]),children:[m&&a&&(0,I.jsx)(U_,{"data-type":`outside`,ref:c,onFocus:e=>{if($h(e,a)){var t;(t=u.current)==null||t.focus()}else Qh(o?o.domReference:null)?.focus()}}),m&&a&&(0,I.jsx)(`span`,{"aria-owns":a.id,style:W_}),a&&ng.createPortal(t,a),m&&a&&(0,I.jsx)(U_,{"data-type":`outside`,ref:l,onFocus:e=>{if($h(e,a)){var t;(t=d.current)==null||t.focus()}else Zh(o?o.domReference:null)?.focus(),o!=null&&o.closeOnFocusOut&&o?.onOpenChange(!1,e.nativeEvent,`focus-out`)}})]})}var Y_=()=>F.useContext(G_);function X_(e){return F.useMemo(()=>t=>{e.forEach(e=>{e&&(e.current=t)})},e)}var Z_=20,Q_=[];function $_(){Q_=Q_.filter(e=>e.deref()?.isConnected)}function ev(e){$_(),e&&Kp(e)!==`body`&&(Q_.push(new WeakRef(e)),Q_.length>Z_&&(Q_=Q_.slice(-20)))}function tv(){return $_(),Q_[Q_.length-1]?.deref()}function nv(e){let t=Yh();return vh(e,t)?e:gh(e,t)[0]||e}function rv(e,t){var n;if(!t.current.includes(`floating`)&&!((n=e.getAttribute(`role`))!=null&&n.includes(`dialog`)))return;let r=Yh(),i=_h(e,r).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return vh(e,r)||e.hasAttribute(`data-tabindex`)&&!t.startsWith(`-`)}),a=e.getAttribute(`tabindex`);t.current.includes(`floating`)||i.length===0?a!==`0`&&e.setAttribute(`tabindex`,`0`):(a!==`-1`||e.hasAttribute(`data-tabindex`)&&e.getAttribute(`data-tabindex`)!==`-1`)&&(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`data-tabindex`,`-1`))}var iv=F.forwardRef(function(e,t){return(0,I.jsx)(`button`,{...e,type:`button`,ref:t,tabIndex:-1,style:H_})});function av(e){let{context:t,children:n,disabled:r=!1,order:i=[`content`],guards:a=!0,initialFocus:o=0,returnFocus:s=!0,restoreFocus:c=!1,modal:l=!0,visuallyHiddenDismiss:u=!1,closeOnFocusOut:d=!0,outsideElementsInert:f=!1,getInsideElements:p=()=>[]}=e,{open:m,onOpenChange:h,events:g,dataRef:_,elements:{domReference:v,floating:y}}=t,b=Jh(()=>_.current.floatingContext?.nodeId),x=Jh(p),S=typeof o==`number`&&o<0,C=Ph(v)&&S,w=L_(),T=w?a:!0,E=!T||w&&f,D=Kh(i),O=Kh(o),k=Kh(s),A=b_(),j=Y_(),M=F.useRef(null),N=F.useRef(null),P=F.useRef(!1),ee=F.useRef(!1),te=F.useRef(-1),ne=F.useRef(-1),re=j!=null,L=Ih(y),R=Jh(function(e){return e===void 0&&(e=L),e?gh(e,Yh()):[]}),z=Jh(e=>{let t=R(e);return D.current.map(e=>v&&e===`reference`?v:L&&e===`floating`?L:t).filter(Boolean).flat()});F.useEffect(()=>{if(r||!l)return;function e(e){if(e.key===`Tab`){Oh(L,Dh(Mh(L)))&&R().length===0&&!C&&zh(e);let t=z(),n=kh(e);D.current[0]===`reference`&&n===v&&(zh(e),e.shiftKey?O_(t[t.length-1]):O_(t[1])),D.current[1]===`floating`&&n===L&&e.shiftKey&&(zh(e),O_(t[0]))}}let t=Mh(L);return t.addEventListener(`keydown`,e),()=>{t.removeEventListener(`keydown`,e)}},[r,v,L,l,D,C,R,z]),F.useEffect(()=>{if(r||!y)return;function e(e){let t=kh(e),n=R().indexOf(t);n!==-1&&(te.current=n)}return y.addEventListener(`focusin`,e),()=>{y.removeEventListener(`focusin`,e)}},[r,y,R]),F.useEffect(()=>{if(r||!d)return;function e(){ee.current=!0,setTimeout(()=>{ee.current=!1})}function t(e){let t=e.relatedTarget,n=e.currentTarget,r=kh(e);queueMicrotask(()=>{let i=b(),a=!(Oh(v,t)||Oh(y,t)||Oh(t,y)||Oh(j?.portalNode,t)||t!=null&&t.hasAttribute(x_(`focus-guard`))||A&&(Lh(A.nodesRef.current,i).find(e=>Oh(e.context?.elements.floating,t)||Oh(e.context?.elements.domReference,t))||Rh(A.nodesRef.current,i).find(e=>[e.context?.elements.floating,Ih(e.context?.elements.floating)].includes(t)||e.context?.elements.domReference===t)));if(n===v&&L&&rv(L,D),c&&n!==v&&!(r!=null&&r.isConnected)&&Dh(Mh(L))===Mh(L).body){Zp(L)&&L.focus();let e=te.current,t=R(),n=t[e]||t[t.length-1]||L;Zp(n)&&n.focus()}if(_.current.insideReactTree){_.current.insideReactTree=!1;return}(C||!l)&&t&&a&&!ee.current&&t!==tv()&&(P.current=!0,h(!1,e,`focus-out`))})}let n=!!(!A&&j);function i(){S_(ne),_.current.insideReactTree=!0,ne.current=window.setTimeout(()=>{_.current.insideReactTree=!1})}if(y&&Zp(v))return v.addEventListener(`focusout`,t),v.addEventListener(`pointerdown`,e),y.addEventListener(`focusout`,t),n&&y.addEventListener(`focusout`,i,!0),()=>{v.removeEventListener(`focusout`,t),v.removeEventListener(`pointerdown`,e),y.removeEventListener(`focusout`,t),n&&y.removeEventListener(`focusout`,i,!0)}},[r,v,y,L,l,A,j,h,d,c,R,C,b,D,_]);let ie=F.useRef(null),ae=F.useRef(null),oe=X_([ie,j?.beforeInsideRef]),se=X_([ae,j?.afterInsideRef]);F.useEffect(()=>{var e,t;if(r||!y)return;let n=Array.from((j==null||(e=j.portalNode)==null?void 0:e.querySelectorAll(`[`+x_(`portal`)+`]`))||[]),i=[y,(t=(A?Rh(A.nodesRef.current,b()):[]).find(e=>Ph(e.context?.elements.domReference||null)))==null||(t=t.context)==null?void 0:t.elements.domReference,...n,...x(),M.current,N.current,ie.current,ae.current,j?.beforeOutsideRef.current,j?.afterOutsideRef.current,D.current.includes(`reference`)||C?v:null].filter(e=>e!=null),a=l||C?V_(i,!E,E):V_(i);return()=>{a()}},[r,v,y,l,D,j,C,T,E,A,b,x]),Wh(()=>{if(r||!Zp(L))return;let e=Dh(Mh(L));queueMicrotask(()=>{let t=z(L),n=O.current,r=(typeof n==`number`?t[n]:n.current)||L,i=Oh(L,e);!S&&!i&&m&&O_(r,{preventScroll:r===L})})},[r,m,L,S,z,O]),Wh(()=>{if(r||!L)return;let e=Mh(L);ev(Dh(e));function t(e){let{reason:t,event:n,nested:r}=e;if([`hover`,`safe-polygon`].includes(t)&&n.type===`mouseleave`&&(P.current=!0),t===`outside-press`)if(r)P.current=!1;else if(Vh(n)||Hh(n))P.current=!1;else{let e=!1;document.createElement(`div`).focus({get preventScroll(){return e=!0,!1}}),e?P.current=!1:P.current=!0}}g.on(`openchange`,t);let n=e.createElement(`span`);n.setAttribute(`tabindex`,`-1`),n.setAttribute(`aria-hidden`,`true`),Object.assign(n.style,H_),re&&v&&v.insertAdjacentElement(`afterend`,n);function i(){if(typeof k.current==`boolean`){let e=v||tv();return e&&e.isConnected?e:n}return k.current.current||n}return()=>{g.off(`openchange`,t);let r=Dh(e),a=Oh(y,r)||A&&Lh(A.nodesRef.current,b(),!1).some(e=>Oh(e.context?.elements.floating,r)),o=i();queueMicrotask(()=>{let t=nv(o);k.current&&!P.current&&Zp(t)&&(!(t!==r&&r!==e.body)||a)&&t.focus({preventScroll:!0}),n.remove()})}},[r,y,L,k,_,g,A,re,v,b]),F.useEffect(()=>(queueMicrotask(()=>{P.current=!1}),()=>{queueMicrotask($_)}),[r]),Wh(()=>{if(!r&&j)return j.setFocusManagerState({modal:l,closeOnFocusOut:d,open:m,onOpenChange:h,domReference:v}),()=>{j.setFocusManagerState(null)}},[r,j,l,m,h,d,v]),Wh(()=>{r||L&&rv(L,D)},[r,L,D]);function ce(e){return r||!u||!l?null:(0,I.jsx)(iv,{ref:e===`start`?M:N,onClick:e=>h(!1,e.nativeEvent),children:typeof u==`string`?u:`Dismiss`})}let le=!r&&T&&(l?!C:!0)&&(re||l);return(0,I.jsxs)(I.Fragment,{children:[le&&(0,I.jsx)(U_,{"data-type":`inside`,ref:oe,onFocus:e=>{if(l){let e=z();O_(i[0]===`reference`?e[0]:e[e.length-1])}else if(j!=null&&j.preserveTabOrder&&j.portalNode)if(P.current=!1,$h(e,j.portalNode))Zh(v)?.focus();else{var t;(t=j.beforeOutsideRef.current)==null||t.focus()}}}),!C&&ce(`start`),n,ce(`end`),le&&(0,I.jsx)(U_,{"data-type":`inside`,ref:se,onFocus:e=>{if(l)O_(z()[0]);else if(j!=null&&j.preserveTabOrder&&j.portalNode)if(d&&(P.current=!0),$h(e,j.portalNode))Qh(v)?.focus();else{var t;(t=j.afterOutsideRef.current)==null||t.focus()}}})]})}function ov(e){return Zp(e.target)&&e.target.tagName===`BUTTON`}function sv(e){return Zp(e.target)&&e.target.tagName===`A`}function cv(e){return Nh(e)}function lv(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,dataRef:i,elements:{domReference:a}}=e,{enabled:o=!0,event:s=`click`,toggle:c=!0,ignoreMouse:l=!1,keyboardHandlers:u=!0,stickIfOpen:d=!0}=t,f=F.useRef(),p=F.useRef(!1),m=F.useMemo(()=>({onPointerDown(e){f.current=e.pointerType},onMouseDown(e){let t=f.current;e.button===0&&s!==`click`&&(Uh(t,!0)&&l||(n&&c&&(!(i.current.openEvent&&d)||i.current.openEvent.type===`mousedown`)?r(!1,e.nativeEvent,`click`):(e.preventDefault(),r(!0,e.nativeEvent,`click`))))},onClick(e){let t=f.current;if(s===`mousedown`&&f.current){f.current=void 0;return}Uh(t,!0)&&l||(n&&c&&(!(i.current.openEvent&&d)||i.current.openEvent.type===`click`)?r(!1,e.nativeEvent,`click`):r(!0,e.nativeEvent,`click`))},onKeyDown(e){f.current=void 0,!(e.defaultPrevented||!u||ov(e))&&(e.key===` `&&!cv(a)&&(e.preventDefault(),p.current=!0),!sv(e)&&e.key===`Enter`&&r(!(n&&c),e.nativeEvent,`click`))},onKeyUp(e){e.defaultPrevented||!u||ov(e)||cv(a)||e.key===` `&&p.current&&(p.current=!1,r(!(n&&c),e.nativeEvent,`click`))}}),[i,a,s,l,u,r,n,d,c]);return F.useMemo(()=>o?{reference:m}:{},[o,m])}var uv={pointerdown:`onPointerDown`,mousedown:`onMouseDown`,click:`onClick`},dv={pointerdown:`onPointerDownCapture`,mousedown:`onMouseDownCapture`,click:`onClickCapture`},fv=e=>({escapeKey:typeof e==`boolean`?e:e?.escapeKey??!1,outsidePress:typeof e==`boolean`?e:e?.outsidePress??!0});function pv(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,elements:i,dataRef:a}=e,{enabled:o=!0,escapeKey:s=!0,outsidePress:c=!0,outsidePressEvent:l=`pointerdown`,referencePress:u=!1,referencePressEvent:d=`pointerdown`,ancestorScroll:f=!1,bubbles:p,capture:m}=t,h=b_(),g=Jh(typeof c==`function`?c:()=>!1),_=typeof c==`function`?g:c,v=F.useRef(!1),{escapeKey:y,outsidePress:b}=fv(p),{escapeKey:x,outsidePress:S}=fv(m),C=F.useRef(!1),w=Jh(e=>{if(!n||!o||!s||e.key!==`Escape`||C.current)return;let t=a.current.floatingContext?.nodeId,i=h?Lh(h.nodesRef.current,t):[];if(!y&&(e.stopPropagation(),i.length>0)){let e=!0;if(i.forEach(t=>{var n;if((n=t.context)!=null&&n.open&&!t.context.dataRef.current.__escapeKeyBubbles){e=!1;return}}),!e)return}r(!1,Bh(e)?e.nativeEvent:e,`escape-key`)}),T=Jh(e=>{var t;let n=()=>{var t;w(e),(t=kh(e))==null||t.removeEventListener(`keydown`,n)};(t=kh(e))==null||t.addEventListener(`keydown`,n)}),E=Jh(e=>{let t=a.current.insideReactTree;a.current.insideReactTree=!1;let n=v.current;if(v.current=!1,l===`click`&&n||t||typeof _==`function`&&!_(e))return;let o=kh(e),s=`[`+x_(`inert`)+`]`,c=Mh(i.floating).querySelectorAll(s),u=Xp(o)?o:null;for(;u&&!lm(u);){let e=fm(u);if(lm(e)||!Xp(e))break;u=e}if(c.length&&Xp(o)&&!jh(o)&&!Oh(o,i.floating)&&Array.from(c).every(e=>!Oh(u,e)))return;if(Zp(o)&&k){let t=lm(o),n=um(o),r=/auto|scroll/,i=t||r.test(n.overflowX),a=t||r.test(n.overflowY),s=i&&o.clientWidth>0&&o.scrollWidth>o.clientWidth,c=a&&o.clientHeight>0&&o.scrollHeight>o.clientHeight,l=n.direction===`rtl`,u=c&&(l?e.offsetX<=o.offsetWidth-o.clientWidth:e.offsetX>o.clientWidth),d=s&&e.offsetY>o.clientHeight;if(u||d)return}let d=a.current.floatingContext?.nodeId,f=h&&Lh(h.nodesRef.current,d).some(t=>Ah(e,t.context?.elements.floating));if(Ah(e,i.floating)||Ah(e,i.domReference)||f)return;let p=h?Lh(h.nodesRef.current,d):[];if(p.length>0){let e=!0;if(p.forEach(t=>{var n;if((n=t.context)!=null&&n.open&&!t.context.dataRef.current.__outsidePressBubbles){e=!1;return}}),!e)return}r(!1,e,`outside-press`)}),D=Jh(e=>{var t;let n=()=>{var t;E(e),(t=kh(e))==null||t.removeEventListener(l,n)};(t=kh(e))==null||t.addEventListener(l,n)});F.useEffect(()=>{if(!n||!o)return;a.current.__escapeKeyBubbles=y,a.current.__outsidePressBubbles=b;let e=-1;function t(e){r(!1,e,`ancestor-scroll`)}function c(){window.clearTimeout(e),C.current=!0}function u(){e=window.setTimeout(()=>{C.current=!1},cm()?5:0)}let d=Mh(i.floating);s&&(d.addEventListener(`keydown`,x?T:w,x),d.addEventListener(`compositionstart`,c),d.addEventListener(`compositionend`,u)),_&&d.addEventListener(l,S?D:E,S);let p=[];return f&&(Xp(i.domReference)&&(p=mm(i.domReference)),Xp(i.floating)&&(p=p.concat(mm(i.floating))),!Xp(i.reference)&&i.reference&&i.reference.contextElement&&(p=p.concat(mm(i.reference.contextElement)))),p=p.filter(e=>e!==d.defaultView?.visualViewport),p.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0})}),()=>{s&&(d.removeEventListener(`keydown`,x?T:w,x),d.removeEventListener(`compositionstart`,c),d.removeEventListener(`compositionend`,u)),_&&d.removeEventListener(l,S?D:E,S),p.forEach(e=>{e.removeEventListener(`scroll`,t)}),window.clearTimeout(e)}},[a,i,s,_,l,n,r,f,o,y,b,w,x,T,E,S,D]),F.useEffect(()=>{a.current.insideReactTree=!1},[a,_,l]);let O=F.useMemo(()=>({onKeyDown:w,...u&&{[uv[d]]:e=>{r(!1,e.nativeEvent,`reference-press`)},...d!==`click`&&{onClick(e){r(!1,e.nativeEvent,`reference-press`)}}}}),[w,r,u,d]),k=F.useMemo(()=>{function e(e){e.button===0&&(v.current=!0)}return{onKeyDown:w,onMouseDown:e,onMouseUp:e,[dv[l]]:()=>{a.current.insideReactTree=!0}}},[w,l,a]);return F.useMemo(()=>o?{reference:O,floating:k}:{},[o,O,k])}function mv(e){let{open:t=!1,onOpenChange:n,elements:r}=e,i=h_(),a=F.useRef({}),[o]=F.useState(()=>g_()),s=y_()!=null,[c,l]=F.useState(r.reference),u=Jh((e,t,r)=>{a.current.openEvent=e?t:void 0,o.emit(`openchange`,{open:e,event:t,reason:r,nested:s}),n?.(e,t,r)}),d=F.useMemo(()=>({setPositionReference:l}),[]),f=F.useMemo(()=>({reference:c||r.reference||null,floating:r.floating||null,domReference:r.reference}),[c,r.reference,r.floating]);return F.useMemo(()=>({dataRef:a,open:t,onOpenChange:u,elements:f,events:o,floatingId:i,refs:d}),[t,u,f,o,i,d])}function hv(e){e===void 0&&(e={});let{nodeId:t}=e,n=mv({...e,elements:{reference:null,floating:null,...e.elements}}),r=e.rootContext||n,i=r.elements,[a,o]=F.useState(null),[s,c]=F.useState(null),l=i?.domReference||a,u=F.useRef(null),d=b_();Wh(()=>{l&&(u.current=l)},[l]);let f=Zg({...e,elements:{...i,...s&&{reference:s}}}),p=F.useCallback(e=>{let t=Xp(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;c(t),f.refs.setReference(t)},[f.refs]),m=F.useCallback(e=>{(Xp(e)||e===null)&&(u.current=e,o(e)),(Xp(f.refs.reference.current)||f.refs.reference.current===null||e!==null&&!Xp(e))&&f.refs.setReference(e)},[f.refs]),h=F.useMemo(()=>({...f.refs,setReference:m,setPositionReference:p,domReference:u}),[f.refs,m,p]),g=F.useMemo(()=>({...f.elements,domReference:l}),[f.elements,l]),_=F.useMemo(()=>({...f,...r,refs:h,elements:g,nodeId:t}),[f,h,g,t,r]);return Wh(()=>{r.dataRef.current.floatingContext=_;let e=d?.nodesRef.current.find(e=>e.id===t);e&&(e.context=_)}),F.useMemo(()=>({...f,context:_,refs:h,elements:g}),[f,h,g,_])}function gv(){return Ch()&&xh()}function _v(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,events:i,dataRef:a,elements:o}=e,{enabled:s=!0,visibleOnly:c=!0}=t,l=F.useRef(!1),u=F.useRef(-1),d=F.useRef(!0);F.useEffect(()=>{if(!s)return;let e=qp(o.domReference);function t(){!n&&Zp(o.domReference)&&o.domReference===Dh(Mh(o.domReference))&&(l.current=!0)}function r(){d.current=!0}function i(){d.current=!1}return e.addEventListener(`blur`,t),gv()&&(e.addEventListener(`keydown`,r,!0),e.addEventListener(`pointerdown`,i,!0)),()=>{e.removeEventListener(`blur`,t),gv()&&(e.removeEventListener(`keydown`,r,!0),e.removeEventListener(`pointerdown`,i,!0))}},[o.domReference,n,s]),F.useEffect(()=>{if(!s)return;function e(e){let{reason:t}=e;(t===`reference-press`||t===`escape-key`)&&(l.current=!0)}return i.on(`openchange`,e),()=>{i.off(`openchange`,e)}},[i,s]),F.useEffect(()=>()=>{S_(u)},[]);let f=F.useMemo(()=>({onMouseLeave(){l.current=!1},onFocus(e){if(l.current)return;let t=kh(e.nativeEvent);if(c&&Xp(t)){if(gv()&&!e.relatedTarget){if(!d.current&&!Nh(t))return}else if(!Fh(t))return}r(!0,e.nativeEvent,`focus`)},onBlur(e){l.current=!1;let t=e.relatedTarget,n=e.nativeEvent,i=Xp(t)&&t.hasAttribute(x_(`focus-guard`))&&t.getAttribute(`data-type`)===`outside`;u.current=window.setTimeout(()=>{let e=Dh(o.domReference?o.domReference.ownerDocument:document);!t&&e===o.domReference||Oh(a.current.floatingContext?.refs.floating.current,e)||Oh(o.domReference,e)||i||r(!1,n,`focus`)})}}),[a,o.domReference,r,c]);return F.useMemo(()=>s?{reference:f}:{},[s,f])}function vv(e,t,n){let r=new Map,i=n===`item`,a=e;if(i&&e){let{[n_]:t,[r_]:n,...r}=e;a=r}return{...n===`floating`&&{tabIndex:-1,[t_]:``},...a,...t.map(t=>{let r=t?t[n]:null;return typeof r==`function`?e?r(e):null:r}).concat(e).reduce((e,t)=>(t&&Object.entries(t).forEach(t=>{let[n,a]=t;if(!(i&&[n_,r_].includes(n)))if(n.indexOf(`on`)===0){if(r.has(n)||r.set(n,[]),typeof a==`function`){var o;(o=r.get(n))==null||o.push(a),e[n]=function(){var e=[...arguments];return r.get(n)?.map(t=>t(...e)).find(e=>e!==void 0)}}}else e[n]=a}),e),{})}}function yv(e){e===void 0&&(e=[]);let t=e.map(e=>e?.reference),n=e.map(e=>e?.floating),r=e.map(e=>e?.item),i=F.useCallback(t=>vv(t,e,`reference`),t),a=F.useCallback(t=>vv(t,e,`floating`),n),o=F.useCallback(t=>vv(t,e,`item`),r);return F.useMemo(()=>({getReferenceProps:i,getFloatingProps:a,getItemProps:o}),[i,a,o])}var bv=new Map([[`select`,`listbox`],[`combobox`,`listbox`],[`label`,!1]]);function xv(e,t){t===void 0&&(t={});let{open:n,elements:r,floatingId:i}=e,{enabled:a=!0,role:o=`dialog`}=t,s=h_(),c=r.domReference?.id||s,l=F.useMemo(()=>Ih(r.floating)?.id||i,[r.floating,i]),u=bv.get(o)??o,d=y_()!=null,f=F.useMemo(()=>u===`tooltip`||o===`label`?{[`aria-`+(o===`label`?`labelledby`:`describedby`)]:n?l:void 0}:{"aria-expanded":n?`true`:`false`,"aria-haspopup":u===`alertdialog`?`dialog`:u,"aria-controls":n?l:void 0,...u===`listbox`&&{role:`combobox`},...u===`menu`&&{id:c},...u===`menu`&&d&&{role:`menuitem`},...o===`select`&&{"aria-autocomplete":`none`},...o===`combobox`&&{"aria-autocomplete":`list`}},[u,l,d,n,c,o]),p=F.useMemo(()=>{let e={id:l,...u&&{role:u}};return u===`tooltip`||o===`label`?e:{...e,...u===`menu`&&{"aria-labelledby":c}}},[u,l,c,o]),m=F.useCallback(e=>{let{active:t,selected:n}=e,r={role:`option`,...t&&{id:l+`-fui-option`}};switch(o){case`select`:case`combobox`:return{...r,"aria-selected":n}}return{}},[l,o]);return F.useMemo(()=>a?{reference:f,floating:p,item:m}:{},[a,f,p,m])}var Sv=e=>e.replace(/[A-Z]+(?![a-z])|[A-Z]/g,(e,t)=>(t?`-`:``)+e.toLowerCase());function Cv(e,t){return typeof e==`function`?e(t):e}function wv(e,t){let[n,r]=F.useState(e);return e&&!n&&r(!0),F.useEffect(()=>{if(!e&&n){let e=setTimeout(()=>r(!1),t);return()=>clearTimeout(e)}},[e,n,t]),n}function Tv(e,t){t===void 0&&(t={});let{open:n,elements:{floating:r}}=e,{duration:i=250}=t,a=(typeof i==`number`?i:i.close)||0,[o,s]=F.useState(`unmounted`),c=wv(n,a);return!c&&o===`close`&&s(`unmounted`),Wh(()=>{if(r){if(n){s(`initial`);let e=requestAnimationFrame(()=>{ng.flushSync(()=>{s(`open`)})});return()=>{cancelAnimationFrame(e)}}s(`close`)}},[n,r]),{isMounted:c,status:o}}function Ev(e,t){t===void 0&&(t={});let{initial:n={opacity:0},open:r,close:i,common:a,duration:o=250}=t,s=e.placement,c=s.split(`-`)[0],l=F.useMemo(()=>({side:c,placement:s}),[c,s]),u=typeof o==`number`,d=(u?o:o.open)||0,f=(u?o:o.close)||0,[p,m]=F.useState(()=>({...Cv(a,l),...Cv(n,l)})),{isMounted:h,status:g}=Tv(e,{duration:o}),_=Kh(n),v=Kh(r),y=Kh(i),b=Kh(a);return Wh(()=>{let e=Cv(_.current,l),t=Cv(y.current,l),n=Cv(b.current,l),r=Cv(v.current,l)||Object.keys(e).reduce((e,t)=>(e[t]=``,e),{});if(g===`initial`&&m(t=>({transitionProperty:t.transitionProperty,...n,...e})),g===`open`&&m({transitionProperty:Object.keys(r).map(Sv).join(`,`),transitionDuration:d+`ms`,...n,...r}),g===`close`){let r=t||e;m({transitionProperty:Object.keys(r).map(Sv).join(`,`),transitionDuration:f+`ms`,...n,...r})}},[f,y,_,v,b,d,g,l]),{isMounted:h,styles:p}}function Dv(e,t,n){return n===void 0&&(n=!0),e.filter(e=>e.parentId===t&&(!n||e.context?.open)).flatMap(t=>[t,...Dv(e,t.id,n)])}function Ov(e,t){let[n,r]=e,i=!1,a=t.length;for(let e=0,o=a-1;e<a;o=e++){let[a,s]=t[e]||[0,0],[c,l]=t[o]||[0,0];s>=r!=l>=r&&n<=(c-a)*(r-s)/(l-s)+a&&(i=!i)}return i}function kv(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}function Av(e){e===void 0&&(e={});let{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:r=!0}=e,i={current:-1},a=!1,o=null,s=null,c=typeof performance<`u`?performance.now():0;function l(e,t){let n=performance.now(),r=n-c;if(o===null||s===null||r===0)return o=e,s=t,c=n,null;let i=e-o,a=t-s,l=Math.sqrt(i*i+a*a)/r;return o=e,s=t,c=n,l}let u=e=>{let{x:n,y:o,placement:s,elements:c,onClose:u,nodeId:d,tree:f}=e;return function(e){function p(){S_(i),u()}if(S_(i),!c.domReference||!c.floating||s==null||n==null||o==null)return;let{clientX:m,clientY:h}=e,g=[m,h],_=A_(e),v=e.type===`mouseleave`,y=k_(c.floating,_),b=k_(c.domReference,_),x=c.domReference.getBoundingClientRect(),S=c.floating.getBoundingClientRect(),C=s.split(`-`)[0],w=n>S.right-S.width/2,T=o>S.bottom-S.height/2,E=kv(g,x),D=S.width>x.width,O=S.height>x.height,k=(D?x:S).left,A=(D?x:S).right,j=(O?x:S).top,M=(O?x:S).bottom;if(y&&(a=!0,!v))return;if(b&&(a=!1),b&&!v){a=!0;return}if(v&&Xp(e.relatedTarget)&&k_(c.floating,e.relatedTarget)||f&&Dv(f.nodesRef.current,d).length)return;if(C===`top`&&o>=x.bottom-1||C===`bottom`&&o<=x.top+1||C===`left`&&n>=x.right-1||C===`right`&&n<=x.left+1)return p();let N=[];switch(C){case`top`:N=[[k,x.top+1],[k,S.bottom-1],[A,S.bottom-1],[A,x.top+1]];break;case`bottom`:N=[[k,S.top+1],[k,x.bottom-1],[A,x.bottom-1],[A,S.top+1]];break;case`left`:N=[[S.right-1,M],[S.right-1,j],[x.left+1,j],[x.left+1,M]];break;case`right`:N=[[x.right-1,M],[x.right-1,j],[S.left+1,j],[S.left+1,M]];break}function P(e){let[n,r]=e;switch(C){case`top`:return[[D?n+t/2:w?n+t*4:n-t*4,r+t+1],[D?n-t/2:w?n+t*4:n-t*4,r+t+1],[S.left,w||D?S.bottom-t:S.top],[S.right,w?D?S.bottom-t:S.top:S.bottom-t]];case`bottom`:return[[D?n+t/2:w?n+t*4:n-t*4,r-t],[D?n-t/2:w?n+t*4:n-t*4,r-t],[S.left,w||D?S.top+t:S.bottom],[S.right,w?D?S.top+t:S.bottom:S.top+t]];case`left`:{let e=[n+t+1,O?r+t/2:T?r+t*4:r-t*4],i=[n+t+1,O?r-t/2:T?r+t*4:r-t*4];return[[T||O?S.right-t:S.left,S.top],[T?O?S.right-t:S.left:S.right-t,S.bottom],e,i]}case`right`:return[[n-t,O?r+t/2:T?r+t*4:r-t*4],[n-t,O?r-t/2:T?r+t*4:r-t*4],[T||O?S.left+t:S.right,S.top],[T?O?S.left+t:S.right:S.left+t,S.bottom]]}}if(!Ov([m,h],N)){if(a&&!E)return p();if(!v&&r){let t=l(e.clientX,e.clientY);if(t!==null&&t<.1)return p()}Ov([m,h],P([n,o]))?!a&&r&&(i.current=window.setTimeout(p,40)):p()}}};return u.__options={blockPointerEvents:n},u}var jv={".":`Uncommitted Changes`,staged:`Staging Area`,working:`Working Directory`},Mv=new Set([`.`,`staged`,`working`]),Nv=e=>{let t=!e||Mv.has(e)?`HEAD`:`${e}^`;return Yt(`${t}^`,t)},Pv=e=>Jt(e.baseMode)===`merge-base`?!1:!!e.targetCommitish&&e.baseCommitish===`${e.targetCommitish}^`,Fv=(e,t)=>e?e===t.shortHash||e===t.hash:!1,Iv=(e,t)=>t?`${e.shortHash}^`:e.shortHash,Lv=(e,t,n)=>{if(!t)return`Select...`;let r=t.endsWith(`^`),i=r?t.slice(0,-1):t;if(i.startsWith(`HEAD`))return t;let a=jv[t];if(a)return a;let o=e.specialOptions.find(e=>e.value===t);if(o)return o.label;let s=e.branches.find(e=>e.name===i);if(s)return r?`${s.name}^`:s.name;let c=e.commits.find(e=>e.shortHash===i||e.hash===i);if(c)return Iv(c,r);if(n){let t=e.commits.find(e=>e.shortHash===n||e.hash===n);if(t)return Iv(t,!1)}return t};function Rv({options:e,selection:t,resolvedBaseRevision:n,resolvedTargetRevision:r,onSelectDiff:i,onOpenAdvanced:a,compact:o=!1}){let[s,c]=(0,F.useState)(!1),[l,u]=(0,F.useState)(!1),d=o,{refs:f,floatingStyles:p,context:m}=hv({open:s||l,onOpenChange:e=>{!e&&l||c(e)},placement:`bottom-end`,middleware:[Qg(6),e_(),$g({padding:8})],whileElementsMounted:Vg}),{getReferenceProps:h,getFloatingProps:g}=yv([E_(m,{handleClose:Av()}),lv(m),pv(m),xv(m,{role:`menu`})]),{refs:_,floatingStyles:v,context:y}=hv({open:l,onOpenChange:e=>{e&&c(!0),u(e)},placement:`left-start`,middleware:[Qg(0),e_(),$g({padding:8})],whileElementsMounted:Vg}),{getReferenceProps:b,getFloatingProps:x}=yv([E_(y,{handleClose:Av()}),lv(y),pv(y),xv(y,{role:`menu`})]);(0,F.useEffect)(()=>{s||u(!1)},[s]);let S=(0,F.useMemo)(()=>{let i=Pv(t),a=e.commits.find(e=>i?Fv(t.targetCommitish,e)||Fv(r,e):!1);return a?`${a.shortHash} ${a.message}`:`${Lv(e,t.baseCommitish,n)}...${Lv(e,t.targetCommitish,r)}${Jt(t.baseMode)===`merge-base`?` (merge-base)`:``}`},[e,t,n,r]),C=(0,F.useMemo)(()=>e.branches.find(e=>e.name===`main`)||e.branches.find(e=>e.name===`master`),[e.branches]),w=e.originDefaultBranch,T=(0,F.useMemo)(()=>Yt(`HEAD^`,`HEAD`),[]),E=(0,F.useMemo)(()=>Yt(`HEAD`,`.`,`merge-base`),[]),D=(0,F.useMemo)(()=>C?Yt(C.name,`.`,`merge-base`):null,[C]),O=(0,F.useMemo)(()=>w?Yt(w,`.`,`merge-base`):null,[w]),k=(0,F.useMemo)(()=>Nv(t.targetCommitish),[t.targetCommitish]),A=e=>{i(e),u(!1),c(!1)},j=()=>{u(!1),c(!1),a()},M=(e,t)=>[`w-full text-left px-3 py-2 text-xs focus:outline-none transition-colors`,e?`hover:bg-diff-selected-bg focus:bg-diff-selected-bg`:`hover:bg-github-bg-tertiary focus:bg-github-bg-tertiary`,e?`bg-diff-selected-bg border-l-4 border-l-diff-selected-border font-semibold pl-2`:``,t?`opacity-50 cursor-not-allowed`:`cursor-pointer`].join(` `),N=e=>Xt(t,e),P=e=>Pv(t)?Fv(t.targetCommitish,e)||Fv(r,e):!1;return(0,I.jsxs)(`div`,{className:`relative`,children:[(0,I.jsx)(`button`,{ref:f.setReference,type:`button`,className:`flex items-center gap-1.5 cursor-pointer group`,"aria-haspopup":`menu`,"aria-expanded":s,"aria-label":`Revision menu: ${S}`,title:S,...h(),children:d?(0,I.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2 py-1 bg-github-bg-tertiary border border-github-border rounded hover:border-github-text-secondary transition-colors`,children:[(0,I.jsx)(it,{size:14,className:`text-github-text-secondary`}),(0,I.jsx)(Ve,{size:12,className:`text-github-text-secondary group-hover:text-github-text-primary transition-colors`})]}):(0,I.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 bg-github-bg-tertiary border border-github-border rounded hover:border-github-text-secondary transition-colors`,children:[(0,I.jsx)(`code`,{className:`text-xs text-github-text-primary`,children:S}),(0,I.jsx)(Ve,{size:12,className:`text-github-text-secondary group-hover:text-github-text-primary transition-colors`})]})}),s&&(0,I.jsx)(J_,{children:(0,I.jsxs)(`div`,{ref:f.setFloating,style:p,className:`bg-github-bg-secondary border border-github-border rounded shadow-lg z-50 w-[260px] max-h-[360px] overflow-y-auto`,...g(),children:[(0,I.jsxs)(`div`,{className:`border-b border-github-border`,children:[(0,I.jsx)(`div`,{className:`px-3 py-2 text-xs font-semibold text-github-text-secondary bg-github-bg-tertiary`,children:`Quick Diffs`}),(0,I.jsx)(`button`,{onClick:()=>A(T),className:M(N(T),!1),children:`HEAD`}),(0,I.jsx)(`button`,{onClick:()=>A(E),className:M(N(E),!1),children:`HEAD...Uncommitted (merge-base)`}),C&&D&&(0,I.jsx)(I.Fragment,{children:(0,I.jsxs)(`button`,{onClick:()=>A(D),className:M(N(D),!1),children:[C.name,`...Uncommitted (merge-base)`]})}),w&&O&&(0,I.jsxs)(`button`,{onClick:()=>A(O),className:M(N(O),!1),children:[w,`...Uncommitted (merge-base)`]})]}),(0,I.jsx)(`div`,{className:`border-b border-github-border`,children:(0,I.jsx)(`button`,{onClick:()=>A(k),className:M(N(k),!1),type:`button`,children:`Previous commit`})}),(0,I.jsx)(`div`,{className:`border-b border-github-border`,children:(0,I.jsx)(`button`,{ref:e.commits.length>0?_.setReference:void 0,className:M(!1,e.commits.length===0),...e.commits.length>0?b():{},disabled:e.commits.length===0,type:`button`,children:(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,I.jsx)(He,{size:12,className:`text-github-text-secondary`}),(0,I.jsx)(`span`,{children:`Pick Commit...`})]})})}),(0,I.jsx)(`div`,{children:(0,I.jsx)(`button`,{onClick:j,className:M(!1,!1),type:`button`,children:`Detailed...`})})]})}),l&&e.commits.length>0&&(0,I.jsx)(J_,{children:(0,I.jsxs)(`div`,{ref:_.setFloating,style:v,className:`bg-github-bg-secondary border border-github-border rounded shadow-lg z-50 w-[360px] max-h-[360px] overflow-y-auto`,...x(),children:[(0,I.jsx)(`div`,{className:`px-3 py-2 text-xs font-semibold text-github-text-secondary bg-github-bg-tertiary`,children:`Recent Commits`}),e.commits.map(e=>(0,I.jsx)(`button`,{onClick:()=>A(Yt(`${e.shortHash}^`,e.shortHash)),className:M(P(e),!1),type:`button`,children:(0,I.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,I.jsx)(`code`,{className:`text-xs text-github-text-primary font-mono whitespace-nowrap`,children:e.shortHash}),(0,I.jsx)(`span`,{className:`text-xs text-github-text-secondary flex-1 break-words`,children:e.message})]})},e.hash))]})})]})}var zv={getOldTokens:null,getNewTokens:null},Bv=2e3;async function Vv(e,t){try{let n=await fetch(`/api/blob/${encodeURIComponent(e)}?ref=${encodeURIComponent(t)}`);return n.ok?await n.text():null}catch{return null}}function Hv(e,t){if(e.split(`
|
|
50
|
+
`).length>Bv)return null;let n=up.languages[t];if(!n)return null;try{return $f(up.tokenize(e,n))}catch{return null}}function Uv({file:e,enabled:t,baseCommitish:n,targetCommitish:r,reloadKey:i}){let a=(0,F.useMemo)(()=>vp(e.path),[e.path]),o=n===`stdin`||r===`stdin`,[s,c]=(0,F.useState)(null),[l,u]=(0,F.useState)(null),[d,f]=(0,F.useState)(()=>!t||!!up.languages[a]);(0,F.useEffect)(()=>{if(!t)return;if(up.languages[a]){f(!0);return}let e=!1;return lp(a).then(()=>{e||f(!0)}).catch(()=>{e||f(!1)}),()=>{e=!0}},[t,a]),(0,F.useEffect)(()=>{if(!t||o){c(null),u(null);return}let i=!1,a=e.status!==`added`&&!!n,s=e.status!==`deleted`&&!!r;return c(null),u(null),a&&Vv(e.oldPath||e.path,n).then(e=>{i||c(e)}),s&&Vv(e.path,r).then(e=>{i||u(e)}),()=>{i=!0}},[t,e.path,e.oldPath,e.status,n,r,i,o]);let p=(0,F.useMemo)(()=>!t||!d||s==null?null:Hv(s,a),[t,d,s,a]),m=(0,F.useMemo)(()=>!t||!d||l==null?null:Hv(l,a),[t,d,l,a]);return(0,F.useMemo)(()=>t?{getOldTokens:p?e=>p[e-1]??null:null,getNewTokens:m?e=>m[e-1]??null:null}:zv,[t,p,m])}var Wv=[`jpg`,`jpeg`,`png`,`gif`,`bmp`,`svg`,`webp`,`ico`,`tiff`,`tif`,`avif`,`heic`,`heif`];function Gv(e){if(!e)return!1;let t=Bd(e);return t?Wv.includes(t):!1}var Kv=[`ipynb`];function qv(e){if(!e)return!1;let t=Bd(e);return t?Kv.includes(t):!1}var Jv=(e,t)=>`${e.slice(0,7)}:${t}`,Yv=(e,t)=>window.__DIFIT_STATIC_BLOB_URLS__?.[Jv(t,e)]??`/api/blob/${e}?ref=${t}`;function Xv({file:e,diffMode:t,baseCommitish:n,targetCommitish:r}){let i=t??`split`,a=e.status===`deleted`,o=e.status===`added`,s=e.status===`modified`||e.status===`renamed`,c=n||`HEAD~1`,l=r||`HEAD`,[u,d]=(0,F.useState)({}),[f,p]=(0,F.useState)({}),m=async(e,t)=>{try{let n=e.naturalWidth,r=e.naturalHeight,i=(await(await fetch(e.src)).blob()).size;t({width:n,height:r,size:i})}catch(e){console.error(`Failed to get image info:`,e)}},h=e=>e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`:``,g=e=>!e.width||!e.height?``:`W: ${e.width}px | H: ${e.height}px`,_={backgroundImage:`
|
|
51
51
|
linear-gradient(45deg, #ccc 25%, transparent 25%, transparent 75%, #ccc 75%),
|
|
52
52
|
linear-gradient(45deg, #ccc 25%, transparent 25%, transparent 75%, #ccc 75%)
|
|
53
|
-
`,backgroundSize:`20px 20px`,backgroundPosition:`0 0, 10px 10px`,backgroundColor:`white`};return a?(0,I.jsx)(`div`,{className:`bg-github-bg-primary p-4`,children:(0,I.jsxs)(`div`,{className:`text-center`,children:[(0,I.jsx)(`div`,{className:`mb-2`,children:(0,I.jsx)(`span`,{className:`text-github-danger font-medium`,children:`Deleted Image`})}),(0,I.jsxs)(`div`,{className:`inline-block border border-github-border rounded-md p-4 bg-github-bg-secondary`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`Previous version:`}),(0,I.jsx)(`img`,{src:Yv(e.oldPath||e.path,c),alt:`Previous version of ${e.oldPath||e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,d),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(u.width||u.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(u),g(u)&&h(u.size)&&` | `,h(u.size)]})]})]})}):o?(0,I.jsx)(`div`,{className:`bg-github-bg-primary p-4`,children:(0,I.jsxs)(`div`,{className:`text-center`,children:[(0,I.jsx)(`div`,{className:`mb-2`,children:(0,I.jsx)(`span`,{className:`text-github-accent font-medium`,children:`Added Image`})}),(0,I.jsxs)(`div`,{className:`inline-block border border-github-border rounded-md p-4 bg-github-bg-secondary`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`New file:`}),(0,I.jsx)(`img`,{src:Yv(e.path,l),alt:`New image ${e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,p),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(f.width||f.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(f),g(f)&&h(f.size)&&` | `,h(f.size)]})]})]})}):s?i===`split`?(0,I.jsxs)(`div`,{className:`bg-github-bg-primary p-4`,children:[(0,I.jsx)(`div`,{className:`text-center mb-4`,children:(0,I.jsx)(`span`,{className:`text-github-text-primary font-medium`,children:`Modified Image`})}),(0,I.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,I.jsx)(`div`,{className:`text-center`,children:(0,I.jsxs)(`div`,{className:`border border-github-border rounded-md p-4 bg-github-bg-secondary`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`Previous version:`}),(0,I.jsx)(`img`,{src:Yv(e.oldPath||e.path,c),alt:`Previous version of ${e.oldPath||e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,d),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(u.width||u.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(u),g(u)&&h(u.size)&&` | `,h(u.size)]})]})}),(0,I.jsx)(`div`,{className:`text-center`,children:(0,I.jsxs)(`div`,{className:`border border-github-border rounded-md p-4 bg-github-bg-secondary`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`Current version:`}),(0,I.jsx)(`img`,{src:Yv(e.path,l),alt:`Current version of ${e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,p),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(f.width||f.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(f),g(f)&&h(f.size)&&` | `,h(f.size)]})]})})]})]}):(0,I.jsxs)(`div`,{className:`bg-github-bg-primary p-4`,children:[(0,I.jsx)(`div`,{className:`text-center mb-4`,children:(0,I.jsx)(`span`,{className:`text-github-text-primary font-medium`,children:`Modified Image`})}),(0,I.jsxs)(`div`,{className:`space-y-6`,children:[(0,I.jsx)(`div`,{className:`text-center`,children:(0,I.jsxs)(`div`,{className:`border border-github-border rounded-md p-4 bg-github-bg-secondary inline-block`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`Previous version:`}),(0,I.jsx)(`img`,{src:Yv(e.oldPath||e.path,c),alt:`Previous version of ${e.oldPath||e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,d),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(u.width||u.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(u),g(u)&&h(u.size)&&` | `,h(u.size)]})]})}),(0,I.jsx)(`div`,{className:`text-center`,children:(0,I.jsxs)(`div`,{className:`border border-github-border rounded-md p-4 bg-github-bg-secondary inline-block`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`Current version:`}),(0,I.jsx)(`img`,{src:Yv(e.path,l),alt:`Current version of ${e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,p),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(f.width||f.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(f),g(f)&&h(f.size)&&` | `,h(f.size)]})]})})]})]}):null}var Zv=null,Qv=()=>(Zv??=sp(()=>import(`./mermaid.core-BqQLoEhf.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])),Zv),$v=e=>e===`light`?`default`:`dark`;function ey({chart:e}){let t=(0,F.useRef)(null),n=(0,F.useId)().replace(/:/g,`-`),[r,i]=(0,F.useState)(()=>x()),[a,o]=(0,F.useState)(null),s=$v(r);return(0,F.useEffect)(()=>{let e=document.documentElement,t=()=>{let e=x();i(t=>t===e?t:e)};t();let n=new MutationObserver(e=>{e.some(e=>e.attributeName===`data-theme`)&&t()});return n.observe(e,{attributes:!0,attributeFilter:[`data-theme`]}),()=>{n.disconnect()}},[]),(0,F.useEffect)(()=>{let r=!1,i=t.current;return(async()=>{if(i){i.innerHTML=``,o(null);try{let{default:t}=await Qv();t.initialize({startOnLoad:!1,securityLevel:`strict`,theme:s});let{svg:a,bindFunctions:o}=await t.render(`mermaid-diagram-${n}`,e);if(r)return;i.innerHTML=a,o?.(i)}catch(e){if(r)return;i.innerHTML=``,o(e instanceof Error?e.message:`Failed to render Mermaid diagram`)}}})(),()=>{r=!0,i&&(i.innerHTML=``)}},[e,n,s]),a?(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`div`,{className:`text-sm text-github-danger`,title:a,children:`Unable to render Mermaid diagram.`}),(0,I.jsx)(`pre`,{className:`markdown-preview-code whitespace-pre-wrap border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-sm font-mono text-github-text-primary`,children:e})]}):(0,I.jsx)(`div`,{ref:t,"aria-label":`Mermaid diagram`,className:`mermaid-diagram overflow-x-auto rounded border border-github-border bg-github-bg-secondary p-3`})}var ty=({mode:e,hasFullPreview:t,onModeChange:n})=>(0,I.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,I.jsxs)(`button`,{onClick:()=>n(`diff`),className:`px-2 py-1 text-xs font-medium rounded transition-colors duration-200 flex items-center gap-1 cursor-pointer ${e===`diff`?`text-github-text-primary`:`text-github-text-secondary hover:text-github-text-primary`}`,title:`Code Diff`,children:[(0,I.jsx)(Qe,{size:14}),`Diff`]}),(0,I.jsxs)(`button`,{onClick:()=>n(`diff-preview`),className:`px-2 py-1 text-xs font-medium rounded transition-colors duration-200 flex items-center gap-1 cursor-pointer ${e===`diff-preview`?`text-github-text-primary`:`text-github-text-secondary hover:text-github-text-primary`}`,title:`Diff Preview`,children:[(0,I.jsx)(Ze,{size:14}),`Diff Preview`]}),t&&(0,I.jsxs)(`button`,{onClick:()=>n(`full-preview`),className:`px-2 py-1 text-xs font-medium rounded transition-colors duration-200 flex items-center gap-1 cursor-pointer ${e===`full-preview`?`text-github-text-primary`:`text-github-text-secondary hover:text-github-text-primary`}`,title:`Full Preview`,children:[(0,I.jsx)(Ze,{size:14}),`Full Preview`]})]}),ny=class{diff(e,t,n={}){let r;typeof n==`function`?(r=n,n={}):`callback`in n&&(r=n.callback);let i=this.castInput(e,n),a=this.castInput(t,n),o=this.removeEmpty(this.tokenize(i,n)),s=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,s,n,r)}diffWithOptionsObj(e,t,n,r){let i=e=>{if(e=this.postProcess(e,n),r){setTimeout(function(){r(e)},0);return}else return e},a=t.length,o=e.length,s=1,c=a+o;n.maxEditLength!=null&&(c=Math.min(c,n.maxEditLength));let l=n.timeout??1/0,u=Date.now()+l,d=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(d[0],t,e,0,n);if(d[0].oldPos+1>=o&&f+1>=a)return i(this.buildValues(d[0].lastComponent,t,e));let p=-1/0,m=1/0,h=()=>{for(let r=Math.max(p,-s);r<=Math.min(m,s);r+=2){let s,c=d[r-1],l=d[r+1];c&&(d[r-1]=void 0);let u=!1;if(l){let e=l.oldPos-r;u=l&&0<=e&&e<a}let h=c&&c.oldPos+1<o;if(!u&&!h){d[r]=void 0;continue}if(s=!h||u&&c.oldPos<l.oldPos?this.addToPath(l,!0,!1,0,n):this.addToPath(c,!1,!0,1,n),f=this.extractCommon(s,t,e,r,n),s.oldPos+1>=o&&f+1>=a)return i(this.buildValues(s.lastComponent,t,e))||!0;d[r]=s,s.oldPos+1>=o&&(m=Math.min(m,r-1)),f+1>=a&&(p=Math.max(p,r+1))}s++};if(r)(function e(){setTimeout(function(){if(s>c||Date.now()>u)return r(void 0);h()||e()},0)})();else for(;s<=c&&Date.now()<=u;){let e=h();if(e)return e}}addToPath(e,t,n,r,i){let a=e.lastComponent;return a&&!i.oneChangePerToken&&a.added===t&&a.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:a.count+1,added:t,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:a}}}extractCommon(e,t,n,r,i){let a=t.length,o=n.length,s=e.oldPos,c=s-r,l=0;for(;c+1<a&&s+1<o&&this.equals(n[s+1],t[c+1],i);)c++,s++,l++,i.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return l&&!i.oneChangePerToken&&(e.lastComponent={count:l,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=s,c}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join(``)}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let r=[],i;for(;e;)r.push(e),i=e.previousComponent,delete e.previousComponent,e=i;r.reverse();let a=r.length,o=0,s=0,c=0;for(;o<a;o++){let e=r[o];if(e.removed)e.value=this.join(n.slice(c,c+e.count)),c+=e.count;else{if(!e.added&&this.useLongestToken){let r=t.slice(s,s+e.count);r=r.map(function(e,t){let r=n[c+t];return r.length>e.length?r:e}),e.value=this.join(r)}else e.value=this.join(t.slice(s,s+e.count));s+=e.count,e.added||(c+=e.count)}}return r}};new class extends ny{};function ry(e,t){let n;for(n=0;n<e.length&&n<t.length;n++)if(e[n]!=t[n])return e.slice(0,n);return e.slice(0,n)}function iy(e,t){let n;if(!e||!t||e[e.length-1]!=t[t.length-1])return``;for(n=0;n<e.length&&n<t.length;n++)if(e[e.length-(n+1)]!=t[t.length-(n+1)])return e.slice(-n);return e.slice(-n)}function ay(e,t,n){if(e.slice(0,t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(t)}; this is a bug`);return n+e.slice(t.length)}function oy(e,t,n){if(!t)return e+n;if(e.slice(-t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(t)}; this is a bug`);return e.slice(0,-t.length)+n}function sy(e,t){return ay(e,t,``)}function cy(e,t){return oy(e,t,``)}function ly(e,t){return t.slice(0,uy(e,t))}function uy(e,t){let n=0;e.length>t.length&&(n=e.length-t.length);let r=t.length;e.length<t.length&&(r=e.length);let i=Array(r),a=0;i[0]=0;for(let e=1;e<r;e++){for(t[e]==t[a]?i[e]=i[a]:i[e]=a;a>0&&t[e]!=t[a];)a=i[a];t[e]==t[a]&&a++}a=0;for(let r=n;r<e.length;r++){for(;a>0&&e[r]!=t[a];)a=i[a];e[r]==t[a]&&a++}return a}function dy(e,t){let n=[];for(let r of Array.from(t.segment(e))){let e=r.segment;n.length&&/\s/.test(n[n.length-1])&&/\s/.test(e)?n[n.length-1]+=e:n.push(e)}return n}function fy(e,t){if(t)return my(e,t)[1];let n;for(n=e.length-1;n>=0&&e[n].match(/\s/);n--);return e.substring(n+1)}function py(e,t){if(t)return my(e,t)[0];let n=e.match(/^\s*/);return n?n[0]:``}function my(e,t){if(!t)return[py(e),fy(e)];if(t.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);let n=dy(e,t),r=n[0],i=n[n.length-1];return[/\s/.test(r)?r:``,/\s/.test(i)?i:``]}var hy=`a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,gy=RegExp(`[${hy}]+|\\s+|[^${hy}]`,`ug`),_y=new class extends ny{equals(e,t,n){return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()}tokenize(e,t={}){let n;if(t.intlSegmenter){let r=t.intlSegmenter;if(r.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);n=dy(e,r)}else n=e.match(gy)||[];let r=[],i=null;return n.forEach(e=>{/\s/.test(e)?i==null?r.push(e):r.push(r.pop()+e):i!=null&&/\s/.test(i)?r[r.length-1]==i?r.push(r.pop()+e):r.push(i+e):r.push(e),i=e}),r}join(e){return e.map((e,t)=>t==0?e:e.replace(/^\s+/,``)).join(``)}postProcess(e,t){if(!e||t.oneChangePerToken)return e;let n=null,r=null,i=null;return e.forEach(e=>{e.added?r=e:e.removed?i=e:((r||i)&&yy(n,i,r,e,t.intlSegmenter),n=e,r=null,i=null)}),(r||i)&&yy(n,i,r,null,t.intlSegmenter),e}};function vy(e,t,n){return n?.ignoreWhitespace!=null&&!n.ignoreWhitespace?xy(e,t,n):_y.diff(e,t,n)}function yy(e,t,n,r,i){if(t&&n){let[a,o]=my(t.value,i),[s,c]=my(n.value,i);if(e){let r=ry(a,s);e.value=oy(e.value,s,r),t.value=sy(t.value,r),n.value=sy(n.value,r)}if(r){let e=iy(o,c);r.value=ay(r.value,c,e),t.value=cy(t.value,e),n.value=cy(n.value,e)}}else if(n){if(e){let e=py(n.value,i);n.value=n.value.substring(e.length)}if(r){let e=py(r.value,i);r.value=r.value.substring(e.length)}}else if(e&&r){let n=py(r.value,i),[a,o]=my(t.value,i),s=ry(n,a);t.value=sy(t.value,s);let c=iy(sy(n,s),o);t.value=cy(t.value,c),r.value=ay(r.value,n,c),e.value=oy(e.value,n,n.slice(0,n.length-c.length))}else if(r){let e=py(r.value,i),n=ly(fy(t.value,i),e);t.value=cy(t.value,n)}else if(e){let n=ly(fy(e.value,i),py(t.value,i));t.value=sy(t.value,n)}}var by=new class extends ny{tokenize(e){let t=RegExp(`(\\r?\\n)|[${hy}]+|[^\\S\\n\\r]+|[^${hy}]`,`ug`);return e.match(t)||[]}};function xy(e,t,n){return by.diff(e,t,n)}var Sy=new class extends ny{constructor(){super(...arguments),this.tokenize=wy}equals(e,t,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(`
|
|
53
|
+
`,backgroundSize:`20px 20px`,backgroundPosition:`0 0, 10px 10px`,backgroundColor:`white`};return a?(0,I.jsx)(`div`,{className:`bg-github-bg-primary p-4`,children:(0,I.jsxs)(`div`,{className:`text-center`,children:[(0,I.jsx)(`div`,{className:`mb-2`,children:(0,I.jsx)(`span`,{className:`text-github-danger font-medium`,children:`Deleted Image`})}),(0,I.jsxs)(`div`,{className:`inline-block border border-github-border rounded-md p-4 bg-github-bg-secondary`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`Previous version:`}),(0,I.jsx)(`img`,{src:Yv(e.oldPath||e.path,c),alt:`Previous version of ${e.oldPath||e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,d),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(u.width||u.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(u),g(u)&&h(u.size)&&` | `,h(u.size)]})]})]})}):o?(0,I.jsx)(`div`,{className:`bg-github-bg-primary p-4`,children:(0,I.jsxs)(`div`,{className:`text-center`,children:[(0,I.jsx)(`div`,{className:`mb-2`,children:(0,I.jsx)(`span`,{className:`text-github-accent font-medium`,children:`Added Image`})}),(0,I.jsxs)(`div`,{className:`inline-block border border-github-border rounded-md p-4 bg-github-bg-secondary`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`New file:`}),(0,I.jsx)(`img`,{src:Yv(e.path,l),alt:`New image ${e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,p),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(f.width||f.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(f),g(f)&&h(f.size)&&` | `,h(f.size)]})]})]})}):s?i===`split`?(0,I.jsxs)(`div`,{className:`bg-github-bg-primary p-4`,children:[(0,I.jsx)(`div`,{className:`text-center mb-4`,children:(0,I.jsx)(`span`,{className:`text-github-text-primary font-medium`,children:`Modified Image`})}),(0,I.jsxs)(`div`,{className:`grid grid-cols-2 gap-4`,children:[(0,I.jsx)(`div`,{className:`text-center`,children:(0,I.jsxs)(`div`,{className:`border border-github-border rounded-md p-4 bg-github-bg-secondary`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`Previous version:`}),(0,I.jsx)(`img`,{src:Yv(e.oldPath||e.path,c),alt:`Previous version of ${e.oldPath||e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,d),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(u.width||u.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(u),g(u)&&h(u.size)&&` | `,h(u.size)]})]})}),(0,I.jsx)(`div`,{className:`text-center`,children:(0,I.jsxs)(`div`,{className:`border border-github-border rounded-md p-4 bg-github-bg-secondary`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`Current version:`}),(0,I.jsx)(`img`,{src:Yv(e.path,l),alt:`Current version of ${e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,p),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(f.width||f.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(f),g(f)&&h(f.size)&&` | `,h(f.size)]})]})})]})]}):(0,I.jsxs)(`div`,{className:`bg-github-bg-primary p-4`,children:[(0,I.jsx)(`div`,{className:`text-center mb-4`,children:(0,I.jsx)(`span`,{className:`text-github-text-primary font-medium`,children:`Modified Image`})}),(0,I.jsxs)(`div`,{className:`space-y-6`,children:[(0,I.jsx)(`div`,{className:`text-center`,children:(0,I.jsxs)(`div`,{className:`border border-github-border rounded-md p-4 bg-github-bg-secondary inline-block`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`Previous version:`}),(0,I.jsx)(`img`,{src:Yv(e.oldPath||e.path,c),alt:`Previous version of ${e.oldPath||e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,d),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(u.width||u.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(u),g(u)&&h(u.size)&&` | `,h(u.size)]})]})}),(0,I.jsx)(`div`,{className:`text-center`,children:(0,I.jsxs)(`div`,{className:`border border-github-border rounded-md p-4 bg-github-bg-secondary inline-block`,children:[(0,I.jsx)(`div`,{className:`text-github-text-muted mb-2`,style:{fontSize:`14px`},children:`Current version:`}),(0,I.jsx)(`img`,{src:Yv(e.path,l),alt:`Current version of ${e.path}`,className:`max-w-full max-h-96 border border-github-border rounded mx-auto`,style:_,onLoad:e=>m(e.currentTarget,p),onError:e=>{let t=e.target;t.style.display=`none`,t.nextElementSibling?.classList.remove(`hidden`)}}),(0,I.jsx)(`div`,{className:`hidden text-github-text-muted text-sm mt-2`,children:`Image could not be loaded`}),(f.width||f.size)&&(0,I.jsxs)(`div`,{className:`text-github-text-muted mt-2`,style:{fontSize:`14px`},children:[g(f),g(f)&&h(f.size)&&` | `,h(f.size)]})]})})]})]}):null}var Zv=null,Qv=()=>(Zv??=sp(()=>import(`./mermaid.core-Ssrtijme.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17])),Zv),$v=e=>e===`light`?`default`:`dark`;function ey({chart:e}){let t=(0,F.useRef)(null),n=(0,F.useId)().replace(/:/g,`-`),[r,i]=(0,F.useState)(()=>x()),[a,o]=(0,F.useState)(null),s=$v(r);return(0,F.useEffect)(()=>{let e=document.documentElement,t=()=>{let e=x();i(t=>t===e?t:e)};t();let n=new MutationObserver(e=>{e.some(e=>e.attributeName===`data-theme`)&&t()});return n.observe(e,{attributes:!0,attributeFilter:[`data-theme`]}),()=>{n.disconnect()}},[]),(0,F.useEffect)(()=>{let r=!1,i=t.current;return(async()=>{if(i){i.innerHTML=``,o(null);try{let{default:t}=await Qv();t.initialize({startOnLoad:!1,securityLevel:`strict`,theme:s});let{svg:a,bindFunctions:o}=await t.render(`mermaid-diagram-${n}`,e);if(r)return;i.innerHTML=a,o?.(i)}catch(e){if(r)return;i.innerHTML=``,o(e instanceof Error?e.message:`Failed to render Mermaid diagram`)}}})(),()=>{r=!0,i&&(i.innerHTML=``)}},[e,n,s]),a?(0,I.jsxs)(`div`,{className:`space-y-2`,children:[(0,I.jsx)(`div`,{className:`text-sm text-github-danger`,title:a,children:`Unable to render Mermaid diagram.`}),(0,I.jsx)(`pre`,{className:`markdown-preview-code whitespace-pre-wrap border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-sm font-mono text-github-text-primary`,children:e})]}):(0,I.jsx)(`div`,{ref:t,"aria-label":`Mermaid diagram`,className:`mermaid-diagram overflow-x-auto rounded border border-github-border bg-github-bg-secondary p-3`})}var ty=({mode:e,hasFullPreview:t,onModeChange:n})=>(0,I.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,I.jsxs)(`button`,{onClick:()=>n(`diff`),className:`px-2 py-1 text-xs font-medium rounded transition-colors duration-200 flex items-center gap-1 cursor-pointer ${e===`diff`?`text-github-text-primary`:`text-github-text-secondary hover:text-github-text-primary`}`,title:`Code Diff`,children:[(0,I.jsx)(Qe,{size:14}),`Diff`]}),(0,I.jsxs)(`button`,{onClick:()=>n(`diff-preview`),className:`px-2 py-1 text-xs font-medium rounded transition-colors duration-200 flex items-center gap-1 cursor-pointer ${e===`diff-preview`?`text-github-text-primary`:`text-github-text-secondary hover:text-github-text-primary`}`,title:`Diff Preview`,children:[(0,I.jsx)(Ze,{size:14}),`Diff Preview`]}),t&&(0,I.jsxs)(`button`,{onClick:()=>n(`full-preview`),className:`px-2 py-1 text-xs font-medium rounded transition-colors duration-200 flex items-center gap-1 cursor-pointer ${e===`full-preview`?`text-github-text-primary`:`text-github-text-secondary hover:text-github-text-primary`}`,title:`Full Preview`,children:[(0,I.jsx)(Ze,{size:14}),`Full Preview`]})]}),ny=class{diff(e,t,n={}){let r;typeof n==`function`?(r=n,n={}):`callback`in n&&(r=n.callback);let i=this.castInput(e,n),a=this.castInput(t,n),o=this.removeEmpty(this.tokenize(i,n)),s=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,s,n,r)}diffWithOptionsObj(e,t,n,r){let i=e=>{if(e=this.postProcess(e,n),r){setTimeout(function(){r(e)},0);return}else return e},a=t.length,o=e.length,s=1,c=a+o;n.maxEditLength!=null&&(c=Math.min(c,n.maxEditLength));let l=n.timeout??1/0,u=Date.now()+l,d=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(d[0],t,e,0,n);if(d[0].oldPos+1>=o&&f+1>=a)return i(this.buildValues(d[0].lastComponent,t,e));let p=-1/0,m=1/0,h=()=>{for(let r=Math.max(p,-s);r<=Math.min(m,s);r+=2){let s,c=d[r-1],l=d[r+1];c&&(d[r-1]=void 0);let u=!1;if(l){let e=l.oldPos-r;u=l&&0<=e&&e<a}let h=c&&c.oldPos+1<o;if(!u&&!h){d[r]=void 0;continue}if(s=!h||u&&c.oldPos<l.oldPos?this.addToPath(l,!0,!1,0,n):this.addToPath(c,!1,!0,1,n),f=this.extractCommon(s,t,e,r,n),s.oldPos+1>=o&&f+1>=a)return i(this.buildValues(s.lastComponent,t,e))||!0;d[r]=s,s.oldPos+1>=o&&(m=Math.min(m,r-1)),f+1>=a&&(p=Math.max(p,r+1))}s++};if(r)(function e(){setTimeout(function(){if(s>c||Date.now()>u)return r(void 0);h()||e()},0)})();else for(;s<=c&&Date.now()<=u;){let e=h();if(e)return e}}addToPath(e,t,n,r,i){let a=e.lastComponent;return a&&!i.oneChangePerToken&&a.added===t&&a.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:a.count+1,added:t,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:a}}}extractCommon(e,t,n,r,i){let a=t.length,o=n.length,s=e.oldPos,c=s-r,l=0;for(;c+1<a&&s+1<o&&this.equals(n[s+1],t[c+1],i);)c++,s++,l++,i.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return l&&!i.oneChangePerToken&&(e.lastComponent={count:l,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=s,c}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join(``)}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let r=[],i;for(;e;)r.push(e),i=e.previousComponent,delete e.previousComponent,e=i;r.reverse();let a=r.length,o=0,s=0,c=0;for(;o<a;o++){let e=r[o];if(e.removed)e.value=this.join(n.slice(c,c+e.count)),c+=e.count;else{if(!e.added&&this.useLongestToken){let r=t.slice(s,s+e.count);r=r.map(function(e,t){let r=n[c+t];return r.length>e.length?r:e}),e.value=this.join(r)}else e.value=this.join(t.slice(s,s+e.count));s+=e.count,e.added||(c+=e.count)}}return r}};new class extends ny{};function ry(e,t){let n;for(n=0;n<e.length&&n<t.length;n++)if(e[n]!=t[n])return e.slice(0,n);return e.slice(0,n)}function iy(e,t){let n;if(!e||!t||e[e.length-1]!=t[t.length-1])return``;for(n=0;n<e.length&&n<t.length;n++)if(e[e.length-(n+1)]!=t[t.length-(n+1)])return e.slice(-n);return e.slice(-n)}function ay(e,t,n){if(e.slice(0,t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(t)}; this is a bug`);return n+e.slice(t.length)}function oy(e,t,n){if(!t)return e+n;if(e.slice(-t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(t)}; this is a bug`);return e.slice(0,-t.length)+n}function sy(e,t){return ay(e,t,``)}function cy(e,t){return oy(e,t,``)}function ly(e,t){return t.slice(0,uy(e,t))}function uy(e,t){let n=0;e.length>t.length&&(n=e.length-t.length);let r=t.length;e.length<t.length&&(r=e.length);let i=Array(r),a=0;i[0]=0;for(let e=1;e<r;e++){for(t[e]==t[a]?i[e]=i[a]:i[e]=a;a>0&&t[e]!=t[a];)a=i[a];t[e]==t[a]&&a++}a=0;for(let r=n;r<e.length;r++){for(;a>0&&e[r]!=t[a];)a=i[a];e[r]==t[a]&&a++}return a}function dy(e,t){let n=[];for(let r of Array.from(t.segment(e))){let e=r.segment;n.length&&/\s/.test(n[n.length-1])&&/\s/.test(e)?n[n.length-1]+=e:n.push(e)}return n}function fy(e,t){if(t)return my(e,t)[1];let n;for(n=e.length-1;n>=0&&e[n].match(/\s/);n--);return e.substring(n+1)}function py(e,t){if(t)return my(e,t)[0];let n=e.match(/^\s*/);return n?n[0]:``}function my(e,t){if(!t)return[py(e),fy(e)];if(t.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);let n=dy(e,t),r=n[0],i=n[n.length-1];return[/\s/.test(r)?r:``,/\s/.test(i)?i:``]}var hy=`a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,gy=RegExp(`[${hy}]+|\\s+|[^${hy}]`,`ug`),_y=new class extends ny{equals(e,t,n){return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()}tokenize(e,t={}){let n;if(t.intlSegmenter){let r=t.intlSegmenter;if(r.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);n=dy(e,r)}else n=e.match(gy)||[];let r=[],i=null;return n.forEach(e=>{/\s/.test(e)?i==null?r.push(e):r.push(r.pop()+e):i!=null&&/\s/.test(i)?r[r.length-1]==i?r.push(r.pop()+e):r.push(i+e):r.push(e),i=e}),r}join(e){return e.map((e,t)=>t==0?e:e.replace(/^\s+/,``)).join(``)}postProcess(e,t){if(!e||t.oneChangePerToken)return e;let n=null,r=null,i=null;return e.forEach(e=>{e.added?r=e:e.removed?i=e:((r||i)&&yy(n,i,r,e,t.intlSegmenter),n=e,r=null,i=null)}),(r||i)&&yy(n,i,r,null,t.intlSegmenter),e}};function vy(e,t,n){return n?.ignoreWhitespace!=null&&!n.ignoreWhitespace?xy(e,t,n):_y.diff(e,t,n)}function yy(e,t,n,r,i){if(t&&n){let[a,o]=my(t.value,i),[s,c]=my(n.value,i);if(e){let r=ry(a,s);e.value=oy(e.value,s,r),t.value=sy(t.value,r),n.value=sy(n.value,r)}if(r){let e=iy(o,c);r.value=ay(r.value,c,e),t.value=cy(t.value,e),n.value=cy(n.value,e)}}else if(n){if(e){let e=py(n.value,i);n.value=n.value.substring(e.length)}if(r){let e=py(r.value,i);r.value=r.value.substring(e.length)}}else if(e&&r){let n=py(r.value,i),[a,o]=my(t.value,i),s=ry(n,a);t.value=sy(t.value,s);let c=iy(sy(n,s),o);t.value=cy(t.value,c),r.value=ay(r.value,n,c),e.value=oy(e.value,n,n.slice(0,n.length-c.length))}else if(r){let e=py(r.value,i),n=ly(fy(t.value,i),e);t.value=cy(t.value,n)}else if(e){let n=ly(fy(e.value,i),py(t.value,i));t.value=sy(t.value,n)}}var by=new class extends ny{tokenize(e){let t=RegExp(`(\\r?\\n)|[${hy}]+|[^\\S\\n\\r]+|[^${hy}]`,`ug`);return e.match(t)||[]}};function xy(e,t,n){return by.diff(e,t,n)}var Sy=new class extends ny{constructor(){super(...arguments),this.tokenize=wy}equals(e,t,n){return n.ignoreWhitespace?((!n.newlineIsToken||!e.includes(`
|
|
54
54
|
`))&&(e=e.trim()),(!n.newlineIsToken||!t.includes(`
|
|
55
55
|
`))&&(t=t.trim())):n.ignoreNewlineAtEof&&!n.newlineIsToken&&(e.endsWith(`
|
|
56
56
|
`)&&(e=e.slice(0,-1)),t.endsWith(`
|
|
57
57
|
`)&&(t=t.slice(0,-1))),super.equals(e,t,n)}};function Cy(e,t,n){return Sy.diff(e,t,n)}function wy(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,`
|
|
58
|
-
`));let n=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let e=0;e<r.length;e++){let i=r[e];e%2&&!t.newlineIsToken?n[n.length-1]+=i:n.push(i)}return n}function Ty(e){return e==`.`||e==`!`||e==`?`}new class extends ny{tokenize(e){let t=[],n=0;for(let r=0;r<e.length;r++){if(r==e.length-1){t.push(e.slice(n));break}if(Ty(e[r])&&e[r+1].match(/\s/)){for(t.push(e.slice(n,r+1)),r=n=r+1;e[r+1]?.match(/\s/);)r++;t.push(e.slice(n,r+1)),n=r+1}}return t}},new class extends ny{tokenize(e){return e.split(/([{}:;,]|\s+)/)}},new class extends ny{constructor(){super(...arguments),this.tokenize=wy}get useLongestToken(){return!0}castInput(e,t){let{undefinedReplacement:n,stringifyReplacer:r=(e,t)=>t===void 0?n:t}=t;return typeof e==`string`?e:JSON.stringify(Ey(e,null,null,r),null,` `)}equals(e,t,n){return super.equals(e.replace(/,([\r\n])/g,`$1`),t.replace(/,([\r\n])/g,`$1`),n)}};function Ey(e,t,n,r,i){t||=[],n||=[],r&&(e=r(i===void 0?``:i,e));let a;for(a=0;a<t.length;a+=1)if(t[a]===e)return n[a];let o;if(Object.prototype.toString.call(e)===`[object Array]`){for(t.push(e),o=Array(e.length),n.push(o),a=0;a<e.length;a+=1)o[a]=Ey(e[a],t,n,r,String(a));return t.pop(),n.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),typeof e==`object`&&e){t.push(e),o={},n.push(o);let i=[],s;for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&i.push(s);for(i.sort(),a=0;a<i.length;a+=1)s=i[a],o[s]=Ey(e[s],t,n,r,s);t.pop(),n.pop()}else o=e;return o}new class extends ny{tokenize(e){return e.slice()}join(e){return e}removeEmpty(e){return e}};function Dy(e,t){let n=xy(e,t),r=[],i=[];for(let e of n)e.added?i.push({value:e.value,type:`added`}):e.removed?r.push({value:e.value,type:`removed`}):(r.push({value:e.value,type:`unchanged`}),i.push({value:e.value,type:`unchanged`}));return{oldSegments:r,newSegments:i}}function Oy(e,t){if(!e.trim()||!t.trim()||e===t)return!1;let n=vy(e,t),r=0,i=0;for(let e of n)i+=e.value.length,!e.added&&!e.removed&&(r+=e.value.length);return r/i>=.2}var ky=F.memo(({onMouseDown:e,title:t=`Add a comment`})=>(0,I.jsx)(`button`,{className:`absolute -right-2 top-1/2 -translate-y-1/2 w-7 h-7 flex items-center justify-center rounded transition-all duration-150 hover:scale-110 z-10`,"data-comment-button":`true`,style:{backgroundColor:`var(--color-yellow-btn-bg)`,color:`var(--color-yellow-btn-text)`,border:`1px solid var(--color-yellow-btn-border)`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`var(--color-yellow-btn-hover-bg)`,e.currentTarget.style.borderColor=`var(--color-yellow-btn-hover-border)`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`var(--color-yellow-btn-bg)`,e.currentTarget.style.borderColor=`var(--color-yellow-btn-border)`},onMouseDown:e,title:t,children:(0,I.jsx)(lt,{className:`w-4 h-4`})}));ky.displayName=`CommentButton`;var Ay=F.memo(({onClick:e,title:t=`Open in editor`,className:n})=>(0,I.jsx)(`button`,{className:`absolute -right-10 top-1/2 -translate-y-1/2 w-7 h-7 flex items-center justify-center rounded transition-all duration-150 hover:scale-110 z-10 ${n||``}`,"data-open-in-editor-button":`true`,style:{backgroundColor:`var(--color-editor-btn-bg)`,color:`var(--color-editor-btn-text)`,border:`1px solid var(--color-editor-btn-border)`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`var(--color-editor-btn-hover-bg)`,e.currentTarget.style.borderColor=`var(--color-editor-btn-hover-border)`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`var(--color-editor-btn-bg)`,e.currentTarget.style.borderColor=`var(--color-editor-btn-border)`},onMouseDown:e=>{e.stopPropagation()},onClick:t=>{t.stopPropagation(),e(t)},title:t,children:(0,I.jsx)(Xe,{className:`w-4 h-4 opacity-80`})}));Ay.displayName=`OpenInEditorButton`;var jy=e=>{if(`isExpanded`in e&&e.isExpanded)return`bg-github-bg-tertiary/80`;switch(e.type){case`add`:return`bg-diff-addition-bg`;case`delete`:return`bg-diff-deletion-bg`;default:return`bg-transparent`}},My=F.memo(({line:e,index:t,lineId:n,isCurrentLine:r=!1,hoveredLineIndex:i,selectedLineStyle:a,onMouseEnter:o,onMouseLeave:s,onMouseMove:c,onCommentButtonMouseDown:l,onOpenInEditor:u,syntaxTheme:d,onClick:f,filename:p,diffSegments:m})=>{let h=e.newLineNumber||e.oldLineNumber,g=i===t&&h,_=r?`keyboard-cursor`:``;return(0,I.jsxs)(`tr`,{id:n,className:`group ${jy(e)} relative ${a} ${_} cursor-pointer`,onMouseEnter:o,onMouseLeave:s,onMouseMove:c,onClick:f,children:[(0,I.jsx)(`td`,{className:`w-[var(--line-number-width)] min-w-[var(--line-number-width)] max-w-[var(--line-number-width)] px-2 text-right text-github-text-muted bg-github-bg-secondary border-r border-github-border select-none align-top relative`,children:e.oldLineNumber||``}),(0,I.jsxs)(`td`,{className:`w-[var(--line-number-width)] min-w-[var(--line-number-width)] max-w-[var(--line-number-width)] px-2 text-right text-github-text-muted bg-github-bg-secondary border-r border-github-border select-none align-top relative overflow-visible`,children:[(0,I.jsx)(`span`,{children:e.newLineNumber||``}),g&&(0,I.jsxs)(I.Fragment,{children:[u&&(0,I.jsx)(Ay,{onClick:u}),(0,I.jsx)(ky,{onMouseDown:l})]})]}),(0,I.jsx)(`td`,{className:`p-0 w-full relative align-top`,children:(0,I.jsx)(Op,{line:e,syntaxTheme:d,filename:p,diffSegments:m})})]})});My.displayName=`DiffLineRow`;var Ny=e=>e!==void 0&&`isExpanded`in e&&e.isExpanded===!0,Py=(e,t)=>t?`bg-github-bg-tertiary/80`:e?.type===`delete`?`bg-diff-deletion-bg`:e?.type===`add`?`bg-diff-addition-bg`:e?.type===`normal`?`bg-transparent`:`bg-github-bg-secondary
|
|
59
|
-
`)}},[E,e.lines]),N=(0,F.useCallback)(async e=>{if(E!==null){let t=M();await i(E.lineNumber,e,t,E.side),D(null)}},[E,i,M]),P=(0,F.useCallback)((e,t)=>{if(t==null)return null;let n=e?.(t)??null;return n?[n]:null},[]),ee=(e,t)=>n.filter(n=>{let r=Array.isArray(n.line)?n.line[1]===e:n.line===e,i=!n.side||n.side===t;return r&&i}).sort((e,t)=>e.createdAt.localeCompare(t.createdAt)),te=e=>e.oldLine?.type===`delete`&&e.newLine?.type===`add`?e.newLineNumber?`right`:`left`:e.oldLine?.type===`delete`?`left`:e.newLine?.type===`add`?`right`:`full`,ne=(e,t)=>{let n=e===`old`?t.oldLineNumber:t.newLineNumber;if(!n)return``;if(w&&b&&S&&b.side===e&&S.side===e){let e=Math.min(b.lineNumber,S.lineNumber),t=Math.max(b.lineNumber,S.lineNumber);if(n>=e&&n<=t){let r=`after:bg-blue-100 after:absolute after:inset-0 after:opacity-30 after:border-l-4 after:border-blue-500 after:pointer-events-none`;return n===e&&(r+=` after:border-t-2`),n===t&&(r+=` after:border-b-2`),r}}if(E&&E.side===e){let e=Array.isArray(E.lineNumber)?E.lineNumber:[E.lineNumber,E.lineNumber],t=e[0],r=e[1];if(t!==void 0&&r!==void 0&&n>=t&&n<=r)return`after:bg-diff-selected-bg after:absolute after:inset-0 after:border-l-5 after:border-l-diff-selected-border after:pointer-events-none`}return``},re=(0,F.useCallback)(t=>{let n=[],r=e.oldStart,i=e.newStart,a=0;for(;a<t.length;){let e=t[a];if(!e){a++;continue}if(e.type===`normal`)n.push({oldLine:e,newLine:{...e},oldLineNumber:e.oldLineNumber??r,newLineNumber:e.newLineNumber??i,oldLineOriginalIndex:a,newLineOriginalIndex:a}),r++,i++,a++;else if(e.type===`delete`){let e=a+1;for(;e<t.length&&t[e]?.type===`delete`;)e++;let o=t.slice(a,e),s=a,c=[],l=e;for(;e<t.length&&t[e]?.type===`add`;){let n=t[e];n&&c.push(n),e++}let u=Math.max(o.length,c.length);for(let e=0;e<u;e++){let t=o[e],a=c[e],u;t&&a&&Oy(t.content,a.content)&&(u=Dy(t.content,a.content)),n.push({oldLine:t,newLine:a,oldLineNumber:t?t.oldLineNumber??r+e:void 0,newLineNumber:a?a.newLineNumber??i+e:void 0,oldLineOriginalIndex:t?s+e:void 0,newLineOriginalIndex:a?l+e:void 0,wordLevelDiff:u})}r+=o.length,i+=c.length,a=e}else e.type===`add`&&(n.push({newLine:e,newLineNumber:e.newLineNumber??i,newLineOriginalIndex:a}),i++,a++)}return n},[e.oldStart,e.newStart]);return(0,I.jsx)(`div`,{className:`bg-github-bg-primary overflow-hidden`,children:(0,I.jsx)(`table`,{className:`w-full table-fixed border-collapse font-mono text-sm leading-5`,children:(0,I.jsx)(`tbody`,{children:(0,F.useMemo)(()=>re(e.lines),[e.lines,re]).map((e,n)=>{let i=e.oldLineNumber?ee(e.oldLineNumber,`old`):[],m=e.newLineNumber?ee(e.newLineNumber,`new`):[],h=[...i,...m],S=e.oldLineOriginalIndex??-1,D=e.newLineOriginalIndex??-1,A=d?d.side===`left`&&S>=0?d.chunkIndex===t&&d.lineIndex===S:d.side===`right`&&D>=0?d.chunkIndex===t&&d.lineIndex===D:!1:!1,re=S>=0?`file-${f}-chunk-${t}-line-${S}-left`:void 0,L=D>=0?`file-${f}-chunk-${t}-line-${D}-right`:void 0,R=A&&d?.side===`left`,z=A&&d?.side===`right`,ie=`keyboard-cursor`;return(0,I.jsxs)(F.Fragment,{children:[(0,I.jsxs)(`tr`,{className:`group cursor-pointer`,onClick:e=>{if(!w){let n=e.target;if(!(n instanceof HTMLElement))return;let r=n.closest(`td:nth-child(1)`)||n.closest(`td:nth-child(2)`),i=n.closest(`td:nth-child(3)`)||n.closest(`td:nth-child(4)`);r&&S>=0?p?.(f,t,S,`left`):i&&D>=0&&p?.(f,t,D,`right`)}},onMouseEnter:t=>{let n=t.target;if(!(n instanceof HTMLElement))return;let r=n.closest(`td:nth-child(1)`)||n.closest(`td:nth-child(2)`),i=n.closest(`td:nth-child(3)`)||n.closest(`td:nth-child(4)`);r&&e.oldLineNumber?k({side:`old`,lineNumber:e.oldLineNumber}):i&&e.newLineNumber&&k({side:`new`,lineNumber:e.newLineNumber})},onMouseMove:t=>{let n=t.target;if(!(n instanceof HTMLElement))return;let r=n.closest(`td:nth-child(1)`)||n.closest(`td:nth-child(2)`),i=n.closest(`td:nth-child(3)`)||n.closest(`td:nth-child(4)`);r&&e.oldLineNumber?(O?.side!==`old`||O?.lineNumber!==e.oldLineNumber)&&k({side:`old`,lineNumber:e.oldLineNumber}):i&&e.newLineNumber&&(O?.side!==`new`||O?.lineNumber!==e.newLineNumber)&&k({side:`new`,lineNumber:e.newLineNumber}),w&&b&&(b.side===`old`&&e.oldLineNumber?C({side:`old`,lineNumber:e.oldLineNumber}):b.side===`new`&&e.newLineNumber&&C({side:`new`,lineNumber:e.newLineNumber}))},onMouseLeave:()=>k(null),children:[(0,I.jsxs)(`td`,{id:re,className:`w-[var(--line-number-width)] min-w-[var(--line-number-width)] max-w-[var(--line-number-width)] px-2 text-right text-github-text-muted bg-github-bg-secondary border-r border-github-border select-none align-top relative overflow-visible ${R?ie:``}`,children:[(0,I.jsx)(`span`,{children:e.oldLineNumber||``}),O?.side===`old`&&O?.lineNumber===e.oldLineNumber&&(0,I.jsxs)(I.Fragment,{children:[_&&g&&e.oldLine?.type!==`delete`&&e.newLineNumber!==void 0&&(0,I.jsx)(Ay,{onClick:()=>{let t=e.newLineNumber;!g||t===void 0||_(g,t)}}),(0,I.jsx)(ky,{onMouseDown:t=>{t.stopPropagation(),e.oldLineNumber&&(x({side:`old`,lineNumber:e.oldLineNumber}),C({side:`old`,lineNumber:e.oldLineNumber}),T(!0))}})]})]}),(0,I.jsx)(`td`,{className:`w-1/2 p-0 align-top border-r border-github-border relative ${Py(e.oldLine,Ny(e.oldLine))} ${ne(`old`,e)} ${R?ie:``}`,children:e.oldLine&&(0,I.jsx)(`div`,{className:`flex items-center relative min-h-[20px] px-3`,children:e.wordLevelDiff?(0,I.jsx)(Tp,{segments:e.wordLevelDiff.oldSegments,className:`flex-1 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text`}):(0,I.jsx)(wp,{code:e.oldLine.content,className:`flex-1 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text [&_pre]:m-0 [&_pre]:p-0 [&_pre]:!bg-transparent [&_pre]:font-inherit [&_pre]:text-inherit [&_pre]:leading-inherit [&_code]:!bg-transparent [&_code]:font-inherit [&_code]:text-inherit [&_code]:leading-inherit`,syntaxTheme:u,filename:g,precomputedTokens:P(v,e.oldLine.oldLineNumber)})})}),(0,I.jsxs)(`td`,{id:L,className:`w-[var(--line-number-width)] min-w-[var(--line-number-width)] max-w-[var(--line-number-width)] px-2 text-right text-github-text-muted bg-github-bg-secondary border-r border-github-border select-none align-top relative overflow-visible ${z?ie:``}`,children:[(0,I.jsx)(`span`,{children:e.newLineNumber||``}),O?.side===`new`&&O?.lineNumber===e.newLineNumber&&(0,I.jsxs)(I.Fragment,{children:[_&&g&&e.newLineNumber!==void 0&&(0,I.jsx)(Ay,{onClick:()=>{let t=e.newLineNumber;!g||t===void 0||_(g,t)}}),(0,I.jsx)(ky,{onMouseDown:t=>{t.stopPropagation(),e.newLineNumber&&(x({side:`new`,lineNumber:e.newLineNumber}),C({side:`new`,lineNumber:e.newLineNumber}),T(!0))}})]})]}),(0,I.jsx)(`td`,{className:`w-1/2 p-0 align-top relative ${Py(e.newLine,Ny(e.newLine))} ${ne(`new`,e)} ${z?ie:``}`,children:e.newLine&&(0,I.jsx)(`div`,{className:`flex items-center relative min-h-[20px] px-3`,children:e.wordLevelDiff?(0,I.jsx)(Tp,{segments:e.wordLevelDiff.newSegments,className:`flex-1 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text`}):(0,I.jsx)(wp,{code:e.newLine.content,className:`flex-1 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text [&_pre]:m-0 [&_pre]:p-0 [&_pre]:!bg-transparent [&_pre]:font-inherit [&_pre]:text-inherit [&_pre]:leading-inherit [&_code]:!bg-transparent [&_code]:font-inherit [&_code]:text-inherit [&_code]:leading-inherit`,syntaxTheme:u,filename:g,precomputedTokens:P(y,e.newLine.newLineNumber)})})})]}),h.length>0&&(0,I.jsx)(`tr`,{className:`bg-github-bg-secondary`,children:(0,I.jsx)(`td`,{colSpan:4,className:`p-0 border-t border-github-border`,children:h.map(t=>{let n=t.side||`new`,i;return i=n===`old`&&e.oldLineNumber?`left`:n===`new`&&e.newLineNumber?`right`:te(e),(0,I.jsx)(`div`,{className:`flex ${i===`left`?`justify-start`:i===`right`?`justify-end`:`justify-center`}`,children:(0,I.jsx)(`div`,{className:`${i===`full`?`w-full`:`w-1/2`}`,children:(0,I.jsx)(`div`,{className:`m-2 mx-3`,children:(0,I.jsx)(Up,{thread:t,showAuthorBadges:r,onGeneratePrompt:a,onRemoveThread:o,onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,syntaxTheme:u})})})},t.id)})})}),E&&(E.side===`old`&&E.lineNumber===e.oldLineNumber||E.side===`new`&&E.lineNumber===e.newLineNumber||Array.isArray(E.lineNumber)&&(E.side===`new`&&E.lineNumber[1]===e.newLineNumber||E.side===`old`&&E.lineNumber[1]===e.oldLineNumber))&&(0,I.jsx)(`tr`,{className:`bg-github-bg-secondary`,children:(0,I.jsx)(`td`,{colSpan:4,className:`p-0`,children:(0,I.jsx)(`div`,{className:`flex ${E.side===`old`?`justify-start`:E.side===`new`?`justify-end`:`justify-center`}`,children:(0,I.jsx)(`div`,{className:`w-1/2`,children:(0,I.jsx)(Vp,{onSubmit:N,onCancel:j,selectedCode:M(),syntaxTheme:u,filename:g})})})})})]},n)})})})})}var Iy=(0,F.memo)(function({chunk:e,chunkIndex:t,threads:n,showAuthorBadges:r=!1,onAddComment:i,onGenerateThreadPrompt:a,onRemoveThread:o,onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,mode:u=xt,syntaxTheme:d,cursor:f=null,fileIndex:p=0,onLineClick:m,commentTrigger:h,onCommentTriggerHandled:g,filename:_,onOpenInEditor:v}){let[y,b]=(0,F.useState)(null),[x,S]=(0,F.useState)(null),[C,w]=(0,F.useState)(null),[T,E]=(0,F.useState)(!1),[D,O]=(0,F.useState)(null),[k,A]=(0,F.useState)(null);(0,F.useEffect)(()=>{if(h?.lineIndex!==void 0){let t=e.lines[h.lineIndex];if(t){let e=t.newLineNumber||t.oldLineNumber,n=t.type===`delete`?`old`:`new`;e&&(O({side:n,lineNumber:e}),g?.())}}},[h,e.lines,g]);let j=(0,F.useCallback)((e,t)=>{D?.side===e&&D?.lineNumber===t?O(null):O({side:e,lineNumber:t})},[D]);(0,F.useEffect)(()=>{if(!T)return;let e=()=>{setTimeout(()=>{if(y&&C){let e=x??y;y===e?j(C,y):j(C,[Math.min(y,e),Math.max(y,e)])}E(!1),b(null),S(null),w(null)},0)};return document.addEventListener(`mouseup`,e),()=>{document.removeEventListener(`mouseup`,e)}},[T,y,x,C,j]);let M=(0,F.useCallback)(()=>{O(null)},[]),N=(0,F.useCallback)(()=>{if(!D)return``;let{side:t,lineNumber:n}=D,r=e.lines;if(typeof n==`number`)return r.find(e=>t===`old`?e.oldLineNumber===n:e.newLineNumber===n)?.content??``;{let[e,i]=n;return r.filter(n=>{let r=t===`old`?n.oldLineNumber:n.newLineNumber;return r!==void 0&&r>=e&&r<=i}).map(e=>e.content??``).join(`
|
|
60
|
-
`)}},[D,e.lines]),P=(0,F.useCallback)(async e=>{if(D!==null){let t=N();await i(D.lineNumber,e,t,D.side),O(null)}},[D,i,N]),ee=(e,t)=>n.filter(n=>{let r=Array.isArray(n.line)?n.line[1]===e:n.line===e,i=!n.side||n.side===t;return r&&i}).sort((e,t)=>e.createdAt.localeCompare(t.createdAt)),te=e=>{if(u===`unified`)return`full`;switch(e.type){case`delete`:return`left`;case`add`:return`right`;default:return`full`}},ne=(e,t)=>{if(!e)return``;if(T&&y&&x){let t=Math.min(y,x),n=Math.max(y,x);if(e>=t&&e<=n){let r=`drag-selected`;return e===t&&(r+=` drag-selected-first`),e===n&&(r+=` drag-selected-last`),r}}if(D&&D.side===t){let t=Array.isArray(D.lineNumber)?D.lineNumber[0]:D.lineNumber,n=Array.isArray(D.lineNumber)?D.lineNumber[1]:D.lineNumber;if(e>=t&&e<=n)return`comment-selected`}return``},re=(0,F.useMemo)(()=>{let t=new Map,n=e.lines,r=0;for(;r<n.length;){let e=n[r];if(!e){r++;continue}if(e.type===`delete`){let e=r+1;for(;e<n.length&&n[e]?.type===`delete`;)e++;let i=n.slice(r,e),a=r,o=[];for(;e<n.length&&n[e]?.type===`add`;){let t=n[e];t&&o.push({line:t,index:e}),e++}let s=Math.max(i.length,o.length);for(let e=0;e<s;e++){let n=i[e],r=o[e];if(n&&r&&Oy(n.content,r.line.content)){let i=Dy(n.content,r.line.content);t.set(a+e,i.oldSegments),t.set(r.index,i.newSegments)}}r=e}else r++}return t},[e.lines]);return u===`split`?(0,I.jsx)(Fy,{chunk:e,chunkIndex:t,threads:n,showAuthorBadges:r,onAddComment:i,onGenerateThreadPrompt:a,onRemoveThread:o,onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,onOpenInEditor:v,syntaxTheme:d,cursor:f,fileIndex:p,onLineClick:m,filename:_,commentTrigger:h,onCommentTriggerHandled:g}):(0,I.jsx)(`div`,{className:`bg-github-bg-primary`,children:(0,I.jsx)(`table`,{className:`w-full table-fixed border-collapse font-mono text-sm leading-5`,children:(0,I.jsx)(`tbody`,{children:e.lines.map((e,n)=>{let i=e.newLineNumber||e.oldLineNumber||0,u=e.type===`delete`?`old`:`new`,h=D?Array.isArray(D.lineNumber)?D.lineNumber[1]:D.lineNumber:null,g=e.type===`delete`?e.oldLineNumber:e.newLineNumber,x=e.type===`delete`?`old`:`new`,C=g?ee(g,x):[],O=`file-${p}-chunk-${t}-line-${n}`,j=f&&f.chunkIndex===t&&f.lineIndex===n;return(0,I.jsxs)(F.Fragment,{children:[(0,I.jsx)(My,{line:e,index:n,lineId:O,isCurrentLine:j||!1,hoveredLineIndex:k,selectedLineStyle:ne(e.newLineNumber||e.oldLineNumber,e.type===`delete`?`old`:`new`),onMouseEnter:()=>{A(n)},onMouseLeave:()=>A(null),onMouseMove:()=>{if(T&&y){let t=e.newLineNumber||e.oldLineNumber;t&&S(t)}},onCommentButtonMouseDown:t=>{t.stopPropagation();let n=e.newLineNumber||e.oldLineNumber;n&&(b(n),S(n),w(e.type===`delete`?`old`:`new`),E(!0))},onOpenInEditor:v&&_&&e.type!==`delete`&&(e.newLineNumber||e.oldLineNumber)?()=>{let t=e.newLineNumber||e.oldLineNumber;t&&_&&v(_,t)}:void 0,syntaxTheme:d,filename:_,diffSegments:re.get(n),onClick:()=>{let r=e.type===`delete`?`left`:`right`;m?.(p,t,n,r)}}),C.map(t=>{let n=te(e);return(0,I.jsx)(`tr`,{className:`bg-github-bg-secondary`,children:(0,I.jsx)(`td`,{colSpan:3,className:`p-0 border-t border-github-border`,children:(0,I.jsx)(`div`,{className:`flex ${n===`left`?`justify-start`:n===`right`?`justify-end`:`justify-center`}`,children:(0,I.jsx)(`div`,{className:`${n===`full`?`w-full`:`w-1/2`} m-2 mx-4`,children:(0,I.jsx)(Up,{thread:t,showAuthorBadges:r,onGeneratePrompt:a,onRemoveThread:o,onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,syntaxTheme:d})})})})},t.id)}),D&&D.side===u&&h===i&&(0,I.jsx)(`tr`,{className:`bg-[var(--bg-secondary)]`,children:(0,I.jsx)(`td`,{colSpan:3,className:`p-0`,children:(0,I.jsx)(`div`,{className:`flex ${te(e)===`left`?`justify-start`:te(e)===`right`?`justify-end`:`justify-center`}`,children:(0,I.jsx)(`div`,{className:`${te(e)===`full`?`w-full`:`w-1/2`}`,children:(0,I.jsx)(Vp,{onSubmit:P,onCancel:M,selectedCode:N(),syntaxTheme:d,filename:_})})})})})]},n)})})})})}),Ly=20,Ry=(0,F.memo)(function({direction:e,hiddenLines:t,onExpandUp:n,onExpandDown:r,onExpandAll:i,isLoading:a=!1}){if(t<=0)return null;let o=`${t} ${t===1?`line`:`lines`}`,s=t<=Ly,c=[];return s?c.push({key:`all`,onClick:i,ariaLabel:`Expand all ${t} hidden lines`,icon:(0,I.jsx)(yt,{size:16,"aria-hidden":`true`})}):((e===`up`||e===`both`)&&c.push({key:`up`,onClick:n,ariaLabel:`Expand ${Ly} hidden lines above`,icon:(0,I.jsx)(ze,{size:12,"aria-hidden":`true`,className:`translate-y-0.5`})}),(e===`down`||e===`both`)&&c.push({key:`down`,onClick:r,ariaLabel:`Expand ${Ly} hidden lines below`,icon:(0,I.jsx)(Re,{size:12,"aria-hidden":`true`,className:`-translate-y-0.5`})})),(0,I.jsxs)(`div`,{className:`grid w-full border-l border-r border-github-border bg-github-bg-tertiary text-sm grid-cols-[var(--line-number-width)_1fr]`,children:[(0,I.jsx)(`div`,{className:`flex flex-col items-stretch justify-center gap-0.5 border-r border-github-border`,children:a?(0,I.jsx)(st,{size:14,className:`animate-spin text-github-text-muted self-center`,"aria-hidden":`true`}):c.map(e=>(0,I.jsx)(`button`,{type:`button`,onClick:e.onClick,disabled:a||!e.onClick,className:`flex flex-1 w-full items-center justify-center py-1 text-github-text-primary hover:bg-github-bg-secondary hover:text-github-text-muted transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed`,title:e.ariaLabel,"aria-label":e.ariaLabel,children:e.icon},e.key))}),(0,I.jsx)(`div`,{className:`flex items-center justify-start px-3 py-1.5 font-mono text-github-text-muted select-none`,children:o})]})});function zy({file:e,threads:t,showAuthorBadges:n,diffMode:r,syntaxTheme:i,cursor:a,fileIndex:o,mergedChunks:s,isExpandLoading:c,expandHiddenLines:l,expandAllBetweenChunks:u,onAddComment:d,onGenerateThreadPrompt:f,onRemoveThread:p,onReplyToThread:m,onRemoveMessage:h,onUpdateMessage:g,onLineClick:_,onOpenInEditor:v,commentTrigger:y,onCommentTriggerHandled:b}){let x=(t,n,r,i)=>t===`top`&&n.hiddenLinesBefore>0?(0,I.jsx)(Ry,{direction:`down`,hiddenLines:n.hiddenLinesBefore,onExpandDown:()=>l(e,r,`up`),onExpandAll:()=>u(e,r,n.hiddenLinesBefore),isLoading:c}):t===`middle`&&n.hiddenLinesBefore>0?(0,I.jsx)(Ry,{direction:`both`,hiddenLines:n.hiddenLinesBefore,onExpandUp:()=>l(e,r-1,`down`),onExpandDown:()=>l(e,r,`up`),onExpandAll:()=>u(e,r,n.hiddenLinesBefore),isLoading:c}):t===`bottom`&&n.hiddenLinesAfter>0?(0,I.jsx)(Ry,{direction:`up`,hiddenLines:n.hiddenLinesAfter,onExpandUp:()=>l(e,i,`down`),onExpandAll:()=>l(e,i,`down`,n.hiddenLinesAfter),isLoading:c}):null;return(0,I.jsx)(I.Fragment,{children:s.map((c,l)=>{let u=l===0,S=l===s.length-1,C=c.originalIndices[0]??0,w=c.originalIndices[c.originalIndices.length-1]??0;return(0,I.jsxs)(F.Fragment,{children:[u&&x(`top`,c,C,w),!u&&x(`middle`,c,C,w),(0,I.jsx)(`div`,{id:`chunk-${e.path.replace(/[^a-zA-Z0-9]/g,`-`)}-${l}`,children:(0,I.jsx)(Iy,{chunk:c,chunkIndex:l,threads:t,showAuthorBadges:n,onAddComment:d,onGenerateThreadPrompt:f,onRemoveThread:p,onReplyToThread:m,onRemoveMessage:h,onUpdateMessage:g,onOpenInEditor:v,mode:r,syntaxTheme:i,cursor:a&&a.chunkIndex===l?a:null,fileIndex:o,onLineClick:_,commentTrigger:y&&y.chunkIndex===l?y:null,onCommentTriggerHandled:b,filename:e.path})}),S&&x(`bottom`,c,C,w)]},l)})})}var By=e=>!!(e&&e!==`stdin`),Vy=[`text-[26px] font-semibold`,`text-[22px] font-semibold`,`text-xl font-semibold`,`text-lg font-semibold`,`text-base font-semibold uppercase tracking-wide`,`text-base font-semibold`],Hy=e=>e.type===`delete`||e.type===`remove`,Uy=e=>e.type===`normal`||e.type===`context`,Wy=(e,t,n)=>{let r=e[e.length-1];if(r&&r.type===t){r.lines.push(n);return}e.push({type:t,lines:[n]})},Gy=(e,t)=>{t.forEach(t=>Wy(e,`delete`,t)),t.length=0},Ky=e=>{let t=[],n=[],r=!1;return e.forEach(e=>{e.lines.forEach(e=>{if(!(e.type===`header`||e.type===`hunk`)){if(Hy(e)){n.push(e.content);return}if(e.type===`add`){n.length>0&&(Gy(t,n),r=!0),Wy(t,r?`change`:`add`,e.content);return}Uy(e)&&(Gy(t,n),r=!1,Wy(t,`context`,e.content))}}),Gy(t,n),r=!1}),t},qy=e=>({h1:({children:e})=>(0,I.jsx)(`h1`,{className:`${Vy[0]} mt-6 mb-2 first:mt-0`,children:e}),h2:({children:e})=>(0,I.jsx)(`h2`,{className:`${Vy[1]} mt-6 mb-2 first:mt-0`,children:e}),h3:({children:e})=>(0,I.jsx)(`h3`,{className:`${Vy[2]} mt-6 mb-2 first:mt-0`,children:e}),h4:({children:e})=>(0,I.jsx)(`h4`,{className:`${Vy[3]} mt-6 mb-2 first:mt-0`,children:e}),h5:({children:e})=>(0,I.jsx)(`h5`,{className:`${Vy[4]} mt-6 mb-2 first:mt-0`,children:e}),h6:({children:e})=>(0,I.jsx)(`h6`,{className:`${Vy[5]} mt-6 mb-2 first:mt-0`,children:e}),p:({children:e})=>(0,I.jsx)(`p`,{className:`text-base leading-7`,children:e}),ul:({children:e})=>(0,I.jsx)(`ul`,{className:`list-disc pl-6 text-base space-y-1`,children:e}),ol:({children:e})=>(0,I.jsx)(`ol`,{className:`list-decimal pl-6 text-base space-y-1`,children:e}),li:({children:e})=>(0,I.jsx)(`li`,{children:e}),blockquote:({children:e})=>(0,I.jsx)(`blockquote`,{className:`border-l-4 border-github-border pl-4 text-github-text-muted italic`,children:e}),hr:()=>(0,I.jsx)(`hr`,{className:`border-github-border`}),a:({href:e,children:t})=>{let n=e??``;if(!n||!Wd(n))return(0,I.jsx)(`span`,{children:t});let r=n.startsWith(`http`);return(0,I.jsx)(`a`,{href:n,target:r?`_blank`:void 0,rel:r?`noreferrer`:void 0,className:`text-sky-400 hover:text-sky-300 underline underline-offset-4`,children:t})},img:({src:e,alt:t})=>{let n=e??``;return!n||!Wd(n)?null:(0,I.jsx)(`img`,{src:n,alt:t??``,loading:`lazy`,className:`max-w-full rounded border border-github-border`})},pre:({children:t})=>{let n=(Array.isArray(t)?t:[t]).find(Gd),r=qd(n??t),i=/language-(\S+)/.exec(n?.props.className??``)?.[1],a=r.replace(/\n$/,``);return i===`mermaid`&&a.trim()?(0,I.jsx)(ey,{chart:a}):r.trim()?(0,I.jsx)(`pre`,{className:`markdown-preview-code border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-sm`,children:(0,I.jsx)(Cp,{code:a,language:i,syntaxTheme:e,className:`font-mono text-github-text-primary`})}):(0,I.jsx)(`pre`,{className:`markdown-preview-code border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-sm`,children:t})},code:({className:e,children:t})=>e?(0,I.jsx)(`code`,{className:e,children:t}):(0,I.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-github-bg-tertiary border border-github-border text-sm font-mono`,children:t}),table:({children:e})=>(0,I.jsx)(`div`,{className:`overflow-x-auto`,children:(0,I.jsx)(`table`,{className:`w-full border-collapse text-sm`,children:e})}),thead:({children:e})=>(0,I.jsx)(`thead`,{className:`bg-github-bg-secondary`,children:e}),tbody:({children:e})=>(0,I.jsx)(`tbody`,{children:e}),tr:({children:e})=>(0,I.jsx)(`tr`,{className:`border-b border-github-border`,children:e}),th:({children:e})=>(0,I.jsx)(`th`,{className:`px-3 py-2 text-left font-semibold border border-github-border`,children:e}),td:({children:e})=>(0,I.jsx)(`td`,{className:`px-3 py-2 border border-github-border`,children:e})}),Jy=e=>{switch(e){case`add`:return`border-l-4 border-diff-addition-border`;case`delete`:return`border-l-4 border-diff-deletion-border`;case`change`:return`border-l-4 border-diff-addition-border`;default:return`border-l-4 border-transparent`}},Yy=e=>/^\s*\[[^\]]+\]:\s+\S+/.test(e),Xy=e=>/^\s*\[\^[^\]]+\]:\s+/.test(e),Zy=e=>{let t=e.trim();return t.length>=7&&t.startsWith(`<!--`)&&t.endsWith(`-->`)},Qy=e=>e.trim()===``||Yy(e)||Xy(e)||Zy(e),$y=e=>e.every(Qy),eb=e=>{let t=e.match(/^\s{0,3}(`{3,}|~{3,})(.*)$/);if(!t)return null;let n=t[1];return n?{marker:n[0],length:n.length,raw:e}:null},tb=(e,t)=>{let n=e.match(/^\s{0,3}(`{3,}|~{3,})\s*$/);return n?.[1]?n[1][0]===t.marker&&n[1].length>=t.length:!1},nb=e=>{let t=[],n=null,r=null,i=()=>{n&&=(t.push(n),null)},a=(e,t)=>{if(n?.type===e){n.lines.push(t);return}i(),n={kind:`markdown`,type:e,lines:[t]}},o=e=>{if(!r)return;let n=r.lines.every(e=>e.type===`context`);e&&n?(a(`context`,r.fence.raw),r.lines.forEach(e=>{a(`context`,e.content)}),a(`context`,e)):(i(),t.push({kind:`fenced-code`,lines:r.lines})),r=null};return e.forEach(e=>{e.lines.forEach(t=>{if(r){if(tb(t,r.fence)){o(t);return}r.lines.push({type:e.type,content:t});return}let n=eb(t);if(n){i(),r={fence:n,lines:[]};return}a(e.type,t)})}),o(),i(),t},rb=e=>{switch(e){case`add`:case`change`:return`border-l-4 border-diff-addition-border bg-diff-addition-bg`;case`delete`:return`border-l-4 border-diff-deletion-border bg-diff-deletion-bg`;default:return`border-l-4 border-transparent`}},ib=({blocks:e,syntaxTheme:t})=>{let n=(0,F.useMemo)(()=>qy(t),[t]);return(0,I.jsx)(`div`,{className:`space-y-4`,children:(0,F.useMemo)(()=>nb(e),[e]).map((e,t)=>{if(e.kind===`fenced-code`)return(0,I.jsx)(`div`,{className:`px-4`,children:(0,I.jsx)(`div`,{className:`markdown-preview-code overflow-x-auto rounded border border-github-border bg-github-bg-secondary text-sm font-mono text-github-text-primary`,children:e.lines.map((e,n)=>(0,I.jsx)(`div`,{className:`${rb(e.type)} whitespace-pre px-3 py-1`,children:e.content||` `},`preview-code-line-${t}-${n}`))})},`preview-block-${t}`);let r=e.lines.join(`
|
|
61
|
-
`).trim();if(!r)return null;let i
|
|
62
|
-
`).replace(/\\t/g,` `).replace(/\\"/g,`"`).replace(/\\\\/g,`\\`)}},
|
|
63
|
-
`),
|
|
64
|
-
`);return t.length>0&&t[t.length-1]===``&&t.pop(),t},Nb=(e,t)=>!e&&!t?[]:e?t?Cy(e,t).flatMap(e=>{let t=e.added?`add`:e.removed?`delete`:`context`;return Mb(e.value).map(e=>({type:t,content:e}))}):Mb(e).map(e=>({type:`delete`,content:e})):Mb(t).map(e=>({type:`add`,content:e})),Pb=e=>{switch(e){case`add`:return`border-l-4 border-diff-addition-border`;case`delete`:return`border-l-4 border-diff-deletion-border`;case`change`:return`border-l-4 border-diff-addition-border`;default:return`border-l-4 border-transparent`}},Fb=e=>{switch(e){case`before`:return`border-l-4 border-diff-deletion-border`;case`after`:return`border-l-4 border-diff-addition-border`;default:return`border-l-4 border-transparent`}},Ib=e=>{switch(e){case`add`:return`bg-diff-addition-bg`;case`delete`:return`bg-diff-deletion-bg`;default:return`bg-transparent`}},Lb=e=>{switch(e){case`add`:return`+`;case`delete`:return`-`;default:return` `}},Rb=e=>{switch(e){case`add`:return`text-github-accent`;case`delete`:return`text-github-danger`;default:return`text-github-text-muted`}},zb=e=>({h1:({children:e})=>(0,I.jsx)(`h1`,{className:`${sb[0]} mb-2`,children:e}),h2:({children:e})=>(0,I.jsx)(`h2`,{className:`${sb[1]} mb-2`,children:e}),h3:({children:e})=>(0,I.jsx)(`h3`,{className:`${sb[2]} mb-2`,children:e}),h4:({children:e})=>(0,I.jsx)(`h4`,{className:`${sb[3]} mb-2`,children:e}),h5:({children:e})=>(0,I.jsx)(`h5`,{className:`${sb[4]} mb-2`,children:e}),h6:({children:e})=>(0,I.jsx)(`h6`,{className:`${sb[5]} mb-2`,children:e}),p:({children:e})=>(0,I.jsx)(`p`,{className:`text-sm leading-7`,children:e}),ul:({children:e})=>(0,I.jsx)(`ul`,{className:`list-disc pl-6 text-sm space-y-1`,children:e}),ol:({children:e})=>(0,I.jsx)(`ol`,{className:`list-decimal pl-6 text-sm space-y-1`,children:e}),li:({children:e})=>(0,I.jsx)(`li`,{children:e}),blockquote:({children:e})=>(0,I.jsx)(`blockquote`,{className:`border-l-4 border-github-border pl-4 text-github-text-muted italic`,children:e}),hr:()=>(0,I.jsx)(`hr`,{className:`border-github-border`}),a:({href:e,children:t})=>{let n=e??``;if(!n||!Wd(n))return(0,I.jsx)(`span`,{children:t});let r=n.startsWith(`http`);return(0,I.jsx)(`a`,{href:n,target:r?`_blank`:void 0,rel:r?`noreferrer`:void 0,className:`text-sky-400 hover:text-sky-300 underline underline-offset-4`,children:t})},img:({src:e,alt:t})=>{let n=e??``;return!n||!Wd(n)?null:(0,I.jsx)(`img`,{src:n,alt:t??``,loading:`lazy`,className:`max-w-full rounded border border-github-border`})},pre:({children:t})=>{let n=(Array.isArray(t)?t:[t]).find(Gd),r=qd(n??t),i=/language-(\S+)/.exec(n?.props.className??``)?.[1];return r.trim()?(0,I.jsx)(`pre`,{className:`border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-xs`,children:(0,I.jsx)(Cp,{code:r.replace(/\n$/,``),language:i,syntaxTheme:e,className:`font-mono text-github-text-primary [&_.token-line]:block [&_.token-line]:whitespace-pre`})}):(0,I.jsx)(`pre`,{className:`border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-xs`,children:t})},code:({className:e,children:t})=>e?(0,I.jsx)(`code`,{className:e,children:t}):(0,I.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-github-bg-tertiary border border-github-border text-xs font-mono`,children:t}),table:({children:e})=>(0,I.jsx)(`div`,{className:`overflow-x-auto`,children:(0,I.jsx)(`table`,{className:`min-w-full border border-github-border`,children:e})}),th:({children:e})=>(0,I.jsx)(`th`,{className:`border border-github-border px-2 py-1 bg-github-bg-tertiary text-sm`,children:e}),td:({children:e})=>(0,I.jsx)(`td`,{className:`border border-github-border px-2 py-1 text-sm`,children:e})}),Bb=e=>{let t=jb(e.sourceLines,[`context`,`delete`]),n=jb(e.sourceLines,[`context`,`add`]),r=[];return e.status===`change`?(t.trim()&&r.push({label:`Before`,content:t,tone:`before`}),n.trim()&&r.push({label:`After`,content:n,tone:`after`}),r.length===0&&r.push({label:`After`,content:n,tone:`after`}),r):e.status===`delete`?(r.push({label:`Before`,content:t||n,tone:`before`}),r):(r.push({label:`After`,content:n||t,tone:`after`}),r)},Vb=(e,t,n,r)=>{if(!t.trim())return(0,I.jsx)(`span`,{className:`text-xs text-github-text-muted`,children:`Empty cell`});if(e===`markdown`){let e=zb(n);return(0,I.jsx)(Mc,{remarkPlugins:[Id],urlTransform:e=>Wd(e)?e:``,components:e,children:t})}return e===`raw`?(0,I.jsx)(`pre`,{className:`whitespace-pre-wrap break-words text-xs font-mono text-github-text-primary`,children:t}):(0,I.jsx)(`pre`,{className:`overflow-x-auto text-xs`,children:(0,I.jsx)(wp,{code:t.replace(/\n$/,``),language:r||`python`,syntaxTheme:n,className:`font-mono text-github-text-primary [&_.token-line]:block [&_.token-line]:whitespace-pre`})})},Hb=({lines:e,syntaxTheme:t,language:n})=>e.length===0?(0,I.jsx)(`span`,{className:`text-xs text-github-text-muted`,children:`Empty cell`}):(0,I.jsx)(`div`,{className:`overflow-x-auto`,children:(0,I.jsx)(`div`,{className:`font-mono text-xs`,children:e.map((e,r)=>(0,I.jsxs)(`div`,{className:`flex items-start min-h-[16px] ${Ib(e.type)}`,children:[(0,I.jsx)(`span`,{className:`w-5 text-center flex-shrink-0 select-none ${Rb(e.type)}`,children:Lb(e.type)}),(0,I.jsx)(wp,{code:e.content||` `,language:n||`python`,syntaxTheme:t,className:`flex-1 px-3 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text [&_pre]:m-0 [&_pre]:p-0 [&_pre]:!bg-transparent [&_pre]:font-inherit [&_pre]:text-inherit [&_pre]:leading-inherit [&_code]:!bg-transparent [&_code]:font-inherit [&_code]:text-inherit [&_code]:leading-inherit`})]},`notebook-code-line-${r}`))})}),Ub=({cells:e,syntaxTheme:t,language:n})=>(0,I.jsx)(`div`,{className:`space-y-4`,children:e.map((e,r)=>{let i=Bb(e),a=e.cellType===`code`&&e.executionCount!==void 0?`In[${e.executionCount??` `}]`:null,o=e.cellType===`code`,s=o?Nb(jb(e.sourceLines,[`context`,`delete`]),jb(e.sourceLines,[`context`,`add`])).filter(e=>e.type!==`context`):[];return o&&s.length===0?null:(0,I.jsxs)(`div`,{className:`rounded border border-github-border bg-github-bg-secondary/40 p-4 ${Pb(e.status)}`,children:[(0,I.jsx)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 mb-3`,children:(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,I.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wide text-github-text-muted`,children:cb[e.cellType]}),a&&(0,I.jsx)(`span`,{className:`text-xs font-mono text-github-text-secondary`,children:a}),e.id&&(0,I.jsx)(`span`,{className:`text-xs font-mono text-github-text-muted`,children:e.id})]})}),(0,I.jsx)(`div`,{className:`space-y-3`,children:o?(0,I.jsx)(`div`,{className:`px-4 py-3 ${Fb(e.status===`delete`?`before`:`after`)}`,children:(0,I.jsx)(Hb,{lines:s,syntaxTheme:t,language:n})}):i.map((i,a)=>(0,I.jsx)(`div`,{className:`px-4 py-3 ${Fb(i.tone)}`,children:(0,I.jsx)(`div`,{className:`text-sm text-github-text-primary`,children:Vb(e.cellType,i.content,t,n)})},`notebook-cell-${r}-section-${a}`))})]},`notebook-cell-${r}`)})}),Wb=({cells:e,syntaxTheme:t,language:n})=>(0,I.jsx)(`div`,{className:`space-y-4`,children:e.map((e,r)=>{let i=e.cellType===`code`&&e.executionCount!==void 0?`In[${e.executionCount??` `}]`:null;return(0,I.jsxs)(`div`,{className:`rounded border border-github-border bg-github-bg-secondary/40 p-4`,children:[(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 mb-3`,children:[(0,I.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wide text-github-text-muted`,children:cb[e.cellType]}),i&&(0,I.jsx)(`span`,{className:`text-xs font-mono text-github-text-secondary`,children:i}),e.id&&(0,I.jsx)(`span`,{className:`text-xs font-mono text-github-text-muted`,children:e.id})]}),(0,I.jsx)(`div`,{className:`text-sm text-github-text-primary`,children:Vb(e.cellType,e.sourceText,t,n)})]},`notebook-full-cell-${r}`)})});function Gb(e){let{file:t,baseCommitish:n,targetCommitish:r}=e,[i,a]=(0,F.useState)(`diff`),o=(0,F.useMemo)(()=>yb(e.mergedChunks),[e.mergedChunks]),[s,c]=(0,F.useState)({status:`idle`,cells:o.cells,language:o.language}),l=(0,F.useMemo)(()=>s.cells.filter(e=>e.status===`context`?!1:e.cellType===`code`?Nb(jb(e.sourceLines,[`context`,`delete`]),jb(e.sourceLines,[`context`,`add`])).filter(e=>e.type!==`context`).length>0:!0),[s.cells]),[u,d]=(0,F.useState)(null),[f,p]=(0,F.useState)(o.language),[m,h]=(0,F.useState)(!1),[g,_]=(0,F.useState)(null),[v,y]=(0,F.useState)(null),b=(0,F.useMemo)(()=>!n&&!r?null:t.status===`added`?r?{path:t.path,ref:r}:null:t.status===`deleted`?n?{path:t.oldPath||t.path,ref:n}:null:r?{path:t.path,ref:r}:n?{path:t.oldPath||t.path,ref:n}:null,[n,r,t.oldPath,t.path,t.status]),x=(0,F.useMemo)(()=>b?`${b.ref}:${b.path}`:null,[b]);(0,F.useEffect)(()=>{let e=!1;return(async()=>{let i=n||`HEAD~1`,a=r||`HEAD`,s=t.oldPath||t.path,l=t.status!==`added`&&kb(i),u=t.status!==`deleted`&&kb(a);if(b&&x&&kb(b?.ref)?(d(null),_(null),h(!0)):(d(null),y(null),_(null),h(!1)),!l&&!u){c({status:`ready`,cells:o.cells,language:o.language,source:`diff`,message:`Notebook content could not be loaded, falling back to diff preview.`});return}c(e=>({...e,status:`loading`}));try{let[n,r]=await Promise.all([l?Ab(s,i):Promise.resolve(null),u?Ab(t.path,a):Promise.resolve(null)]),f=n?Sb(n):null,m=r?Sb(r):null;if(!f&&!m){e||c({status:`ready`,cells:o.cells,language:o.language,source:`diff`,message:`Notebook content could not be parsed, falling back to diff preview.`});return}let h=m?.language??f?.language??o.language,g=Eb(f?.cells??[],m?.cells??[]),v=b?.ref===a&&b.path===t.path?m:b?.ref===i&&b.path===s?f:null;e||(c({status:`ready`,cells:g,source:`blob`,language:h}),v&&x?(d(v.cells),p(v.language??o.language),y(x),_(null)):(d(null),y(null),_(null)))}catch(t){e||(c({status:`error`,cells:o.cells,language:o.language,source:`diff`,message:t instanceof Error?t.message:`Failed to load notebook preview.`}),d(null),y(null),_(t instanceof Error?t.message:`Failed to load preview`))}finally{e||h(!1)}})(),()=>{e=!0}},[n,t.oldPath,t.path,t.status,e.mergedChunks,b,x,r,o]),(0,F.useEffect)(()=>{if(i!==`full-preview`)return;if(!b||!x||!kb(b.ref)){d(null),y(null),_(null),h(!1);return}let e=!1;return(x!==v||!u)&&(async()=>{x!==v&&d(null),h(!0),_(null);try{let t=await Ab(b.path,b.ref);if(!t)throw Error(`Failed to load preview.`);let n=Sb(t);if(!n)throw Error(`Notebook content could not be parsed.`);e||(d(n.cells),p(n.language??o.language),y(x))}catch(t){e||(d(null),y(null),_(t instanceof Error?t.message:`Failed to load preview`))}finally{e||h(!1)}})(),()=>{e=!0}},[o.language,u,v,i,b,x]);let S=(0,F.useMemo)(()=>x===v&&u!==null,[u,v,x]);return(0,F.useEffect)(()=>{i===`full-preview`&&!S&&a(`diff-preview`)},[S,i]),(0,I.jsxs)(`div`,{className:`bg-github-bg-primary`,children:[(0,I.jsx)(`div`,{className:`flex items-center justify-between border-b border-github-border px-4 py-2`,children:(0,I.jsx)(ty,{mode:i,hasFullPreview:S,onModeChange:a})}),i===`diff`&&(0,I.jsx)(zy,{...e}),i===`diff-preview`&&(0,I.jsxs)(`div`,{className:`p-4`,children:[s.status===`loading`&&(0,I.jsx)(`div`,{className:`text-xs text-github-text-muted mb-3`,children:`Loading notebook preview…`}),s.message&&(0,I.jsx)(`div`,{className:`text-xs text-github-text-muted mb-3`,children:s.message}),l.length===0?(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`div`,{className:`text-xs text-github-text-muted mb-3`,children:`No changed notebook cells were found. Showing raw diff instead.`}),(0,I.jsx)(zy,{...e})]}):(0,I.jsx)(Ub,{cells:l,syntaxTheme:e.syntaxTheme,language:s.language})]}),i===`full-preview`&&(0,I.jsxs)(`div`,{className:`p-4`,children:[m&&(0,I.jsx)(`div`,{className:`text-sm text-github-text-muted mb-3`,children:`Loading preview...`}),g&&(0,I.jsx)(`div`,{className:`text-sm text-github-danger mb-3`,children:g}),!m&&!g&&u&&(0,I.jsx)(Wb,{cells:u,syntaxTheme:e.syntaxTheme,language:f??o.language}),!m&&!g&&!u&&(0,I.jsx)(`div`,{className:`text-sm text-github-text-muted`,children:`Preview unavailable.`})]})]})}var Kb=[{id:`image`,match:e=>Gv(e.path),Component:Xv,canExpandHiddenLines:()=>!1},{id:`markdown`,match:e=>Ud(e.path),Component:ob,canExpandHiddenLines:e=>e.status!==`added`&&e.status!==`deleted`},{id:`notebook`,match:e=>qv(e.path),Component:Gb,canExpandHiddenLines:e=>e.status!==`added`&&e.status!==`deleted`},{id:`default`,match:()=>!0,Component:zy,canExpandHiddenLines:e=>e.status!==`added`&&e.status!==`deleted`}],qb=e=>{let t=Kb[Kb.length-1];if(!t)throw Error(`No diff viewers registered`);return Kb.find(t=>t.match(e))??t},Jb=e=>{switch(e){case`added`:return(0,I.jsx)(et,{size:16,className:`text-github-accent`});case`deleted`:return(0,I.jsx)(tt,{size:16,className:`text-github-danger`});case`renamed`:return(0,I.jsx)($e,{size:16,className:`text-github-warning`});default:return(0,I.jsx)(Qe,{size:16,className:`text-github-text-secondary`})}},Yb=({file:e,isCollapsed:t,isFocused:n=!1,isReviewed:r,isChangedSinceViewed:i=!1,onToggleCollapsed:a,onToggleAllCollapsed:o,onToggleReviewed:s})=>{let[c,l]=(0,F.useState)(!1);return(0,I.jsxs)(`div`,{className:`bg-github-bg-secondary border-t-2 border-t-github-accent border-b border-github-border px-5 py-4 flex items-center justify-between flex-wrap gap-3 sticky top-0 z-10 ${n?`keyboard-focused-file-header`:``}`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:[(0,I.jsx)(`button`,{onClick:n=>{n.altKey?o(!t):a(e.path)},className:`text-github-text-muted hover:text-github-text-primary transition-colors cursor-pointer`,title:t?`Expand file (Alt+Click to expand all)`:`Collapse file (Alt+Click to collapse all)`,children:t?(0,I.jsx)(Ue,{size:16}):(0,I.jsx)(Ve,{size:16})}),Jb(e.status),(0,I.jsx)(`h2`,{className:`text-sm font-mono text-github-text-primary m-0 overflow-hidden text-ellipsis whitespace-nowrap`,children:e.path}),(0,I.jsx)(`button`,{className:`bg-transparent border-none cursor-pointer px-1.5 py-1 rounded text-sm transition-all hover:bg-github-bg-tertiary ${c?`text-github-accent`:`text-github-text-secondary hover:text-github-text-primary`}`,onClick:()=>{nn(e.path).then(()=>{console.log(`File path copied to clipboard:`,e.path),l(!0),setTimeout(()=>l(!1),2e3)}).catch(e=>{console.error(`Failed to copy file path:`,e)})},title:`Copy file path`,children:c?(0,I.jsx)(Be,{size:14}):(0,I.jsx)(Je,{size:14})}),e.oldPath&&e.oldPath!==e.path&&(0,I.jsxs)(`span`,{className:`text-xs text-github-text-muted italic`,children:[`(renamed from `,e.oldPath,`)`]})]}),(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[i&&!r&&(0,I.jsx)(`span`,{className:`inline-flex h-6 items-center rounded-full border border-github-warning px-2.5 text-xs font-medium text-github-warning`,title:`Updated since you last viewed this file`,"aria-label":`Updated since you last viewed this file`,children:`Updated`}),(0,I.jsxs)(`div`,{className:`flex items-center gap-2 text-xs`,children:[(0,I.jsxs)(`span`,{className:`font-medium px-1 py-0.5 rounded text-github-accent bg-green-100/10`,children:[`+`,e.additions]}),(0,I.jsxs)(`span`,{className:`font-medium px-1 py-0.5 rounded text-github-danger bg-red-100/10`,children:[`-`,e.deletions]})]}),(0,I.jsxs)(`button`,{onClick:()=>s(e.path),className:`flex items-center gap-2 px-3 py-1.5 rounded-md text-sm font-medium transition-all duration-200 ${r?`bg-github-accent text-white`:`dark:bg-slate-600 dark:text-white dark:border-slate-500 dark:hover:bg-slate-500 dark:hover:border-slate-400 bg-github-bg-secondary text-github-text-primary border border-github-border hover:bg-github-bg-tertiary hover:border-github-text-muted`}`,title:r?`Mark as not reviewed`:`Mark as reviewed`,children:[r?(0,I.jsx)(Be,{size:14}):(0,I.jsx)(gt,{size:14}),`Viewed`]})]})]})},Xb=e=>{let t={old:[],new:[]};return e.forEach(e=>{let n=e.side??`new`,[r,i]=Array.isArray(e.line)?[e.line[0],e.line[1]]:[e.line,e.line];r<=0||i<=0||t[n].push({start:Math.min(r,i),end:Math.max(r,i)})}),t},Zb=(e,t)=>e.chunks.map((e,n)=>{let r=t===`old`?e.oldStart:e.newStart,i=t===`old`?e.oldLines:e.newLines;return!r||i<=0?null:{start:r,end:r+i-1,index:n}}).filter(e=>!!e),Qb=e=>{let t=[],n=e[0];if(!n)return t;n.start>1&&t.push({type:`before`,start:1,end:n.start-1,nextChunkIndex:n.index});for(let n=1;n<e.length;n+=1){let r=e[n-1],i=e[n];!r||!i||i.start>r.end+1&&t.push({type:`between`,start:r.end+1,end:i.start-1,prevChunkIndex:r.index,nextChunkIndex:i.index})}let r=e[e.length-1];return r&&t.push({type:`after`,start:r.end+1,end:1/0,prevChunkIndex:r.index}),t},$b=e=>{let t=new Map;return e.forEach(e=>{let n=e.originalIndices[0];n!==void 0&&t.set(n,e)}),t},ex=e=>{let t=e[e.length-1];return t?.originalIndices[t.originalIndices.length-1]??null},tx=(0,F.memo)(function({file:e,threads:t,showAuthorBadges:n=!1,diffMode:r,reviewedFiles:i,isChangedSinceViewed:a=!1,onToggleReviewed:o,collapsedFiles:s,onToggleCollapsed:c,onToggleAllCollapsed:l,onAddComment:u,onGenerateThreadPrompt:d,onRemoveThread:f,onReplyToThread:p,onRemoveMessage:m,onUpdateMessage:h,onOpenInEditor:g,syntaxTheme:_,baseCommitish:v,targetCommitish:y,cursor:b=null,isFocused:x=!1,fileIndex:S=0,onLineClick:C,commentTrigger:w,onCommentTriggerHandled:T,mergedChunks:E,expandLines:D,expandAllBetweenChunks:O,prefetchFileContent:k,isExpandLoading:A,diffVersion:j}){let M=s.has(e.path),N=(0,F.useRef)(null),[P,ee]=(0,F.useState)(!1),te=qb(e),ne=te.canExpandHiddenLines?.(e)??!1,re=te.id==="default"&&bp(e.path);(0,F.useEffect)(()=>{if(!ne)return;let e=N.current;if(!e)return;let t=new IntersectionObserver(([e])=>{e?.isIntersecting&&ee(!0)},{rootMargin:`200px`});return t.observe(e),()=>t.disconnect()},[ne]),(0,F.useEffect)(()=>{P&&!M&&ne&&k(e)},[P,M,ne,e,k]);let L=(0,F.useCallback)(async(t,n,r,i)=>{try{await u(e.path,t,n,r,i)}catch(e){console.error(`Failed to add comment:`,e)}},[e.path,u]);(0,F.useEffect)(()=>{if(M||A||!ne||t.length===0||e.chunks.length===0||E.length===0)return;let n=Xb(t),r=$b(E),i=ex(E),a=E[E.length-1],o=new Set,s=(e,t)=>{o.has(e)||(o.add(e),t())};[`old`,`new`].forEach(t=>{let o=n[t];o.length!==0&&Qb(Zb(e,t)).forEach(t=>{if(!o.some(e=>e.start<=t.end&&e.end>=t.start))return;if(t.type===`after`&&a&&i!==null){a.hiddenLinesAfter>0&&s(`after-${i}`,()=>{D(e,i,`down`,a.hiddenLinesAfter)});return}let n=t.nextChunkIndex;if(n===void 0)return;let c=r.get(n);!c||c.hiddenLinesBefore<=0||(t.type===`before`?s(`before-${n}`,()=>{D(e,n,`up`,c.hiddenLinesBefore)}):t.type===`between`&&s(`between-${n}`,()=>{O(e,n,c.hiddenLinesBefore)}))})})},[t,O,D,e,M,A,E,ne]);let R=Uv({file:e,enabled:re,baseCommitish:v,targetCommitish:y,reloadKey:j}),z=te.Component,ie={file:e,threads:t,showAuthorBadges:n,diffMode:r,syntaxTheme:_,baseCommitish:v,targetCommitish:y,cursor:b,fileIndex:S,mergedChunks:E,isExpandLoading:A,expandHiddenLines:D,expandAllBetweenChunks:O,onAddComment:L,onGenerateThreadPrompt:d,onRemoveThread:f,onReplyToThread:p,onRemoveMessage:m,onUpdateMessage:h,onOpenInEditor:g,onLineClick:C,commentTrigger:w,onCommentTriggerHandled:T};return(0,I.jsxs)(`div`,{ref:N,className:`bg-github-bg-primary`,style:{"--line-number-width":`4em`},children:[(0,I.jsx)(Yb,{file:e,isCollapsed:M,isFocused:x,isReviewed:i.has(e.path),isChangedSinceViewed:a,onToggleCollapsed:c,onToggleAllCollapsed:l,onToggleReviewed:o}),!M&&(0,I.jsx)(Yd,{value:R,children:(0,I.jsx)(`div`,{className:`overflow-y-auto`,children:(0,I.jsx)(z,{...ie})})})]})});function nx(e){if(!e)return!1;let t=e.toLowerCase();return t.includes(`safari`)&&!t.includes(`chrome`)&&!t.includes(`chromium`)&&!t.includes(`crios`)&&!t.includes(`fxios`)&&!t.includes(`edg/`)&&!t.includes(`android`)}var rx=16,ix=24;function ax(e){return`${e*ix+rx}px`}function ox(e){if(!e.isDirectory||!e.children)return[];let t=[];return e.path&&t.push(e.path),e.children.forEach(e=>{t.push(...ox(e))}),t}function sx(e,t){let n=new Set,r=e=>{if(e.file)return t.has(e.file.path);if(!e.isDirectory||!e.children||e.children.length===0)return!1;let i=e.children.map(e=>r(e)).every(Boolean);return i&&e.path&&n.add(e.path),i};return r(e),n}function cx(e){let t={name:``,path:``,isDirectory:!0,children:[]};e.forEach(e=>{let n=e.path.split(`/`),r=t;for(let t=0;t<n.length;t++){let i=n[t];if(!i)continue;let a=t===n.length-1,o=n.slice(0,t+1).join(`/`);r.children||=[];let s=r.children.find(e=>e.name===i);s||(s={name:i,path:o,isDirectory:!a,children:a?void 0:[],file:a?e:void 0},r.children.push(s)),r=s}});let n=e=>{if(!e.isDirectory||!e.children)return e;if(e.children=e.children.map(n),e.children.length===1&&e.children[0]?.isDirectory&&e.children[0]?.children){let t=e.children[0];if(t)return e.name?{...e,name:`${e.name}/${t.name}`,path:t.path,children:t.children}:e}return e};return n(t)}var lx=(0,F.memo)(function({files:e,onScrollToFile:t,onFileSelected:n,comments:r,reviewedFiles:i,onToggleReviewed:a,onToggleFolderReviewed:o,selectedFileIndex:s}){let c=(0,F.useMemo)(()=>cx(e),[e]),l=(0,F.useMemo)(()=>!nx(typeof navigator>`u`?``:navigator.userAgent),[]),u=(0,F.useRef)(null),d=(0,F.useRef)(new Map),f={"--dir-row-height":`calc(var(--spacing, 0.25rem) * 9)`},[p,m]=(0,F.useState)(()=>new Set(ox(c))),[h,g]=(0,F.useState)(``),_=(0,F.useMemo)(()=>{let e=new Map;return r.forEach(t=>{e.set(t.file,(e.get(t.file)??0)+1)}),e},[r]),v=(0,F.useMemo)(()=>{let t=new Map;return e.forEach((e,n)=>{t.set(e.path,n)}),t},[e]),y=(0,F.useMemo)(()=>e.reduce((e,t)=>({additions:e.additions+t.additions,deletions:e.deletions+t.deletions}),{additions:0,deletions:0}),[e]),b=(0,F.useMemo)(()=>sx(c,i),[c,i]),x=(0,F.useMemo)(()=>{let e=h.trim().toLowerCase(),t=n=>{if(!e)return n;if(n.isDirectory&&n.children){let e=n.children.map(e=>t(e)).filter(e=>e!==null);return e.length>0?{...n,children:e}:null}else if(n.file)return n.file.path.toLowerCase().includes(e)?n:null;return null};return t(c)||{...c,children:[]}},[c,h]),S=e=>{switch(e){case`added`:return(0,I.jsx)(et,{size:16,className:`text-github-accent`});case`deleted`:return(0,I.jsx)(tt,{size:16,className:`text-github-danger`});case`renamed`:return(0,I.jsx)($e,{size:16,className:`text-github-warning`});default:return(0,I.jsx)(Qe,{size:16,className:`text-github-text-secondary`})}},C=e=>{m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},w=(0,F.useMemo)(()=>ox(c),[c]),T=p.size===w.length&&w.length>0,E=()=>{m(T?new Set:new Set(w))},D=(e,t)=>{if(!l){C(t);return}let n=u.current,r=e.currentTarget;if(!n){C(t);return}let i=n.getBoundingClientRect(),a=r.getBoundingClientRect(),o=Number.parseFloat(getComputedStyle(r).top||`0`);if(a.top-i.top<=o+1){let e=d.current.get(t)?.querySelector(`[data-tree-row="true"]:not([data-dir-header="true"])`),i=r.getBoundingClientRect().height||0,a=e??r,o=i*Number.parseInt(a.dataset.depth||r.dataset.depth||`0`,10),s=Math.max(0,a.offsetTop-o);if(Math.abs(n.scrollTop-s)<=1){C(t);return}n.scrollTo({top:s});return}C(t)},O=(e,r=0)=>{if(e.isDirectory&&e.children){let t=p.has(e.path),n=b.has(e.path);return(0,I.jsxs)(`div`,{"data-dir-container":e.path||void 0,ref:t=>{e.path&&(t?d.current.set(e.path,t):d.current.delete(e.path))},children:[e.name&&(0,I.jsxs)(`div`,{className:`${l?`sticky `:``}group flex h-9 items-center gap-2 bg-github-bg-secondary px-4 hover:bg-github-bg-tertiary cursor-pointer ${n?`opacity-70`:``}`,"data-dir-header":`true`,"data-tree-row":`true`,"data-depth":r,style:{paddingLeft:ax(r),top:l?`calc(${r} * var(--dir-row-height))`:void 0,zIndex:l?1e3-r:void 0},onClick:t=>D(t,e.path),children:[t?(0,I.jsx)(Ve,{size:16}):(0,I.jsx)(Ue,{size:16}),(0,I.jsx)(`span`,{className:`flex items-center group-hover:hidden`,children:t?(0,I.jsx)(nt,{size:16,className:`text-github-text-secondary`}):(0,I.jsx)(rt,{size:16,className:`text-github-text-secondary`})}),(0,I.jsx)(`span`,{className:`hidden items-center pl-[2px] group-hover:flex`,children:(0,I.jsx)(Qt,{checked:n,onChange:()=>{o(e.path,!n)},title:n?`Mark all files as not reviewed`:`Mark all files as reviewed`,className:`z-10`})}),(0,I.jsx)(`span`,{className:`text-sm text-github-text-primary font-medium flex-1 overflow-hidden text-ellipsis whitespace-nowrap ${n?`line-through text-github-text-muted`:``}`,title:e.name,children:e.name})]}),(t||!e.name)&&e.children.map(t=>O(t,e.name?r+1:r))]},e.path)}else if(e.file){let o=e.file,c=_.get(o.path)??0,l=i.has(o.path),u=v.get(o.path)??-1;return(0,I.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2 hover:bg-github-bg-tertiary cursor-pointer transition-colors ${l?`opacity-70`:``} ${s!==null&&s===u?`bg-github-bg-tertiary`:``}`,"data-file-row":`true`,"data-tree-row":`true`,"data-depth":r,style:{paddingLeft:ax(r)},onClick:()=>{t(o.path),n?.()},children:[(0,I.jsx)(Qt,{checked:l,onChange:()=>{a(o.path)},title:l?`Mark as not reviewed`:`Mark as reviewed`,className:`z-10`}),S(e.file.status),(0,I.jsx)(`span`,{className:`text-sm text-github-text-primary flex-1 overflow-hidden text-ellipsis whitespace-nowrap ${l?`line-through text-github-text-muted`:``}`,title:e.file.path,children:e.name}),c>0&&(0,I.jsxs)(`span`,{className:`text-github-warning text-sm font-medium ml-auto flex items-center gap-1`,children:[(0,I.jsx)(lt,{size:14}),c]})]},o.path)}return null};return(0,I.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,I.jsxs)(`div`,{className:`px-4 py-3 border-b border-github-border bg-github-bg-tertiary`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between mb-3`,children:[(0,I.jsxs)(`h3`,{className:`text-sm font-semibold text-github-text-primary m-0`,children:[`Files changed (`,e.length,`)`]}),(0,I.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,I.jsxs)(`span`,{className:`inline-flex gap-1 text-right text-xs font-medium whitespace-nowrap`,title:`Total additions and deletions`,"aria-label":`${y.additions} additions and ${y.deletions} deletions`,children:[(0,I.jsxs)(`span`,{className:`text-github-accent`,children:[`+`,y.additions]}),(0,I.jsxs)(`span`,{className:`text-github-danger`,children:[`-`,y.deletions]})]}),(0,I.jsx)(`button`,{onClick:E,className:`p-1 hover:bg-github-bg-primary rounded transition-colors`,title:T?`Collapse all`:`Expand all`,children:T?(0,I.jsx)(We,{size:16,className:`text-github-text-secondary`}):(0,I.jsx)(Ge,{size:16,className:`text-github-text-secondary`})})]})]}),(0,I.jsxs)(`div`,{className:`relative`,children:[(0,I.jsx)(mt,{size:16,className:`absolute left-3 top-1/2 transform -translate-y-1/2 text-github-text-muted`}),(0,I.jsx)(`input`,{type:`text`,placeholder:`Filter files...`,value:h,onChange:e=>g(e.target.value),className:`w-full pl-9 pr-3 py-2 text-sm bg-github-bg-primary border border-github-border rounded-md focus:outline-none focus:border-github-accent text-github-text-primary placeholder-github-text-muted`})]})]}),(0,I.jsx)(`div`,{className:`flex-1 overflow-y-auto relative z-0`,style:f,ref:u,children:x.children?.map(e=>O(e))})]})});function ux({style:e}){return(0,I.jsx)(`svg`,{width:`98`,height:`96`,viewBox:`0, 0, 98, 96`,style:e,xmlns:`http://www.w3.org/2000/svg`,"aria-label":`GitHub`,role:`img`,children:(0,I.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z`,fill:`currentColor`})})}function dx({isOpen:e,onClose:t}){let{enableScope:n,disableScope:r}=Ce();return B(`escape`,()=>t(),{enabled:e},[t,e]),(0,F.useEffect)(()=>(e?r(`navigation`):n(`navigation`),()=>{n(`navigation`)}),[e,n,r]),e?(0,I.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,I.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,onClick:t}),(0,I.jsxs)(`div`,{className:`relative bg-github-bg-primary border border-github-border rounded-lg shadow-lg max-w-4xl w-full mx-4 max-h-[80vh] overflow-y-auto`,children:[(0,I.jsxs)(`div`,{className:`sticky top-0 bg-github-bg-primary border-b border-github-border px-6 py-4 flex items-center justify-between`,children:[(0,I.jsx)(`h2`,{className:`text-lg font-semibold text-github-text-primary`,children:`Keyboard Shortcuts`}),(0,I.jsx)(`button`,{onClick:t,className:`text-github-text-secondary hover:text-github-text-primary transition-colors`,"aria-label":`Close help modal`,children:(0,I.jsx)(bt,{size:20})})]}),(0,I.jsxs)(`div`,{className:`px-6 py-4 grid grid-cols-1 lg:grid-cols-2 gap-6`,children:[(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Line Navigation`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex gap-2`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`j`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`↓`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Next line`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex gap-2`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`k`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`↑`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Previous line`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`File Navigation`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`]`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Next file`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`[`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Previous file`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`[`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Jump to first file`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`]`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Jump to last file`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Chunk Navigation`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`n`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Next change chunk (added/deleted lines)`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`p`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Previous change chunk (added/deleted lines)`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Comment Navigation`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`N`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Next comment`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`P`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Previous comment`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Side Navigation (Side-by-side mode)`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex gap-2`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`h`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`←`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Focus left side`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex gap-2`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`l`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`→`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Focus right side`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Comment Management`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`L`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`View all comments list`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`C`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Copy all comments prompt`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`D`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Delete all comments`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Actions`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`v`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Toggle viewed state of current (or hovered) file`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between gap-4 text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`V`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary text-right`,children:`Mark file as viewed and go to next unviewed file`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`R`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Refresh diff when changes detected`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`c`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Add comment at current line`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`.`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Move cursor to center of viewport`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`?`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Show/hide this help`})]})]})]}),(0,I.jsx)(`div`,{className:`pt-4 border-t border-github-border lg:col-span-2`,children:(0,I.jsx)(`p`,{className:`text-xs text-github-text-secondary`,children:`Shortcuts are disabled when typing in input fields.`})})]})]})]}):null}function fx({style:e}){return(0,I.jsxs)(`svg`,{style:e,viewBox:`0 0 720 190`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-label":`difit`,role:`img`,children:[(0,I.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M440.487 5.90627C432.164 9.01695 427.318 16.2817 427.318 25.649C427.318 35.9474 433.206 43.6458 442.714 45.7819C451.336 47.7188 459.606 44.3893 464.84 36.8737C466.923 33.8843 467.35 32.4073 467.606 27.3105C467.773 23.9957 467.492 20.0154 466.983 18.4654C465.699 14.5629 460.869 9.13088 456.854 7.07513C452.57 4.88086 444.73 4.32102 440.487 5.90627ZM596.658 6.653C588.927 9.55794 584.572 15.4908 583.887 24.0465C583.17 33.0212 586.83 39.8868 594.382 43.7278C603.739 48.4877 615.574 44.5081 620.482 34.9515C625.35 25.4728 622.15 13.4916 613.37 8.32678C608.986 5.74808 601.154 4.96365 596.658 6.653ZM368.585 7.68006C367.464 8.80629 367.302 12.903 367.302 40.2286V71.4878L363.832 68.1329C353.432 58.0787 335.595 52.668 319.246 54.6082C310.542 55.641 299.81 59.1369 293.3 63.0607C278.56 71.9427 266.453 89.5576 263.139 106.945C261.765 114.155 261.602 129.431 262.825 136.365C265.723 152.796 274.795 168.36 286.716 177.355C298.275 186.077 310.237 190 325.274 190C340.687 190 353.943 185.273 362.869 176.594L367.302 172.284V178.215C367.302 186.902 366.946 186.724 384.303 186.709C392.243 186.702 399.29 186.347 399.964 185.919C401.04 185.236 401.189 174.47 401.189 97.1224C401.189 23.7236 401.003 8.87842 400.068 7.74809C398.433 5.77021 370.547 5.71037 368.585 7.68006ZM526.937 7.94153C519.783 10.0325 515.359 12.5834 510.029 17.6867C501.959 25.4129 498.766 34.4597 498.766 49.5975V58.8517H490.659C484.378 58.8517 482.263 59.1418 481.268 60.1394C480.214 61.1976 479.986 63.6558 479.986 73.91C479.986 82.5264 480.289 86.6977 480.966 87.3764C481.601 88.0141 484.903 88.36 490.356 88.36H498.766V136.692C498.766 183.638 498.811 185.048 500.345 185.873C502.433 186.994 529.394 186.994 531.482 185.873C533.016 185.048 533.061 183.638 533.061 136.692V88.36H549.334C563.038 88.36 565.809 88.1568 566.89 87.0723C568.782 85.1723 568.782 62.0394 566.89 60.1394C565.808 59.0541 563.029 58.8517 549.231 58.8517H532.856L533.216 51.9721C533.604 44.5499 534.721 41.9147 538.546 39.3958C540.377 38.1901 543.049 37.904 554.661 37.6737C562.626 37.5155 569.018 37.0343 569.602 36.5483C570.892 35.4761 571.046 10.3579 569.777 7.9776C568.978 6.47923 567.918 6.39562 550.384 6.45054C535.269 6.49808 530.93 6.77431 526.937 7.94153ZM654.931 26.4834C653.136 27.7662 653.094 28.1572 653.094 43.3245V58.8517H644.567C633.342 58.8517 633.497 58.6443 633.497 73.6059C633.497 88.5674 633.342 88.36 644.567 88.36H653.094V122.636C653.094 159.998 653.439 163.935 657.362 171.354C661.848 179.838 669.111 184.99 680.857 188.022C687.996 189.866 707.647 189.269 714.309 187.007C719.756 185.158 719.86 184.87 719.969 171.298C720.082 157.364 720.441 157.791 709.174 158.48C695.386 159.324 689.341 156.938 687.388 149.883C686.927 148.214 686.58 134.435 686.577 117.663L686.572 88.36H702.068H717.564L718.87 86.3592C719.946 84.7108 720.129 82.3461 719.91 72.9575C719.719 64.8279 719.321 61.1689 718.522 60.2041C717.553 59.0345 715.315 58.8517 701.987 58.8517H686.572L686.546 43.8926C686.526 31.8556 686.28 28.613 685.288 27.2941C684.156 25.7884 682.945 25.6351 670.412 25.4129C658.94 25.2088 656.476 25.3793 654.931 26.4834ZM431.459 60.1394C430.316 61.2877 430.178 68.0001 430.188 121.82C430.197 168.838 430.429 182.667 431.232 184.262L432.264 186.311L446.657 186.535C458.941 186.725 461.242 186.567 462.353 185.452C463.521 184.279 463.655 177.845 463.655 122.786C463.655 68.0985 463.515 61.2877 462.372 60.1394C460.469 58.2287 433.362 58.2287 431.459 60.1394ZM587.799 60.4369C587.238 61.4894 586.954 82.56 586.954 123.084C586.954 177.502 587.093 184.285 588.236 185.434C590.138 187.342 616.431 187.342 618.333 185.434C619.476 184.285 619.615 177.447 619.615 122.482C619.615 75.6149 619.38 60.5828 618.636 59.8353C617.947 59.1443 613.344 58.8517 603.15 58.8517C589.644 58.8517 588.586 58.9607 587.799 60.4369ZM347.956 87.3469C362.023 93.9543 369.138 107.306 367.775 124.535C366.623 139.097 359.678 149.866 347.83 155.463C337.073 160.544 325.541 160.523 315.049 155.403C293.381 144.83 288.765 112.315 306.417 94.5961C313.92 87.0641 322.021 84.1412 334.301 84.5354C341.49 84.7666 343.224 85.124 347.956 87.3469Z`,fill:`currentColor`}),(0,I.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M9.42299 0.744751C4.61699 2.15275 2.03999 5.66375 0.956994 12.2768C-0.369006 20.3728 -0.294006 170.791 1.03899 176.572C2.29699 182.031 4.81699 185.308 9.65399 187.774C13.265 189.615 16.865 189.684 108.63 189.684C163.129 189.684 204.095 189.304 204.41 188.795C206 188.5 206 188.795 207.5 188C211.167 187.079 216.779 180.138 218.005 175.584C218.682 173.068 218.939 143.952 218.756 90.4718C218.487 11.7478 218.417 9.10275 216.535 6.62675C215.466 5.22075 213.441 3.19575 212.035 2.12675C209.546 0.23575 206.839 0.17975 110.978 0.0167504C55.373 -0.0782496 11.148 0.239751 9.42299 0.744751ZM203.778 14.8838C205.558 16.6638 205.509 172.577 203.728 175.005C202.577 176.574 198.865 176.688 156.978 176.446L111.478 176.184L111.226 138.684L110.974 101.184H84.059C69.255 101.184 56.808 101.52 56.397 101.931C55.986 102.343 60.674 107.82 66.814 114.104C72.954 120.388 77.978 126.202 77.978 127.026C77.978 129.577 74.769 134.267 71.896 135.916C69.609 137.229 68.75 137.278 66.704 136.217C63.533 134.572 28.705 99.1448 27.757 96.5998C27.36 95.5348 27.491 93.4308 28.049 91.9238C28.955 89.4768 68.498 49.6838 70.024 49.6838C70.366 49.6838 72.356 51.1627 74.447 52.9697C77.589 55.6867 78.118 56.6658 77.498 58.6198C77.086 59.9198 72.075 65.8308 66.363 71.7568C60.651 77.6818 55.978 83.0148 55.978 83.6068C55.978 84.3488 64.068 84.6838 81.952 84.6838H107.927H110.666C111.144 82.5 110.978 73.4537 110.978 46.2337V13.6838H156.778C191.067 13.6838 202.88 13.9858 203.778 14.8838ZM148.803 52.7217C146.51 54.0597 144.845 59.5997 145.74 62.9107C146.146 64.4107 150.657 69.9308 155.764 75.1788C161.411 80.9788 164.547 84.8988 163.764 85.1788C163.057 85.4318 151.549 85.7608 138.19 85.9108C117.896 86.1388 113.747 86.4308 112.956 87.6838C112.435 88.5088 112.002 91.7228 111.993 94.8268C111.982 99.0598 112.373 100.622 113.56 101.077C114.43 101.411 126.13 101.684 139.56 101.684C156.121 101.684 163.978 102.026 163.978 102.746C163.978 103.33 160.187 107.607 155.554 112.251C146.244 121.582 144.276 125.371 146.069 130.514C147.321 134.107 149.576 135.684 153.463 135.684C155.522 135.684 159.843 131.902 173.778 117.904C191.699 99.9008 194.978 96.0678 194.978 93.1208C194.978 91.1338 157.422 53.8238 154.163 52.5728C151.322 51.4818 150.908 51.4937 148.803 52.7217Z`,fill:`currentColor`})]})}function px({shouldReload:e,isReloading:t,onReload:n,changeType:r,className:i=``,compact:a=!1}){return e?(0,I.jsxs)(`button`,{onClick:n,disabled:t,className:`
|
|
58
|
+
`));let n=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let e=0;e<r.length;e++){let i=r[e];e%2&&!t.newlineIsToken?n[n.length-1]+=i:n.push(i)}return n}function Ty(e){return e==`.`||e==`!`||e==`?`}new class extends ny{tokenize(e){let t=[],n=0;for(let r=0;r<e.length;r++){if(r==e.length-1){t.push(e.slice(n));break}if(Ty(e[r])&&e[r+1].match(/\s/)){for(t.push(e.slice(n,r+1)),r=n=r+1;e[r+1]?.match(/\s/);)r++;t.push(e.slice(n,r+1)),n=r+1}}return t}},new class extends ny{tokenize(e){return e.split(/([{}:;,]|\s+)/)}},new class extends ny{constructor(){super(...arguments),this.tokenize=wy}get useLongestToken(){return!0}castInput(e,t){let{undefinedReplacement:n,stringifyReplacer:r=(e,t)=>t===void 0?n:t}=t;return typeof e==`string`?e:JSON.stringify(Ey(e,null,null,r),null,` `)}equals(e,t,n){return super.equals(e.replace(/,([\r\n])/g,`$1`),t.replace(/,([\r\n])/g,`$1`),n)}};function Ey(e,t,n,r,i){t||=[],n||=[],r&&(e=r(i===void 0?``:i,e));let a;for(a=0;a<t.length;a+=1)if(t[a]===e)return n[a];let o;if(Object.prototype.toString.call(e)===`[object Array]`){for(t.push(e),o=Array(e.length),n.push(o),a=0;a<e.length;a+=1)o[a]=Ey(e[a],t,n,r,String(a));return t.pop(),n.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),typeof e==`object`&&e){t.push(e),o={},n.push(o);let i=[],s;for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&i.push(s);for(i.sort(),a=0;a<i.length;a+=1)s=i[a],o[s]=Ey(e[s],t,n,r,s);t.pop(),n.pop()}else o=e;return o}new class extends ny{tokenize(e){return e.slice()}join(e){return e}removeEmpty(e){return e}};function Dy(e,t){let n=xy(e,t),r=[],i=[];for(let e of n)e.added?i.push({value:e.value,type:`added`}):e.removed?r.push({value:e.value,type:`removed`}):(r.push({value:e.value,type:`unchanged`}),i.push({value:e.value,type:`unchanged`}));return{oldSegments:r,newSegments:i}}function Oy(e,t){if(!e.trim()||!t.trim()||e===t)return!1;let n=vy(e,t),r=0,i=0;for(let e of n)i+=e.value.length,!e.added&&!e.removed&&(r+=e.value.length);return r/i>=.2}var ky=F.memo(({onMouseDown:e,title:t=`Add a comment`})=>(0,I.jsx)(`button`,{type:`button`,className:`absolute -right-2 top-1/2 -translate-y-1/2 w-7 h-7 flex items-center justify-center rounded transition-all duration-150 hover:scale-110 z-10`,"data-comment-button":`true`,style:{backgroundColor:`var(--color-yellow-btn-bg)`,color:`var(--color-yellow-btn-text)`,border:`1px solid var(--color-yellow-btn-border)`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`var(--color-yellow-btn-hover-bg)`,e.currentTarget.style.borderColor=`var(--color-yellow-btn-hover-border)`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`var(--color-yellow-btn-bg)`,e.currentTarget.style.borderColor=`var(--color-yellow-btn-border)`},onMouseDown:e,onClick:e=>e.stopPropagation(),title:t,children:(0,I.jsx)(lt,{className:`w-4 h-4`})}));ky.displayName=`CommentButton`;var Ay=F.memo(({onClick:e,title:t=`Open in editor`,className:n})=>(0,I.jsx)(`button`,{className:`absolute -right-10 top-1/2 -translate-y-1/2 w-7 h-7 flex items-center justify-center rounded transition-all duration-150 hover:scale-110 z-10 ${n||``}`,"data-open-in-editor-button":`true`,style:{backgroundColor:`var(--color-editor-btn-bg)`,color:`var(--color-editor-btn-text)`,border:`1px solid var(--color-editor-btn-border)`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`var(--color-editor-btn-hover-bg)`,e.currentTarget.style.borderColor=`var(--color-editor-btn-hover-border)`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`var(--color-editor-btn-bg)`,e.currentTarget.style.borderColor=`var(--color-editor-btn-border)`},onMouseDown:e=>{e.stopPropagation()},onClick:t=>{t.stopPropagation(),e(t)},title:t,children:(0,I.jsx)(Xe,{className:`w-4 h-4 opacity-80`})}));Ay.displayName=`OpenInEditorButton`;var jy=e=>{if(`isExpanded`in e&&e.isExpanded)return`bg-github-bg-tertiary/80`;switch(e.type){case`add`:return`bg-diff-addition-bg`;case`delete`:return`bg-diff-deletion-bg`;default:return`bg-transparent`}},My=F.memo(({line:e,index:t,lineId:n,isCurrentLine:r=!1,hoveredLineIndex:i,selectedLineStyle:a,onMouseEnter:o,onMouseLeave:s,onMouseMove:c,onCommentButtonMouseDown:l,onOpenInEditor:u,syntaxTheme:d,onClick:f,filename:p,diffSegments:m})=>{let h=e.newLineNumber||e.oldLineNumber,g=i===t&&h,_=r?`keyboard-cursor`:``;return(0,I.jsxs)(`tr`,{id:n,"data-diff-line-row":`true`,className:`group ${jy(e)} relative ${a} ${_} cursor-pointer`,onMouseEnter:o,onMouseLeave:s,onMouseMove:c,onClick:f,children:[(0,I.jsx)(`td`,{className:`w-[var(--line-number-width)] min-w-[var(--line-number-width)] max-w-[var(--line-number-width)] px-2 text-right text-github-text-muted bg-github-bg-secondary border-r border-github-border select-none align-top relative`,children:e.oldLineNumber||``}),(0,I.jsxs)(`td`,{className:`w-[var(--line-number-width)] min-w-[var(--line-number-width)] max-w-[var(--line-number-width)] px-2 text-right text-github-text-muted bg-github-bg-secondary border-r border-github-border select-none align-top relative overflow-visible`,children:[(0,I.jsx)(`span`,{children:e.newLineNumber||``}),g&&(0,I.jsxs)(I.Fragment,{children:[u&&(0,I.jsx)(Ay,{onClick:u}),(0,I.jsx)(ky,{onMouseDown:l})]})]}),(0,I.jsx)(`td`,{className:`p-0 w-full relative align-top`,children:(0,I.jsx)(Op,{line:e,syntaxTheme:d,filename:p,diffSegments:m})})]})});My.displayName=`DiffLineRow`;var Ny=e=>e!==void 0&&`isExpanded`in e&&e.isExpanded===!0,Py=(e,t)=>t?`bg-github-bg-tertiary/80`:e?.type===`delete`?`bg-diff-deletion-bg`:e?.type===`add`?`bg-diff-addition-bg`:e?.type===`normal`?`bg-transparent`:`bg-github-bg-secondary`,Fy=(e,t)=>e.closest(`td:nth-child(1)`)||e.closest(`td:nth-child(2)`)?!t.oldLineNumber||t.oldLineOriginalIndex===void 0||t.oldLineOriginalIndex<0?null:{selection:{side:`old`,lineNumber:t.oldLineNumber},lineIndex:t.oldLineOriginalIndex,navigationSide:`left`}:!(e.closest(`td:nth-child(3)`)||e.closest(`td:nth-child(4)`))||!t.newLineNumber||t.newLineOriginalIndex===void 0||t.newLineOriginalIndex<0?null:{selection:{side:`new`,lineNumber:t.newLineNumber},lineIndex:t.newLineOriginalIndex,navigationSide:`right`};function Iy({chunk:e,chunkIndex:t,threads:n,showAuthorBadges:r=!1,onAddComment:i,onGenerateThreadPrompt:a,onRemoveThread:o,onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,syntaxTheme:u,cursor:d=null,fileIndex:f=0,onLineClick:p,commentTrigger:m,onCommentTriggerHandled:h,filename:g,onOpenInEditor:_}){let{getOldTokens:v,getNewTokens:y}=Xd(),[b,x]=(0,F.useState)(null),[S,C]=(0,F.useState)(null),[w,T]=(0,F.useState)(!1),[E,D]=(0,F.useState)(null),[O,k]=(0,F.useState)(null),[A,j]=(0,F.useState)(null);(0,F.useEffect)(()=>{if(m?.lineIndex!==void 0){let t=e.lines[m.lineIndex];if(t&&t.type!==`delete`){let e=t.newLineNumber;e&&(D({side:`new`,lineNumber:e}),h?.())}}},[m,e.lines,h]);let M=(0,F.useCallback)((e,t)=>{E?.side===e&&E?.lineNumber===t?D(null):D({side:e,lineNumber:t})},[E]),N=e=>{if(!O||O.side!==e.side)return e.lineNumber;let t=Math.min(O.lineNumber,e.lineNumber),n=Math.max(O.lineNumber,e.lineNumber);return t===n?e.lineNumber:[t,n]},P=e=>{M(e.side,N(e)),k(e)},ee=e=>{k(e),x(e),C(e),T(!0)},te=({isShiftClick:e,selection:t})=>{if(t){if(e){P(t);return}ee(t)}},ne=({isShiftClick:e,target:n,sideLine:r})=>{if(w)return;let i=Fy(n,r);if(i){if(e){P(i.selection);return}k(i.selection),p?.(f,t,i.lineIndex,i.navigationSide)}};(0,F.useEffect)(()=>{if(!w)return;let e=()=>{setTimeout(()=>{if(b){let e=S&&S.side===b.side?S.lineNumber:b.lineNumber;if(b.lineNumber===e)M(b.side,b.lineNumber);else{let t=Math.min(b.lineNumber,e),n=Math.max(b.lineNumber,e);M(b.side,[t,n])}}T(!1),x(null),C(null)},0)};return document.addEventListener(`mouseup`,e),()=>{document.removeEventListener(`mouseup`,e)}},[w,b,S,M]);let re=(0,F.useCallback)(()=>{D(null)},[]),L=(0,F.useCallback)(()=>{if(!E)return``;let{side:t,lineNumber:n}=E,r=e.lines;if(typeof n==`number`)return r.find(e=>t===`old`?e.oldLineNumber===n:e.newLineNumber===n)?.content??``;{let[e,i]=n;return r.filter(n=>{let r=t===`old`?n.oldLineNumber:n.newLineNumber;return r!==void 0&&r>=e&&r<=i}).map(e=>e.content??``).join(`
|
|
59
|
+
`)}},[E,e.lines]),R=(0,F.useCallback)(async e=>{if(E!==null){let t=L();await i(E.lineNumber,e,t,E.side),D(null)}},[E,i,L]),z=(0,F.useCallback)((e,t)=>{if(t==null)return null;let n=e?.(t)??null;return n?[n]:null},[]),ie=(e,t)=>n.filter(n=>{let r=Array.isArray(n.line)?n.line[1]===e:n.line===e,i=!n.side||n.side===t;return r&&i}).sort((e,t)=>e.createdAt.localeCompare(t.createdAt)),ae=e=>e.oldLine?.type===`delete`&&e.newLine?.type===`add`?e.newLineNumber?`right`:`left`:e.oldLine?.type===`delete`?`left`:e.newLine?.type===`add`?`right`:`full`,oe=(e,t)=>{let n=e===`old`?t.oldLineNumber:t.newLineNumber;if(!n)return``;if(w&&b&&S&&b.side===e&&S.side===e){let e=Math.min(b.lineNumber,S.lineNumber),t=Math.max(b.lineNumber,S.lineNumber);if(n>=e&&n<=t){let r=`after:bg-blue-100 after:absolute after:inset-0 after:opacity-30 after:border-l-4 after:border-blue-500 after:pointer-events-none`;return n===e&&(r+=` after:border-t-2`),n===t&&(r+=` after:border-b-2`),r}}if(E&&E.side===e){let e=Array.isArray(E.lineNumber)?E.lineNumber:[E.lineNumber,E.lineNumber],t=e[0],r=e[1];if(t!==void 0&&r!==void 0&&n>=t&&n<=r)return`after:bg-diff-selected-bg after:absolute after:inset-0 after:border-l-5 after:border-l-diff-selected-border after:pointer-events-none`}return``},se=(0,F.useCallback)(t=>{let n=[],r=e.oldStart,i=e.newStart,a=0;for(;a<t.length;){let e=t[a];if(!e){a++;continue}if(e.type===`normal`)n.push({oldLine:e,newLine:{...e},oldLineNumber:e.oldLineNumber??r,newLineNumber:e.newLineNumber??i,oldLineOriginalIndex:a,newLineOriginalIndex:a}),r++,i++,a++;else if(e.type===`delete`){let e=a+1;for(;e<t.length&&t[e]?.type===`delete`;)e++;let o=t.slice(a,e),s=a,c=[],l=e;for(;e<t.length&&t[e]?.type===`add`;){let n=t[e];n&&c.push(n),e++}let u=Math.max(o.length,c.length);for(let e=0;e<u;e++){let t=o[e],a=c[e],u;t&&a&&Oy(t.content,a.content)&&(u=Dy(t.content,a.content)),n.push({oldLine:t,newLine:a,oldLineNumber:t?t.oldLineNumber??r+e:void 0,newLineNumber:a?a.newLineNumber??i+e:void 0,oldLineOriginalIndex:t?s+e:void 0,newLineOriginalIndex:a?l+e:void 0,wordLevelDiff:u})}r+=o.length,i+=c.length,a=e}else e.type===`add`&&(n.push({newLine:e,newLineNumber:e.newLineNumber??i,newLineOriginalIndex:a}),i++,a++)}return n},[e.oldStart,e.newStart]);return(0,I.jsx)(`div`,{className:`bg-github-bg-primary overflow-hidden`,children:(0,I.jsx)(`table`,{className:`w-full table-fixed border-collapse font-mono text-sm leading-5`,children:(0,I.jsx)(`tbody`,{children:(0,F.useMemo)(()=>se(e.lines),[e.lines,se]).map((e,n)=>{let i=e.oldLineNumber?ie(e.oldLineNumber,`old`):[],p=e.newLineNumber?ie(e.newLineNumber,`new`):[],m=[...i,...p],h=e.oldLineOriginalIndex??-1,x=e.newLineOriginalIndex??-1,S=d?d.side===`left`&&h>=0?d.chunkIndex===t&&d.lineIndex===h:d.side===`right`&&x>=0?d.chunkIndex===t&&d.lineIndex===x:!1:!1,T=h>=0?`file-${f}-chunk-${t}-line-${h}-left`:void 0,D=x>=0?`file-${f}-chunk-${t}-line-${x}-right`:void 0,O=S&&d?.side===`left`,k=S&&d?.side===`right`,M=`keyboard-cursor`,N=e.oldLineNumber?{side:`old`,lineNumber:e.oldLineNumber}:null,P=e.newLineNumber?{side:`new`,lineNumber:e.newLineNumber}:null;return(0,I.jsxs)(F.Fragment,{children:[(0,I.jsxs)(`tr`,{"data-diff-line-row":`true`,className:`group cursor-pointer`,onClick:t=>{let n=t.target;n instanceof HTMLElement&&(t.shiftKey&&t.preventDefault(),ne({isShiftClick:t.shiftKey,target:n,sideLine:e}))},onMouseEnter:t=>{let n=t.target;if(!(n instanceof HTMLElement))return;let r=n.closest(`td:nth-child(1)`)||n.closest(`td:nth-child(2)`),i=n.closest(`td:nth-child(3)`)||n.closest(`td:nth-child(4)`);r&&e.oldLineNumber?j({side:`old`,lineNumber:e.oldLineNumber}):i&&e.newLineNumber&&j({side:`new`,lineNumber:e.newLineNumber})},onMouseMove:t=>{let n=t.target;if(!(n instanceof HTMLElement))return;let r=n.closest(`td:nth-child(1)`)||n.closest(`td:nth-child(2)`),i=n.closest(`td:nth-child(3)`)||n.closest(`td:nth-child(4)`);r&&e.oldLineNumber?(A?.side!==`old`||A?.lineNumber!==e.oldLineNumber)&&j({side:`old`,lineNumber:e.oldLineNumber}):i&&e.newLineNumber&&(A?.side!==`new`||A?.lineNumber!==e.newLineNumber)&&j({side:`new`,lineNumber:e.newLineNumber}),w&&b&&(b.side===`old`&&e.oldLineNumber?C({side:`old`,lineNumber:e.oldLineNumber}):b.side===`new`&&e.newLineNumber&&C({side:`new`,lineNumber:e.newLineNumber}))},onMouseLeave:()=>j(null),children:[(0,I.jsxs)(`td`,{id:T,className:`w-[var(--line-number-width)] min-w-[var(--line-number-width)] max-w-[var(--line-number-width)] px-2 text-right text-github-text-muted bg-github-bg-secondary border-r border-github-border select-none align-top relative overflow-visible ${O?M:``}`,children:[(0,I.jsx)(`span`,{children:e.oldLineNumber||``}),A?.side===`old`&&A?.lineNumber===e.oldLineNumber&&(0,I.jsxs)(I.Fragment,{children:[_&&g&&e.oldLine?.type!==`delete`&&e.newLineNumber!==void 0&&(0,I.jsx)(Ay,{onClick:()=>{let t=e.newLineNumber;!g||t===void 0||_(g,t)}}),(0,I.jsx)(ky,{onMouseDown:e=>{e.stopPropagation(),e.shiftKey&&e.preventDefault(),te({isShiftClick:e.shiftKey,selection:N})}})]})]}),(0,I.jsx)(`td`,{className:`w-1/2 p-0 align-top border-r border-github-border relative ${Py(e.oldLine,Ny(e.oldLine))} ${oe(`old`,e)} ${O?M:``}`,children:e.oldLine&&(0,I.jsx)(`div`,{className:`flex items-center relative min-h-[20px] px-3`,children:e.wordLevelDiff?(0,I.jsx)(Tp,{segments:e.wordLevelDiff.oldSegments,className:`flex-1 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text`}):(0,I.jsx)(wp,{code:e.oldLine.content,className:`flex-1 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text [&_pre]:m-0 [&_pre]:p-0 [&_pre]:!bg-transparent [&_pre]:font-inherit [&_pre]:text-inherit [&_pre]:leading-inherit [&_code]:!bg-transparent [&_code]:font-inherit [&_code]:text-inherit [&_code]:leading-inherit`,syntaxTheme:u,filename:g,precomputedTokens:z(v,e.oldLine.oldLineNumber)})})}),(0,I.jsxs)(`td`,{id:D,className:`w-[var(--line-number-width)] min-w-[var(--line-number-width)] max-w-[var(--line-number-width)] px-2 text-right text-github-text-muted bg-github-bg-secondary border-r border-github-border select-none align-top relative overflow-visible ${k?M:``}`,children:[(0,I.jsx)(`span`,{children:e.newLineNumber||``}),A?.side===`new`&&A?.lineNumber===e.newLineNumber&&(0,I.jsxs)(I.Fragment,{children:[_&&g&&e.newLineNumber!==void 0&&(0,I.jsx)(Ay,{onClick:()=>{let t=e.newLineNumber;!g||t===void 0||_(g,t)}}),(0,I.jsx)(ky,{onMouseDown:e=>{e.stopPropagation(),e.shiftKey&&e.preventDefault(),te({isShiftClick:e.shiftKey,selection:P})}})]})]}),(0,I.jsx)(`td`,{className:`w-1/2 p-0 align-top relative ${Py(e.newLine,Ny(e.newLine))} ${oe(`new`,e)} ${k?M:``}`,children:e.newLine&&(0,I.jsx)(`div`,{className:`flex items-center relative min-h-[20px] px-3`,children:e.wordLevelDiff?(0,I.jsx)(Tp,{segments:e.wordLevelDiff.newSegments,className:`flex-1 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text`}):(0,I.jsx)(wp,{code:e.newLine.content,className:`flex-1 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text [&_pre]:m-0 [&_pre]:p-0 [&_pre]:!bg-transparent [&_pre]:font-inherit [&_pre]:text-inherit [&_pre]:leading-inherit [&_code]:!bg-transparent [&_code]:font-inherit [&_code]:text-inherit [&_code]:leading-inherit`,syntaxTheme:u,filename:g,precomputedTokens:z(y,e.newLine.newLineNumber)})})})]}),m.length>0&&(0,I.jsx)(`tr`,{className:`bg-github-bg-secondary`,children:(0,I.jsx)(`td`,{colSpan:4,className:`p-0 border-t border-github-border`,children:m.map(t=>{let n=t.side||`new`,i;return i=n===`old`&&e.oldLineNumber?`left`:n===`new`&&e.newLineNumber?`right`:ae(e),(0,I.jsx)(`div`,{className:`flex ${i===`left`?`justify-start`:i===`right`?`justify-end`:`justify-center`}`,children:(0,I.jsx)(`div`,{className:`${i===`full`?`w-full`:`w-1/2`}`,children:(0,I.jsx)(`div`,{className:`m-2 mx-3`,children:(0,I.jsx)(Up,{thread:t,showAuthorBadges:r,onGeneratePrompt:a,onRemoveThread:o,onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,syntaxTheme:u})})})},t.id)})})}),E&&(E.side===`old`&&E.lineNumber===e.oldLineNumber||E.side===`new`&&E.lineNumber===e.newLineNumber||Array.isArray(E.lineNumber)&&(E.side===`new`&&E.lineNumber[1]===e.newLineNumber||E.side===`old`&&E.lineNumber[1]===e.oldLineNumber))&&(0,I.jsx)(`tr`,{className:`bg-github-bg-secondary`,children:(0,I.jsx)(`td`,{colSpan:4,className:`p-0`,children:(0,I.jsx)(`div`,{className:`flex ${E.side===`old`?`justify-start`:E.side===`new`?`justify-end`:`justify-center`}`,children:(0,I.jsx)(`div`,{className:`w-1/2`,children:(0,I.jsx)(Vp,{onSubmit:R,onCancel:re,selectedCode:L(),syntaxTheme:u,filename:g})})})})})]},n)})})})})}var Ly=(0,F.memo)(function({chunk:e,chunkIndex:t,threads:n,showAuthorBadges:r=!1,onAddComment:i,onGenerateThreadPrompt:a,onRemoveThread:o,onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,mode:u=xt,syntaxTheme:d,cursor:f=null,fileIndex:p=0,onLineClick:m,commentTrigger:h,onCommentTriggerHandled:g,filename:_,onOpenInEditor:v}){let[y,b]=(0,F.useState)(null),[x,S]=(0,F.useState)(null),[C,w]=(0,F.useState)(null),[T,E]=(0,F.useState)(!1),[D,O]=(0,F.useState)(null),[k,A]=(0,F.useState)(null),[j,M]=(0,F.useState)(null);(0,F.useEffect)(()=>{if(h?.lineIndex!==void 0){let t=e.lines[h.lineIndex];if(t){let e=t.newLineNumber||t.oldLineNumber,n=t.type===`delete`?`old`:`new`;e&&(O({side:n,lineNumber:e}),g?.())}}},[h,e.lines,g]);let N=(0,F.useCallback)((e,t)=>{D?.side===e&&D?.lineNumber===t?O(null):O({side:e,lineNumber:t})},[D]),P=e=>{if(!k||k.side!==e.side)return e.lineNumber;let t=Math.min(k.lineNumber,e.lineNumber),n=Math.max(k.lineNumber,e.lineNumber);return t===n?e.lineNumber:[t,n]},ee=e=>{N(e.side,P(e)),A(e)},te=e=>{A(e),b(e.lineNumber),S(e.lineNumber),w(e.side),E(!0)},ne=({isShiftClick:e,selection:t})=>{if(t){if(e){ee(t);return}te(t)}},re=({isShiftClick:e,lineIndex:n,navigationSide:r,selection:i})=>{if(!i){m?.(p,t,n,r);return}if(e){ee(i);return}A(i),m?.(p,t,n,r)};(0,F.useEffect)(()=>{if(!T)return;let e=()=>{setTimeout(()=>{if(y&&C){let e=x??y;y===e?N(C,y):N(C,[Math.min(y,e),Math.max(y,e)])}E(!1),b(null),S(null),w(null)},0)};return document.addEventListener(`mouseup`,e),()=>{document.removeEventListener(`mouseup`,e)}},[T,y,x,C,N]);let L=(0,F.useCallback)(()=>{O(null)},[]),R=(0,F.useCallback)(()=>{if(!D)return``;let{side:t,lineNumber:n}=D,r=e.lines;if(typeof n==`number`)return r.find(e=>t===`old`?e.oldLineNumber===n:e.newLineNumber===n)?.content??``;{let[e,i]=n;return r.filter(n=>{let r=t===`old`?n.oldLineNumber:n.newLineNumber;return r!==void 0&&r>=e&&r<=i}).map(e=>e.content??``).join(`
|
|
60
|
+
`)}},[D,e.lines]),z=(0,F.useCallback)(async e=>{if(D!==null){let t=R();await i(D.lineNumber,e,t,D.side),O(null)}},[D,i,R]),ie=(e,t)=>n.filter(n=>{let r=Array.isArray(n.line)?n.line[1]===e:n.line===e,i=!n.side||n.side===t;return r&&i}).sort((e,t)=>e.createdAt.localeCompare(t.createdAt)),ae=e=>{if(u===`unified`)return`full`;switch(e.type){case`delete`:return`left`;case`add`:return`right`;default:return`full`}},oe=(e,t)=>{if(!e)return``;if(T&&y&&x){let t=Math.min(y,x),n=Math.max(y,x);if(e>=t&&e<=n){let r=`drag-selected`;return e===t&&(r+=` drag-selected-first`),e===n&&(r+=` drag-selected-last`),r}}if(D&&D.side===t){let t=Array.isArray(D.lineNumber)?D.lineNumber[0]:D.lineNumber,n=Array.isArray(D.lineNumber)?D.lineNumber[1]:D.lineNumber;if(e>=t&&e<=n)return`comment-selected`}return``},se=(0,F.useMemo)(()=>{let t=new Map,n=e.lines,r=0;for(;r<n.length;){let e=n[r];if(!e){r++;continue}if(e.type===`delete`){let e=r+1;for(;e<n.length&&n[e]?.type===`delete`;)e++;let i=n.slice(r,e),a=r,o=[];for(;e<n.length&&n[e]?.type===`add`;){let t=n[e];t&&o.push({line:t,index:e}),e++}let s=Math.max(i.length,o.length);for(let e=0;e<s;e++){let n=i[e],r=o[e];if(n&&r&&Oy(n.content,r.line.content)){let i=Dy(n.content,r.line.content);t.set(a+e,i.oldSegments),t.set(r.index,i.newSegments)}}r=e}else r++}return t},[e.lines]);return u===`split`?(0,I.jsx)(Iy,{chunk:e,chunkIndex:t,threads:n,showAuthorBadges:r,onAddComment:i,onGenerateThreadPrompt:a,onRemoveThread:o,onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,onOpenInEditor:v,syntaxTheme:d,cursor:f,fileIndex:p,onLineClick:m,filename:_,commentTrigger:h,onCommentTriggerHandled:g}):(0,I.jsx)(`div`,{className:`bg-github-bg-primary`,children:(0,I.jsx)(`table`,{className:`w-full table-fixed border-collapse font-mono text-sm leading-5`,children:(0,I.jsx)(`tbody`,{children:e.lines.map((e,n)=>{let i=e.newLineNumber||e.oldLineNumber||0,u=e.type===`delete`?`old`:`new`,m=D?Array.isArray(D.lineNumber)?D.lineNumber[1]:D.lineNumber:null,h=e.type===`delete`?e.oldLineNumber:e.newLineNumber,g=e.type===`delete`?`old`:`new`,b=h?ie(h,g):[],x=`file-${p}-chunk-${t}-line-${n}`,C=f&&f.chunkIndex===t&&f.lineIndex===n,w=h?{side:g,lineNumber:h}:null;return(0,I.jsxs)(F.Fragment,{children:[(0,I.jsx)(My,{line:e,index:n,lineId:x,isCurrentLine:C||!1,hoveredLineIndex:j,selectedLineStyle:oe(e.newLineNumber||e.oldLineNumber,e.type===`delete`?`old`:`new`),onMouseEnter:()=>{M(n)},onMouseLeave:()=>M(null),onMouseMove:()=>{if(T&&y){let t=e.newLineNumber||e.oldLineNumber;t&&S(t)}},onCommentButtonMouseDown:e=>{e.stopPropagation(),e.shiftKey&&e.preventDefault(),ne({isShiftClick:e.shiftKey,selection:w})},onOpenInEditor:v&&_&&e.type!==`delete`&&(e.newLineNumber||e.oldLineNumber)?()=>{let t=e.newLineNumber||e.oldLineNumber;t&&_&&v(_,t)}:void 0,syntaxTheme:d,filename:_,diffSegments:se.get(n),onClick:t=>{let r=e.type===`delete`?`left`:`right`;t.shiftKey&&t.preventDefault(),re({isShiftClick:t.shiftKey,lineIndex:n,navigationSide:r,selection:w})}}),b.map(t=>{let n=ae(e);return(0,I.jsx)(`tr`,{className:`bg-github-bg-secondary`,children:(0,I.jsx)(`td`,{colSpan:3,className:`p-0 border-t border-github-border`,children:(0,I.jsx)(`div`,{className:`flex ${n===`left`?`justify-start`:n===`right`?`justify-end`:`justify-center`}`,children:(0,I.jsx)(`div`,{className:`${n===`full`?`w-full`:`w-1/2`} m-2 mx-4`,children:(0,I.jsx)(Up,{thread:t,showAuthorBadges:r,onGeneratePrompt:a,onRemoveThread:o,onReplyToThread:s,onRemoveMessage:c,onUpdateMessage:l,syntaxTheme:d})})})})},t.id)}),D&&D.side===u&&m===i&&(0,I.jsx)(`tr`,{className:`bg-[var(--bg-secondary)]`,children:(0,I.jsx)(`td`,{colSpan:3,className:`p-0`,children:(0,I.jsx)(`div`,{className:`flex ${ae(e)===`left`?`justify-start`:ae(e)===`right`?`justify-end`:`justify-center`}`,children:(0,I.jsx)(`div`,{className:`${ae(e)===`full`?`w-full`:`w-1/2`}`,children:(0,I.jsx)(Vp,{onSubmit:z,onCancel:L,selectedCode:R(),syntaxTheme:d,filename:_})})})})})]},n)})})})})}),Ry=20,zy=(0,F.memo)(function({direction:e,hiddenLines:t,onExpandUp:n,onExpandDown:r,onExpandAll:i,isLoading:a=!1}){if(t<=0)return null;let o=`${t} ${t===1?`line`:`lines`}`,s=t<=Ry,c=[];return s?c.push({key:`all`,onClick:i,ariaLabel:`Expand all ${t} hidden lines`,icon:(0,I.jsx)(yt,{size:16,"aria-hidden":`true`})}):((e===`up`||e===`both`)&&c.push({key:`up`,onClick:n,ariaLabel:`Expand ${Ry} hidden lines above`,icon:(0,I.jsx)(ze,{size:12,"aria-hidden":`true`,className:`translate-y-0.5`})}),(e===`down`||e===`both`)&&c.push({key:`down`,onClick:r,ariaLabel:`Expand ${Ry} hidden lines below`,icon:(0,I.jsx)(Re,{size:12,"aria-hidden":`true`,className:`-translate-y-0.5`})})),(0,I.jsxs)(`div`,{className:`grid w-full border-l border-r border-github-border bg-github-bg-tertiary text-sm grid-cols-[var(--line-number-width)_1fr]`,children:[(0,I.jsx)(`div`,{className:`flex flex-col items-stretch justify-center gap-0.5 border-r border-github-border`,children:a?(0,I.jsx)(st,{size:14,className:`animate-spin text-github-text-muted self-center`,"aria-hidden":`true`}):c.map(e=>(0,I.jsx)(`button`,{type:`button`,onClick:e.onClick,disabled:a||!e.onClick,className:`flex flex-1 w-full items-center justify-center py-1 text-github-text-primary hover:bg-github-bg-secondary hover:text-github-text-muted transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed`,title:e.ariaLabel,"aria-label":e.ariaLabel,children:e.icon},e.key))}),(0,I.jsx)(`div`,{className:`flex items-center justify-start px-3 py-1.5 font-mono text-github-text-muted select-none`,children:o})]})});function By({file:e,threads:t,showAuthorBadges:n,diffMode:r,syntaxTheme:i,cursor:a,fileIndex:o,mergedChunks:s,isExpandLoading:c,expandHiddenLines:l,expandAllBetweenChunks:u,onAddComment:d,onGenerateThreadPrompt:f,onRemoveThread:p,onReplyToThread:m,onRemoveMessage:h,onUpdateMessage:g,onLineClick:_,onOpenInEditor:v,commentTrigger:y,onCommentTriggerHandled:b}){let x=(t,n,r,i)=>t===`top`&&n.hiddenLinesBefore>0?(0,I.jsx)(zy,{direction:`down`,hiddenLines:n.hiddenLinesBefore,onExpandDown:()=>l(e,r,`up`),onExpandAll:()=>u(e,r,n.hiddenLinesBefore),isLoading:c}):t===`middle`&&n.hiddenLinesBefore>0?(0,I.jsx)(zy,{direction:`both`,hiddenLines:n.hiddenLinesBefore,onExpandUp:()=>l(e,r-1,`down`),onExpandDown:()=>l(e,r,`up`),onExpandAll:()=>u(e,r,n.hiddenLinesBefore),isLoading:c}):t===`bottom`&&n.hiddenLinesAfter>0?(0,I.jsx)(zy,{direction:`up`,hiddenLines:n.hiddenLinesAfter,onExpandUp:()=>l(e,i,`down`),onExpandAll:()=>l(e,i,`down`,n.hiddenLinesAfter),isLoading:c}):null;return(0,I.jsx)(I.Fragment,{children:s.map((c,l)=>{let u=l===0,S=l===s.length-1,C=c.originalIndices[0]??0,w=c.originalIndices[c.originalIndices.length-1]??0;return(0,I.jsxs)(F.Fragment,{children:[u&&x(`top`,c,C,w),!u&&x(`middle`,c,C,w),(0,I.jsx)(`div`,{id:`chunk-${e.path.replace(/[^a-zA-Z0-9]/g,`-`)}-${l}`,children:(0,I.jsx)(Ly,{chunk:c,chunkIndex:l,threads:t,showAuthorBadges:n,onAddComment:d,onGenerateThreadPrompt:f,onRemoveThread:p,onReplyToThread:m,onRemoveMessage:h,onUpdateMessage:g,onOpenInEditor:v,mode:r,syntaxTheme:i,cursor:a&&a.chunkIndex===l?a:null,fileIndex:o,onLineClick:_,commentTrigger:y&&y.chunkIndex===l?y:null,onCommentTriggerHandled:b,filename:e.path})}),S&&x(`bottom`,c,C,w)]},l)})})}var Vy=e=>!!(e&&e!==`stdin`),Hy=[`text-[26px] font-semibold`,`text-[22px] font-semibold`,`text-xl font-semibold`,`text-lg font-semibold`,`text-base font-semibold uppercase tracking-wide`,`text-base font-semibold`],Uy=e=>e.type===`delete`||e.type===`remove`,Wy=e=>e.type===`normal`||e.type===`context`,Gy=(e,t,n)=>{let r=e[e.length-1];if(r&&r.type===t){r.lines.push(n);return}e.push({type:t,lines:[n]})},Ky=(e,t)=>{t.forEach(t=>Gy(e,`delete`,t)),t.length=0},qy=e=>{let t=[],n=[],r=!1;return e.forEach(e=>{e.lines.forEach(e=>{if(!(e.type===`header`||e.type===`hunk`)){if(Uy(e)){n.push(e.content);return}if(e.type===`add`){n.length>0&&(Ky(t,n),r=!0),Gy(t,r?`change`:`add`,e.content);return}Wy(e)&&(Ky(t,n),r=!1,Gy(t,`context`,e.content))}}),Ky(t,n),r=!1}),t},Jy=e=>({h1:({children:e})=>(0,I.jsx)(`h1`,{className:`${Hy[0]} mt-6 mb-2 first:mt-0`,children:e}),h2:({children:e})=>(0,I.jsx)(`h2`,{className:`${Hy[1]} mt-6 mb-2 first:mt-0`,children:e}),h3:({children:e})=>(0,I.jsx)(`h3`,{className:`${Hy[2]} mt-6 mb-2 first:mt-0`,children:e}),h4:({children:e})=>(0,I.jsx)(`h4`,{className:`${Hy[3]} mt-6 mb-2 first:mt-0`,children:e}),h5:({children:e})=>(0,I.jsx)(`h5`,{className:`${Hy[4]} mt-6 mb-2 first:mt-0`,children:e}),h6:({children:e})=>(0,I.jsx)(`h6`,{className:`${Hy[5]} mt-6 mb-2 first:mt-0`,children:e}),p:({children:e})=>(0,I.jsx)(`p`,{className:`text-base leading-7`,children:e}),ul:({children:e})=>(0,I.jsx)(`ul`,{className:`list-disc pl-6 text-base space-y-1`,children:e}),ol:({children:e})=>(0,I.jsx)(`ol`,{className:`list-decimal pl-6 text-base space-y-1`,children:e}),li:({children:e})=>(0,I.jsx)(`li`,{children:e}),blockquote:({children:e})=>(0,I.jsx)(`blockquote`,{className:`border-l-4 border-github-border pl-4 text-github-text-muted italic`,children:e}),hr:()=>(0,I.jsx)(`hr`,{className:`border-github-border`}),a:({href:e,children:t})=>{let n=e??``;if(!n||!Wd(n))return(0,I.jsx)(`span`,{children:t});let r=n.startsWith(`http`);return(0,I.jsx)(`a`,{href:n,target:r?`_blank`:void 0,rel:r?`noreferrer`:void 0,className:`text-sky-400 hover:text-sky-300 underline underline-offset-4`,children:t})},img:({src:e,alt:t})=>{let n=e??``;return!n||!Wd(n)?null:(0,I.jsx)(`img`,{src:n,alt:t??``,loading:`lazy`,className:`max-w-full rounded border border-github-border`})},pre:({children:t})=>{let n=(Array.isArray(t)?t:[t]).find(Gd),r=qd(n??t),i=/language-(\S+)/.exec(n?.props.className??``)?.[1],a=r.replace(/\n$/,``);return i===`mermaid`&&a.trim()?(0,I.jsx)(ey,{chart:a}):r.trim()?(0,I.jsx)(`pre`,{className:`markdown-preview-code border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-sm`,children:(0,I.jsx)(Cp,{code:a,language:i,syntaxTheme:e,className:`font-mono text-github-text-primary`})}):(0,I.jsx)(`pre`,{className:`markdown-preview-code border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-sm`,children:t})},code:({className:e,children:t})=>e?(0,I.jsx)(`code`,{className:e,children:t}):(0,I.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-github-bg-tertiary border border-github-border text-sm font-mono`,children:t}),table:({children:e})=>(0,I.jsx)(`div`,{className:`overflow-x-auto`,children:(0,I.jsx)(`table`,{className:`w-full border-collapse text-sm`,children:e})}),thead:({children:e})=>(0,I.jsx)(`thead`,{className:`bg-github-bg-secondary`,children:e}),tbody:({children:e})=>(0,I.jsx)(`tbody`,{children:e}),tr:({children:e})=>(0,I.jsx)(`tr`,{className:`border-b border-github-border`,children:e}),th:({children:e})=>(0,I.jsx)(`th`,{className:`px-3 py-2 text-left font-semibold border border-github-border`,children:e}),td:({children:e})=>(0,I.jsx)(`td`,{className:`px-3 py-2 border border-github-border`,children:e})}),Yy=e=>{switch(e){case`add`:return`border-l-4 border-diff-addition-border`;case`delete`:return`border-l-4 border-diff-deletion-border`;case`change`:return`border-l-4 border-diff-addition-border`;default:return`border-l-4 border-transparent`}},Xy=e=>/^\s*\[[^\]]+\]:\s+\S+/.test(e),Zy=e=>/^\s*\[\^[^\]]+\]:\s+/.test(e),Qy=e=>{let t=e.trim();return t.length>=7&&t.startsWith(`<!--`)&&t.endsWith(`-->`)},$y=e=>e.trim()===``||Xy(e)||Zy(e)||Qy(e),eb=e=>e.every($y),tb=e=>{let t=e.match(/^\s{0,3}(`{3,}|~{3,})(.*)$/);if(!t)return null;let n=t[1];return n?{marker:n[0],length:n.length,raw:e}:null},nb=(e,t)=>{let n=e.match(/^\s{0,3}(`{3,}|~{3,})\s*$/);return n?.[1]?n[1][0]===t.marker&&n[1].length>=t.length:!1},rb=e=>{let t=[],n=null,r=null,i=()=>{n&&=(t.push(n),null)},a=(e,t)=>{if(n?.type===e){n.lines.push(t);return}i(),n={kind:`markdown`,type:e,lines:[t]}},o=e=>{if(!r)return;let n=r.lines.every(e=>e.type===`context`);e&&n?(a(`context`,r.fence.raw),r.lines.forEach(e=>{a(`context`,e.content)}),a(`context`,e)):(i(),t.push({kind:`fenced-code`,lines:r.lines})),r=null};return e.forEach(e=>{e.lines.forEach(t=>{if(r){if(nb(t,r.fence)){o(t);return}r.lines.push({type:e.type,content:t});return}let n=tb(t);if(n){i(),r={fence:n,lines:[]};return}a(e.type,t)})}),o(),i(),t},ib=e=>{switch(e){case`add`:case`change`:return`border-l-4 border-diff-addition-border bg-diff-addition-bg`;case`delete`:return`border-l-4 border-diff-deletion-border bg-diff-deletion-bg`;default:return`border-l-4 border-transparent`}},ab=({blocks:e,syntaxTheme:t})=>{let n=(0,F.useMemo)(()=>Jy(t),[t]);return(0,I.jsx)(`div`,{className:`space-y-4`,children:(0,F.useMemo)(()=>rb(e),[e]).map((e,t)=>{if(e.kind===`fenced-code`)return(0,I.jsx)(`div`,{className:`px-4`,children:(0,I.jsx)(`div`,{className:`markdown-preview-code overflow-x-auto rounded border border-github-border bg-github-bg-secondary text-sm font-mono text-github-text-primary`,children:e.lines.map((e,n)=>(0,I.jsx)(`div`,{className:`${ib(e.type)} whitespace-pre px-3 py-1`,children:e.content||` `},`preview-code-line-${t}-${n}`))})},`preview-block-${t}`);let r=e.lines.join(`
|
|
61
|
+
`).trim();if(!r)return null;let i=eb(e.lines);return(0,I.jsx)(`div`,{className:`px-4 ${Yy(e.type)}`,children:i?(0,I.jsx)(`pre`,{className:`whitespace-pre-wrap text-sm text-github-text-primary font-mono`,children:r}):(0,I.jsx)(Mc,{remarkPlugins:[Id],urlTransform:e=>Wd(e)?e:``,components:n,children:r})},`preview-block-${t}`)})})},ob=({content:e,syntaxTheme:t})=>{let n=(0,F.useMemo)(()=>Jy(t),[t]);return(0,I.jsx)(`div`,{className:`space-y-4`,children:(0,I.jsx)(Mc,{remarkPlugins:[Id],urlTransform:e=>Wd(e)?e:``,components:n,children:e})})};function sb(e){let{file:t,baseCommitish:n,targetCommitish:r,mergedChunks:i,syntaxTheme:a}=e,[o,s]=(0,F.useState)(`diff`),[c,l]=(0,F.useState)(null),[u,d]=(0,F.useState)(!1),[f,p]=(0,F.useState)(null),[m,h]=(0,F.useState)(null),g=(0,F.useMemo)(()=>qy(i),[i]),_=(0,F.useMemo)(()=>!n&&!r?null:t.status===`added`?r?{path:t.path,ref:r}:null:t.status===`deleted`?n?{path:t.oldPath||t.path,ref:n}:null:r?{path:t.path,ref:r}:n?{path:t.oldPath||t.path,ref:n}:null,[n,r,t.path,t.oldPath,t.status]),v=(0,F.useMemo)(()=>_?`${_.ref}:${_.path}`:null,[_]);(0,F.useEffect)(()=>{if(!_||!v||!Vy(_.ref)){l(null),h(null),p(null),d(!1);return}let e=!1;return(v!==m||c===null)&&(async()=>{v!==m&&l(null),d(!0),p(null);try{let t=encodeURIComponent(_.path),n=await fetch(`/api/blob/${t}?ref=${encodeURIComponent(_.ref)}`);if(!n.ok)throw Error(`Failed to fetch preview: ${n.statusText}`);let r=await n.text();e||(l(r),h(v))}catch(t){e||(l(null),h(null),p(t instanceof Error?t.message:`Failed to load preview`))}finally{e||d(!1)}})(),()=>{e=!0}},[c,m,_,v]);let y=(0,F.useMemo)(()=>v===m&&c!==null,[c,m,v]);return(0,F.useEffect)(()=>{o===`full-preview`&&!y&&s(`diff-preview`)},[y,o]),(0,I.jsxs)(`div`,{className:`bg-github-bg-primary`,children:[(0,I.jsx)(`div`,{className:`flex items-center justify-between border-b border-github-border px-4 py-2`,children:(0,I.jsx)(ty,{mode:o,hasFullPreview:y,onModeChange:s})}),o===`diff`&&(0,I.jsx)(By,{...e}),o===`diff-preview`&&(0,I.jsx)(`div`,{className:`p-4`,children:(0,I.jsx)(ab,{blocks:g,syntaxTheme:a})}),o===`full-preview`&&(0,I.jsxs)(`div`,{className:`p-4`,children:[u&&(0,I.jsx)(`div`,{className:`text-sm text-github-text-muted mb-3`,children:`Loading preview...`}),f&&(0,I.jsx)(`div`,{className:`text-sm text-github-danger mb-3`,children:f}),!u&&!f&&c!==null&&(0,I.jsx)(ob,{content:c,syntaxTheme:a}),!u&&!f&&c===null&&(0,I.jsx)(`div`,{className:`text-sm text-github-text-muted`,children:`Preview unavailable.`})]})]})}var cb=[`text-2xl font-semibold`,`text-xl font-semibold`,`text-lg font-semibold`,`text-base font-semibold`,`text-sm font-semibold uppercase tracking-wide`,`text-sm font-semibold`],lb={markdown:`Markdown`,code:`Code`,raw:`Raw`,unknown:`Cell`},ub=/"cell_type"\s*:\s*"([^"]+)"/,db=/"source"\s*:/,fb=/"execution_count"\s*:\s*(null|[0-9]+)/,pb=/"id"\s*:\s*"([^"]+)"/,mb=e=>e.type===`delete`||e.type===`remove`,hb=e=>e.type===`normal`||e.type===`context`,gb=e=>e.type===`add`?`add`:mb(e)?`delete`:hb(e)?`context`:null,_b=e=>e===`markdown`||e===`code`||e===`raw`?e:`unknown`,vb=e=>{let t=e.trim();if(!t.startsWith(`"`))return null;let n=t;n.endsWith(`,`)&&(n=n.slice(0,-1));try{let e=JSON.parse(n);return typeof e==`string`?e:null}catch{return n.replace(/^"/,``).replace(/"$/,``).replace(/\\n/g,`
|
|
62
|
+
`).replace(/\\t/g,` `).replace(/\\"/g,`"`).replace(/\\\\/g,`\\`)}},yb=e=>{let t=e.indexOf(`"source"`);if(t===-1)return null;let n=e.indexOf(`:`,t);if(n===-1)return null;let r=e.slice(n+1).trim();if(!r)return null;if(r.endsWith(`,`)&&(r=r.slice(0,-1).trim()),r.startsWith(`[`)){let e=r.lastIndexOf(`]`);if(e===-1)return null;let t=r.slice(0,e+1);try{let e=JSON.parse(t);if(Array.isArray(e))return e.filter(e=>typeof e==`string`)}catch{return null}return[]}if(r.startsWith(`"`))try{let e=JSON.parse(r);return typeof e==`string`?[e]:null}catch{return null}return null},bb=e=>{let t=xb(e);if(t)return t;let n=[],r=null,i=!1,a=!1,o=!1,s=()=>{r&&(r.status=i&&a?`change`:i?`add`:a?`delete`:`context`,n.push(r),r=null,i=!1,a=!1,o=!1)},c=e=>{s(),r={cellType:e,sourceLines:[],status:`context`}};return e.forEach(e=>{e.lines.forEach(e=>{let t=gb(e);if(!t)return;let n=e.content.match(ub);if(n?c(_b(n[1]??``)):!r&&db.test(e.content)&&c(`unknown`),!r)return;if(t===`add`&&(i=!0),t===`delete`&&(a=!0),!r.id){let t=e.content.match(pb);t&&(r.id=t[1])}if(r.executionCount===void 0){let t=e.content.match(fb);t&&(r.executionCount=t[1]===`null`?null:t[1])}if(db.test(e.content)){let n=yb(e.content);if(n){n.forEach(e=>{r?.sourceLines.push({type:t,content:e})}),o=!1;return}o=!0;return}if(!o)return;if(e.content.trim().startsWith(`]`)){o=!1;return}let s=vb(e.content);s!==null&&r.sourceLines.push({type:t,content:s})})}),s(),{cells:n}},xb=e=>{let t=Sb(e,[`add`,`context`]),n=Sb(e,[`delete`,`context`]),r=Cb(t),i=Cb(n);if(!r&&!i||r&&r.cells.length===0&&!i)return null;let a=r?.language??i?.language;return{cells:Db(i?.cells??[],r?.cells??[]),language:a}},Sb=(e,t)=>e.flatMap(e=>e.lines).map(e=>{let n=gb(e);return!n||!t.includes(n)?null:e.content}).filter(e=>e!==null).join(`
|
|
63
|
+
`),Cb=e=>{if(!e.trim())return null;try{let t=JSON.parse(e);if(!t||typeof t!=`object`||!(`cells`in t))return null;let n=t.cells;if(!Array.isArray(n))return null;let r=t.metadata,i=wb(r);return{cells:n.map(e=>Tb(e)),language:i}}catch{return null}},wb=e=>{if(!e||typeof e!=`object`)return;let t=e,n=t.language_info;if(n&&typeof n==`object`){let e=n.name;if(typeof e==`string`&&e.trim())return e}let r=t.kernelspec;if(r&&typeof r==`object`){let e=r.language;if(typeof e==`string`&&e.trim())return e}},Tb=e=>{let t=typeof e==`object`&&e?e:{},n=_b(typeof t.cell_type==`string`?t.cell_type:``),r=typeof t.id==`string`?t.id:void 0,i=t.execution_count,a=i===null?null:typeof i==`number`?String(i):typeof i==`string`?i:void 0;return{cellType:n,sourceText:Eb(t.source),id:r,executionCount:a}},Eb=e=>typeof e==`string`?e:Array.isArray(e)?e.filter(e=>typeof e==`string`).join(``):``,Db=(e,t)=>{let n=[];if(e.some(e=>!!e.id)||t.some(e=>!!e.id)){let r=new Map;e.forEach((e,t)=>{e.id&&r.set(e.id,{cell:e,index:t})});let i=new Set;return t.forEach(e=>{let t=e.id?r.get(e.id):void 0;t&&i.add(t.index),n.push(Ob(t?.cell??null,e))}),e.forEach((e,t)=>{i.has(t)||n.push(Ob(e,null))}),n}let r=Math.max(e.length,t.length);for(let i=0;i<r;i+=1){let r=e[i]??null,a=t[i]??null;n.push(Ob(r,a))}return n},Ob=(e,t)=>{if(!t&&e)return{cellType:e.cellType,sourceLines:kb(e.sourceText,`delete`),status:`delete`,id:e.id,executionCount:e.executionCount};if(t&&!e)return{cellType:t.cellType,sourceLines:kb(t.sourceText,`add`),status:`add`,id:t.id,executionCount:t.executionCount};let n=e?.sourceText??``,r=t?.sourceText??``,i=t?.cellType??e?.cellType??`unknown`,a=t?.id??e?.id,o=t?.executionCount??e?.executionCount;return n===r&&(e?.cellType??``)===(t?.cellType??``)?{cellType:i,sourceLines:kb(r,`context`),status:`context`,id:a,executionCount:o}:{cellType:i,sourceLines:[...kb(n,`delete`),...kb(r,`add`)],status:`change`,id:a,executionCount:o}},kb=(e,t)=>e?[{type:t,content:e}]:[],Ab=e=>!!(e&&e!==`stdin`),jb=async(e,t)=>{let n=await fetch(`/api/blob/${encodeURIComponent(e)}?ref=${encodeURIComponent(t)}`);return n.ok?n.text():null},Mb=(e,t)=>e.filter(e=>t.includes(e.type)).map(e=>e.content).join(``),Nb=e=>{if(!e)return[];let t=e.split(`
|
|
64
|
+
`);return t.length>0&&t[t.length-1]===``&&t.pop(),t},Pb=(e,t)=>!e&&!t?[]:e?t?Cy(e,t).flatMap(e=>{let t=e.added?`add`:e.removed?`delete`:`context`;return Nb(e.value).map(e=>({type:t,content:e}))}):Nb(e).map(e=>({type:`delete`,content:e})):Nb(t).map(e=>({type:`add`,content:e})),Fb=e=>{switch(e){case`add`:return`border-l-4 border-diff-addition-border`;case`delete`:return`border-l-4 border-diff-deletion-border`;case`change`:return`border-l-4 border-diff-addition-border`;default:return`border-l-4 border-transparent`}},Ib=e=>{switch(e){case`before`:return`border-l-4 border-diff-deletion-border`;case`after`:return`border-l-4 border-diff-addition-border`;default:return`border-l-4 border-transparent`}},Lb=e=>{switch(e){case`add`:return`bg-diff-addition-bg`;case`delete`:return`bg-diff-deletion-bg`;default:return`bg-transparent`}},Rb=e=>{switch(e){case`add`:return`+`;case`delete`:return`-`;default:return` `}},zb=e=>{switch(e){case`add`:return`text-github-accent`;case`delete`:return`text-github-danger`;default:return`text-github-text-muted`}},Bb=e=>({h1:({children:e})=>(0,I.jsx)(`h1`,{className:`${cb[0]} mb-2`,children:e}),h2:({children:e})=>(0,I.jsx)(`h2`,{className:`${cb[1]} mb-2`,children:e}),h3:({children:e})=>(0,I.jsx)(`h3`,{className:`${cb[2]} mb-2`,children:e}),h4:({children:e})=>(0,I.jsx)(`h4`,{className:`${cb[3]} mb-2`,children:e}),h5:({children:e})=>(0,I.jsx)(`h5`,{className:`${cb[4]} mb-2`,children:e}),h6:({children:e})=>(0,I.jsx)(`h6`,{className:`${cb[5]} mb-2`,children:e}),p:({children:e})=>(0,I.jsx)(`p`,{className:`text-sm leading-7`,children:e}),ul:({children:e})=>(0,I.jsx)(`ul`,{className:`list-disc pl-6 text-sm space-y-1`,children:e}),ol:({children:e})=>(0,I.jsx)(`ol`,{className:`list-decimal pl-6 text-sm space-y-1`,children:e}),li:({children:e})=>(0,I.jsx)(`li`,{children:e}),blockquote:({children:e})=>(0,I.jsx)(`blockquote`,{className:`border-l-4 border-github-border pl-4 text-github-text-muted italic`,children:e}),hr:()=>(0,I.jsx)(`hr`,{className:`border-github-border`}),a:({href:e,children:t})=>{let n=e??``;if(!n||!Wd(n))return(0,I.jsx)(`span`,{children:t});let r=n.startsWith(`http`);return(0,I.jsx)(`a`,{href:n,target:r?`_blank`:void 0,rel:r?`noreferrer`:void 0,className:`text-sky-400 hover:text-sky-300 underline underline-offset-4`,children:t})},img:({src:e,alt:t})=>{let n=e??``;return!n||!Wd(n)?null:(0,I.jsx)(`img`,{src:n,alt:t??``,loading:`lazy`,className:`max-w-full rounded border border-github-border`})},pre:({children:t})=>{let n=(Array.isArray(t)?t:[t]).find(Gd),r=qd(n??t),i=/language-(\S+)/.exec(n?.props.className??``)?.[1];return r.trim()?(0,I.jsx)(`pre`,{className:`border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-xs`,children:(0,I.jsx)(Cp,{code:r.replace(/\n$/,``),language:i,syntaxTheme:e,className:`font-mono text-github-text-primary [&_.token-line]:block [&_.token-line]:whitespace-pre`})}):(0,I.jsx)(`pre`,{className:`border border-github-border bg-github-bg-secondary p-3 overflow-x-auto text-xs`,children:t})},code:({className:e,children:t})=>e?(0,I.jsx)(`code`,{className:e,children:t}):(0,I.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-github-bg-tertiary border border-github-border text-xs font-mono`,children:t}),table:({children:e})=>(0,I.jsx)(`div`,{className:`overflow-x-auto`,children:(0,I.jsx)(`table`,{className:`min-w-full border border-github-border`,children:e})}),th:({children:e})=>(0,I.jsx)(`th`,{className:`border border-github-border px-2 py-1 bg-github-bg-tertiary text-sm`,children:e}),td:({children:e})=>(0,I.jsx)(`td`,{className:`border border-github-border px-2 py-1 text-sm`,children:e})}),Vb=e=>{let t=Mb(e.sourceLines,[`context`,`delete`]),n=Mb(e.sourceLines,[`context`,`add`]),r=[];return e.status===`change`?(t.trim()&&r.push({label:`Before`,content:t,tone:`before`}),n.trim()&&r.push({label:`After`,content:n,tone:`after`}),r.length===0&&r.push({label:`After`,content:n,tone:`after`}),r):e.status===`delete`?(r.push({label:`Before`,content:t||n,tone:`before`}),r):(r.push({label:`After`,content:n||t,tone:`after`}),r)},Hb=(e,t,n,r)=>{if(!t.trim())return(0,I.jsx)(`span`,{className:`text-xs text-github-text-muted`,children:`Empty cell`});if(e===`markdown`){let e=Bb(n);return(0,I.jsx)(Mc,{remarkPlugins:[Id],urlTransform:e=>Wd(e)?e:``,components:e,children:t})}return e===`raw`?(0,I.jsx)(`pre`,{className:`whitespace-pre-wrap break-words text-xs font-mono text-github-text-primary`,children:t}):(0,I.jsx)(`pre`,{className:`overflow-x-auto text-xs`,children:(0,I.jsx)(wp,{code:t.replace(/\n$/,``),language:r||`python`,syntaxTheme:n,className:`font-mono text-github-text-primary [&_.token-line]:block [&_.token-line]:whitespace-pre`})})},Ub=({lines:e,syntaxTheme:t,language:n})=>e.length===0?(0,I.jsx)(`span`,{className:`text-xs text-github-text-muted`,children:`Empty cell`}):(0,I.jsx)(`div`,{className:`overflow-x-auto`,children:(0,I.jsx)(`div`,{className:`font-mono text-xs`,children:e.map((e,r)=>(0,I.jsxs)(`div`,{className:`flex items-start min-h-[16px] ${Lb(e.type)}`,children:[(0,I.jsx)(`span`,{className:`w-5 text-center flex-shrink-0 select-none ${zb(e.type)}`,children:Rb(e.type)}),(0,I.jsx)(wp,{code:e.content||` `,language:n||`python`,syntaxTheme:t,className:`flex-1 px-3 text-github-text-primary whitespace-pre-wrap break-all overflow-wrap-break-word select-text [&_pre]:m-0 [&_pre]:p-0 [&_pre]:!bg-transparent [&_pre]:font-inherit [&_pre]:text-inherit [&_pre]:leading-inherit [&_code]:!bg-transparent [&_code]:font-inherit [&_code]:text-inherit [&_code]:leading-inherit`})]},`notebook-code-line-${r}`))})}),Wb=({cells:e,syntaxTheme:t,language:n})=>(0,I.jsx)(`div`,{className:`space-y-4`,children:e.map((e,r)=>{let i=Vb(e),a=e.cellType===`code`&&e.executionCount!==void 0?`In[${e.executionCount??` `}]`:null,o=e.cellType===`code`,s=o?Pb(Mb(e.sourceLines,[`context`,`delete`]),Mb(e.sourceLines,[`context`,`add`])).filter(e=>e.type!==`context`):[];return o&&s.length===0?null:(0,I.jsxs)(`div`,{className:`rounded border border-github-border bg-github-bg-secondary/40 p-4 ${Fb(e.status)}`,children:[(0,I.jsx)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 mb-3`,children:(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,I.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wide text-github-text-muted`,children:lb[e.cellType]}),a&&(0,I.jsx)(`span`,{className:`text-xs font-mono text-github-text-secondary`,children:a}),e.id&&(0,I.jsx)(`span`,{className:`text-xs font-mono text-github-text-muted`,children:e.id})]})}),(0,I.jsx)(`div`,{className:`space-y-3`,children:o?(0,I.jsx)(`div`,{className:`px-4 py-3 ${Ib(e.status===`delete`?`before`:`after`)}`,children:(0,I.jsx)(Ub,{lines:s,syntaxTheme:t,language:n})}):i.map((i,a)=>(0,I.jsx)(`div`,{className:`px-4 py-3 ${Ib(i.tone)}`,children:(0,I.jsx)(`div`,{className:`text-sm text-github-text-primary`,children:Hb(e.cellType,i.content,t,n)})},`notebook-cell-${r}-section-${a}`))})]},`notebook-cell-${r}`)})}),Gb=({cells:e,syntaxTheme:t,language:n})=>(0,I.jsx)(`div`,{className:`space-y-4`,children:e.map((e,r)=>{let i=e.cellType===`code`&&e.executionCount!==void 0?`In[${e.executionCount??` `}]`:null;return(0,I.jsxs)(`div`,{className:`rounded border border-github-border bg-github-bg-secondary/40 p-4`,children:[(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 mb-3`,children:[(0,I.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wide text-github-text-muted`,children:lb[e.cellType]}),i&&(0,I.jsx)(`span`,{className:`text-xs font-mono text-github-text-secondary`,children:i}),e.id&&(0,I.jsx)(`span`,{className:`text-xs font-mono text-github-text-muted`,children:e.id})]}),(0,I.jsx)(`div`,{className:`text-sm text-github-text-primary`,children:Hb(e.cellType,e.sourceText,t,n)})]},`notebook-full-cell-${r}`)})});function Kb(e){let{file:t,baseCommitish:n,targetCommitish:r}=e,[i,a]=(0,F.useState)(`diff`),o=(0,F.useMemo)(()=>bb(e.mergedChunks),[e.mergedChunks]),[s,c]=(0,F.useState)({status:`idle`,cells:o.cells,language:o.language}),l=(0,F.useMemo)(()=>s.cells.filter(e=>e.status===`context`?!1:e.cellType===`code`?Pb(Mb(e.sourceLines,[`context`,`delete`]),Mb(e.sourceLines,[`context`,`add`])).filter(e=>e.type!==`context`).length>0:!0),[s.cells]),[u,d]=(0,F.useState)(null),[f,p]=(0,F.useState)(o.language),[m,h]=(0,F.useState)(!1),[g,_]=(0,F.useState)(null),[v,y]=(0,F.useState)(null),b=(0,F.useMemo)(()=>!n&&!r?null:t.status===`added`?r?{path:t.path,ref:r}:null:t.status===`deleted`?n?{path:t.oldPath||t.path,ref:n}:null:r?{path:t.path,ref:r}:n?{path:t.oldPath||t.path,ref:n}:null,[n,r,t.oldPath,t.path,t.status]),x=(0,F.useMemo)(()=>b?`${b.ref}:${b.path}`:null,[b]);(0,F.useEffect)(()=>{let e=!1;return(async()=>{let i=n||`HEAD~1`,a=r||`HEAD`,s=t.oldPath||t.path,l=t.status!==`added`&&Ab(i),u=t.status!==`deleted`&&Ab(a);if(b&&x&&Ab(b?.ref)?(d(null),_(null),h(!0)):(d(null),y(null),_(null),h(!1)),!l&&!u){c({status:`ready`,cells:o.cells,language:o.language,source:`diff`,message:`Notebook content could not be loaded, falling back to diff preview.`});return}c(e=>({...e,status:`loading`}));try{let[n,r]=await Promise.all([l?jb(s,i):Promise.resolve(null),u?jb(t.path,a):Promise.resolve(null)]),f=n?Cb(n):null,m=r?Cb(r):null;if(!f&&!m){e||c({status:`ready`,cells:o.cells,language:o.language,source:`diff`,message:`Notebook content could not be parsed, falling back to diff preview.`});return}let h=m?.language??f?.language??o.language,g=Db(f?.cells??[],m?.cells??[]),v=b?.ref===a&&b.path===t.path?m:b?.ref===i&&b.path===s?f:null;e||(c({status:`ready`,cells:g,source:`blob`,language:h}),v&&x?(d(v.cells),p(v.language??o.language),y(x),_(null)):(d(null),y(null),_(null)))}catch(t){e||(c({status:`error`,cells:o.cells,language:o.language,source:`diff`,message:t instanceof Error?t.message:`Failed to load notebook preview.`}),d(null),y(null),_(t instanceof Error?t.message:`Failed to load preview`))}finally{e||h(!1)}})(),()=>{e=!0}},[n,t.oldPath,t.path,t.status,e.mergedChunks,b,x,r,o]),(0,F.useEffect)(()=>{if(i!==`full-preview`)return;if(!b||!x||!Ab(b.ref)){d(null),y(null),_(null),h(!1);return}let e=!1;return(x!==v||!u)&&(async()=>{x!==v&&d(null),h(!0),_(null);try{let t=await jb(b.path,b.ref);if(!t)throw Error(`Failed to load preview.`);let n=Cb(t);if(!n)throw Error(`Notebook content could not be parsed.`);e||(d(n.cells),p(n.language??o.language),y(x))}catch(t){e||(d(null),y(null),_(t instanceof Error?t.message:`Failed to load preview`))}finally{e||h(!1)}})(),()=>{e=!0}},[o.language,u,v,i,b,x]);let S=(0,F.useMemo)(()=>x===v&&u!==null,[u,v,x]);return(0,F.useEffect)(()=>{i===`full-preview`&&!S&&a(`diff-preview`)},[S,i]),(0,I.jsxs)(`div`,{className:`bg-github-bg-primary`,children:[(0,I.jsx)(`div`,{className:`flex items-center justify-between border-b border-github-border px-4 py-2`,children:(0,I.jsx)(ty,{mode:i,hasFullPreview:S,onModeChange:a})}),i===`diff`&&(0,I.jsx)(By,{...e}),i===`diff-preview`&&(0,I.jsxs)(`div`,{className:`p-4`,children:[s.status===`loading`&&(0,I.jsx)(`div`,{className:`text-xs text-github-text-muted mb-3`,children:`Loading notebook preview…`}),s.message&&(0,I.jsx)(`div`,{className:`text-xs text-github-text-muted mb-3`,children:s.message}),l.length===0?(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`div`,{className:`text-xs text-github-text-muted mb-3`,children:`No changed notebook cells were found. Showing raw diff instead.`}),(0,I.jsx)(By,{...e})]}):(0,I.jsx)(Wb,{cells:l,syntaxTheme:e.syntaxTheme,language:s.language})]}),i===`full-preview`&&(0,I.jsxs)(`div`,{className:`p-4`,children:[m&&(0,I.jsx)(`div`,{className:`text-sm text-github-text-muted mb-3`,children:`Loading preview...`}),g&&(0,I.jsx)(`div`,{className:`text-sm text-github-danger mb-3`,children:g}),!m&&!g&&u&&(0,I.jsx)(Gb,{cells:u,syntaxTheme:e.syntaxTheme,language:f??o.language}),!m&&!g&&!u&&(0,I.jsx)(`div`,{className:`text-sm text-github-text-muted`,children:`Preview unavailable.`})]})]})}var qb=[{id:`image`,match:e=>Gv(e.path),Component:Xv,canExpandHiddenLines:()=>!1},{id:`markdown`,match:e=>Ud(e.path),Component:sb,canExpandHiddenLines:e=>e.status!==`added`&&e.status!==`deleted`},{id:`notebook`,match:e=>qv(e.path),Component:Kb,canExpandHiddenLines:e=>e.status!==`added`&&e.status!==`deleted`},{id:`default`,match:()=>!0,Component:By,canExpandHiddenLines:e=>e.status!==`added`&&e.status!==`deleted`}],Jb=e=>{let t=qb[qb.length-1];if(!t)throw Error(`No diff viewers registered`);return qb.find(t=>t.match(e))??t},Yb=e=>{switch(e){case`added`:return(0,I.jsx)(et,{size:16,className:`text-github-accent`});case`deleted`:return(0,I.jsx)(tt,{size:16,className:`text-github-danger`});case`renamed`:return(0,I.jsx)($e,{size:16,className:`text-github-warning`});default:return(0,I.jsx)(Qe,{size:16,className:`text-github-text-secondary`})}},Xb=({file:e,isCollapsed:t,isFocused:n=!1,isReviewed:r,isChangedSinceViewed:i=!1,onToggleCollapsed:a,onToggleAllCollapsed:o,onToggleReviewed:s})=>{let[c,l]=(0,F.useState)(!1);return(0,I.jsxs)(`div`,{className:`bg-github-bg-secondary border-t-2 border-t-github-accent border-b border-github-border px-5 py-4 flex items-center justify-between flex-wrap gap-3 sticky top-0 z-10 ${n?`keyboard-focused-file-header`:``}`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:[(0,I.jsx)(`button`,{onClick:n=>{n.altKey?o(!t):a(e.path)},className:`text-github-text-muted hover:text-github-text-primary transition-colors cursor-pointer`,title:t?`Expand file (Alt+Click to expand all)`:`Collapse file (Alt+Click to collapse all)`,children:t?(0,I.jsx)(Ue,{size:16}):(0,I.jsx)(Ve,{size:16})}),Yb(e.status),(0,I.jsx)(`h2`,{className:`text-sm font-mono text-github-text-primary m-0 overflow-hidden text-ellipsis whitespace-nowrap`,children:e.path}),(0,I.jsx)(`button`,{className:`bg-transparent border-none cursor-pointer px-1.5 py-1 rounded text-sm transition-all hover:bg-github-bg-tertiary ${c?`text-github-accent`:`text-github-text-secondary hover:text-github-text-primary`}`,onClick:()=>{nn(e.path).then(()=>{console.log(`File path copied to clipboard:`,e.path),l(!0),setTimeout(()=>l(!1),2e3)}).catch(e=>{console.error(`Failed to copy file path:`,e)})},title:`Copy file path`,children:c?(0,I.jsx)(Be,{size:14}):(0,I.jsx)(Je,{size:14})}),e.oldPath&&e.oldPath!==e.path&&(0,I.jsxs)(`span`,{className:`text-xs text-github-text-muted italic`,children:[`(renamed from `,e.oldPath,`)`]})]}),(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[i&&!r&&(0,I.jsx)(`span`,{className:`inline-flex h-6 items-center rounded-full border border-github-warning px-2.5 text-xs font-medium text-github-warning`,title:`Updated since you last viewed this file`,"aria-label":`Updated since you last viewed this file`,children:`Updated`}),(0,I.jsxs)(`div`,{className:`flex items-center gap-2 text-xs`,children:[(0,I.jsxs)(`span`,{className:`font-medium px-1 py-0.5 rounded text-github-accent bg-green-100/10`,children:[`+`,e.additions]}),(0,I.jsxs)(`span`,{className:`font-medium px-1 py-0.5 rounded text-github-danger bg-red-100/10`,children:[`-`,e.deletions]})]}),(0,I.jsxs)(`button`,{onClick:()=>s(e.path),className:`flex items-center gap-2 px-3 py-1.5 rounded-md text-sm font-medium transition-all duration-200 ${r?`bg-github-accent text-white`:`dark:bg-slate-600 dark:text-white dark:border-slate-500 dark:hover:bg-slate-500 dark:hover:border-slate-400 bg-github-bg-secondary text-github-text-primary border border-github-border hover:bg-github-bg-tertiary hover:border-github-text-muted`}`,title:r?`Mark as not reviewed`:`Mark as reviewed`,children:[r?(0,I.jsx)(Be,{size:14}):(0,I.jsx)(gt,{size:14}),`Viewed`]})]})]})},Zb=e=>{let t={old:[],new:[]};return e.forEach(e=>{let n=e.side??`new`,[r,i]=Array.isArray(e.line)?[e.line[0],e.line[1]]:[e.line,e.line];r<=0||i<=0||t[n].push({start:Math.min(r,i),end:Math.max(r,i)})}),t},Qb=(e,t)=>e.chunks.map((e,n)=>{let r=t===`old`?e.oldStart:e.newStart,i=t===`old`?e.oldLines:e.newLines;return!r||i<=0?null:{start:r,end:r+i-1,index:n}}).filter(e=>!!e),$b=e=>{let t=[],n=e[0];if(!n)return t;n.start>1&&t.push({type:`before`,start:1,end:n.start-1,nextChunkIndex:n.index});for(let n=1;n<e.length;n+=1){let r=e[n-1],i=e[n];!r||!i||i.start>r.end+1&&t.push({type:`between`,start:r.end+1,end:i.start-1,prevChunkIndex:r.index,nextChunkIndex:i.index})}let r=e[e.length-1];return r&&t.push({type:`after`,start:r.end+1,end:1/0,prevChunkIndex:r.index}),t},ex=e=>{let t=new Map;return e.forEach(e=>{let n=e.originalIndices[0];n!==void 0&&t.set(n,e)}),t},tx=e=>{let t=e[e.length-1];return t?.originalIndices[t.originalIndices.length-1]??null},nx=(0,F.memo)(function({file:e,threads:t,showAuthorBadges:n=!1,diffMode:r,reviewedFiles:i,isChangedSinceViewed:a=!1,onToggleReviewed:o,collapsedFiles:s,onToggleCollapsed:c,onToggleAllCollapsed:l,onAddComment:u,onGenerateThreadPrompt:d,onRemoveThread:f,onReplyToThread:p,onRemoveMessage:m,onUpdateMessage:h,onOpenInEditor:g,syntaxTheme:_,baseCommitish:v,targetCommitish:y,cursor:b=null,isFocused:x=!1,fileIndex:S=0,onLineClick:C,commentTrigger:w,onCommentTriggerHandled:T,mergedChunks:E,expandLines:D,expandAllBetweenChunks:O,prefetchFileContent:k,isExpandLoading:A,diffVersion:j}){let M=s.has(e.path),N=(0,F.useRef)(null),[P,ee]=(0,F.useState)(!1),te=Jb(e),ne=v!==`stdin`&&y!==`stdin`&&(te.canExpandHiddenLines?.(e)??!1),re=te.id==="default"&&bp(e.path);(0,F.useEffect)(()=>{if(!ne)return;let e=N.current;if(!e)return;let t=new IntersectionObserver(([e])=>{e?.isIntersecting&&ee(!0)},{rootMargin:`200px`});return t.observe(e),()=>t.disconnect()},[ne]),(0,F.useEffect)(()=>{P&&!M&&ne&&k(e)},[P,M,ne,e,k]);let L=(0,F.useCallback)(async(t,n,r,i)=>{try{await u(e.path,t,n,r,i)}catch(e){console.error(`Failed to add comment:`,e)}},[e.path,u]);(0,F.useEffect)(()=>{if(M||A||!ne||t.length===0||e.chunks.length===0||E.length===0)return;let n=Zb(t),r=ex(E),i=tx(E),a=E[E.length-1],o=new Set,s=(e,t)=>{o.has(e)||(o.add(e),t())};[`old`,`new`].forEach(t=>{let o=n[t];o.length!==0&&$b(Qb(e,t)).forEach(t=>{if(!o.some(e=>e.start<=t.end&&e.end>=t.start))return;if(t.type===`after`&&a&&i!==null){a.hiddenLinesAfter>0&&s(`after-${i}`,()=>{D(e,i,`down`,a.hiddenLinesAfter)});return}let n=t.nextChunkIndex;if(n===void 0)return;let c=r.get(n);!c||c.hiddenLinesBefore<=0||(t.type===`before`?s(`before-${n}`,()=>{D(e,n,`up`,c.hiddenLinesBefore)}):t.type===`between`&&s(`between-${n}`,()=>{O(e,n,c.hiddenLinesBefore)}))})})},[t,O,D,e,M,A,E,ne]);let R=Uv({file:e,enabled:re,baseCommitish:v,targetCommitish:y,reloadKey:j}),z=te.Component,ie={file:e,threads:t,showAuthorBadges:n,diffMode:r,syntaxTheme:_,baseCommitish:v,targetCommitish:y,cursor:b,fileIndex:S,mergedChunks:E,isExpandLoading:A,expandHiddenLines:D,expandAllBetweenChunks:O,onAddComment:L,onGenerateThreadPrompt:d,onRemoveThread:f,onReplyToThread:p,onRemoveMessage:m,onUpdateMessage:h,onOpenInEditor:g,onLineClick:C,commentTrigger:w,onCommentTriggerHandled:T};return(0,I.jsxs)(`div`,{ref:N,className:`bg-github-bg-primary`,style:{"--line-number-width":`4em`},children:[(0,I.jsx)(Xb,{file:e,isCollapsed:M,isFocused:x,isReviewed:i.has(e.path),isChangedSinceViewed:a,onToggleCollapsed:c,onToggleAllCollapsed:l,onToggleReviewed:o}),!M&&(0,I.jsx)(Yd,{value:R,children:(0,I.jsx)(`div`,{className:`overflow-y-auto`,children:(0,I.jsx)(z,{...ie})})})]})});function rx(e){if(!e)return!1;let t=e.toLowerCase();return t.includes(`safari`)&&!t.includes(`chrome`)&&!t.includes(`chromium`)&&!t.includes(`crios`)&&!t.includes(`fxios`)&&!t.includes(`edg/`)&&!t.includes(`android`)}var ix=16,ax=24;function ox(e){return`${e*ax+ix}px`}function sx(e){if(!e.isDirectory||!e.children)return[];let t=[];return e.path&&t.push(e.path),e.children.forEach(e=>{t.push(...sx(e))}),t}function cx(e,t){let n=new Set,r=e=>{if(e.file)return t.has(e.file.path);if(!e.isDirectory||!e.children||e.children.length===0)return!1;let i=e.children.map(e=>r(e)).every(Boolean);return i&&e.path&&n.add(e.path),i};return r(e),n}function lx(e){let t={name:``,path:``,isDirectory:!0,children:[]};e.forEach(e=>{let n=e.path.split(`/`),r=t;for(let t=0;t<n.length;t++){let i=n[t];if(!i)continue;let a=t===n.length-1,o=n.slice(0,t+1).join(`/`);r.children||=[];let s=r.children.find(e=>e.name===i);s||(s={name:i,path:o,isDirectory:!a,children:a?void 0:[],file:a?e:void 0},r.children.push(s)),r=s}});let n=e=>{if(!e.isDirectory||!e.children)return e;if(e.children=e.children.map(n),e.children.length===1&&e.children[0]?.isDirectory&&e.children[0]?.children){let t=e.children[0];if(t)return e.name?{...e,name:`${e.name}/${t.name}`,path:t.path,children:t.children}:e}return e};return n(t)}var ux=(0,F.memo)(function({files:e,onScrollToFile:t,onFileSelected:n,comments:r,reviewedFiles:i,onToggleReviewed:a,onToggleFolderReviewed:o,selectedFileIndex:s}){let c=(0,F.useMemo)(()=>lx(e),[e]),l=(0,F.useMemo)(()=>!rx(typeof navigator>`u`?``:navigator.userAgent),[]),u=(0,F.useRef)(null),d=(0,F.useRef)(new Map),f={"--dir-row-height":`calc(var(--spacing, 0.25rem) * 9)`},[p,m]=(0,F.useState)(()=>new Set(sx(c))),[h,g]=(0,F.useState)(``),_=(0,F.useMemo)(()=>{let e=new Map;return r.forEach(t=>{e.set(t.file,(e.get(t.file)??0)+1)}),e},[r]),v=(0,F.useMemo)(()=>{let t=new Map;return e.forEach((e,n)=>{t.set(e.path,n)}),t},[e]),y=(0,F.useMemo)(()=>e.reduce((e,t)=>({additions:e.additions+t.additions,deletions:e.deletions+t.deletions}),{additions:0,deletions:0}),[e]),b=(0,F.useMemo)(()=>cx(c,i),[c,i]),x=(0,F.useMemo)(()=>{let e=h.trim().toLowerCase(),t=n=>{if(!e)return n;if(n.isDirectory&&n.children){let e=n.children.map(e=>t(e)).filter(e=>e!==null);return e.length>0?{...n,children:e}:null}else if(n.file)return n.file.path.toLowerCase().includes(e)?n:null;return null};return t(c)||{...c,children:[]}},[c,h]),S=e=>{switch(e){case`added`:return(0,I.jsx)(et,{size:16,className:`text-github-accent`});case`deleted`:return(0,I.jsx)(tt,{size:16,className:`text-github-danger`});case`renamed`:return(0,I.jsx)($e,{size:16,className:`text-github-warning`});default:return(0,I.jsx)(Qe,{size:16,className:`text-github-text-secondary`})}},C=e=>{m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},w=(0,F.useMemo)(()=>sx(c),[c]),T=p.size===w.length&&w.length>0,E=()=>{m(T?new Set:new Set(w))},D=(e,t)=>{if(!l){C(t);return}let n=u.current,r=e.currentTarget;if(!n){C(t);return}let i=n.getBoundingClientRect(),a=r.getBoundingClientRect(),o=Number.parseFloat(getComputedStyle(r).top||`0`);if(a.top-i.top<=o+1){let e=d.current.get(t)?.querySelector(`[data-tree-row="true"]:not([data-dir-header="true"])`),i=r.getBoundingClientRect().height||0,a=e??r,o=i*Number.parseInt(a.dataset.depth||r.dataset.depth||`0`,10),s=Math.max(0,a.offsetTop-o);if(Math.abs(n.scrollTop-s)<=1){C(t);return}n.scrollTo({top:s});return}C(t)},O=(e,r=0)=>{if(e.isDirectory&&e.children){let t=p.has(e.path),n=b.has(e.path);return(0,I.jsxs)(`div`,{"data-dir-container":e.path||void 0,ref:t=>{e.path&&(t?d.current.set(e.path,t):d.current.delete(e.path))},children:[e.name&&(0,I.jsxs)(`div`,{className:`${l?`sticky `:``}group flex h-9 items-center gap-2 bg-github-bg-secondary px-4 hover:bg-github-bg-tertiary cursor-pointer ${n?`opacity-70`:``}`,"data-dir-header":`true`,"data-tree-row":`true`,"data-depth":r,style:{paddingLeft:ox(r),top:l?`calc(${r} * var(--dir-row-height))`:void 0,zIndex:l?1e3-r:void 0},onClick:t=>D(t,e.path),children:[t?(0,I.jsx)(Ve,{size:16}):(0,I.jsx)(Ue,{size:16}),(0,I.jsx)(`span`,{className:`flex items-center group-hover:hidden`,children:t?(0,I.jsx)(nt,{size:16,className:`text-github-text-secondary`}):(0,I.jsx)(rt,{size:16,className:`text-github-text-secondary`})}),(0,I.jsx)(`span`,{className:`hidden items-center pl-[2px] group-hover:flex`,children:(0,I.jsx)(Qt,{checked:n,onChange:()=>{o(e.path,!n)},title:n?`Mark all files as not reviewed`:`Mark all files as reviewed`,className:`z-10`})}),(0,I.jsx)(`span`,{className:`text-sm text-github-text-primary font-medium flex-1 overflow-hidden text-ellipsis whitespace-nowrap ${n?`line-through text-github-text-muted`:``}`,title:e.name,children:e.name})]}),(t||!e.name)&&e.children.map(t=>O(t,e.name?r+1:r))]},e.path)}else if(e.file){let o=e.file,c=_.get(o.path)??0,l=i.has(o.path),u=v.get(o.path)??-1;return(0,I.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2 hover:bg-github-bg-tertiary cursor-pointer transition-colors ${l?`opacity-70`:``} ${s!==null&&s===u?`bg-github-bg-tertiary`:``}`,"data-file-row":`true`,"data-tree-row":`true`,"data-depth":r,style:{paddingLeft:ox(r)},onClick:()=>{t(o.path),n?.()},children:[(0,I.jsx)(Qt,{checked:l,onChange:()=>{a(o.path)},title:l?`Mark as not reviewed`:`Mark as reviewed`,className:`z-10`}),S(e.file.status),(0,I.jsx)(`span`,{className:`text-sm text-github-text-primary flex-1 overflow-hidden text-ellipsis whitespace-nowrap ${l?`line-through text-github-text-muted`:``}`,title:e.file.path,children:e.name}),c>0&&(0,I.jsxs)(`span`,{className:`text-github-warning text-sm font-medium ml-auto flex items-center gap-1`,children:[(0,I.jsx)(lt,{size:14}),c]})]},o.path)}return null};return(0,I.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,I.jsxs)(`div`,{className:`px-4 py-3 border-b border-github-border bg-github-bg-tertiary`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between mb-3`,children:[(0,I.jsxs)(`h3`,{className:`text-sm font-semibold text-github-text-primary m-0`,children:[`Files changed (`,e.length,`)`]}),(0,I.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,I.jsxs)(`span`,{className:`inline-flex gap-1 text-right text-xs font-medium whitespace-nowrap`,title:`Total additions and deletions`,"aria-label":`${y.additions} additions and ${y.deletions} deletions`,children:[(0,I.jsxs)(`span`,{className:`text-github-accent`,children:[`+`,y.additions]}),(0,I.jsxs)(`span`,{className:`text-github-danger`,children:[`-`,y.deletions]})]}),(0,I.jsx)(`button`,{onClick:E,className:`p-1 hover:bg-github-bg-primary rounded transition-colors`,title:T?`Collapse all`:`Expand all`,children:T?(0,I.jsx)(We,{size:16,className:`text-github-text-secondary`}):(0,I.jsx)(Ge,{size:16,className:`text-github-text-secondary`})})]})]}),(0,I.jsxs)(`div`,{className:`relative`,children:[(0,I.jsx)(mt,{size:16,className:`absolute left-3 top-1/2 transform -translate-y-1/2 text-github-text-muted`}),(0,I.jsx)(`input`,{type:`text`,placeholder:`Filter files...`,value:h,onChange:e=>g(e.target.value),className:`w-full pl-9 pr-3 py-2 text-sm bg-github-bg-primary border border-github-border rounded-md focus:outline-none focus:border-github-accent text-github-text-primary placeholder-github-text-muted`})]})]}),(0,I.jsx)(`div`,{className:`flex-1 overflow-y-auto relative z-0`,style:f,ref:u,children:x.children?.map(e=>O(e))})]})});function dx({style:e}){return(0,I.jsx)(`svg`,{width:`98`,height:`96`,viewBox:`0, 0, 98, 96`,style:e,xmlns:`http://www.w3.org/2000/svg`,"aria-label":`GitHub`,role:`img`,children:(0,I.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z`,fill:`currentColor`})})}function fx({isOpen:e,onClose:t}){let{enableScope:n,disableScope:r}=Ce();return B(`escape`,()=>t(),{enabled:e},[t,e]),(0,F.useEffect)(()=>(e?r(`navigation`):n(`navigation`),()=>{n(`navigation`)}),[e,n,r]),e?(0,I.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,I.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,onClick:t}),(0,I.jsxs)(`div`,{className:`relative bg-github-bg-primary border border-github-border rounded-lg shadow-lg max-w-4xl w-full mx-4 max-h-[80vh] overflow-y-auto`,children:[(0,I.jsxs)(`div`,{className:`sticky top-0 bg-github-bg-primary border-b border-github-border px-6 py-4 flex items-center justify-between`,children:[(0,I.jsx)(`h2`,{className:`text-lg font-semibold text-github-text-primary`,children:`Keyboard Shortcuts`}),(0,I.jsx)(`button`,{onClick:t,className:`text-github-text-secondary hover:text-github-text-primary transition-colors`,"aria-label":`Close help modal`,children:(0,I.jsx)(bt,{size:20})})]}),(0,I.jsxs)(`div`,{className:`px-6 py-4 grid grid-cols-1 lg:grid-cols-2 gap-6`,children:[(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Line Navigation`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex gap-2`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`j`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`↓`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Next line`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex gap-2`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`k`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`↑`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Previous line`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`File Navigation`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`]`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Next file`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`[`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Previous file`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`[`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Jump to first file`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`]`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Jump to last file`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Chunk Navigation`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`n`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Next change chunk (added/deleted lines)`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`p`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Previous change chunk (added/deleted lines)`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Comment Navigation`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`N`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Next comment`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`P`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Previous comment`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Side Navigation (Side-by-side mode)`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex gap-2`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`h`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`←`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Focus left side`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex gap-2`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`l`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`→`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Focus right side`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Comment Management`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`L`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`View all comments list`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`C`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Copy all comments prompt`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`D`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Delete all comments`})]})]})]}),(0,I.jsxs)(`section`,{children:[(0,I.jsx)(`h3`,{className:`text-sm font-semibold text-github-text-primary mb-2`,children:`Actions`}),(0,I.jsxs)(`div`,{className:`space-y-1`,children:[(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`v`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Toggle viewed state of current (or hovered) file`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between gap-4 text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`V`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary text-right`,children:`Mark file as viewed and go to next unviewed file`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`Shift`}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`+`}),(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`R`})]}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Refresh diff when changes detected`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`c`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Add comment at current line`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`.`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Move cursor to center of viewport`})]}),(0,I.jsxs)(`div`,{className:`flex justify-between text-sm`,children:[(0,I.jsx)(`kbd`,{className:`px-2 py-1 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary font-mono`,children:`?`}),(0,I.jsx)(`span`,{className:`text-github-text-secondary`,children:`Show/hide this help`})]})]})]}),(0,I.jsx)(`div`,{className:`pt-4 border-t border-github-border lg:col-span-2`,children:(0,I.jsx)(`p`,{className:`text-xs text-github-text-secondary`,children:`Shortcuts are disabled when typing in input fields.`})})]})]})]}):null}function px({style:e}){return(0,I.jsxs)(`svg`,{style:e,viewBox:`0 0 720 190`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-label":`difit`,role:`img`,children:[(0,I.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M440.487 5.90627C432.164 9.01695 427.318 16.2817 427.318 25.649C427.318 35.9474 433.206 43.6458 442.714 45.7819C451.336 47.7188 459.606 44.3893 464.84 36.8737C466.923 33.8843 467.35 32.4073 467.606 27.3105C467.773 23.9957 467.492 20.0154 466.983 18.4654C465.699 14.5629 460.869 9.13088 456.854 7.07513C452.57 4.88086 444.73 4.32102 440.487 5.90627ZM596.658 6.653C588.927 9.55794 584.572 15.4908 583.887 24.0465C583.17 33.0212 586.83 39.8868 594.382 43.7278C603.739 48.4877 615.574 44.5081 620.482 34.9515C625.35 25.4728 622.15 13.4916 613.37 8.32678C608.986 5.74808 601.154 4.96365 596.658 6.653ZM368.585 7.68006C367.464 8.80629 367.302 12.903 367.302 40.2286V71.4878L363.832 68.1329C353.432 58.0787 335.595 52.668 319.246 54.6082C310.542 55.641 299.81 59.1369 293.3 63.0607C278.56 71.9427 266.453 89.5576 263.139 106.945C261.765 114.155 261.602 129.431 262.825 136.365C265.723 152.796 274.795 168.36 286.716 177.355C298.275 186.077 310.237 190 325.274 190C340.687 190 353.943 185.273 362.869 176.594L367.302 172.284V178.215C367.302 186.902 366.946 186.724 384.303 186.709C392.243 186.702 399.29 186.347 399.964 185.919C401.04 185.236 401.189 174.47 401.189 97.1224C401.189 23.7236 401.003 8.87842 400.068 7.74809C398.433 5.77021 370.547 5.71037 368.585 7.68006ZM526.937 7.94153C519.783 10.0325 515.359 12.5834 510.029 17.6867C501.959 25.4129 498.766 34.4597 498.766 49.5975V58.8517H490.659C484.378 58.8517 482.263 59.1418 481.268 60.1394C480.214 61.1976 479.986 63.6558 479.986 73.91C479.986 82.5264 480.289 86.6977 480.966 87.3764C481.601 88.0141 484.903 88.36 490.356 88.36H498.766V136.692C498.766 183.638 498.811 185.048 500.345 185.873C502.433 186.994 529.394 186.994 531.482 185.873C533.016 185.048 533.061 183.638 533.061 136.692V88.36H549.334C563.038 88.36 565.809 88.1568 566.89 87.0723C568.782 85.1723 568.782 62.0394 566.89 60.1394C565.808 59.0541 563.029 58.8517 549.231 58.8517H532.856L533.216 51.9721C533.604 44.5499 534.721 41.9147 538.546 39.3958C540.377 38.1901 543.049 37.904 554.661 37.6737C562.626 37.5155 569.018 37.0343 569.602 36.5483C570.892 35.4761 571.046 10.3579 569.777 7.9776C568.978 6.47923 567.918 6.39562 550.384 6.45054C535.269 6.49808 530.93 6.77431 526.937 7.94153ZM654.931 26.4834C653.136 27.7662 653.094 28.1572 653.094 43.3245V58.8517H644.567C633.342 58.8517 633.497 58.6443 633.497 73.6059C633.497 88.5674 633.342 88.36 644.567 88.36H653.094V122.636C653.094 159.998 653.439 163.935 657.362 171.354C661.848 179.838 669.111 184.99 680.857 188.022C687.996 189.866 707.647 189.269 714.309 187.007C719.756 185.158 719.86 184.87 719.969 171.298C720.082 157.364 720.441 157.791 709.174 158.48C695.386 159.324 689.341 156.938 687.388 149.883C686.927 148.214 686.58 134.435 686.577 117.663L686.572 88.36H702.068H717.564L718.87 86.3592C719.946 84.7108 720.129 82.3461 719.91 72.9575C719.719 64.8279 719.321 61.1689 718.522 60.2041C717.553 59.0345 715.315 58.8517 701.987 58.8517H686.572L686.546 43.8926C686.526 31.8556 686.28 28.613 685.288 27.2941C684.156 25.7884 682.945 25.6351 670.412 25.4129C658.94 25.2088 656.476 25.3793 654.931 26.4834ZM431.459 60.1394C430.316 61.2877 430.178 68.0001 430.188 121.82C430.197 168.838 430.429 182.667 431.232 184.262L432.264 186.311L446.657 186.535C458.941 186.725 461.242 186.567 462.353 185.452C463.521 184.279 463.655 177.845 463.655 122.786C463.655 68.0985 463.515 61.2877 462.372 60.1394C460.469 58.2287 433.362 58.2287 431.459 60.1394ZM587.799 60.4369C587.238 61.4894 586.954 82.56 586.954 123.084C586.954 177.502 587.093 184.285 588.236 185.434C590.138 187.342 616.431 187.342 618.333 185.434C619.476 184.285 619.615 177.447 619.615 122.482C619.615 75.6149 619.38 60.5828 618.636 59.8353C617.947 59.1443 613.344 58.8517 603.15 58.8517C589.644 58.8517 588.586 58.9607 587.799 60.4369ZM347.956 87.3469C362.023 93.9543 369.138 107.306 367.775 124.535C366.623 139.097 359.678 149.866 347.83 155.463C337.073 160.544 325.541 160.523 315.049 155.403C293.381 144.83 288.765 112.315 306.417 94.5961C313.92 87.0641 322.021 84.1412 334.301 84.5354C341.49 84.7666 343.224 85.124 347.956 87.3469Z`,fill:`currentColor`}),(0,I.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M9.42299 0.744751C4.61699 2.15275 2.03999 5.66375 0.956994 12.2768C-0.369006 20.3728 -0.294006 170.791 1.03899 176.572C2.29699 182.031 4.81699 185.308 9.65399 187.774C13.265 189.615 16.865 189.684 108.63 189.684C163.129 189.684 204.095 189.304 204.41 188.795C206 188.5 206 188.795 207.5 188C211.167 187.079 216.779 180.138 218.005 175.584C218.682 173.068 218.939 143.952 218.756 90.4718C218.487 11.7478 218.417 9.10275 216.535 6.62675C215.466 5.22075 213.441 3.19575 212.035 2.12675C209.546 0.23575 206.839 0.17975 110.978 0.0167504C55.373 -0.0782496 11.148 0.239751 9.42299 0.744751ZM203.778 14.8838C205.558 16.6638 205.509 172.577 203.728 175.005C202.577 176.574 198.865 176.688 156.978 176.446L111.478 176.184L111.226 138.684L110.974 101.184H84.059C69.255 101.184 56.808 101.52 56.397 101.931C55.986 102.343 60.674 107.82 66.814 114.104C72.954 120.388 77.978 126.202 77.978 127.026C77.978 129.577 74.769 134.267 71.896 135.916C69.609 137.229 68.75 137.278 66.704 136.217C63.533 134.572 28.705 99.1448 27.757 96.5998C27.36 95.5348 27.491 93.4308 28.049 91.9238C28.955 89.4768 68.498 49.6838 70.024 49.6838C70.366 49.6838 72.356 51.1627 74.447 52.9697C77.589 55.6867 78.118 56.6658 77.498 58.6198C77.086 59.9198 72.075 65.8308 66.363 71.7568C60.651 77.6818 55.978 83.0148 55.978 83.6068C55.978 84.3488 64.068 84.6838 81.952 84.6838H107.927H110.666C111.144 82.5 110.978 73.4537 110.978 46.2337V13.6838H156.778C191.067 13.6838 202.88 13.9858 203.778 14.8838ZM148.803 52.7217C146.51 54.0597 144.845 59.5997 145.74 62.9107C146.146 64.4107 150.657 69.9308 155.764 75.1788C161.411 80.9788 164.547 84.8988 163.764 85.1788C163.057 85.4318 151.549 85.7608 138.19 85.9108C117.896 86.1388 113.747 86.4308 112.956 87.6838C112.435 88.5088 112.002 91.7228 111.993 94.8268C111.982 99.0598 112.373 100.622 113.56 101.077C114.43 101.411 126.13 101.684 139.56 101.684C156.121 101.684 163.978 102.026 163.978 102.746C163.978 103.33 160.187 107.607 155.554 112.251C146.244 121.582 144.276 125.371 146.069 130.514C147.321 134.107 149.576 135.684 153.463 135.684C155.522 135.684 159.843 131.902 173.778 117.904C191.699 99.9008 194.978 96.0678 194.978 93.1208C194.978 91.1338 157.422 53.8238 154.163 52.5728C151.322 51.4818 150.908 51.4937 148.803 52.7217Z`,fill:`currentColor`})]})}function mx({shouldReload:e,isReloading:t,onReload:n,changeType:r,className:i=``,compact:a=!1}){return e?(0,I.jsxs)(`button`,{onClick:n,disabled:t,className:`
|
|
65
65
|
flex items-center gap-1.5 text-xs rounded-md border ${i} ${a?`px-2 py-2`:`px-3 py-1.5`}
|
|
66
66
|
${t?`bg-github-text-primary text-github-bg-primary border-github-text-primary cursor-not-allowed`:`bg-github-text-primary text-github-bg-primary border-github-text-primary`}
|
|
67
|
-
`,title:`${(()=>{switch(r){case`commit`:return`New commits available`;case`staging`:return`Staging changes detected`;case`file`:return`File changes detected`;default:return`Changes detected`}})()} - Click to refresh`,"aria-label":a?`Refresh`:void 0,children:[(0,I.jsx)(pt,{size:12,className:`${t?`animate-spin`:``}`}),a?(0,I.jsx)(`span`,{className:`sr-only`,children:`Refresh`}):`Refresh`]}):null}var
|
|
68
|
-
`)}function
|
|
67
|
+
`,title:`${(()=>{switch(r){case`commit`:return`New commits available`;case`staging`:return`Staging changes detected`;case`file`:return`File changes detected`;default:return`Changes detected`}})()} - Click to refresh`,"aria-label":a?`Refresh`:void 0,children:[(0,I.jsx)(pt,{size:12,className:`${t?`animate-spin`:``}`}),a?(0,I.jsx)(`span`,{className:`sr-only`,children:`Refresh`}):`Refresh`]}):null}var hx=new Set([`merge-base`]),gx=[];function _x({label:e,value:t,resolvedValue:n,onChange:r,options:i,disabledValues:a=gx}){let[o,s]=(0,F.useState)(!1),{refs:c,floatingStyles:l,context:u}=hv({open:o,onOpenChange:s,middleware:[Qg(4),e_(),$g({padding:8})],whileElementsMounted:Vg}),{getReferenceProps:d,getFloatingProps:f}=yv([E_(u,{handleClose:Av()}),lv(u),_v(u),pv(u),xv(u)]),p=t===`working`&&a.includes(`staged`)||t===`staged`&&a.includes(`working`),m=i.specialOptions.filter(e=>!hx.has(e.value)),h=()=>{let e=m.find(e=>e.value===t);if(e)return e.label;let n=i.branches.find(e=>e.name===t);if(n)return`${n.name}${n.current?` (current)`:``}`;let r=i.commits.find(e=>e.shortHash===t||e.hash===t);return r?`${r.shortHash} - ${r.message}`:t||`Select...`},g=e=>{r(e),s(!1)},_=e=>a.includes(e),v=(e,t)=>[`w-full text-left px-3 py-2 text-xs focus:outline-none transition-colors`,e?`hover:bg-diff-selected-bg focus:bg-diff-selected-bg`:`hover:bg-github-bg-tertiary focus:bg-github-bg-tertiary`,e?`bg-diff-selected-bg border-l-4 border-l-diff-selected-border font-semibold pl-2`:``,t?`opacity-50 cursor-not-allowed`:`cursor-pointer`].join(` `),y=(e,r)=>e===t||r===t?!0:n?e===n||r===n:!1,b=()=>{let e=0,n=m.findIndex(e=>e.value===t);if(n!==-1)return n;if(e+=m.length,!p){let n=i.commits.findIndex(e=>e.shortHash===t);if(n!==-1)return e+n;e+=i.commits.length;let r=i.branches.findIndex(e=>e.name===t);if(r!==-1)return e+r}return 0};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`button`,{ref:c.setReference,type:`button`,className:`flex items-center gap-1.5 cursor-pointer group`,"aria-haspopup":`listbox`,"aria-expanded":o,...d(),children:[(0,I.jsxs)(`span`,{className:`text-xs text-github-text-secondary`,children:[e,`:`]}),(0,I.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 bg-github-bg-tertiary border border-github-border rounded hover:border-github-text-secondary transition-colors`,children:[(0,I.jsx)(`code`,{className:`text-xs text-github-text-primary max-w-[150px] truncate`,children:h()}),(0,I.jsx)(Ve,{size:12,className:`text-github-text-secondary group-hover:text-github-text-primary transition-colors`})]})]}),o&&(0,I.jsx)(J_,{children:(0,I.jsx)(av,{context:u,modal:!1,initialFocus:b(),children:(0,I.jsxs)(`div`,{ref:c.setFloating,style:l,className:`bg-github-bg-secondary border border-github-border rounded shadow-lg z-50 w-[360px] max-h-[400px] overflow-y-auto`,...f(),children:[m.length>0&&(0,I.jsxs)(`div`,{className:`border-b border-github-border`,children:[(0,I.jsx)(`div`,{className:`px-3 py-2 text-xs font-semibold text-github-text-secondary bg-github-bg-tertiary`,children:`Special`}),m.map(e=>(0,I.jsx)(`button`,{onClick:()=>g(e.value),disabled:_(e.value),className:v(e.value===t,_(e.value)),children:e.label},e.value))]}),!p&&i.commits.length>0&&(0,I.jsxs)(`div`,{className:`border-b border-github-border`,children:[(0,I.jsx)(`div`,{className:`px-3 py-2 text-xs font-semibold text-github-text-secondary bg-github-bg-tertiary`,children:`Recent Commits`}),i.commits.map(e=>(0,I.jsx)(`button`,{onClick:()=>g(e.shortHash),disabled:_(e.shortHash),className:v(y(e.shortHash,e.hash),_(e.shortHash)),children:(0,I.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,I.jsx)(`code`,{className:`text-xs text-github-text-primary font-mono whitespace-nowrap`,children:e.shortHash}),(0,I.jsx)(`span`,{className:`text-xs text-github-text-secondary flex-1 break-words`,children:e.message})]})},e.hash))]}),!p&&i.branches.length>0&&(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`div`,{className:`px-3 py-2 text-xs font-semibold text-github-text-secondary bg-github-bg-tertiary`,children:`Branches`}),i.branches.map(e=>(0,I.jsx)(`button`,{onClick:()=>g(e.name),disabled:_(e.name),className:v(e.name===t,_(e.name)),children:(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,I.jsx)(`span`,{className:`text-github-text-primary`,children:e.name}),e.current&&(0,I.jsx)(`span`,{className:`text-xs text-github-text-muted`,children:`(current)`})]})},e.name))]})]})})})]})}function vx({isOpen:e,onClose:t,options:n,selection:r,resolvedBaseRevision:i,resolvedTargetRevision:a,onApply:o}){let[s,c]=(0,F.useState)(r),{enableScope:l,disableScope:u}=Ce(),d=s.baseCommitish,f=s.targetCommitish;(0,F.useEffect)(()=>{c(r)},[r]),(0,F.useEffect)(()=>(e?u(`navigation`):l(`navigation`),()=>{l(`navigation`)}),[e,l,u]);let p=(0,F.useMemo)(()=>{let e=a||f,t=n.commits.findIndex(t=>t.shortHash===e||t.hash===e);if(t===-1)return f?[f]:[];let r=n.commits.slice(0,t+1).map(e=>e.shortHash);return f&&!r.includes(f)&&r.push(f),r.includes(`working`)||r.push(`working`),r},[f,a,n.commits]),m=(0,F.useMemo)(()=>{let e=i||d,t=n.commits.findIndex(t=>t.shortHash===e||t.hash===e);if(t===-1)return d?[d]:[];let r=n.commits.slice(t).map(e=>e.shortHash);return d&&!r.includes(d)&&r.push(d),r},[d,i,n.commits]);return e?(0,I.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center`,children:[(0,I.jsx)(`div`,{className:`absolute inset-0 bg-black/40`,onClick:t}),(0,I.jsxs)(`div`,{className:`relative bg-github-bg-secondary border border-github-border rounded-lg shadow-lg w-full max-w-lg mx-4`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between p-4 border-b border-github-border`,children:[(0,I.jsx)(`h2`,{className:`text-lg font-semibold text-github-text-primary`,children:`Detailed Diff`}),(0,I.jsx)(`button`,{onClick:t,className:`text-github-text-secondary hover:text-github-text-primary p-1`,"aria-label":`Close detailed diff`,children:(0,I.jsx)(bt,{size:18})})]}),(0,I.jsxs)(`div`,{className:`p-4 space-y-4`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-center gap-3`,children:[(0,I.jsx)(_x,{label:`Base`,value:d,resolvedValue:i,onChange:e=>c(Yt(e,s.targetCommitish)),options:n,disabledValues:p}),(0,I.jsx)(`span`,{className:`text-github-text-muted`,children:`...`}),(0,I.jsx)(_x,{label:`Target`,value:f,resolvedValue:a,onChange:e=>c(Yt(s.baseCommitish,e)),options:n,disabledValues:m})]}),(0,I.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,I.jsx)(`button`,{onClick:t,className:`px-3 py-1.5 text-xs font-medium rounded border border-github-border text-github-text-secondary hover:text-github-text-primary transition-colors`,type:`button`,children:`Cancel`}),(0,I.jsx)(`button`,{onClick:()=>{o(Yt(s.baseCommitish,s.targetCommitish)),t()},className:`px-3 py-1.5 text-xs font-medium rounded bg-github-accent text-white hover:bg-github-accent/90 transition-colors`,type:`button`,children:`Apply`})]})]})]})]}):null}var yx=[{id:`vscode`,label:`VS Code`,command:`code`,argsTemplate:`-g %file:%line`},{id:`cursor`,label:`Cursor`,command:`cursor`,argsTemplate:`-g %file:%line`},{id:`zed`,label:`Zed`,command:`zed`,argsTemplate:`%file:%line`},{id:`textmate`,label:`TextMate`,command:`mate`,argsTemplate:`-l %line %file`},{id:`bbedit`,label:`BBEdit`,command:`bbedit`,argsTemplate:`+%line %file`},{id:`emacs`,label:`Emacs`,command:`emacsclient`,argsTemplate:`--no-wait +%line %file`},{id:`macvim`,label:`MacVim`,command:`mvim`,argsTemplate:`--remote-silent +%line %file`},{id:`sublime`,label:`Sublime Text`,command:`subl`,argsTemplate:`%file:%line`},{id:`nova`,label:`Nova`,command:`nova`,argsTemplate:`open %file -l %line`},{id:`custom`,label:`Custom…`,command:``,argsTemplate:``},{id:`none`,label:`Hide “Open in editor” button`,command:``,argsTemplate:``}],bx=yx.find(e=>e.id===`vscode`)??yx[0],xx=e=>{let t=(e??`vscode`).toLowerCase();return yx.find(e=>e.id===t)??bx};function Sx(e){return e.replaceAll(`\\`,`/`).replace(/^\.\/+/,``)}function Cx(e){return e.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`)}function wx(e){let t=new Set;return e.forEach(e=>{let n=e.trim();n&&t.add(Sx(n))}),[...t]}function Tx(e){return Sx(e).split(`/`).filter(e=>e.length>0)}function Ex(e,t){let n=`^`;for(let e of t){if(e===`*`){n+=`.*`;continue}if(e===`?`){n+=`.`;continue}n+=Cx(e)}return n+=`$`,new RegExp(n).test(e)}function Dx(e,t,n=0,r=0){if(r>=t.length)return n>=e.length;let i=t[r];if(!i)return n>=e.length;if(i===`**`){let i=r+1;if(i>=t.length)return!0;for(let r=n;r<=e.length;r+=1)if(Dx(e,t,r,i))return!0;return!1}let a=e[n];return!a||!Ex(a,i)?!1:Dx(e,t,n+1,r+1)}function Ox(e){return Array.isArray(e)?wx(e.filter(e=>typeof e==`string`)):[]}function kx(e){return wx(e.split(/\r?\n/))}function Ax(e){return Ox(e).join(`
|
|
68
|
+
`)}function jx(e,t){let n=Sx(t.trim());if(!n)return!1;let r=Sx(e);return n.includes(`/`)?Dx(Tx(r),Tx(n)):Ex(r.split(`/`).pop()??r,n)}function Mx(e,t){return Ox(t).some(t=>jx(e,t))}var Nx=[{id:`github`,label:`GitHub Light`},{id:`vsLight`,label:`VS Light`},{id:`oneLight`,label:`One Light`},{id:`gruvboxMaterialLight`,label:`Gruvbox Material Light`},{id:`nightOwlLight`,label:`Night Owl Light`}],Px=[{id:`vsDark`,label:`VS Dark`},{id:`oneDark`,label:`One Dark`},{id:`gruvboxMaterialDark`,label:`Gruvbox Material Dark`},{id:`nightOwl`,label:`Night Owl`},{id:`dracula`,label:`Dracula`},{id:`okaidia`,label:`Okaidia`}],Fx=e=>e===`light`?Nx:Px,Ix=(e,t)=>Fx(t).some(t=>t.id===e),Lx=e=>Fx(e)[0],Rx=e=>e===`top`?`translateY(4px)`:e===`bottom`?`translateY(-4px)`:e===`left`?`translateX(4px)`:`translateX(-4px)`,zx=(e,t)=>{if(typeof e==`function`){e(t);return}e&&`current`in e&&(e.current=t)};function Bx({content:e,children:t,placement:n=`top`,className:r=``}){let[i,a]=(0,F.useState)(!1),o=(0,F.useId)(),{refs:s,floatingStyles:c,context:l}=hv({open:i,onOpenChange:a,placement:n,middleware:[Qg(8),e_(),$g({padding:8})],whileElementsMounted:Vg}),u=E_(l,{move:!1}),d=_v(l),f=pv(l),p=xv(l,{role:`tooltip`}),{isMounted:m,styles:h}=Ev(l,{duration:{open:180,close:120},initial:({side:e})=>({opacity:0,transform:Rx(e)}),open:{opacity:1,transform:`translate(0, 0)`},close:({side:e})=>({opacity:0,transform:Rx(e)}),common:{willChange:`opacity, transform`}}),{getReferenceProps:g,getFloatingProps:_}=yv([u,d,f,p]),v=t.props,y=g({...v,"aria-describedby":i?o:void 0}),b=[`w-64 rounded-md border border-github-border bg-github-bg-primary px-3 py-2 text-xs text-github-text-primary`,r].filter(Boolean).join(` `);return(0,I.jsxs)(I.Fragment,{children:[(0,F.cloneElement)(t,{...y,ref:e=>{zx(v.ref,e),s.setReference(e)}}),m?(0,I.jsx)(J_,{children:(0,I.jsx)(`div`,{ref:s.setFloating,..._(),id:o,style:c,className:`z-[60]`,children:(0,I.jsx)(`div`,{style:h,className:b,children:e})})}):null]})}var Vx={fontSize:14,fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif`,theme:`dark`,syntaxTheme:`vsDark`,editor:{id:bx.id,command:bx.command,argsTemplate:bx.argsTemplate},colorVision:`normal`,autoViewedPatterns:[]},Hx=[{name:`System Font`,value:`-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif`},{name:`Menlo`,value:`Menlo, Monaco, "Courier New", monospace`},{name:`SF Mono`,value:`SF Mono, Consolas, "Liberation Mono", monospace`},{name:`Fira Code`,value:`"Fira Code", "Courier New", monospace`},{name:`JetBrains Mono`,value:`"JetBrains Mono", "Courier New", monospace`}],Ux=[{id:`normal`,label:`Normal`},{id:`deuteranopia`,label:`Deuteranopia`,tooltip:`Deuteranopia mode uses blue/orange instead of green/red for diffs.`}],Wx=[{id:`appearance`,label:`Appearance`},{id:`system`,label:`System`}];function Gx({isOpen:e,onClose:t,settings:n,onSettingsChange:r}){let[i,a]=(0,F.useState)(Ax(n.autoViewedPatterns)),[o,s]=(0,F.useState)(`appearance`),{enableScope:c,disableScope:l}=Ce();(0,F.useEffect)(()=>(e?l(`navigation`):c(`navigation`),()=>{c(`navigation`)}),[e,c,l]);let u=()=>n.theme===`auto`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:n.theme,d=()=>Fx(u()),f=e=>{let t={...n,theme:e},i=e===`auto`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:e;if(!Ix(n.syntaxTheme,i)){let e=Lx(i);e&&(t.syntaxTheme=e.id)}r(t)};return e?(0,I.jsx)(`div`,{className:`fixed inset-0 flex items-center justify-center z-50 pointer-events-none`,children:(0,I.jsxs)(`div`,{className:`bg-github-bg-secondary border border-github-border rounded-lg w-full max-w-3xl mx-4 pointer-events-auto overflow-hidden`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between p-4 border-b border-github-border`,children:[(0,I.jsxs)(`h2`,{className:`text-lg font-semibold text-github-text-primary flex items-center gap-2`,children:[(0,I.jsx)(ht,{size:20}),`Settings`]}),(0,I.jsx)(`button`,{onClick:t,className:`text-github-text-secondary hover:text-github-text-primary p-1`,children:(0,I.jsx)(bt,{size:18})})]}),(0,I.jsxs)(`div`,{className:`flex flex-col sm:flex-row min-h-[420px]`,children:[(0,I.jsx)(`nav`,{"aria-label":`Settings sections`,className:`sm:w-40 border-b sm:border-b-0 sm:border-r border-github-border px-3 py-2`,children:(0,I.jsx)(`div`,{className:`flex sm:flex-col gap-1`,children:Wx.map(e=>{let t=e.id===o;return(0,I.jsx)(`button`,{type:`button`,onClick:()=>s(e.id),"aria-pressed":t,className:`flex-1 sm:flex-none text-left px-3 py-2 text-sm font-medium transition-colors border-b-2 sm:border-b-0 sm:border-l-2 ${t?`text-github-text-primary border-github-accent`:`text-github-text-secondary border-transparent hover:text-github-text-primary`}`,children:e.label},e.id)})})}),(0,I.jsxs)(`div`,{className:`flex-1 p-4 sm:p-6 overflow-y-auto`,children:[o===`appearance`&&(0,I.jsxs)(`div`,{className:`space-y-6`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`label`,{className:`block text-sm font-medium text-github-text-primary mb-2`,children:`Font Size`}),(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,I.jsx)(`input`,{type:`range`,min:`10`,max:`20`,step:`1`,value:n.fontSize,onChange:e=>r({...n,fontSize:Number.parseInt(e.target.value,10)}),className:`flex-1 accent-github-accent`}),(0,I.jsxs)(`span`,{className:`text-sm text-github-text-secondary w-8 text-right`,children:[n.fontSize,`px`]})]})]}),(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`label`,{className:`block text-sm font-medium text-github-text-primary mb-2`,children:`Font Family`}),(0,I.jsx)(`select`,{value:n.fontFamily,onChange:e=>r({...n,fontFamily:e.target.value}),className:`w-full p-2 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary text-sm`,children:Hx.map(e=>(0,I.jsx)(`option`,{value:e.value,children:e.name},e.value))})]}),(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`label`,{className:`block text-sm font-medium text-github-text-primary mb-2`,children:`Theme`}),(0,I.jsx)(`div`,{className:`flex gap-2`,children:[`light`,`dark`,`auto`].map(e=>(0,I.jsx)(`button`,{type:`button`,onClick:()=>f(e),className:`px-3 py-2 text-sm rounded border transition-colors ${n.theme===e?`bg-github-accent text-white border-github-accent`:`bg-github-bg-tertiary text-github-text-secondary border-github-border hover:text-github-text-primary`}`,children:e.charAt(0).toUpperCase()+e.slice(1)},e))})]}),(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`label`,{className:`block text-sm font-medium text-github-text-primary mb-2`,children:`Color Vision`}),(0,I.jsx)(`div`,{className:`flex gap-2`,children:Ux.map(e=>{let t=(0,I.jsx)(`button`,{type:`button`,onClick:()=>r({...n,colorVision:e.id}),className:`px-3 py-2 text-sm rounded border transition-colors ${(n.colorVision??`normal`)===e.id?`bg-github-accent text-white border-github-accent`:`bg-github-bg-tertiary text-github-text-secondary border-github-border hover:text-github-text-primary`}`,children:e.label},e.id);return`tooltip`in e?(0,I.jsx)(Bx,{content:e.tooltip,children:t},e.id):t})})]}),(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`label`,{className:`block text-sm font-medium text-github-text-primary mb-2`,children:`Syntax Highlighting Theme`}),(0,I.jsx)(`select`,{value:n.syntaxTheme,onChange:e=>r({...n,syntaxTheme:e.target.value}),className:`w-full p-2 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary text-sm`,children:d().map(e=>(0,I.jsx)(`option`,{value:e.id,children:e.label},e.id))})]})]}),o===`system`&&(0,I.jsxs)(`div`,{className:`space-y-6`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`label`,{htmlFor:`auto-viewed-patterns`,className:`block text-sm font-medium text-github-text-primary mb-2`,children:`Auto-Mark Viewed Patterns`}),(0,I.jsx)(`p`,{className:`text-sm text-github-text-secondary mb-2`,children:`Files matching these glob patterns are marked as Viewed automatically. Enter one pattern per line.`}),(0,I.jsx)(`textarea`,{id:`auto-viewed-patterns`,value:i,onChange:e=>{a(e.target.value),r({...n,autoViewedPatterns:kx(e.target.value)})},rows:6,spellCheck:!1,placeholder:`*.test.ts
|
|
69
69
|
*.stories.tsx
|
|
70
|
-
src/generated/**`,className:`w-full p-3 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary text-sm font-mono`})]}),(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`label`,{className:`block text-sm font-medium text-github-text-primary mb-2`,children:`Open In Editor`}),(0,I.jsx)(`select`,{value:n.editor.id,onChange:e=>{let t=e.target.value,i=
|
|
70
|
+
src/generated/**`,className:`w-full p-3 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary text-sm font-mono`})]}),(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`label`,{className:`block text-sm font-medium text-github-text-primary mb-2`,children:`Open In Editor`}),(0,I.jsx)(`select`,{value:n.editor.id,onChange:e=>{let t=e.target.value,i=yx.find(e=>e.id===t);r({...n,editor:{id:t,command:i?.command??``,argsTemplate:i?.argsTemplate??``}})},className:`w-full p-2 bg-github-bg-tertiary border border-github-border rounded text-github-text-primary text-sm`,children:yx.map(e=>(0,I.jsx)(`option`,{value:e.id,children:e.label},e.id))}),n.editor.id!==`none`&&(()=>{let e=n.editor.id===`custom`,t=e&&n.editor.command.trim()===``,i=e&&n.editor.argsTemplate.trim()===``,a=e?``:` opacity-60 cursor-not-allowed`;return(0,I.jsxs)(`div`,{"aria-label":`Editor command configuration`,className:`mt-3 p-3 bg-github-bg-tertiary border border-github-border rounded space-y-3`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`label`,{htmlFor:`editor-command`,className:`block text-sm font-medium text-github-text-primary mb-1`,children:`Command`}),(0,I.jsx)(`input`,{id:`editor-command`,type:`text`,value:n.editor.command,disabled:!e,required:e,"aria-invalid":t||void 0,onChange:e=>r({...n,editor:{...n.editor,command:e.target.value}}),placeholder:`e.g. mate`,spellCheck:!1,autoComplete:`off`,className:`w-full p-2 bg-github-bg-secondary border rounded text-github-text-primary text-sm font-mono${t?` border-red-500`:` border-github-border`}${a}`}),t&&(0,I.jsx)(`p`,{className:`mt-1 text-xs text-red-400`,children:`Command is required.`})]}),(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`label`,{htmlFor:`editor-args`,className:`block text-sm font-medium text-github-text-primary mb-1`,children:`Arguments`}),(0,I.jsx)(`input`,{id:`editor-args`,type:`text`,value:n.editor.argsTemplate,disabled:!e,required:e,"aria-invalid":i||void 0,onChange:e=>r({...n,editor:{...n.editor,argsTemplate:e.target.value}}),placeholder:`-l %line %file`,spellCheck:!1,autoComplete:`off`,className:`w-full p-2 bg-github-bg-secondary border rounded text-github-text-primary text-sm font-mono${i?` border-red-500`:` border-github-border`}${a}`}),i&&(0,I.jsx)(`p`,{className:`mt-1 text-xs text-red-400`,children:`Arguments are required.`}),(0,I.jsx)(`p`,{className:`mt-2 text-xs text-github-text-secondary`,children:e?`Use %file and %line as placeholders. Wrap arguments containing spaces in single or double quotes. Arguments are passed directly to the command without a shell.`:`Select Custom… above to edit these fields.`})]})]})})()]})]})]})]}),(0,I.jsxs)(`div`,{className:`flex items-center justify-between p-4 border-t border-github-border`,children:[(0,I.jsx)(`button`,{onClick:()=>{if(o===`appearance`){r({...n,fontSize:Vx.fontSize,fontFamily:Vx.fontFamily,theme:Vx.theme,syntaxTheme:Vx.syntaxTheme,colorVision:Vx.colorVision});return}r({...n,editor:{...Vx.editor},autoViewedPatterns:Vx.autoViewedPatterns}),a(Ax(Vx.autoViewedPatterns))},className:`px-3 py-2 text-sm text-github-text-secondary hover:text-github-text-primary`,children:o===`appearance`?`Reset Appearance Defaults`:`Reset System Defaults`}),(0,I.jsx)(`button`,{onClick:t,className:`px-4 py-2 text-sm bg-github-accent text-white rounded hover:bg-green-600`,children:`Close`})]})]})}):null}var Kx={position:`absolute`,fontSize:`16px`,pointerEvents:`none`,zIndex:100,transform:`translateY(20px) scale(0.5)`,opacity:0},qx=({isActive:e})=>e?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`div`,{className:`animate-sparkle-rise`,style:{...Kx,left:`-12px`,animationDelay:`0s`},children:`✨`}),(0,I.jsx)(`div`,{className:`animate-sparkle-rise`,style:{...Kx,right:`-12px`,animationDelay:`0.3s`},children:`✨`})]}):null,Jx={fontSize:14,fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif`,theme:`dark`,syntaxTheme:`vsDark`,editor:{id:bx.id,command:bx.command,argsTemplate:bx.argsTemplate},colorVision:`normal`,autoViewedPatterns:[]},Yx=e=>{if(typeof e==`string`){let t=xx(e);return{id:t.id,command:t.command,argsTemplate:t.argsTemplate}}if(e&&typeof e==`object`){let t=e,n=xx(typeof t.id==`string`?t.id:void 0);return{id:n.id,command:typeof t.command==`string`?t.command:n.command,argsTemplate:typeof t.argsTemplate==`string`?t.argsTemplate:n.argsTemplate}}return Jx.editor};function Xx(){let[e,t]=(0,F.useState)(()=>{try{let e=localStorage.getItem(f);if(e){let t=JSON.parse(e);return{...Jx,...t,editor:Yx(t.editor),autoViewedPatterns:Ox(t.autoViewedPatterns)}}}catch(e){console.warn(`Failed to load appearance settings from localStorage:`,e)}return Jx}),n=(0,F.useCallback)((e,t=`normal`)=>{C(e,t)},[]),r=(0,F.useCallback)(e=>{try{localStorage.setItem(f,JSON.stringify(e))}catch(e){console.warn(`Failed to save appearance settings to localStorage:`,e)}},[]),i=(0,F.useCallback)((e,t)=>{if(Ix(e.syntaxTheme,t))return e;let n=Lx(t);return n?{...e,syntaxTheme:n.id}:e},[]);(0,F.useEffect)(()=>{let a=document.documentElement;a.style.setProperty(`--app-font-size`,`${e.fontSize}px`),a.style.setProperty(`--app-font-family`,e.fontFamily);let o=e.colorVision??`normal`,s=a=>{n(a,o);let s=i(e,a);s!==e&&(t(s),r(s))};if(e.theme===`auto`){let e=window.matchMedia(`(prefers-color-scheme: dark)`);s(b(`auto`,e.matches?`dark`:`light`));let t=e=>{s(b(`auto`,e.matches?`dark`:`light`))};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)}else{s(e.theme);return}},[e,n,i,r]);let a=(0,F.useCallback)(e=>{t(e),r(e)},[r]);return(0,F.useMemo)(()=>({settings:e,updateSettings:a}),[e,a])}function Zx(e){return typeof e==`number`?`L${e}`:`L${e[0]}-L${e[1]}`}function Qx(e,t){if(Ld(e)){let n=Rd(e);if(n.length>0){let r=``,i=0;for(let a of n){let n=e.slice(i,a.startIndex).trim();n&&(r+=`${r?`
|
|
71
71
|
`:``}${n}`),t&&(r+=`${r?`
|
|
72
72
|
`:``}ORIGINAL:\n\`\`\`\n${t}\n\`\`\``),r+=`${r?`
|
|
73
73
|
`:``}SUGGESTED:\n\`\`\`\n${a.suggestedCode}\n\`\`\``,i=a.endIndex}let a=e.slice(i).trim();return a&&(r+=`${r?`
|
|
74
|
-
`:``}${a}`),r}}return e}function
|
|
75
|
-
`)}function
|
|
74
|
+
`:``}${a}`),r}}return e}function $x(e){let t=[`${e.file||`<unknown file>`}:${Zx(e.line)}`];return e.messages.forEach((n,r)=>{if(r===0){t.push(Qx(n.body,e.codeContent));return}let i=r,a=n.author?.trim()||`Unknown`;t.push(`Reply ${i} (${a})`),t.push(Qx(n.body,e.codeContent))}),t.filter(Boolean).join(`
|
|
75
|
+
`)}function eS(e){return e.length===0?``:e.map(e=>$x(e)).join(`
|
|
76
76
|
=====
|
|
77
|
-
`)}var
|
|
77
|
+
`)}var tS=`difit-storage-v1`,nS=`difit-viewed-index-v1`,rS=`__default__`,iS=5e3;function aS(e,t){return`${e} ${t}`}function oS(e){return{id:e.id,filePath:e.filePath,createdAt:e.createdAt,updatedAt:e.updatedAt,position:e.position,codeSnapshot:e.codeSnapshot,messages:[{id:e.id,body:e.body,author:e.author,createdAt:e.createdAt,updatedAt:e.updatedAt}]}}function sS(e){let t=e.messages[0];return t?{id:e.id,filePath:e.filePath,body:t.body,author:t.author,createdAt:t.createdAt,updatedAt:t.updatedAt,position:e.position,codeSnapshot:e.codeSnapshot}:null}var cS=new class{generateStorageKey(e,t,n){let r=e=>e.replace(/[^a-zA-Z0-9-_]/g,e=>`_${e.charCodeAt(0).toString(16)}_`),i=`${r(e)}-${r(t)}`;return Jt(n)===`merge-base`?`${i}-merge-base`:i}getFullStorageKey(e,t){return e?`${tS}/${e}/${t}`:`${tS}/${t}`}normalizeCommitish(e,t,n){if(e===`.`||e===`working`)return`WORKING`;if(e===`staged`)return`STAGED`;if((e===`HEAD`||e===`@`)&&t)return t;if(n?.has(e)){let t=n.get(e);if(t)return t}return(e.startsWith(`@`)||e.includes(`^`)||e.includes(`~`)||e.includes(`HEAD`))&&console.warn(`[StorageService] Cannot normalize symbolic ref '${e}' - may cause key collision. currentCommitHash=${t}`),e}getStorageKey(e,t,n,r,i,a){let o=this.normalizeStorageBase(e,t,n,r),s=this.normalizeStorageTarget(e,t,n,r),c=this.generateStorageKey(o,s,a);return this.getFullStorageKey(i,c)}getDiffContextData(e,t,n,r,i,a){try{let o=this.getStorageKey(e,t,n,r,i,a),s=localStorage.getItem(o);if(!s)return null;let c=JSON.parse(s);return c.version===2&&`threads`in c?c:c.version===1&&`comments`in c?{version:2,baseCommitish:c.baseCommitish,targetCommitish:c.targetCommitish,createdAt:c.createdAt,lastModifiedAt:c.lastModifiedAt,threads:c.comments.map(oS),viewedFiles:c.viewedFiles,appliedCommentImportIds:[]}:(console.warn(`Unknown storage version: ${String(c.version)}`),null)}catch(e){return console.error(`Error reading diff context data:`,e),null}}normalizeStorageBase(e,t,n,r){return t===`.`||t===`working`||t===`staged`?n||e:this.normalizeCommitish(e,n,r)}normalizeStorageTarget(e,t,n,r){return t===`.`||t===`working`?`WORKING`:t===`staged`?`STAGED`:this.normalizeCommitish(t,n,r)}saveDiffContextData(e,t,n,r,i,a,o){try{let s=this.getStorageKey(e,t,r,i,a,o),c={...n,version:2,baseCommitish:e,targetCommitish:t,baseMode:o,lastModifiedAt:new Date().toISOString(),appliedCommentImportIds:n.appliedCommentImportIds||[]};localStorage.setItem(s,JSON.stringify(c))}catch(e){e instanceof DOMException&&e.name===`QuotaExceededError`?console.error(`localStorage quota exceeded`):console.error(`Error saving diff context data:`,e)}}getCommentThreads(e,t,n,r,i,a){return this.getDiffContextData(e,t,n,r,i,a)?.threads||[]}getComments(e,t,n,r,i,a){return this.getCommentThreads(e,t,n,r,i,a).map(e=>sS(e)).filter(e=>e!==null)}saveCommentThreads(e,t,n,r,i,a,o){let s=this.getDiffContextData(e,t,r,i,a,o)||{version:2,baseCommitish:e,targetCommitish:t,baseMode:o,createdAt:new Date().toISOString(),lastModifiedAt:new Date().toISOString(),threads:[],viewedFiles:[],appliedCommentImportIds:[]};s.threads=n,this.saveDiffContextData(e,t,s,r,i,a,o)}saveComments(e,t,n,r,i,a,o){this.saveCommentThreads(e,t,n.map(oS),r,i,a,o)}getViewedFiles(e,t,n,r,i,a){return this.getDiffContextData(e,t,n,r,i,a)?.viewedFiles||[]}saveViewedFiles(e,t,n,r,i,a,o){let s=this.getDiffContextData(e,t,r,i,a,o)||{version:2,baseCommitish:e,targetCommitish:t,baseMode:o,createdAt:new Date().toISOString(),lastModifiedAt:new Date().toISOString(),threads:[],viewedFiles:[],appliedCommentImportIds:[]};s.viewedFiles=n,this.saveDiffContextData(e,t,s,r,i,a,o)}getViewedHashIndexKey(e){return`${nS}/${e??rS}`}getViewedHashIndex(e){let t={version:1,lastModifiedAt:new Date(0).toISOString(),entries:[]};try{let n=localStorage.getItem(this.getViewedHashIndexKey(e));if(!n)return t;let r=JSON.parse(n);return r.version!==1||!Array.isArray(r.entries)?t:r}catch(e){return console.error(`Error reading viewed hash index:`,e),t}}writeViewedHashIndex(e,t){try{localStorage.setItem(this.getViewedHashIndexKey(e),JSON.stringify({...t,lastModifiedAt:new Date().toISOString()}))}catch(e){e instanceof DOMException&&e.name===`QuotaExceededError`?console.error(`localStorage quota exceeded while writing viewed hash index`):console.error(`Error saving viewed hash index:`,e)}}recordViewedHashes(e,t){if(t.length===0)return;let n=this.getViewedHashIndex(e),r=new Map(n.entries.map(e=>[aS(e.filePath,e.diffContentHash),e]));for(let e of t)r.set(aS(e.filePath,e.diffContentHash),e);let i=Array.from(r.values());i.length>iS&&(i.sort((e,t)=>e.viewedAt<t.viewedAt?1:-1),i=i.slice(0,iS)),this.writeViewedHashIndex(e,{version:1,lastModifiedAt:n.lastModifiedAt,entries:i})}removeViewedHashes(e,t){if(t.length===0)return;let n=this.getViewedHashIndex(e),r=new Set(t.map(e=>aS(e.filePath,e.diffContentHash))),i=n.entries.filter(e=>!r.has(aS(e.filePath,e.diffContentHash)));i.length!==n.entries.length&&this.writeViewedHashIndex(e,{version:1,lastModifiedAt:n.lastModifiedAt,entries:i})}clearViewedHashIndex(e){try{localStorage.removeItem(this.getViewedHashIndexKey(e))}catch(e){console.error(`Error clearing viewed hash index:`,e)}}cleanupOldData(e){let t=new Date;t.setDate(t.getDate()-e);let n=t.getTime(),r=[];for(let e=0;e<localStorage.length;e++){let t=localStorage.key(e);if(!t)continue;let i=t.startsWith(tS),a=t.startsWith(nS);if(!(!i&&!a))try{let e=localStorage.getItem(t);if(!e)continue;let i=JSON.parse(e).lastModifiedAt;if(!i)continue;let a=new Date(i).getTime();Number.isFinite(a)&&a<n&&r.push(t)}catch{}}r.forEach(e=>localStorage.removeItem(e))}getStorageSize(){let e=0;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(!n||!n.startsWith(tS)&&!n.startsWith(nS))continue;let r=localStorage.getItem(n);r&&(e+=(n.length+r.length)*2)}return e}};async function lS(e){try{let t=new TextEncoder().encode(e),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}catch{return console.warn(`Crypto API not available, using fallback hash`),uS(e)}}function uS(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t&=t}return Math.abs(t).toString(16)}function dS(e){let t=e.chunks.map(e=>{let t=e.lines.filter(e=>e.type!==`hunk`&&e.type!==`header`).map(e=>`${e.type}:${e.content}`).join(`
|
|
78
78
|
`);return`${e.header}\n${t}`}).join(`
|
|
79
79
|
|
|
80
|
-
`);return`${e.path}\n${e.status}\n${t}`}function
|
|
81
|
-
`);return r.length>0&&r[r.length-1]===``&&r.pop(),{lines:r,totalLines:r.length}}async function gS(e,t,n,r){let i=encodeURIComponent(e),a=new URLSearchParams;t&&a.set(`oldRef`,t),n&&a.set(`newRef`,n),r&&r!==e&&a.set(`oldPath`,r);let o=await fetch(`/api/line-count/${i}?${a}`);if(!o.ok)throw Error(`Failed to fetch line count: ${o.statusText}`);return o.json()}function _S({baseCommitish:e,targetCommitish:t,diffIdentity:n}){let[r,i]=(0,F.useState)({}),[a,o]=(0,F.useState)(!1),[s,c]=(0,F.useState)(null),[l,u]=(0,F.useState)(0),d=(0,F.useRef)(new Map),f=(0,F.useRef)({});f.current=r;let p=(0,F.useRef)(0);(0,F.useEffect)(()=>{p.current+=1,d.current.clear(),f.current={},i({}),o(!1),c(null),u(0)},[e,t,n]);let m=(0,F.useCallback)(async n=>{let r=p.current,i=`${r}:${n.path}`,a=d.current.get(i);if(a)return a;let o=(async()=>{let i=f.current[n.path];if(i?.oldContent&&i?.newContent)return i;let a={...i,expandedRanges:i?.expandedRanges||[]};if(n.status!==`added`&&e){let t=n.oldPath||n.path;try{let{lines:n,totalLines:i}=await hS(t,e);if(p.current!==r)return null;a.oldContent=n,a.oldTotalLines=i}catch(e){console.error(`Failed to fetch old file content:`,e),a.oldContent=[],a.oldTotalLines=0}}if(n.status!==`deleted`&&t)try{let{lines:e,totalLines:i}=await hS(n.path,t);if(p.current!==r)return null;a.newContent=e,a.newTotalLines=i}catch(e){console.error(`Failed to fetch new file content:`,e),a.newContent=[],a.newTotalLines=0}return a})();d.current.set(i,o);try{return await o}finally{d.current.delete(i)}},[e,t]),h=(0,F.useCallback)(e=>{c(e),u(e=>e+1)},[]),g=(0,F.useCallback)(async(e,t,n,r=mS)=>{let a=p.current;o(!0);try{let o=await m(e);if(!o||p.current!==a)return;i(i=>{let a=i[e.path],s=a?.expandedRanges||o.expandedRanges||[],c=s.findIndex(e=>e.chunkIndex===t&&e.direction===n),l=[...s];if(c>=0&&l[c]){let e=l[c];l[c]={chunkIndex:e.chunkIndex,direction:e.direction,count:e.count+r}}else l.push({chunkIndex:t,direction:n,count:r});return{...i,[e.path]:{oldContent:a?.oldContent??o.oldContent,newContent:a?.newContent??o.newContent,oldTotalLines:a?.oldTotalLines??o.oldTotalLines,newTotalLines:a?.newTotalLines??o.newTotalLines,expandedRanges:l}}}),h(e.path)}finally{o(!1)}},[m,h]),_=(0,F.useCallback)(async(e,t,n)=>{let r=p.current;o(!0);try{let a=await m(e);if(!a||p.current!==r)return;i(r=>{let i=r[e.path],o=[...i?.expandedRanges||a.expandedRanges||[]],s=o.findIndex(e=>e.chunkIndex===t&&e.direction===`up`),c=o.findIndex(e=>e.chunkIndex===t-1&&e.direction===`down`),l=0,u=0;s>=0&&o[s]&&(l=o[s].count),c>=0&&o[c]&&(u=o[c].count);let d=l+u+n,f=o.filter(e=>!(e.chunkIndex===t-1&&e.direction===`down`)),p=f.findIndex(e=>e.chunkIndex===t&&e.direction===`up`);return p>=0&&f[p]?f[p]={chunkIndex:t,direction:`up`,count:d}:f.push({chunkIndex:t,direction:`up`,count:d}),{...r,[e.path]:{oldContent:i?.oldContent??a.oldContent,newContent:i?.newContent??a.newContent,oldTotalLines:i?.oldTotalLines??a.oldTotalLines,newTotalLines:i?.newTotalLines??a.newTotalLines,expandedRanges:f}}}),h(e.path)}finally{o(!1)}},[m,h]),v=(0,F.useCallback)(async n=>{let r=p.current,a=f.current[n.path];if(a?.oldTotalLines!==void 0||a?.newTotalLines!==void 0)return;let o=n.status===`added`?void 0:e,s=n.status===`deleted`?void 0:t;if(!(!o&&!s))try{let{oldLineCount:e,newLineCount:t}=await gS(n.path,o,s,n.oldPath);if(p.current!==r)return;i(r=>{let i=r[n.path];return i?.oldTotalLines!==void 0||i?.newTotalLines!==void 0?r:{...r,[n.path]:{...i,expandedRanges:i?.expandedRanges||[],oldTotalLines:e,newTotalLines:t}}}),h(n.path)}catch(e){console.error(`Failed to prefetch line count:`,e)}},[e,t,h]),y=(0,F.useCallback)((e,t,n)=>{let i=r[e];return i&&i.expandedRanges.find(e=>e.chunkIndex===t&&e.direction===n)?.count||0},[r]),b=(0,F.useCallback)((e,t,n)=>{if(e.status===`added`||e.status===`deleted`)return 0;let r=e.chunks[n-1],i;if(!r)i=t.oldStart-1;else{let e=r.oldStart+r.oldLines;i=t.oldStart-e}let a=y(e.path,n,`up`),o=n>0?y(e.path,n-1,`down`):0;return Math.max(0,i-a-o)},[y]),x=(0,F.useCallback)((e,t,n)=>{if(e.status===`added`||e.status===`deleted`)return 0;let i=r[e.path],a=i?.oldTotalLines||i?.newTotalLines;if(a===void 0)return e.chunks[n+1]?0:-1;if(e.chunks[n+1])return 0;let o=a-(t.oldStart+t.oldLines-1),s=y(e.path,n,`down`);return Math.max(0,o-s)},[r,y]),S=(0,F.useCallback)((e,t,n)=>{let i=r[e.path];if(!i)return t;let a=y(e.path,n,`up`),o=y(e.path,n,`down`);if(a===0&&o===0)return t;let s=i.oldContent||[],c=i.newContent||[],l=[];if(a>0){let r=e.chunks[n-1],i;i=r?r.oldStart+r.oldLines-1:Math.max(0,t.oldStart-1-a);let o=t.oldStart-1,u=t.newStart-1,d=Math.min(a,o-i),f=o-d,p=u-d;for(let e=0;e<d;e++){let t=f+e+1,n=p+e+1,r=s[t-1]??c[n-1]??``;l.push({type:`normal`,content:r,oldLineNumber:t,newLineNumber:n,isExpanded:!0})}}if(l.push(...t.lines),o>0){let r=t.oldStart+t.oldLines-1,a=t.newStart+t.newLines-1,u=e.chunks[n+1],d=u?u.oldStart-1:i.oldTotalLines||r,f=Math.min(o,d-r);for(let e=0;e<f;e++){let t=r+e+1,n=a+e+1,i=s[t-1]??c[n-1]??``;l.push({type:`normal`,content:i,oldLineNumber:t,newLineNumber:n,isExpanded:!0})}}let u=l[0],d=l[l.length-1];return{...t,lines:l,oldStart:u?.oldLineNumber??t.oldStart,newStart:u?.newLineNumber??t.newStart,oldLines:(d?.oldLineNumber??t.oldStart+t.oldLines-1)-(u?.oldLineNumber??t.oldStart)+1,newLines:(d?.newLineNumber??t.newStart+t.newLines-1)-(u?.newLineNumber??t.newStart)+1}},[r,y]);return{expandedState:r,isLoading:a,lastUpdatedFilePath:s,lastUpdatedAt:l,expandLines:g,expandAllBetweenChunks:_,prefetchFileContent:v,getMergedChunks:(0,F.useCallback)(e=>{let t=[];for(let n=0;n<e.chunks.length;n++){let r=e.chunks[n];if(!r)continue;let i=S(e,r,n),a=b(e,r,n),o=x(e,r,n),s=t[t.length-1];if(s&&a===0){s.lines=[...s.lines,...i.lines],s.originalIndices.push(n),s.hiddenLinesAfter=o;let e=s.lines[s.lines.length-1];s.oldLines=(e?.oldLineNumber??s.oldStart+s.oldLines-1)-s.oldStart+1,s.newLines=(e?.newLineNumber??s.newStart+s.newLines-1)-s.newStart+1}else t.push({...i,originalIndices:[n],hiddenLinesBefore:a,hiddenLinesAfter:o})}return t},[S,b,x]),getHiddenLinesBefore:b,getHiddenLinesAfter:x}}var vS=function(e){return e.DEFAULT=`default`,e.WORKING=`working`,e.STAGED=`staged`,e.DOT=`dot`,e.SPECIFIC=`specific`,e}({});function yS(e){return e}function bS(e,t){let n=(0,F.useRef)(null),r=(0,F.useRef)(null),i=(0,F.useRef)(0),a=3e3,[o,s]=(0,F.useState)({isWatchEnabled:!1,diffMode:vS.DEFAULT,shouldReload:!1,isReloading:!1,lastChangeTime:null,lastChangeType:null,connectionStatus:`disconnected`}),[c,l]=(0,F.useState)(null),u=(0,F.useCallback)(()=>{if(!n.current)try{let e=new EventSource(yS(`/api/watch`));n.current=e,e.onopen=()=>{console.log(`Connected to file watch service`),s(e=>({...e,connectionStatus:`connected`})),i.current=0,l(null)},e.onmessage=e=>{try{let n=JSON.parse(e.data);switch(n.type){case`connected`:s(e=>({...e,isWatchEnabled:!0,diffMode:n.diffMode,connectionStatus:`connected`}));break;case`reload`:console.log(`File changes detected, showing reload button:`,n.changeType),s(e=>({...e,shouldReload:!0,lastChangeTime:new Date,lastChangeType:n.changeType}));break;case`error`:console.error(`File watch error:`,n.message),l(n.message||`File watch error occurred`);break;case`commentsChanged`:t&&t();break}}catch(e){console.error(`Error parsing watch event:`,e)}},e.onerror=()=>{console.log(`File watch connection lost`),s(e=>({...e,connectionStatus:`disconnected`})),n.current&&=(n.current.close(),null),i.current<5?(s(e=>({...e,connectionStatus:`reconnecting`})),i.current+=1,r.current=setTimeout(()=>{console.log(`Attempting to reconnect to file watch service (${i.current}/5)...`),u()},a)):(console.error(`Max reconnection attempts reached`),l(`Lost connection to file watch service`))}}catch(e){console.error(`Failed to connect to file watch service:`,e),l(`Failed to connect to file watch service`)}},[5,t,a]),d=(0,F.useCallback)(async()=>{if(!o.isReloading){s(e=>({...e,isReloading:!0}));try{e&&await e(),s(e=>({...e,shouldReload:!1,isReloading:!1,lastChangeTime:null,lastChangeType:null}))}catch(e){console.error(`Reload failed:`,e),l(`Failed to reload diff data`),s(e=>({...e,isReloading:!1}))}}},[e,o.isReloading]),f=()=>{n.current&&=(n.current.close(),null),r.current&&=(clearTimeout(r.current),null)};return(0,F.useEffect)(()=>(u(),f),[u]),(0,F.useEffect)(()=>f,[]),{shouldReload:o.shouldReload,isConnected:o.connectionStatus===`connected`,error:c,reload:d,watchState:o}}var xS={SCROLL_CONTAINER:`main.overflow-y-auto`};function SS(e,t){let n=`file-${e.fileIndex}-chunk-${e.chunkIndex}-line-${e.lineIndex}`;return t===`split`?`${n}-${e.side}`:n}function CS(e,t,n){return`${e}:${t}:${n??`any`}`}function wS(e,t){let n=t[e.fileIndex]?.chunks[e.chunkIndex]?.lines[e.lineIndex];return n&&(n.type===`add`||n.type===`delete`||n.type===`normal`)?n.type:null}function TS(e,t){let n=wS(e,t);return n?n===`normal`?!0:n===`delete`?e.side===`left`:n===`add`?e.side===`right`:!1:!1}function ES(e,t){return TS(e,t)?e:{...e,side:e.side===`left`?`right`:`left`}}var DS={VIEWPORT_OFFSET_RATIO:1/3};function OS(e,t,n){let r=[];return t.oldLineNumber!==void 0&&(r.push(CS(e,t.oldLineNumber,`old`)),r.push(CS(e,t.oldLineNumber))),t.newLineNumber!==void 0&&(r.push(CS(e,t.newLineNumber,`new`)),r.push(CS(e,t.newLineNumber))),r.some(e=>n.has(e))}function kS(e,t,n,r){return{line:t=>{let i=e[t.fileIndex];return!i||r?.has(i.path)?!1:n===`unified`||TS(t,e)},chunk:t=>{let n=e[t.fileIndex];if(!n||r?.has(n.path))return!1;let i=n.chunks[t.chunkIndex]?.lines[t.lineIndex];if(!i||i.type===`normal`)return!1;if(t.lineIndex===0)return!0;let a=n.chunks[t.chunkIndex]?.lines[t.lineIndex-1];return!a||a.type===`normal`},comment:n=>{let i=e[n.fileIndex];if(!i||r?.has(i.path))return!1;let a=i.chunks[n.chunkIndex]?.lines[n.lineIndex];return a?OS(i.path,a,t):!1},file:e=>e.chunkIndex===0&&e.lineIndex===0}}function AS(){return e=>{let t=document.getElementById(e);if(!t)return;let n=document.querySelector(xS.SCROLL_CONTAINER);if(!n)throw Error(`Scrollable container (${xS.SCROLL_CONTAINER}) not found`);let r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),a=n.clientHeight,o=n.scrollTop,s=Math.max(i.top,0),c=Math.min(i.bottom,window.innerHeight);if(!(r.top>=s&&r.bottom<=c)){let e=jS(t,n)-a*DS.VIEWPORT_OFFSET_RATIO;n.scrollTop=Math.max(0,e);return}let l=r.bottom>Math.min(i.bottom,window.innerHeight),u=t.offsetTop-n.offsetTop-a*DS.VIEWPORT_OFFSET_RATIO;l&&u>o&&(n.scrollTop=Math.max(0,u))}}function jS(e,t){let n=e,r=0;for(;n&&n!==t&&n.offsetParent;)r+=n.offsetTop,n=n.offsetParent;return n&&n!==t&&(r+=n.offsetTop),r}function MS(e){return e||{fileIndex:0,chunkIndex:0,lineIndex:-1,side:`right`}}function NS(e,t,n){return n&&e.fileIndex===t.fileIndex&&e.chunkIndex===t.chunkIndex&&e.lineIndex===t.lineIndex}function PS(e,t,n){let{fileIndex:r,chunkIndex:i,lineIndex:a}=e,o=n.length,s=0;if(t===`next`)for(a++;s<o;){if(n[r]?.chunks[i]?.lines[a])return{...e,fileIndex:r,chunkIndex:i,lineIndex:a};i++,a=0,n[r]?.chunks[i]||(r++,i=0,a=0,r>=o&&(r=0,s++))}else for(a--;s<o;){if(a<0)if(i--,i<0){r--,r<0&&(r=o-1,s++);let e=n[r];if(e&&e.chunks.length>0){i=e.chunks.length-1;let t=e.chunks[i];a=t&&t.lines.length>0?t.lines.length-1:-1}else i=-1,a=-1}else{let e=n[r]?.chunks[i];a=e&&e.lines.length>0?e.lines.length-1:-1}if(a>=0&&n[r]?.chunks[i]?.lines[a])return{...e,fileIndex:r,chunkIndex:i,lineIndex:a};a<0||a--}return null}function FS(e,t,n,r,i){let a=e,o=!1;for(;a;){let s=PS(a,t,r);if(!s||(a=s,NS(a,e,o)))break;if(o=!0,n(a,r)){let e=ES(a,r);return{position:e,scrollTarget:SS(e,i)}}}return{position:null,scrollTarget:null}}function IS({files:e,comments:t,viewMode:n=xt,reviewedFiles:r,onToggleReviewed:i,onCreateComment:a,onCopyAllComments:o,onDeleteAllComments:s,onShowCommentsList:c,onRefresh:l,getHoveredFileIndex:u}){let[d,f]=(0,F.useState)(null),[p,m]=(0,F.useState)(!1),h=(0,F.useRef)(null);(0,F.useEffect)(()=>{d&&(h.current=d)},[d]);let g=(0,F.useMemo)(()=>AS(),[]),_=(0,F.useMemo)(()=>{let e=new Map;return t.forEach(t=>{let n=Array.isArray(t.line)?t.line[0]:t.line,r=CS(t.file,n,t.side);e.has(r)||e.set(r,[]),e.get(r)?.push(t)}),e},[t]),v=(0,F.useMemo)(()=>kS(e,_,n,r),[e,_,n,r]),y=(0,F.useCallback)((t,r)=>e.length===0?{position:null,scrollTarget:null}:FS(MS(d??h.current),t,r,e,n),[d,e,n]),b=(0,F.useCallback)(e=>t=>{let n=y(t,e);n.position&&(f(n.position),n.scrollTarget&&g(n.scrollTarget))},[y,g]),x=(0,F.useMemo)(()=>b(v.line),[b,v.line]),S=(0,F.useMemo)(()=>b(v.chunk),[b,v.chunk]),C=(0,F.useMemo)(()=>b(v.file),[b,v.file]),w=(0,F.useMemo)(()=>b(v.comment),[b,v.comment]),T=(0,F.useCallback)(t=>{if(!d||n!==`split`)return;let r={...d,side:t},i=e[d.fileIndex]?.chunks[d.chunkIndex]?.lines[d.lineIndex];if(i){if(t===`left`&&i.type===`add`&&d.lineIndex>0){if(e[d.fileIndex]?.chunks[d.chunkIndex]?.lines[d.lineIndex-1]?.type===`delete`){r={...r,lineIndex:d.lineIndex-1},f(r),g(SS(r,n));return}}else if(t===`right`&&i.type===`delete`&&e[d.fileIndex]?.chunks[d.chunkIndex]?.lines[d.lineIndex+1]?.type===`add`){r={...r,lineIndex:d.lineIndex+1},f(r),g(SS(r,n));return}}if(!TS(r,e)){let t=e[d.fileIndex];if(!t)return;let n=t.chunks[d.chunkIndex];if(n){for(let t=d.lineIndex+1;t<n.lines.length;t++){let n={...r,lineIndex:t};if(TS(n,e)){r=n;break}}if(!TS(r,e))for(let t=d.lineIndex-1;t>=0;t--){let n={...r,lineIndex:t};if(TS(n,e)){r=n;break}}}if(!TS(r,e)){for(let n=d.chunkIndex+1;n<t.chunks.length;n++){let i=t.chunks[n];if(i){for(let t=0;t<i.lines.length;t++){let i={...r,chunkIndex:n,lineIndex:t};if(TS(i,e)){r=i;break}}if(TS(r,e))break}}if(!TS(r,e))for(let n=d.chunkIndex-1;n>=0;n--){let i=t.chunks[n];if(i){for(let t=i.lines.length-1;t>=0;t--){let i={...r,chunkIndex:n,lineIndex:t};if(TS(i,e)){r=i;break}}if(TS(r,e))break}}}}f(r),g(SS(r,n))},[d,n,g,e]),E=(0,F.useCallback)(()=>{let t=document.querySelector(xS.SCROLL_CONTAINER);if(!t)return;let r=t.getBoundingClientRect(),i=r.top+r.height/2,a=1/0,o=null;e.forEach((t,s)=>{t.chunks.forEach((t,c)=>{t.lines.forEach((t,l)=>{let u=n===`split`?[`left`,`right`]:[`right`];for(let t of u){let u={fileIndex:s,chunkIndex:c,lineIndex:l,side:t};if(n===`split`&&!TS(u,e))continue;let d=SS(u,n),f=document.getElementById(d);if(f){let e=f.getBoundingClientRect(),t=e.top+e.height/2,n=Math.abs(t-i);e.top<r.bottom&&e.bottom>r.top&&n<a&&(a=n,o=u)}}})})}),o&&f(o)},[e,n,f]),D=(0,F.useCallback)(t=>{if(!t){f(null);return}let r=ES(t,e);f(r),g(SS(r,n))},[e,n,g]),O={scopes:`navigation`,enableOnFormTags:!1,preventDefault:!0};B(`j, down`,()=>x(`next`),O,[x]),B(`k, up`,()=>x(`prev`),O,[x]),B(`n`,()=>S(`next`),O,[S]),B(`p`,()=>S(`prev`),O,[S]),B(`shift+n`,()=>w(`next`),O,[w]),B(`shift+p`,()=>w(`prev`),O,[w]),B(`]`,()=>C(`next`),{...O,useKey:!0},[C]),B(`[`,()=>C(`prev`),{...O,useKey:!0},[C]),B(`{`,()=>{e.length>0&&(f({fileIndex:0,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`}),g(SS({fileIndex:0,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`},n)))},{...O,useKey:!0},[e,n,g]),B(`}`,()=>{if(e.length>0){let t=e.length-1,r=e[t];r&&r.chunks.length>0&&(f({fileIndex:t,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`}),g(SS({fileIndex:t,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`},n)))}},{...O,useKey:!0},[e,n,g]),B(`h, left`,()=>T(`left`),{...O,enabled:n===`split`},[T,n]),B(`l, right`,()=>T(`right`),{...O,enabled:n===`split`},[T,n]);let k=(0,F.useCallback)(t=>{let i=e.length;for(let a=1;a<i;a++){let o=(t+a)%i,s=e[o];if(!s||!s.chunks[0]?.lines[0]||r.has(s.path))continue;let c=ES({fileIndex:o,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`},e);f(c),g(SS(c,n));return}},[e,r,n,g]),A=(0,F.useCallback)(t=>{let r=e[t];!r||!r.chunks[0]?.lines[0]||(h.current=ES({fileIndex:t,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`},e))},[e,n]);return B(`v`,()=>{let t=d?.fileIndex??u?.()??null;if(t!==null){let n=e[t];n&&i(n.path)}},O,[d,e,i,u]),B(`shift+v`,()=>{let t=d?.fileIndex??u?.()??h.current?.fileIndex??null;if(t===null)return;let n=e[t];n&&(r.has(n.path)||i(n.path),k(t))},O,[d,e,r,i,u,k]),B(`shift+r`,()=>{l&&l()},O,[l]),B(`c`,()=>{if(d&&a){let t=e[d.fileIndex]?.chunks[d.chunkIndex]?.lines[d.lineIndex];t&&t.type!==`delete`&&a()}},O,[d,e,a]),B(`?`,()=>m(!p),{...O,useKey:!0},[p]),B(`.`,e=>{e.ctrlKey||e.altKey||e.shiftKey||e.metaKey||(E(),e.preventDefault())},{...O,useKey:!0,preventDefault:!1},[E]),B(`shift+c`,()=>{o&&o()},{...O,scopes:[`navigation`,`comments-list`]},[o]),B(`shift+d`,()=>{s&&s()},{...O,scopes:[`navigation`,`comments-list`]},[s]),B(`shift+l`,()=>{c&&c()},O,[c]),{cursor:d,isHelpOpen:p,setIsHelpOpen:m,setCursorPosition:D,rememberFilePosition:A}}var LS=new Map,RS=0;function zS(e){return LS.has(e)||LS.set(e,`file-${++RS}`),LS.get(e)??``}var BS=8,VS=`1200px 0px`,HS=60,US=180;function WS({diffData:e,diffScrollContainerRef:t,setDiffData:n}){let[r,i]=(0,F.useState)(new Set),a=(0,F.useRef)(new Set),o=(0,F.useRef)(null),s=(0,F.useRef)(new Map),c=(0,F.useRef)(new Set),l=(0,F.useRef)(null),u=(0,F.useRef)(0);(0,F.useEffect)(()=>{if(!e){let e=new Set;a.current=e,i(e),c.current.clear(),l.current=null;return}let t=`${e.requestedBaseCommitish??``}:${e.requestedTargetCommitish??``}:${e.requestedBaseMode??`direct`}`;if(l.current===t)return;l.current=t;let n=e.files.slice(0,BS).map(e=>e.path),r=new Set(n);a.current=r,i(r),c.current.clear()},[e]);let d=(0,F.useCallback)(e=>{let t=s.current.get(e);t&&o.current&&o.current.unobserve(t),i(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),a.current=n,n})},[]),f=(0,F.useCallback)((e,t)=>{let n=o.current,r=s.current.get(e);if(r&&n&&n.unobserve(r),!t){s.current.delete(e);return}s.current.set(e,t),!(a.current.has(e)||!n)&&n.observe(t)},[]);(0,F.useEffect)(()=>{if(o.current&&o.current.disconnect(),!e){o.current=null;return}let n=new IntersectionObserver(e=>{i(t=>{let r=!1,i=new Set(t);return e.forEach(e=>{if(!e.isIntersecting)return;let t=e.target.dataset.filePath;!t||i.has(t)||(i.add(t),n.unobserve(e.target),r=!0)}),r&&(a.current=i),r?i:t})},{root:t.current,rootMargin:VS});return o.current=n,s.current.forEach((e,t)=>{a.current.has(t)||n.observe(e)}),()=>{n.disconnect(),o.current=null}},[e,t]);let p=(0,F.useCallback)(t=>{if(!e)return;let n=e.files.findIndex(e=>e.path===t);if(n<0)return;let r=o.current;i(t=>{let i=!1,o=new Set(t);for(let t=0;t<=n;t++){let n=e.files[t]?.path;if(n&&!o.has(n)){o.add(n),i=!0;let e=s.current.get(n);e&&r&&r.unobserve(e)}}return i&&(a.current=o),i?o:t})},[e]),m=(0,F.useCallback)(e=>{let n=t.current,r=document.getElementById(zS(e));if(!n||!r)return!1;let i=n.getBoundingClientRect();return r.getBoundingClientRect().top<i.top-1},[t]),h=(0,F.useCallback)(n=>{p(n);let r=e?.files.findIndex(e=>e.path===n)??-1,i=e&&r>=0?e.files.slice(0,r+1).map(e=>zS(e.path)):[zS(n)],a=u.current+1;u.current=a;let o=()=>{for(let e of i){let t=document.getElementById(e);if(!t||t.dataset.rendered!==`true`)return!1}return!0},s=()=>{let e=t.current,r=document.getElementById(zS(n));if(!e||!r)return!1;let i=e.getBoundingClientRect(),a=r.getBoundingClientRect(),o=e.scrollTop+(a.top-i.top);return e.scrollTo({top:Math.max(0,o)}),!0},c=0,l=()=>{requestAnimationFrame(()=>{if(u.current===a){if(!o()){c<HS&&(c++,l());return}if(!s()){c<HS&&(c++,l());return}window.setTimeout(()=>{u.current===a&&s()},US)}})};l()},[e,t,p]);return(0,F.useEffect)(()=>{if(!e||e.targetCommitish===`stdin`)return;let t=e.targetCommitish||`HEAD`,i=`${e.requestedBaseCommitish??``}...${e.requestedTargetCommitish??``}:${e.requestedBaseMode??`direct`}`;e.files.forEach(a=>{if(!r.has(a.path)||a.isGenerated!==!1||a.status===`deleted`)return;let o=`${i}:${t}:${a.path}`;if(c.current.has(o))return;c.current.add(o);let s=encodeURIComponent(a.path);fetch(`/api/generated-status/${s}?ref=${encodeURIComponent(t)}`).then(e=>e.ok?e.json():null).then(t=>{!t||t.isGenerated!==!0||n(t=>{if(!t||t.requestedBaseCommitish!==e.requestedBaseCommitish||t.requestedTargetCommitish!==e.requestedTargetCommitish||t.requestedBaseMode!==e.requestedBaseMode)return t;let n=!1,r=t.files.map(e=>e.path!==a.path||e.isGenerated?e:(n=!0,{...e,isGenerated:!0}));return n?{...t,files:r}:t})}).catch(()=>{})})},[e,r,n]),{renderedFilePaths:r,ensureFileRendered:d,ensureFilesRenderedUpTo:p,registerLazyFileContainer:f,scrollFileIntoDiffContainer:h,isFileScrolledPastContainerTop:m}}function GS(e,t,n,r,i,a,o=[],s){let[c,l]=(0,F.useState)([]),[u,d]=(0,F.useState)(null),[f,p]=(0,F.useState)(new Map),[m,h]=(0,F.useState)(new Set),g=e&&t?`${a??`default`}:${Zt({baseCommitish:e,targetCommitish:t,baseMode:s})}:${n??`no-commit`}`:null,_=g!==null&&u===g;(0,F.useEffect)(()=>{if(!e||!t||!g)return;let c=!1,u=sS.getViewedFiles(e,t,n,r,a,s);return(async()=>{let f=[];if(i&&i.length>0){let e=new Set(u.map(e=>e.filePath)),t=new Map;await Promise.all(i.map(async e=>{try{let n=await cS(uS(e));t.set(e.path,n)}catch(t){console.error(`Failed to generate hash for file:`,e.path,t)}}));for(let n of i){if(e.has(n.path)||!(n.isGenerated||n.status===`deleted`||jx(n.path,o)))continue;let r=t.get(n.path);r&&(f.push({filePath:n.path,viewedAt:new Date().toISOString(),diffContentHash:r}),e.add(n.path))}let n=sS.getViewedHashIndex(a),r=new Map,s=new Set;for(let e of n.entries)e.hashVersion===1&&(r.set(`${e.filePath} ${e.diffContentHash}`,e),s.add(e.filePath));for(let n of i){if(e.has(n.path))continue;let i=t.get(n.path);if(!i)continue;let a=r.get(`${n.path} ${i}`);a&&(f.push({filePath:n.path,viewedAt:a.viewedAt,diffContentHash:i}),e.add(n.path))}let l=new Set;for(let n of i){if(!s.has(n.path)||e.has(n.path))continue;let i=t.get(n.path);i&&(r.has(`${n.path} ${i}`)||l.add(n.path))}c||h(l)}else c||h(new Set);if(f.length>0){let i=[...u,...f];sS.saveViewedFiles(e,t,i,n,r,a,s),c||(l(i),d(g));return}c||(l(u),d(g))})(),()=>{c=!0}},[e,t,n,r,a,g,s]);let v=(0,F.useCallback)(i=>{!e||!t||(sS.saveViewedFiles(e,t,i,n,r,a,s),l(i))},[e,t,n,r,a,s]),y=(0,F.useMemo)(()=>new Set(c.map(e=>e.filePath)),[c]),b=(0,F.useCallback)(e=>c.find(t=>t.filePath===e),[c]),x=(0,F.useCallback)(async e=>{let t=f.get(e.path);if(t)return t;let n=await cS(uS(e));return p(t=>new Map(t).set(e.path,n)),n},[f]),S=(0,F.useCallback)(async(e,t)=>{let n=b(e);if(!n)return!1;let r=await x(t);return n.diffContentHash!==r},[b,x]);return{viewedFiles:y,changedSinceViewedFiles:m,hasLoadedInitialViewedFiles:_,toggleFileViewed:(0,F.useCallback)(async(e,t)=>{let n=b(e);if(n)v(c.filter(t=>t.filePath!==e)),sS.removeViewedHashes(a,[{filePath:e,diffContentHash:n.diffContentHash}]);else{let n=await x(t),r=new Date().toISOString(),i={filePath:e,viewedAt:r,diffContentHash:n};v([...c,i]);let o={filePath:e,diffContentHash:n,hashVersion:1,viewedAt:r};sS.recordViewedHashes(a,[o])}},[c,b,x,v,a]),setFilesViewed:(0,F.useCallback)(async(e,t)=>{if(t){let t=e.filter(e=>!b(e.path));if(t.length===0)return;let n=new Date().toISOString(),r=await Promise.all(t.map(async e=>({filePath:e.path,viewedAt:n,diffContentHash:await x(e)})));v([...c,...r]),sS.recordViewedHashes(a,r.map(e=>({filePath:e.filePath,diffContentHash:e.diffContentHash,hashVersion:1,viewedAt:e.viewedAt})))}else{let t=new Set(e.map(e=>e.path)),n=c.filter(e=>t.has(e.filePath));if(n.length===0)return;v(c.filter(e=>!t.has(e.filePath))),sS.removeViewedHashes(a,n.map(e=>({filePath:e.filePath,diffContentHash:e.diffContentHash})))}},[c,b,x,v,a]),isFileContentChanged:S,getViewedFileRecord:b,clearViewedFiles:(0,F.useCallback)(()=>{v([]),p(new Map),h(new Set),sS.clearViewedHashIndex(a)},[v,a])}}var KS={mobileMax:767,desktopMin:1024},qS={mobile:`(max-width: ${KS.mobileMax}px)`,desktop:`(min-width: ${KS.desktopMin}px)`},JS=()=>typeof window>`u`?{isMobile:!1,isDesktop:!0}:{isMobile:window.matchMedia(qS.mobile).matches,isDesktop:window.matchMedia(qS.desktop).matches};function YS(){let[e,t]=(0,F.useState)(()=>JS());return(0,F.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(qS.mobile),n=window.matchMedia(qS.desktop),r=()=>{t({isMobile:e.matches,isDesktop:n.matches})};return r(),e.addEventListener(`change`,r),n.addEventListener(`change`,r),()=>{e.removeEventListener(`change`,r),n.removeEventListener(`change`,r)}},[]),e}function XS(e){let t=new Set;return e.forEach(e=>{let n=e.author?.trim();n&&t.add(n)}),[...t]}function ZS(e){return XS(e).length>=2}function QS(e,t,n,r){for(let i=0;i<e.chunks.length;i++){let a=e.chunks[i];if(a)for(let e=0;e<a.lines.length;e++){let o=a.lines[e];if(o&&(r===`old`?o.oldLineNumber:r===`new`?o.newLineNumber:o.newLineNumber??o.oldLineNumber)===n)return{fileIndex:t,chunkIndex:i,lineIndex:e,side:r===`old`?`left`:r===`new`||o.newLineNumber?`right`:`left`}}}return null}function $S(e,t){let n=t.findIndex(t=>t.path===e.file);if(n===-1)return null;let r=t[n];if(!r)return null;let i=Array.isArray(e.line)?e.line[1]:e.line,a=e.side;return QS(r,n,i,a)||QS(r,n,i,`new`)||QS(r,n,i,`old`)}var eC={diffVersion:null,byFile:new Map};function tC(e,t,n,r){let i=new Map;return t.forEach(e=>{let t=n.get(e);t&&i.set(e,r(t))}),{diffVersion:e,byFile:i}}function nC(e,t,n){if(e.diffVersion===t)return e.byFile.get(n)}function rC(e){return e.replace(/[ \t]+$/,``)}function iC(e){return e.replace(/\r\n/g,`
|
|
80
|
+
`);return`${e.path}\n${e.status}\n${t}`}function fS(e){return{id:e.id,file:e.filePath,line:typeof e.position.line==`number`?e.position.line:[e.position.line.start,e.position.line.end],side:e.position.side,createdAt:e.createdAt,updatedAt:e.updatedAt,codeContent:e.codeSnapshot?.content,messages:e.messages}}function pS(e){let t=e.messages[0];return t?{id:e.id,filePath:e.filePath,body:t.body,author:t.author,createdAt:t.createdAt,updatedAt:t.updatedAt,position:e.position,codeSnapshot:e.codeSnapshot}:null}function mS(e,t,n,r,i,a){let[o,s]=(0,F.useState)([]),[c,l]=(0,F.useState)(!1),u=(0,F.useCallback)(()=>!e||!t?null:cS.getDiffContextData(e,t,n,r,i,a),[e,t,n,r,i,a]),d=(0,F.useCallback)(()=>{if(!e||!t)return null;let n=new Date().toISOString();return{version:2,baseCommitish:e,targetCommitish:t,baseMode:a,createdAt:n,lastModifiedAt:n,threads:[],viewedFiles:[],appliedCommentImportIds:[]}},[e,t,a]);(0,F.useEffect)(()=>{if(!e||!t){s([]),l(!1);return}s(u()?.threads||cS.getCommentThreads(e,t,n,r,i,a)),l(!0)},[e,t,n,r,i,a,u]);let f=(0,F.useCallback)(o=>{!e||!t||(cS.saveCommentThreads(e,t,o,n,r,i,a),s(o),l(!0))},[e,t,n,r,i,a]),p=(0,F.useCallback)(e=>{f(e)},[f]),m=(0,F.useCallback)(e=>{let t=new Date().toISOString(),n=Tt(),r={id:n,filePath:e.filePath,createdAt:t,updatedAt:t,position:{side:e.side,line:e.line},codeSnapshot:e.codeSnapshot||{content:``,language:_p(e.filePath)},messages:[{id:n,body:e.body,author:`User`,createdAt:t,updatedAt:t}]};return f([...o,r]),r},[f,o]),h=(0,F.useCallback)(e=>{let t=pS(m(e));if(!t)throw Error(`Failed to create root comment`);return t},[m]),g=(0,F.useCallback)(({threadId:e,body:t})=>{let n=new Date().toISOString();f(o.map(r=>r.id===e?{...r,updatedAt:n,messages:[...r.messages,{id:Tt(),body:t,author:`User`,createdAt:n,updatedAt:n}]}:r))},[f,o]),_=(0,F.useCallback)(e=>{f(o.filter(t=>t.id!==e))},[f,o]),v=(0,F.useCallback)(e=>{_(e)},[_]),y=(0,F.useCallback)((e,t)=>{let n=o.find(t=>t.id===e);if(!n)return;let r=n.messages.findIndex(e=>e.id===t);if(r<0)return;if(r===0){_(e);return}let i=new Date().toISOString();f(o.map(n=>n.id===e?{...n,updatedAt:i,messages:n.messages.filter(e=>e.id!==t)}:n))},[_,f,o]),b=(0,F.useCallback)((e,t,n)=>{let r=new Date().toISOString();f(o.map(i=>i.id===e?{...i,updatedAt:r,messages:i.messages.map(e=>e.id===t?{...e,body:n,updatedAt:r}:e)}:i))},[f,o]),x=(0,F.useCallback)((e,t)=>{b(e,e,t)},[b]),S=(0,F.useCallback)(()=>{f([])},[f]),C=(0,F.useCallback)(o=>{if(!o?.resetAppliedCommentImportIds){S();return}let c=u()||d();if(!c||!e||!t)return;let l={...c,threads:[],appliedCommentImportIds:[]};cS.saveDiffContextData(e,t,l,n,r,i,a),s([])},[e,t,r,S,d,n,u,i,a]),w=(0,F.useCallback)((o,c)=>{if(!e||!t||o.length===0||c.length===0)return[];let l=u()||d();if(!l)return[];if(l.appliedCommentImportIds.includes(c))return s(l.threads),[];let f=qt(l.threads,o),p={...l,threads:f.threads,appliedCommentImportIds:[...l.appliedCommentImportIds,c]};return cS.saveDiffContextData(e,t,p,n,r,i,a),s(f.threads),f.warnings},[e,t,r,d,n,u,i,a]),T=(0,F.useCallback)(e=>{let t=o.find(t=>t.id===e);return t?$x(fS(t)):``},[o]),E=(0,F.useCallback)(e=>T(e),[T]),D=(0,F.useCallback)(()=>eS(o.map(fS)),[o]);return{hasLoadedComments:c,comments:o.map(e=>pS(e)).filter(e=>e!==null),threads:o,replaceThreads:p,addComment:h,addThread:m,removeComment:v,replyToThread:g,removeThread:_,updateComment:x,removeMessage:y,updateMessage:b,clearAllComments:C,applyCommentImports:w,generatePrompt:E,generateThreadPrompt:T,generateAllCommentsPrompt:D}}var hS=20;async function gS(e,t){let n=await fetch(`/api/blob/${encodeURIComponent(e)}?ref=${encodeURIComponent(t)}`);if(!n.ok)throw Error(`Failed to fetch file content: ${n.statusText}`);let r=(await n.text()).split(`
|
|
81
|
+
`);return r.length>0&&r[r.length-1]===``&&r.pop(),{lines:r,totalLines:r.length}}async function _S(e,t,n,r){let i=encodeURIComponent(e),a=new URLSearchParams;t&&a.set(`oldRef`,t),n&&a.set(`newRef`,n),r&&r!==e&&a.set(`oldPath`,r);let o=await fetch(`/api/line-count/${i}?${a}`);if(!o.ok)throw Error(`Failed to fetch line count: ${o.statusText}`);return o.json()}function vS({baseCommitish:e,targetCommitish:t,diffIdentity:n}){let r=e===`stdin`||t===`stdin`,[i,a]=(0,F.useState)({}),[o,s]=(0,F.useState)(!1),[c,l]=(0,F.useState)(null),[u,d]=(0,F.useState)(0),f=(0,F.useRef)(new Map),p=(0,F.useRef)({});p.current=i;let m=(0,F.useRef)(0);(0,F.useEffect)(()=>{m.current+=1,f.current.clear(),p.current={},a({}),s(!1),l(null),d(0)},[e,t,n]);let h=(0,F.useCallback)(async n=>{if(r)return null;let i=m.current,a=`${i}:${n.path}`,o=f.current.get(a);if(o)return o;let s=(async()=>{let r=p.current[n.path];if(r?.oldContent&&r?.newContent)return r;let a={...r,expandedRanges:r?.expandedRanges||[]};if(n.status!==`added`&&e){let t=n.oldPath||n.path;try{let{lines:n,totalLines:r}=await gS(t,e);if(m.current!==i)return null;a.oldContent=n,a.oldTotalLines=r}catch(e){console.error(`Failed to fetch old file content:`,e),a.oldContent=[],a.oldTotalLines=0}}if(n.status!==`deleted`&&t)try{let{lines:e,totalLines:r}=await gS(n.path,t);if(m.current!==i)return null;a.newContent=e,a.newTotalLines=r}catch(e){console.error(`Failed to fetch new file content:`,e),a.newContent=[],a.newTotalLines=0}return a})();f.current.set(a,s);try{return await s}finally{f.current.delete(a)}},[e,t,r]),g=(0,F.useCallback)(e=>{l(e),d(e=>e+1)},[]),_=(0,F.useCallback)(async(e,t,n,r=hS)=>{let i=m.current;s(!0);try{let o=await h(e);if(!o||m.current!==i)return;a(i=>{let a=i[e.path],s=a?.expandedRanges||o.expandedRanges||[],c=s.findIndex(e=>e.chunkIndex===t&&e.direction===n),l=[...s];if(c>=0&&l[c]){let e=l[c];l[c]={chunkIndex:e.chunkIndex,direction:e.direction,count:e.count+r}}else l.push({chunkIndex:t,direction:n,count:r});return{...i,[e.path]:{oldContent:a?.oldContent??o.oldContent,newContent:a?.newContent??o.newContent,oldTotalLines:a?.oldTotalLines??o.oldTotalLines,newTotalLines:a?.newTotalLines??o.newTotalLines,expandedRanges:l}}}),g(e.path)}finally{s(!1)}},[h,g]),v=(0,F.useCallback)(async(e,t,n)=>{let r=m.current;s(!0);try{let i=await h(e);if(!i||m.current!==r)return;a(r=>{let a=r[e.path],o=[...a?.expandedRanges||i.expandedRanges||[]],s=o.findIndex(e=>e.chunkIndex===t&&e.direction===`up`),c=o.findIndex(e=>e.chunkIndex===t-1&&e.direction===`down`),l=0,u=0;s>=0&&o[s]&&(l=o[s].count),c>=0&&o[c]&&(u=o[c].count);let d=l+u+n,f=o.filter(e=>!(e.chunkIndex===t-1&&e.direction===`down`)),p=f.findIndex(e=>e.chunkIndex===t&&e.direction===`up`);return p>=0&&f[p]?f[p]={chunkIndex:t,direction:`up`,count:d}:f.push({chunkIndex:t,direction:`up`,count:d}),{...r,[e.path]:{oldContent:a?.oldContent??i.oldContent,newContent:a?.newContent??i.newContent,oldTotalLines:a?.oldTotalLines??i.oldTotalLines,newTotalLines:a?.newTotalLines??i.newTotalLines,expandedRanges:f}}}),g(e.path)}finally{s(!1)}},[h,g]),y=(0,F.useCallback)(async n=>{if(r)return;let i=m.current,o=p.current[n.path];if(o?.oldTotalLines!==void 0||o?.newTotalLines!==void 0)return;let s=n.status===`added`?void 0:e,c=n.status===`deleted`?void 0:t;if(!(!s&&!c))try{let{oldLineCount:e,newLineCount:t}=await _S(n.path,s,c,n.oldPath);if(m.current!==i)return;a(r=>{let i=r[n.path];return i?.oldTotalLines!==void 0||i?.newTotalLines!==void 0?r:{...r,[n.path]:{...i,expandedRanges:i?.expandedRanges||[],oldTotalLines:e,newTotalLines:t}}}),g(n.path)}catch(e){console.error(`Failed to prefetch line count:`,e)}},[e,t,r,g]),b=(0,F.useCallback)((e,t,n)=>{let r=i[e];return r&&r.expandedRanges.find(e=>e.chunkIndex===t&&e.direction===n)?.count||0},[i]),x=(0,F.useCallback)((e,t,n)=>{if(e.status===`added`||e.status===`deleted`)return 0;let r=e.chunks[n-1],i;if(!r)i=t.oldStart-1;else{let e=r.oldStart+r.oldLines;i=t.oldStart-e}let a=b(e.path,n,`up`),o=n>0?b(e.path,n-1,`down`):0;return Math.max(0,i-a-o)},[b]),S=(0,F.useCallback)((e,t,n)=>{if(e.status===`added`||e.status===`deleted`)return 0;let r=i[e.path],a=r?.oldTotalLines||r?.newTotalLines;if(a===void 0)return e.chunks[n+1]?0:-1;if(e.chunks[n+1])return 0;let o=a-(t.oldStart+t.oldLines-1),s=b(e.path,n,`down`);return Math.max(0,o-s)},[i,b]),C=(0,F.useCallback)((e,t,n)=>{let r=i[e.path];if(!r)return t;let a=b(e.path,n,`up`),o=b(e.path,n,`down`);if(a===0&&o===0)return t;let s=r.oldContent||[],c=r.newContent||[],l=[];if(a>0){let r=e.chunks[n-1],i;i=r?r.oldStart+r.oldLines-1:Math.max(0,t.oldStart-1-a);let o=t.oldStart-1,u=t.newStart-1,d=Math.min(a,o-i),f=o-d,p=u-d;for(let e=0;e<d;e++){let t=f+e+1,n=p+e+1,r=s[t-1]??c[n-1]??``;l.push({type:`normal`,content:r,oldLineNumber:t,newLineNumber:n,isExpanded:!0})}}if(l.push(...t.lines),o>0){let i=t.oldStart+t.oldLines-1,a=t.newStart+t.newLines-1,u=e.chunks[n+1],d=u?u.oldStart-1:r.oldTotalLines||i,f=Math.min(o,d-i);for(let e=0;e<f;e++){let t=i+e+1,n=a+e+1,r=s[t-1]??c[n-1]??``;l.push({type:`normal`,content:r,oldLineNumber:t,newLineNumber:n,isExpanded:!0})}}let u=l[0],d=l[l.length-1];return{...t,lines:l,oldStart:u?.oldLineNumber??t.oldStart,newStart:u?.newLineNumber??t.newStart,oldLines:(d?.oldLineNumber??t.oldStart+t.oldLines-1)-(u?.oldLineNumber??t.oldStart)+1,newLines:(d?.newLineNumber??t.newStart+t.newLines-1)-(u?.newLineNumber??t.newStart)+1}},[i,b]);return{expandedState:i,isLoading:o,lastUpdatedFilePath:c,lastUpdatedAt:u,expandLines:_,expandAllBetweenChunks:v,prefetchFileContent:y,getMergedChunks:(0,F.useCallback)(e=>{let t=[];for(let n=0;n<e.chunks.length;n++){let r=e.chunks[n];if(!r)continue;let i=C(e,r,n),a=x(e,r,n),o=S(e,r,n),s=t[t.length-1];if(s&&a===0){s.lines=[...s.lines,...i.lines],s.originalIndices.push(n),s.hiddenLinesAfter=o;let e=s.lines[s.lines.length-1];s.oldLines=(e?.oldLineNumber??s.oldStart+s.oldLines-1)-s.oldStart+1,s.newLines=(e?.newLineNumber??s.newStart+s.newLines-1)-s.newStart+1}else t.push({...i,originalIndices:[n],hiddenLinesBefore:a,hiddenLinesAfter:o})}return t},[C,x,S]),getHiddenLinesBefore:x,getHiddenLinesAfter:S}}var yS=function(e){return e.DEFAULT=`default`,e.WORKING=`working`,e.STAGED=`staged`,e.DOT=`dot`,e.SPECIFIC=`specific`,e}({});function bS(e){return e}function xS(e,t){let n=(0,F.useRef)(null),r=(0,F.useRef)(null),i=(0,F.useRef)(0),a=3e3,[o,s]=(0,F.useState)({isWatchEnabled:!1,diffMode:yS.DEFAULT,shouldReload:!1,isReloading:!1,lastChangeTime:null,lastChangeType:null,connectionStatus:`disconnected`}),[c,l]=(0,F.useState)(null),u=(0,F.useCallback)(()=>{if(!n.current)try{let e=new EventSource(bS(`/api/watch`));n.current=e,e.onopen=()=>{console.log(`Connected to file watch service`),s(e=>({...e,connectionStatus:`connected`})),i.current=0,l(null)},e.onmessage=e=>{try{let n=JSON.parse(e.data);switch(n.type){case`connected`:s(e=>({...e,isWatchEnabled:!0,diffMode:n.diffMode,connectionStatus:`connected`}));break;case`reload`:console.log(`File changes detected, showing reload button:`,n.changeType),s(e=>({...e,shouldReload:!0,lastChangeTime:new Date,lastChangeType:n.changeType}));break;case`error`:console.error(`File watch error:`,n.message),l(n.message||`File watch error occurred`);break;case`commentsChanged`:t&&t();break}}catch(e){console.error(`Error parsing watch event:`,e)}},e.onerror=()=>{console.log(`File watch connection lost`),s(e=>({...e,connectionStatus:`disconnected`})),n.current&&=(n.current.close(),null),i.current<5?(s(e=>({...e,connectionStatus:`reconnecting`})),i.current+=1,r.current=setTimeout(()=>{console.log(`Attempting to reconnect to file watch service (${i.current}/5)...`),u()},a)):(console.error(`Max reconnection attempts reached`),l(`Lost connection to file watch service`))}}catch(e){console.error(`Failed to connect to file watch service:`,e),l(`Failed to connect to file watch service`)}},[5,t,a]),d=(0,F.useCallback)(async()=>{if(!o.isReloading){s(e=>({...e,isReloading:!0}));try{e&&await e(),s(e=>({...e,shouldReload:!1,isReloading:!1,lastChangeTime:null,lastChangeType:null}))}catch(e){console.error(`Reload failed:`,e),l(`Failed to reload diff data`),s(e=>({...e,isReloading:!1}))}}},[e,o.isReloading]),f=()=>{n.current&&=(n.current.close(),null),r.current&&=(clearTimeout(r.current),null)};return(0,F.useEffect)(()=>(u(),f),[u]),(0,F.useEffect)(()=>f,[]),{shouldReload:o.shouldReload,isConnected:o.connectionStatus===`connected`,error:c,reload:d,watchState:o}}var SS={SCROLL_CONTAINER:`main.overflow-y-auto`};function CS(e,t){let n=`file-${e.fileIndex}-chunk-${e.chunkIndex}-line-${e.lineIndex}`;return t===`split`?`${n}-${e.side}`:n}function wS(e,t,n){return`${e}:${t}:${n??`any`}`}function TS(e,t){let n=t[e.fileIndex]?.chunks[e.chunkIndex]?.lines[e.lineIndex];return n&&(n.type===`add`||n.type===`delete`||n.type===`normal`)?n.type:null}function ES(e,t){let n=TS(e,t);return n?n===`normal`?!0:n===`delete`?e.side===`left`:n===`add`?e.side===`right`:!1:!1}function DS(e,t){return ES(e,t)?e:{...e,side:e.side===`left`?`right`:`left`}}var OS={VIEWPORT_OFFSET_RATIO:1/3};function kS(e,t,n){let r=[];return t.oldLineNumber!==void 0&&(r.push(wS(e,t.oldLineNumber,`old`)),r.push(wS(e,t.oldLineNumber))),t.newLineNumber!==void 0&&(r.push(wS(e,t.newLineNumber,`new`)),r.push(wS(e,t.newLineNumber))),r.some(e=>n.has(e))}function AS(e,t,n,r){return{line:t=>{let i=e[t.fileIndex];return!i||r?.has(i.path)?!1:n===`unified`||ES(t,e)},chunk:t=>{let n=e[t.fileIndex];if(!n||r?.has(n.path))return!1;let i=n.chunks[t.chunkIndex]?.lines[t.lineIndex];if(!i||i.type===`normal`)return!1;if(t.lineIndex===0)return!0;let a=n.chunks[t.chunkIndex]?.lines[t.lineIndex-1];return!a||a.type===`normal`},comment:n=>{let i=e[n.fileIndex];if(!i||r?.has(i.path))return!1;let a=i.chunks[n.chunkIndex]?.lines[n.lineIndex];return a?kS(i.path,a,t):!1},file:e=>e.chunkIndex===0&&e.lineIndex===0}}function jS(){return e=>{let t=document.getElementById(e);if(!t)return;let n=document.querySelector(SS.SCROLL_CONTAINER);if(!n)throw Error(`Scrollable container (${SS.SCROLL_CONTAINER}) not found`);let r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),a=n.clientHeight,o=n.scrollTop,s=Math.max(i.top,0),c=Math.min(i.bottom,window.innerHeight);if(!(r.top>=s&&r.bottom<=c)){let e=MS(t,n)-a*OS.VIEWPORT_OFFSET_RATIO;n.scrollTop=Math.max(0,e);return}let l=r.bottom>Math.min(i.bottom,window.innerHeight),u=t.offsetTop-n.offsetTop-a*OS.VIEWPORT_OFFSET_RATIO;l&&u>o&&(n.scrollTop=Math.max(0,u))}}function MS(e,t){let n=e,r=0;for(;n&&n!==t&&n.offsetParent;)r+=n.offsetTop,n=n.offsetParent;return n&&n!==t&&(r+=n.offsetTop),r}function NS(e){return e||{fileIndex:0,chunkIndex:0,lineIndex:-1,side:`right`}}function PS(e,t,n){return n&&e.fileIndex===t.fileIndex&&e.chunkIndex===t.chunkIndex&&e.lineIndex===t.lineIndex}function FS(e,t,n){let{fileIndex:r,chunkIndex:i,lineIndex:a}=e,o=n.length,s=0;if(t===`next`)for(a++;s<o;){if(n[r]?.chunks[i]?.lines[a])return{...e,fileIndex:r,chunkIndex:i,lineIndex:a};i++,a=0,n[r]?.chunks[i]||(r++,i=0,a=0,r>=o&&(r=0,s++))}else for(a--;s<o;){if(a<0)if(i--,i<0){r--,r<0&&(r=o-1,s++);let e=n[r];if(e&&e.chunks.length>0){i=e.chunks.length-1;let t=e.chunks[i];a=t&&t.lines.length>0?t.lines.length-1:-1}else i=-1,a=-1}else{let e=n[r]?.chunks[i];a=e&&e.lines.length>0?e.lines.length-1:-1}if(a>=0&&n[r]?.chunks[i]?.lines[a])return{...e,fileIndex:r,chunkIndex:i,lineIndex:a};a<0||a--}return null}function IS(e,t,n,r,i){let a=e,o=!1;for(;a;){let s=FS(a,t,r);if(!s||(a=s,PS(a,e,o)))break;if(o=!0,n(a,r)){let e=DS(a,r);return{position:e,scrollTarget:CS(e,i)}}}return{position:null,scrollTarget:null}}function LS({files:e,comments:t,viewMode:n=xt,reviewedFiles:r,onToggleReviewed:i,onCreateComment:a,onCopyAllComments:o,onDeleteAllComments:s,onShowCommentsList:c,onRefresh:l,getHoveredFileIndex:u}){let[d,f]=(0,F.useState)(null),[p,m]=(0,F.useState)(!1),h=(0,F.useRef)(null);(0,F.useEffect)(()=>{d&&(h.current=d)},[d]);let g=(0,F.useMemo)(()=>jS(),[]),_=(0,F.useMemo)(()=>{let e=new Map;return t.forEach(t=>{let n=Array.isArray(t.line)?t.line[0]:t.line,r=wS(t.file,n,t.side);e.has(r)||e.set(r,[]),e.get(r)?.push(t)}),e},[t]),v=(0,F.useMemo)(()=>AS(e,_,n,r),[e,_,n,r]),y=(0,F.useCallback)((t,r)=>e.length===0?{position:null,scrollTarget:null}:IS(NS(d??h.current),t,r,e,n),[d,e,n]),b=(0,F.useCallback)(e=>t=>{let n=y(t,e);n.position&&(f(n.position),n.scrollTarget&&g(n.scrollTarget))},[y,g]),x=(0,F.useMemo)(()=>b(v.line),[b,v.line]),S=(0,F.useMemo)(()=>b(v.chunk),[b,v.chunk]),C=(0,F.useMemo)(()=>b(v.file),[b,v.file]),w=(0,F.useMemo)(()=>b(v.comment),[b,v.comment]),T=(0,F.useCallback)(t=>{if(!d||n!==`split`)return;let r={...d,side:t},i=e[d.fileIndex]?.chunks[d.chunkIndex]?.lines[d.lineIndex];if(i){if(t===`left`&&i.type===`add`&&d.lineIndex>0){if(e[d.fileIndex]?.chunks[d.chunkIndex]?.lines[d.lineIndex-1]?.type===`delete`){r={...r,lineIndex:d.lineIndex-1},f(r),g(CS(r,n));return}}else if(t===`right`&&i.type===`delete`&&e[d.fileIndex]?.chunks[d.chunkIndex]?.lines[d.lineIndex+1]?.type===`add`){r={...r,lineIndex:d.lineIndex+1},f(r),g(CS(r,n));return}}if(!ES(r,e)){let t=e[d.fileIndex];if(!t)return;let n=t.chunks[d.chunkIndex];if(n){for(let t=d.lineIndex+1;t<n.lines.length;t++){let n={...r,lineIndex:t};if(ES(n,e)){r=n;break}}if(!ES(r,e))for(let t=d.lineIndex-1;t>=0;t--){let n={...r,lineIndex:t};if(ES(n,e)){r=n;break}}}if(!ES(r,e)){for(let n=d.chunkIndex+1;n<t.chunks.length;n++){let i=t.chunks[n];if(i){for(let t=0;t<i.lines.length;t++){let i={...r,chunkIndex:n,lineIndex:t};if(ES(i,e)){r=i;break}}if(ES(r,e))break}}if(!ES(r,e))for(let n=d.chunkIndex-1;n>=0;n--){let i=t.chunks[n];if(i){for(let t=i.lines.length-1;t>=0;t--){let i={...r,chunkIndex:n,lineIndex:t};if(ES(i,e)){r=i;break}}if(ES(r,e))break}}}}f(r),g(CS(r,n))},[d,n,g,e]),E=(0,F.useCallback)(()=>{let t=document.querySelector(SS.SCROLL_CONTAINER);if(!t)return;let r=t.getBoundingClientRect(),i=r.top+r.height/2,a=1/0,o=null;e.forEach((t,s)=>{t.chunks.forEach((t,c)=>{t.lines.forEach((t,l)=>{let u=n===`split`?[`left`,`right`]:[`right`];for(let t of u){let u={fileIndex:s,chunkIndex:c,lineIndex:l,side:t};if(n===`split`&&!ES(u,e))continue;let d=CS(u,n),f=document.getElementById(d);if(f){let e=f.getBoundingClientRect(),t=e.top+e.height/2,n=Math.abs(t-i);e.top<r.bottom&&e.bottom>r.top&&n<a&&(a=n,o=u)}}})})}),o&&f(o)},[e,n,f]),D=(0,F.useCallback)(t=>{if(!t){f(null);return}let r=DS(t,e);f(r),g(CS(r,n))},[e,n,g]),O={scopes:`navigation`,enableOnFormTags:!1,preventDefault:!0};B(`j, down`,()=>x(`next`),O,[x]),B(`k, up`,()=>x(`prev`),O,[x]),B(`n`,()=>S(`next`),O,[S]),B(`p`,()=>S(`prev`),O,[S]),B(`shift+n`,()=>w(`next`),O,[w]),B(`shift+p`,()=>w(`prev`),O,[w]),B(`]`,()=>C(`next`),{...O,useKey:!0},[C]),B(`[`,()=>C(`prev`),{...O,useKey:!0},[C]),B(`{`,()=>{e.length>0&&(f({fileIndex:0,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`}),g(CS({fileIndex:0,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`},n)))},{...O,useKey:!0},[e,n,g]),B(`}`,()=>{if(e.length>0){let t=e.length-1,r=e[t];r&&r.chunks.length>0&&(f({fileIndex:t,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`}),g(CS({fileIndex:t,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`},n)))}},{...O,useKey:!0},[e,n,g]),B(`h, left`,()=>T(`left`),{...O,enabled:n===`split`},[T,n]),B(`l, right`,()=>T(`right`),{...O,enabled:n===`split`},[T,n]);let k=(0,F.useCallback)(t=>{let i=e.length;for(let a=1;a<i;a++){let o=(t+a)%i,s=e[o];if(!s||!s.chunks[0]?.lines[0]||r.has(s.path))continue;let c=DS({fileIndex:o,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`},e);f(c),g(CS(c,n));return}},[e,r,n,g]),A=(0,F.useCallback)(t=>{let r=e[t];!r||!r.chunks[0]?.lines[0]||(h.current=DS({fileIndex:t,chunkIndex:0,lineIndex:0,side:n===`split`?`left`:`right`},e))},[e,n]);return B(`v`,()=>{let t=d?.fileIndex??u?.()??null;if(t!==null){let n=e[t];n&&i(n.path)}},O,[d,e,i,u]),B(`shift+v`,()=>{let t=d?.fileIndex??u?.()??h.current?.fileIndex??null;if(t===null)return;let n=e[t];n&&(r.has(n.path)||i(n.path),k(t))},O,[d,e,r,i,u,k]),B(`shift+r`,()=>{l&&l()},O,[l]),B(`c`,()=>{if(d&&a){let t=e[d.fileIndex]?.chunks[d.chunkIndex]?.lines[d.lineIndex];t&&t.type!==`delete`&&a()}},O,[d,e,a]),B(`?`,()=>m(!p),{...O,useKey:!0},[p]),B(`.`,e=>{e.ctrlKey||e.altKey||e.shiftKey||e.metaKey||(E(),e.preventDefault())},{...O,useKey:!0,preventDefault:!1},[E]),B(`shift+c`,()=>{o&&o()},{...O,scopes:[`navigation`,`comments-list`]},[o]),B(`shift+d`,()=>{s&&s()},{...O,scopes:[`navigation`,`comments-list`]},[s]),B(`shift+l`,()=>{c&&c()},O,[c]),{cursor:d,isHelpOpen:p,setIsHelpOpen:m,setCursorPosition:D,rememberFilePosition:A}}var RS=new Map,zS=0;function BS(e){return RS.has(e)||RS.set(e,`file-${++zS}`),RS.get(e)??``}var VS=8,HS=`1200px 0px`,US=60,WS=180;function GS({diffData:e,diffScrollContainerRef:t,setDiffData:n}){let[r,i]=(0,F.useState)(new Set),a=(0,F.useRef)(new Set),o=(0,F.useRef)(null),s=(0,F.useRef)(new Map),c=(0,F.useRef)(new Set),l=(0,F.useRef)(null),u=(0,F.useRef)(0);(0,F.useEffect)(()=>{if(!e){let e=new Set;a.current=e,i(e),c.current.clear(),l.current=null;return}let t=`${e.requestedBaseCommitish??``}:${e.requestedTargetCommitish??``}:${e.requestedBaseMode??`direct`}`;if(l.current===t)return;l.current=t;let n=e.files.slice(0,VS).map(e=>e.path),r=new Set(n);a.current=r,i(r),c.current.clear()},[e]);let d=(0,F.useCallback)(e=>{let t=s.current.get(e);t&&o.current&&o.current.unobserve(t),i(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),a.current=n,n})},[]),f=(0,F.useCallback)((e,t)=>{let n=o.current,r=s.current.get(e);if(r&&n&&n.unobserve(r),!t){s.current.delete(e);return}s.current.set(e,t),!(a.current.has(e)||!n)&&n.observe(t)},[]);(0,F.useEffect)(()=>{if(o.current&&o.current.disconnect(),!e){o.current=null;return}let n=new IntersectionObserver(e=>{i(t=>{let r=!1,i=new Set(t);return e.forEach(e=>{if(!e.isIntersecting)return;let t=e.target.dataset.filePath;!t||i.has(t)||(i.add(t),n.unobserve(e.target),r=!0)}),r&&(a.current=i),r?i:t})},{root:t.current,rootMargin:HS});return o.current=n,s.current.forEach((e,t)=>{a.current.has(t)||n.observe(e)}),()=>{n.disconnect(),o.current=null}},[e,t]);let p=(0,F.useCallback)(t=>{if(!e)return;let n=e.files.findIndex(e=>e.path===t);if(n<0)return;let r=o.current;i(t=>{let i=!1,o=new Set(t);for(let t=0;t<=n;t++){let n=e.files[t]?.path;if(n&&!o.has(n)){o.add(n),i=!0;let e=s.current.get(n);e&&r&&r.unobserve(e)}}return i&&(a.current=o),i?o:t})},[e]),m=(0,F.useCallback)(e=>{let n=t.current,r=document.getElementById(BS(e));if(!n||!r)return!1;let i=n.getBoundingClientRect();return r.getBoundingClientRect().top<i.top-1},[t]),h=(0,F.useCallback)(n=>{p(n);let r=e?.files.findIndex(e=>e.path===n)??-1,i=e&&r>=0?e.files.slice(0,r+1).map(e=>BS(e.path)):[BS(n)],a=u.current+1;u.current=a;let o=()=>{for(let e of i){let t=document.getElementById(e);if(!t||t.dataset.rendered!==`true`)return!1}return!0},s=()=>{let e=t.current,r=document.getElementById(BS(n));if(!e||!r)return!1;let i=e.getBoundingClientRect(),a=r.getBoundingClientRect(),o=e.scrollTop+(a.top-i.top);return e.scrollTo({top:Math.max(0,o)}),!0},c=0,l=()=>{requestAnimationFrame(()=>{if(u.current===a){if(!o()){c<US&&(c++,l());return}if(!s()){c<US&&(c++,l());return}window.setTimeout(()=>{u.current===a&&s()},WS)}})};l()},[e,t,p]);return(0,F.useEffect)(()=>{if(!e||e.targetCommitish===`stdin`)return;let t=e.targetCommitish||`HEAD`,i=`${e.requestedBaseCommitish??``}...${e.requestedTargetCommitish??``}:${e.requestedBaseMode??`direct`}`;e.files.forEach(a=>{if(!r.has(a.path)||a.isGenerated!==!1||a.status===`deleted`)return;let o=`${i}:${t}:${a.path}`;if(c.current.has(o))return;c.current.add(o);let s=encodeURIComponent(a.path);fetch(`/api/generated-status/${s}?ref=${encodeURIComponent(t)}`).then(e=>e.ok?e.json():null).then(t=>{!t||t.isGenerated!==!0||n(t=>{if(!t||t.requestedBaseCommitish!==e.requestedBaseCommitish||t.requestedTargetCommitish!==e.requestedTargetCommitish||t.requestedBaseMode!==e.requestedBaseMode)return t;let n=!1,r=t.files.map(e=>e.path!==a.path||e.isGenerated?e:(n=!0,{...e,isGenerated:!0}));return n?{...t,files:r}:t})}).catch(()=>{})})},[e,r,n]),{renderedFilePaths:r,ensureFileRendered:d,ensureFilesRenderedUpTo:p,registerLazyFileContainer:f,scrollFileIntoDiffContainer:h,isFileScrolledPastContainerTop:m}}function KS(e,t,n,r,i,a,o=[],s){let[c,l]=(0,F.useState)([]),[u,d]=(0,F.useState)(null),[f,p]=(0,F.useState)(new Map),[m,h]=(0,F.useState)(new Set),g=e&&t?`${a??`default`}:${Zt({baseCommitish:e,targetCommitish:t,baseMode:s})}:${n??`no-commit`}`:null,_=g!==null&&u===g;(0,F.useEffect)(()=>{if(!e||!t||!g)return;let c=!1,u=cS.getViewedFiles(e,t,n,r,a,s);return(async()=>{let f=[];if(i&&i.length>0){let e=new Set(u.map(e=>e.filePath)),t=new Map;await Promise.all(i.map(async e=>{try{let n=await lS(dS(e));t.set(e.path,n)}catch(t){console.error(`Failed to generate hash for file:`,e.path,t)}}));for(let n of i){if(e.has(n.path)||!(n.isGenerated||n.status===`deleted`||Mx(n.path,o)))continue;let r=t.get(n.path);r&&(f.push({filePath:n.path,viewedAt:new Date().toISOString(),diffContentHash:r}),e.add(n.path))}let n=cS.getViewedHashIndex(a),r=new Map,s=new Set;for(let e of n.entries)e.hashVersion===1&&(r.set(`${e.filePath} ${e.diffContentHash}`,e),s.add(e.filePath));for(let n of i){if(e.has(n.path))continue;let i=t.get(n.path);if(!i)continue;let a=r.get(`${n.path} ${i}`);a&&(f.push({filePath:n.path,viewedAt:a.viewedAt,diffContentHash:i}),e.add(n.path))}let l=new Set;for(let n of i){if(!s.has(n.path)||e.has(n.path))continue;let i=t.get(n.path);i&&(r.has(`${n.path} ${i}`)||l.add(n.path))}c||h(l)}else c||h(new Set);if(f.length>0){let i=[...u,...f];cS.saveViewedFiles(e,t,i,n,r,a,s),c||(l(i),d(g));return}c||(l(u),d(g))})(),()=>{c=!0}},[e,t,n,r,a,g,s]);let v=(0,F.useCallback)(i=>{!e||!t||(cS.saveViewedFiles(e,t,i,n,r,a,s),l(i))},[e,t,n,r,a,s]),y=(0,F.useMemo)(()=>new Set(c.map(e=>e.filePath)),[c]),b=(0,F.useCallback)(e=>c.find(t=>t.filePath===e),[c]),x=(0,F.useCallback)(async e=>{let t=f.get(e.path);if(t)return t;let n=await lS(dS(e));return p(t=>new Map(t).set(e.path,n)),n},[f]),S=(0,F.useCallback)(async(e,t)=>{let n=b(e);if(!n)return!1;let r=await x(t);return n.diffContentHash!==r},[b,x]);return{viewedFiles:y,changedSinceViewedFiles:m,hasLoadedInitialViewedFiles:_,toggleFileViewed:(0,F.useCallback)(async(e,t)=>{let n=b(e);if(n)v(c.filter(t=>t.filePath!==e)),cS.removeViewedHashes(a,[{filePath:e,diffContentHash:n.diffContentHash}]);else{let n=await x(t),r=new Date().toISOString(),i={filePath:e,viewedAt:r,diffContentHash:n};v([...c,i]);let o={filePath:e,diffContentHash:n,hashVersion:1,viewedAt:r};cS.recordViewedHashes(a,[o])}},[c,b,x,v,a]),setFilesViewed:(0,F.useCallback)(async(e,t)=>{if(t){let t=e.filter(e=>!b(e.path));if(t.length===0)return;let n=new Date().toISOString(),r=await Promise.all(t.map(async e=>({filePath:e.path,viewedAt:n,diffContentHash:await x(e)})));v([...c,...r]),cS.recordViewedHashes(a,r.map(e=>({filePath:e.filePath,diffContentHash:e.diffContentHash,hashVersion:1,viewedAt:e.viewedAt})))}else{let t=new Set(e.map(e=>e.path)),n=c.filter(e=>t.has(e.filePath));if(n.length===0)return;v(c.filter(e=>!t.has(e.filePath))),cS.removeViewedHashes(a,n.map(e=>({filePath:e.filePath,diffContentHash:e.diffContentHash})))}},[c,b,x,v,a]),isFileContentChanged:S,getViewedFileRecord:b,clearViewedFiles:(0,F.useCallback)(()=>{v([]),p(new Map),h(new Set),cS.clearViewedHashIndex(a)},[v,a])}}var qS={mobileMax:767,desktopMin:1024},JS={mobile:`(max-width: ${qS.mobileMax}px)`,desktop:`(min-width: ${qS.desktopMin}px)`},YS=()=>typeof window>`u`?{isMobile:!1,isDesktop:!0}:{isMobile:window.matchMedia(JS.mobile).matches,isDesktop:window.matchMedia(JS.desktop).matches};function XS(){let[e,t]=(0,F.useState)(()=>YS());return(0,F.useEffect)(()=>{if(typeof window>`u`)return;let e=window.matchMedia(JS.mobile),n=window.matchMedia(JS.desktop),r=()=>{t({isMobile:e.matches,isDesktop:n.matches})};return r(),e.addEventListener(`change`,r),n.addEventListener(`change`,r),()=>{e.removeEventListener(`change`,r),n.removeEventListener(`change`,r)}},[]),e}function ZS(e){let t=new Set;return e.forEach(e=>{let n=e.author?.trim();n&&t.add(n)}),[...t]}function QS(e){return ZS(e).length>=2}function $S(e,t,n,r){for(let i=0;i<e.chunks.length;i++){let a=e.chunks[i];if(a)for(let e=0;e<a.lines.length;e++){let o=a.lines[e];if(o&&(r===`old`?o.oldLineNumber:r===`new`?o.newLineNumber:o.newLineNumber??o.oldLineNumber)===n)return{fileIndex:t,chunkIndex:i,lineIndex:e,side:r===`old`?`left`:r===`new`||o.newLineNumber?`right`:`left`}}}return null}function eC(e,t){let n=t.findIndex(t=>t.path===e.file);if(n===-1)return null;let r=t[n];if(!r)return null;let i=Array.isArray(e.line)?e.line[1]:e.line,a=e.side;return $S(r,n,i,a)||$S(r,n,i,`new`)||$S(r,n,i,`old`)}var tC={diffVersion:null,byFile:new Map};function nC(e,t,n,r){let i=new Map;return t.forEach(e=>{let t=n.get(e);t&&i.set(e,r(t))}),{diffVersion:e,byFile:i}}function rC(e,t,n){if(e.diffVersion===t)return e.byFile.get(n)}function iC(e){return e.replace(/[ \t]+$/,``)}function aC(e){return e.replace(/\r\n/g,`
|
|
82
82
|
`).split(`
|
|
83
|
-
`).map(rC)}function aC(e){let t=new Map,n=new Map;for(let r of e.chunks)for(let e of r.lines)e.oldLineNumber!==void 0&&t.set(e.oldLineNumber,e.content),e.newLineNumber!==void 0&&n.set(e.newLineNumber,e.content);return{old:t,new:n}}function oC(e,t){let n=e.codeSnapshot?.content;if(n===void 0)return!1;if(!t)return!0;let r=e.position.side===`old`?t.old:t.new,i=typeof e.position.line==`number`?{start:e.position.line,end:e.position.line}:e.position.line,a=iC(n);for(let e=0;e<=i.end-i.start;e++){let t=r.get(i.start+e);if(t===void 0)continue;let n=a[e]??``;if(rC(t)!==n)return!0}return!1}var sC=[],cC=[],lC=`difit.diffViewMode`,uC=`difit.sidebarWidth`,dC=`difit.sidebarOpen`,fC=200,pC=600,mC=280,hC=()=>{if(typeof window>`u`)return null;try{let e=window.localStorage.getItem(lC);if(e===null)return null;switch(e){case`split`:case`side-by-side`:case`unified`:case`inline`:return St(e);default:return null}}catch{return null}},gC=()=>hC()??`split`,_C=()=>{if(typeof window>`u`)return mC;let e=window.localStorage.getItem(uC);if(!e)return mC;let t=Number.parseInt(e,10);return Number.isFinite(t)?Math.min(pC,Math.max(fC,t)):mC},vC=()=>{if(typeof window>`u`)return!0;let e=window.localStorage.getItem(dC);return e===null||e===`true`?!0:e!==`false`};function yC(){let[e,t]=(0,F.useState)(null),[n,r]=(0,F.useState)(0),[i,a]=(0,F.useState)(gC),[o,s]=(0,F.useState)(!0),[c,l]=(0,F.useState)(!0),[u,d]=(0,F.useState)(null),[f,p]=(0,F.useState)(!1),[m,h]=(0,F.useState)(_C),[g,_]=(0,F.useState)(!1),[v,y]=(0,F.useState)(vC),[b,x]=(0,F.useState)(!1),[S,C]=(0,F.useState)(!1),[w,T]=(0,F.useState)(!1),[E,D]=(0,F.useState)(!1),[O,k]=(0,F.useState)(!1),[A,j]=(0,F.useState)(new Set),M=(0,F.useRef)(!1),N=(0,F.useRef)(null),[P,ee]=(0,F.useState)(null),[te,ne]=(0,F.useState)(Yt(``,``)),[re,L]=(0,F.useState)(``),[R,z]=(0,F.useState)(``),ie=(0,F.useRef)(!1),ae=(0,F.useRef)(te.baseMode);ae.current=e?.requestedBaseMode??te.baseMode;let oe=(0,F.useRef)(te);oe.current=te;let se=(0,F.useRef)(0),ce=(0,F.useRef)(null),le=(0,F.useMemo)(()=>!e?.baseCommitish||!e?.targetCommitish?null:Yt(e.baseCommitish,e.targetCommitish,e.requestedBaseMode),[e]),ue=(0,F.useMemo)(()=>le?Zt(le):null,[le]),{settings:de,updateSettings:fe}=Yx(),{isMobile:pe,isDesktop:me}=YS(),{hasLoadedComments:he,threads:ge,replaceThreads:_e,addThread:ve,replyToThread:ye,removeThread:be,removeMessage:xe,updateMessage:Se,clearAllComments:Ce,generateThreadPrompt:we,generateAllCommentsPrompt:Te}=pS(le?.baseCommitish,le?.targetCommitish,e?.commit,void 0,e?.repositoryId,le?.baseMode),Ee=pe&&ge.length>0,De=(0,F.useMemo)(()=>ue?`${e?.repositoryId??`default`}:${ue}`:null,[e?.repositoryId,ue]),Oe=(0,F.useMemo)(()=>{if(!le)return null;let e=new URLSearchParams({base:le.baseCommitish,target:le.targetCommitish});return le.baseMode===`merge-base`&&e.set(`baseMode`,le.baseMode),e.toString()},[le]),B=(0,F.useCallback)(e=>Oe?`${e}?${Oe}`:e,[Oe]),[ke,Ae]=(0,F.useState)(null),je=De!==null&&De===ke,Me=(0,F.useRef)(null),Ne=(0,F.useRef)(!1),Pe=(0,F.useRef)(null),Fe=(0,F.useRef)(!1);(0,F.useEffect)(()=>{De!==ke&&(Ne.current=!1)},[ke,De]);let Ie=(0,F.useCallback)(async()=>{let e=await fetch(B(`/api/comments-json`));if(!e.ok)throw Error(`Failed to fetch comments: ${e.status} ${e.statusText}`);let t=await e.json();return typeof t.version==`number`&&(Pe.current=t.version),Array.isArray(t.threads)?t.threads:[]},[B]),Le=(0,F.useCallback)(async e=>{let t=await fetch(B(`/api/comments`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({threads:e,baseVersion:Pe.current??void 0})});if(!t.ok)return;let n=await t.json();typeof n.version==`number`&&(Pe.current=n.version),n.merged&&Array.isArray(n.threads)&&(Ne.current=!0,_e(n.threads))},[B,_e]),{viewedFiles:V,changedSinceViewedFiles:Re,hasLoadedInitialViewedFiles:ze,toggleFileViewed:Be,setFilesViewed:Ve,clearViewedFiles:He}=GS(le?.baseCommitish,le?.targetCommitish,e?.commit,void 0,e?.files,e?.repositoryId,de.autoViewedPatterns,le?.baseMode);(0,F.useEffect)(()=>{M.current=!1},[e?.repositoryId,ue,e?.commit]),(0,F.useEffect)(()=>{!M.current&&ze&&(j(new Set(V)),M.current=!0)},[V,ze]);let{renderedFilePaths:Ue,ensureFileRendered:We,ensureFilesRenderedUpTo:Ge,registerLazyFileContainer:Ke,scrollFileIntoDiffContainer:Je,isFileScrolledPastContainerTop:Ye}=WS({diffData:e,diffScrollContainerRef:N,setDiffData:t}),Xe=(0,F.useCallback)(async t=>{if(!e)return;let n=e.files.find(e=>e.path===t);if(!n)return;let r=V.has(t),i=!r&&Ye(t);await Be(t,n),j(e=>{let n=new Set(e);return r?n.delete(t):n.add(t),n}),i&&setTimeout(()=>{Je(t)},100)},[e,Ye,Je,Be,V]),Ze=(0,F.useCallback)(async(t,n)=>{if(!e)return;let r=e.files.filter(e=>e.path.startsWith(`${t}/`));r.length!==0&&(await Ve(r,n),j(e=>{let t=new Set(e);return r.forEach(e=>{n?t.add(e.path):t.delete(e.path)}),t}))},[e,Ve]),Qe=(0,F.useCallback)(e=>{j(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),$e=(0,F.useCallback)(t=>{e&&j(t?new Set(e.files.map(e=>e.path)):new Set)},[e]),et=(0,F.useCallback)(()=>{y(!1)},[]),tt=(0,F.useCallback)(e=>{a(e);try{window.localStorage.setItem(lC,e)}catch{}},[]),{isLoading:nt,expandLines:rt,expandAllBetweenChunks:it,prefetchFileContent:ot,getMergedChunks:st,lastUpdatedAt:ct}=_S({baseCommitish:e?.baseCommitish,targetCommitish:e?.targetCommitish,diffIdentity:n}),lt=(0,F.useRef)(st);(0,F.useEffect)(()=>{lt.current=st},[st]);let[ft,pt]=(0,F.useState)(eC),mt=(0,F.useMemo)(()=>{let t=new Map;return e?.files.forEach(e=>{t.set(e.path,e)}),t},[e]);(0,F.useEffect)(()=>{if(!e){pt(eC);return}pt(tC(n,Ue,mt,e=>lt.current(e)))},[e,n,mt,Ue,ct]);let gt=(0,F.useMemo)(()=>e?e.files.map(e=>({...e,chunks:nC(ft,n,e.path)||e.chunks})):[],[e,n,ft]),vt=(0,F.useMemo)(()=>{let e=new Map;return gt.forEach(t=>{e.set(t.path,aC(t))}),e},[gt]),yt=(0,F.useMemo)(()=>ge.map(e=>({id:e.id,file:e.filePath,line:typeof e.position.line==`number`?e.position.line:[e.position.line.start,e.position.line.end],side:e.position.side,createdAt:e.createdAt,updatedAt:e.updatedAt,codeContent:e.codeSnapshot?.content,isOutdated:oC(e,vt.get(e.filePath)),messages:e.messages})),[ge,vt]),bt=(0,F.useMemo)(()=>ZS(yt.flatMap(e=>e.messages)),[yt]),xt=(0,F.useMemo)(()=>{let e=new Map;return yt.forEach(t=>{let n=e.get(t.file);n?n.push(t):e.set(t.file,[t])}),e},[yt]),[St,Ct]=(0,F.useState)(null),wt=(0,F.useRef)(null),{shouldReload:Tt,reload:Et,watchState:Dt}=bS((0,F.useCallback)(async()=>{await wt.current?.()},[]),(0,F.useCallback)(async()=>{try{let e=await Ie();Ne.current=!0,_e(e),De&&Ae(De)}catch(e){console.error(`Failed to refresh comments from server:`,e)}},[De,Ie,_e])),Ot=(0,F.useRef)(null),{cursor:kt,isHelpOpen:At,setIsHelpOpen:jt,setCursorPosition:Mt,rememberFilePosition:Nt}=IS({files:gt,comments:yt,viewMode:i,reviewedFiles:V,onToggleReviewed:Xe,getHoveredFileIndex:(0,F.useCallback)(()=>Ot.current,[]),onCreateComment:()=>{kt&&Ct({fileIndex:kt.fileIndex,chunkIndex:kt.chunkIndex,lineIndex:kt.lineIndex})},onCopyAllComments:()=>{ge.length>0&&Ut()},onDeleteAllComments:()=>{ge.length>0&&confirm(`Delete all comments?`)&&Ce()},onShowCommentsList:()=>{D(!0)},onRefresh:()=>{Et()}}),Pt=(0,F.useCallback)(t=>{if(Xe(t),e){let n=e.files.findIndex(e=>e.path===t);n!==-1&&Nt(n)}},[Xe,e,Nt]);(0,F.useEffect)(()=>{if(!e||!kt)return;let t=e.files[kt.fileIndex]?.path;!t||Ue.has(t)||(Ge(t),requestAnimationFrame(()=>{Mt(kt)}))},[kt,e,Ge,Ue,Mt]);let Ft=(0,F.useCallback)((e,t,n,r)=>{Mt({fileIndex:e,chunkIndex:t,lineIndex:n,side:r})},[Mt]),It=(0,F.useCallback)(()=>{Ct(null)},[Ct]),Lt=(0,F.useCallback)(e=>we(e.id),[we]),Rt=e=>{e.preventDefault(),x(!0);let t=e.clientX,n=m,r=e=>{h(Math.max(fC,Math.min(pC,n+(e.clientX-t))))},i=()=>{x(!1),document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},zt=(0,F.useCallback)(async e=>{let n=se.current+1;se.current=n,ce.current?.abort();let i=new AbortController;ce.current=i;try{let a=e??(ie.current?oe.current:void 0),s=new URLSearchParams({ignoreWhitespace:String(o)});a?.baseCommitish&&s.set(`base`,a.baseCommitish),a?.targetCommitish&&s.set(`target`,a.targetCommitish),a?.baseMode===`merge-base`&&s.set(`baseMode`,a.baseMode);let c=await fetch(`/api/diff?${s}`,{signal:i.signal});if(!c.ok)throw Error(`Failed to fetch diff data`);let l=await c.json();if(se.current!==n)return;if(t(l),r(e=>e+1),L(l.baseCommitish&&l.requestedBaseMode!==`merge-base`?l.baseCommitish:``),l.targetCommitish&&z(l.targetCommitish),!ie.current){let e=l.requestedBaseCommitish??l.baseCommitish,t=l.requestedTargetCommitish??l.targetCommitish;e&&t&&ne(Yt(e,t,l.requestedBaseMode))}}catch(e){if(e?.name===`AbortError`||se.current!==n)return;d(e instanceof Error?e.message:`Unknown error`)}finally{ce.current===i&&(ce.current=null),se.current===n&&l(!1)}},[o]);wt.current=zt,(0,F.useEffect)(()=>{zt()},[zt]),(0,F.useEffect)(()=>()=>{ce.current?.abort()},[]),(0,F.useEffect)(()=>{pe&&i!==`unified`&&a(`unified`)},[i,pe]),(0,F.useEffect)(()=>{try{window.localStorage.setItem(uC,String(m))}catch{}},[m]),(0,F.useEffect)(()=>{try{window.localStorage.setItem(dC,String(v))}catch{}},[v]),(0,F.useEffect)(()=>{fetch(`/api/revisions`).then(e=>e.ok?e.json():null).then(e=>{ee(e),e?.resolvedBase&&Jt(ae.current)!==`merge-base`&&L(t=>t||e.resolvedBase||``),e?.resolvedTarget&&z(t=>t||e.resolvedTarget||``)}).catch(()=>ee(null))},[]);let Bt=(0,F.useCallback)(async e=>{Xt(e,te)||(ie.current=!0,oe.current=e,ne(e),l(!0),d(null),await zt(e))},[zt,te]),Vt=(0,F.useRef)(!1);(0,F.useEffect)(()=>{e?.clearComments&&!Vt.current&&(Vt.current=!0,Fe.current=!0,Ce({resetAppliedCommentImportIds:!0}),He(),console.log(`✅ All existing comments and viewed files cleared as requested via --clean flag`))},[e?.clearComments,Ce,He]),(0,F.useEffect)(()=>{if(!De||!he||ke===De||Me.current===De)return;let e=Fe.current;Fe.current=!1,Me.current=De;let t=!1;return(async()=>{try{let n=await Ie(),r=e?n:Kt(n,ge).threads;if(t)return;Ne.current=!0,_e(r),!e&&JSON.stringify(n)!==JSON.stringify(r)&&await Le(r)}catch(e){t||console.error(`Failed to bootstrap comments from server:`,e)}finally{t||Ae(De),Me.current===De&&(Me.current=null)}})(),()=>{t=!0,Me.current===De&&(Me.current=null)}},[ke,De,Ie,he,_e,Le,ge]),(0,F.useEffect)(()=>{e&&(V.size<e.files.length?T(!1):V.size===e.files.length&&!w&&(C(!0),T(!0),setTimeout(()=>{C(!1)},1e3)))},[V.size,e,w]),(0,F.useEffect)(()=>{if(!je)return;let e=JSON.stringify({threads:ge,baseVersion:Pe.current??void 0}),t=B(`/api/comments`),n=()=>{navigator.sendBeacon(t,e)};return window.addEventListener(`beforeunload`,n),Ne.current?(Ne.current=!1,()=>{window.removeEventListener(`beforeunload`,n)}):(Le(ge).catch(e=>{console.error(`Failed to sync comments:`,e)}),()=>{window.removeEventListener(`beforeunload`,n)})},[B,je,Le,ge]),(0,F.useEffect)(()=>{let e=new EventSource(yS(`/api/heartbeat`));return e.onopen=()=>{console.log(`Connected to server heartbeat`)},e.onerror=()=>{console.log(`Server connection lost`),e.close()},()=>{e.close()}},[]);let Ht=(0,F.useCallback)((e,t,n,r,i)=>(ve({filePath:e,body:n,side:i||`new`,line:typeof t==`number`?t:{start:t[0],end:t[1]},codeSnapshot:r===void 0?void 0:{content:r,language:void 0}}),Promise.resolve()),[ve]),Ut=async()=>{try{await nn(Te()),p(!0),setTimeout(()=>p(!1),2e3)}catch(e){console.error(`Failed to copy all comments prompt:`,e)}},Wt=(0,F.useCallback)((e,t)=>(ye({threadId:e,body:t}),Promise.resolve()),[ye]),Gt=t=>{if(!e)return;let n=$S(t,e.files);n&&Mt(n)},qt=(0,F.useCallback)(async(e,t)=>{try{let n=await fetch(`/api/open-in-editor`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e,line:t,editor:de.editor})});if(!n.ok){let e=await n.json().catch(()=>null),t=n.statusText;e&&typeof e==`object`&&`error`in e&&typeof e.error==`string`&&(t=e.error),console.error(`Failed to open file in editor:`,t)}}catch(e){console.error(`Failed to open file in editor:`,e)}},[de.editor]),$t=e=>{Mt(null);let t=e.target,n=t.closest(`[data-comment-button="true"]`),r=t.closest(`[data-open-in-editor-button="true"]`);!n&&!r&&tn(e)},tn=e=>{document.querySelectorAll(`form[data-empty="true"]`).forEach(t=>{t.contains(e.target)||t.querySelector(`button[type="button"]`)?.click()})};if(c)return(0,I.jsx)(`div`,{className:`flex items-center justify-center h-screen bg-github-bg-primary`,children:(0,I.jsx)(`div`,{className:`text-github-text-secondary text-base`,children:`Loading diff...`})});if(u)return(0,I.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-screen bg-github-bg-primary text-center gap-2`,children:[(0,I.jsx)(`h2`,{className:`text-github-danger text-2xl mb-2`,children:`Error`}),(0,I.jsx)(`p`,{className:`text-github-text-secondary text-base`,children:u})]});if(!e)return(0,I.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-screen bg-github-bg-primary text-center gap-2`,children:[(0,I.jsx)(`h2`,{className:`text-github-danger text-2xl mb-2`,children:`No data`}),(0,I.jsx)(`p`,{className:`text-github-text-secondary text-base`,children:`No diff data available`})]});let rn=e.openInEditorAvailable!==!1&&de.editor.id!==`none`&&de.editor.command.trim()!==``&&de.editor.argsTemplate.trim()!==``;return(0,I.jsx)(af,{children:(0,I.jsxs)(`div`,{className:`h-screen flex flex-col`,onClickCapture:$t,children:[(0,I.jsxs)(`header`,{className:`bg-github-bg-secondary border-b border-github-border flex ${pe?`flex-col`:`flex-row items-center`}`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between w-full ${pe?`px-3 py-2 gap-3`:`px-4 py-3 gap-4 w-auto`} ${b?``:`!transition-all !duration-300 !ease-in-out`}`,style:{width:pe?`100%`:v?`${m}px`:`auto`,minWidth:pe?`0px`:v?`200px`:`auto`,maxWidth:pe?`none`:v?`600px`:`none`},children:[(0,I.jsx)(`h1`,{children:(0,I.jsx)(fx,{style:{height:`18px`,color:`var(--color-github-text-secondary)`}})}),(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`button`,{onClick:()=>y(!v),className:`p-2 text-github-text-secondary hover:text-github-text-primary hover:bg-github-bg-tertiary rounded transition-colors`,title:v?`Collapse file tree`:`Expand file tree`,"aria-expanded":v,"aria-controls":`file-tree-panel`,"aria-label":`Toggle file tree panel`,children:v?(0,I.jsx)(ut,{size:18}):(0,I.jsx)(dt,{size:18})}),(0,I.jsx)(`button`,{onClick:()=>_(!0),className:`p-2 text-github-text-secondary hover:text-github-text-primary hover:bg-github-bg-tertiary rounded transition-colors`,title:`Settings`,children:(0,I.jsx)(ht,{size:18})})]})]}),!pe&&(0,I.jsx)(`div`,{className:`border-r border-github-border ${b?``:`!transition-all !duration-300 !ease-in-out`}`,style:{width:v?`4px`:`0px`,height:`calc(100% - 16px)`,margin:`8px 0`,transform:`translateX(-2px)`}}),(0,I.jsxs)(`div`,{className:`flex-1 flex flex-wrap items-center justify-between ${pe?`px-3 pb-2 gap-3`:`px-4 py-3 gap-4`}`,children:[(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center ${pe?`gap-2`:`gap-3`}`,children:[!pe&&(0,I.jsxs)(`div`,{className:`flex bg-github-bg-tertiary border border-github-border rounded-md p-1`,children:[(0,I.jsxs)(`button`,{onClick:()=>tt(`split`),className:`px-3 py-1.5 text-xs font-medium rounded transition-all duration-200 flex items-center gap-1.5 cursor-pointer ${i===`split`?`bg-github-bg-primary text-github-text-primary shadow-sm`:`text-github-text-secondary hover:text-github-text-primary`}`,children:[(0,I.jsx)(qe,{size:14}),`Split`]}),(0,I.jsxs)(`button`,{onClick:()=>tt(`unified`),className:`px-3 py-1.5 text-xs font-medium rounded transition-all duration-200 flex items-center gap-1.5 cursor-pointer ${i===`unified`?`bg-github-bg-primary text-github-text-primary shadow-sm`:`text-github-text-secondary hover:text-github-text-primary`}`,children:[(0,I.jsx)(_t,{size:14}),`Unified`]})]}),(0,I.jsx)(Qt,{checked:o,onChange:s,label:`Ignore Whitespace`,title:o?`Show whitespace changes`:`Ignore whitespace changes`}),(0,I.jsx)(px,{shouldReload:Tt,isReloading:Dt.isReloading,onReload:Et,changeType:Dt.lastChangeType,compact:pe})]}),(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center text-sm text-github-text-secondary ${pe?`gap-3`:`gap-4`}`,children:[!pe&&ge.length>0&&(0,I.jsx)(en,{commentsCount:ge.length,isCopiedAll:f,onCopyAll:Ut,onDeleteAll:Ce,onViewAll:()=>D(!0)}),(0,I.jsxs)(`div`,{className:`flex flex-col gap-1 items-center`,children:[(0,I.jsxs)(`div`,{className:`text-xs relative`,children:[V.size===e.files.length?`All diffs difit-ed!`:`${V.size} / ${e.files.length} files viewed`,(0,I.jsx)(Kx,{isActive:S})]}),(0,I.jsx)(`div`,{className:`relative h-2 bg-github-bg-tertiary rounded-full overflow-hidden`,style:{width:`90px`,border:`1px solid var(--color-github-border)`},children:(0,I.jsx)(`div`,{className:`absolute top-0 right-0 h-full transition-all duration-300 ease-out`,style:{width:`${(e.files.length-V.size)/e.files.length*100}%`,backgroundColor:(()=>{let t=(e.files.length-V.size)/e.files.length*100;return t>50?`var(--color-github-accent)`:t>20?`var(--color-github-warning)`:`var(--color-github-danger)`})()}})})]}),P?(0,I.jsx)(Rv,{options:P,selection:te,resolvedBaseRevision:re,resolvedTargetRevision:R,onSelectDiff:e=>void Bt(e),onOpenAdvanced:()=>k(!0),compact:!me}):(0,I.jsxs)(`span`,{className:`text-xs`,children:[`Reviewing:`,` `,(0,I.jsx)(`code`,{className:`bg-github-bg-tertiary px-1.5 py-0.5 rounded text-xs text-github-text-primary`,children:e.commit.includes(`...`)?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`span`,{className:`text-github-text-secondary font-medium`,children:[e.commit.split(`...`)[0],`...`]}),(0,I.jsx)(`span`,{className:`font-medium`,children:e.commit.split(`...`)[1]})]}):e.commit})]})]})]})]}),P&&(0,I.jsx)(_x,{isOpen:O,onClose:()=>k(!1),options:P,selection:te,resolvedBaseRevision:re,resolvedTargetRevision:R,onApply:e=>void Bt(e)},O?Zt(te):`closed`),pe&&v&&(0,I.jsx)(`button`,{type:`button`,"aria-label":`Close file tree`,className:`fixed inset-0 bg-black/40 z-30`,onClick:()=>y(!1)}),(0,I.jsxs)(`div`,{className:`flex flex-1 overflow-hidden relative`,children:[(0,I.jsx)(`div`,{className:`relative overflow-hidden ${b?``:`!transition-all !duration-300 !ease-in-out`}`,style:{width:pe?`0px`:v?`${m}px`:`0px`},children:(0,I.jsxs)(`aside`,{id:`file-tree-panel`,className:`bg-github-bg-secondary overflow-y-auto flex flex-col ${pe?`fixed inset-y-0 right-0 z-40 w-[min(85vw,360px)] border-l border-github-border transition-transform duration-300 ease-out`:`relative border-r border-github-border`}`,style:{width:pe?`min(85vw, 360px)`:`${m}px`,minWidth:pe?`0px`:`200px`,maxWidth:pe?`none`:`600px`,height:`100%`,transform:pe?v?`translateX(0)`:`translateX(100%)`:void 0},children:[(0,I.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,I.jsx)(lx,{files:e.files,onScrollToFile:Je,onFileSelected:pe?et:void 0,comments:yt,reviewedFiles:V,onToggleReviewed:Xe,onToggleFolderReviewed:Ze,selectedFileIndex:kt?.fileIndex??null})}),!pe&&(0,I.jsxs)(`div`,{className:`p-4 border-t border-github-border flex justify-between items-center`,children:[(0,I.jsxs)(`button`,{onClick:()=>jt(!0),className:`flex items-center gap-1.5 text-github-text-secondary hover:text-github-text-primary transition-colors`,title:`Keyboard shortcuts (Shift+?)`,children:[(0,I.jsx)(at,{size:16}),(0,I.jsx)(`span`,{className:`text-sm`,children:`Shortcuts`})]}),(0,I.jsxs)(`a`,{href:`https://github.com/yoshiko-pg/difit`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-2 text-github-text-secondary hover:text-github-text-primary transition-colors`,title:`View on GitHub`,children:[(0,I.jsx)(`span`,{className:`text-sm`,children:`Star on GitHub`}),(0,I.jsx)(ux,{style:{height:`18px`,width:`18px`}})]})]})]})}),!pe&&(0,I.jsx)(`div`,{className:`bg-github-border hover:bg-github-text-muted cursor-col-resize ${b?``:`!transition-all !duration-300 !ease-in-out`}`,style:{width:v?`4px`:`0px`},onMouseDown:Rt,title:`Drag to resize file list`}),(0,I.jsx)(`main`,{ref:N,className:`flex-1 overflow-y-auto ${Ee?`pb-16`:``}`,children:e.files.map((t,r)=>{let a=xt.get(t.path)??sC,o=nC(ft,n,t.path)??cC,s=Ue.has(t.path);return(0,I.jsx)(`div`,{id:zS(t.path),"data-file-path":t.path,"data-rendered":s?`true`:`false`,ref:e=>Ke(t.path,e),className:`mb-6`,onMouseEnter:()=>{Ot.current=r},onMouseLeave:()=>{Ot.current===r&&(Ot.current=null)},children:s?(0,I.jsx)(tx,{file:t,threads:a,showAuthorBadges:bt,diffMode:i,reviewedFiles:V,isChangedSinceViewed:Re.has(t.path),onToggleReviewed:Pt,collapsedFiles:A,onToggleCollapsed:Qe,onToggleAllCollapsed:$e,onAddComment:Ht,onGenerateThreadPrompt:Lt,onRemoveThread:be,onReplyToThread:Wt,onRemoveMessage:xe,onUpdateMessage:Se,onOpenInEditor:rn?qt:void 0,syntaxTheme:de.syntaxTheme,baseCommitish:e.baseCommitish,targetCommitish:e.targetCommitish,cursor:kt?.fileIndex===r?kt:null,isFocused:kt?.fileIndex===r,fileIndex:r,onLineClick:Ft,commentTrigger:St?.fileIndex===r?St:null,onCommentTriggerHandled:It,mergedChunks:o,expandLines:rt,expandAllBetweenChunks:it,prefetchFileContent:ot,isExpandLoading:nt,diffVersion:n}):(0,I.jsx)(`div`,{className:`bg-github-bg-secondary border border-github-border rounded-md px-4 py-3`,children:(0,I.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsx)(`div`,{className:`text-xs uppercase tracking-wide text-github-text-muted`,children:`Deferred Rendering`}),(0,I.jsx)(`div`,{className:`text-sm font-mono text-github-text-primary truncate`,children:t.path})]}),(0,I.jsx)(`button`,{type:`button`,onClick:()=>We(t.path),className:`px-3 py-1.5 text-xs rounded border border-github-border text-github-text-secondary hover:text-github-text-primary hover:bg-github-bg-tertiary`,children:`Load now`})]})})},t.path)})})]}),Ee&&(0,I.jsx)(`div`,{className:`fixed bottom-0 left-0 right-0 z-20 bg-github-bg-secondary border-t border-github-border px-4 py-2 flex justify-end`,children:(0,I.jsx)(en,{commentsCount:ge.length,isCopiedAll:f,onCopyAll:Ut,onDeleteAll:Ce,onViewAll:()=>D(!0),direction:`up`,compact:!0})}),g&&(0,I.jsx)(Wx,{isOpen:g,onClose:()=>_(!1),settings:de,onSettingsChange:fe}),(0,I.jsx)(dx,{isOpen:At,onClose:()=>jt(!1)}),(0,I.jsx)(Wp,{isOpen:E,onClose:()=>D(!1),onNavigate:Gt,comments:yt,showAuthorBadges:bt,onRemoveThread:be,onGenerateThreadPrompt:Lt,onReplyToThread:Wt,onRemoveMessage:xe,onUpdateMessage:Se,syntaxTheme:de.syntaxTheme})]})})}var bC=document.getElementById(`root`);if(!bC)throw Error(`Root element not found`);ee.createRoot(bC).render((0,I.jsx)(F.StrictMode,{children:(0,I.jsx)(we,{initiallyActiveScopes:[`navigation`],children:(0,I.jsx)(yC,{})})}));export{o as n,l as r,sp as t};
|
|
83
|
+
`).map(iC)}function oC(e){let t=new Map,n=new Map;for(let r of e.chunks)for(let e of r.lines)e.oldLineNumber!==void 0&&t.set(e.oldLineNumber,e.content),e.newLineNumber!==void 0&&n.set(e.newLineNumber,e.content);return{old:t,new:n}}function sC(e,t){let n=e.codeSnapshot?.content;if(n===void 0)return!1;if(!t)return!0;let r=e.position.side===`old`?t.old:t.new,i=typeof e.position.line==`number`?{start:e.position.line,end:e.position.line}:e.position.line,a=aC(n);for(let e=0;e<=i.end-i.start;e++){let t=r.get(i.start+e);if(t===void 0)continue;let n=a[e]??``;if(iC(t)!==n)return!0}return!1}var cC=[],lC=[],uC=`difit.diffViewMode`,dC=`difit.sidebarWidth`,fC=`difit.sidebarOpen`,pC=200,mC=600,hC=280,gC=()=>{if(typeof window>`u`)return null;try{let e=window.localStorage.getItem(uC);if(e===null)return null;switch(e){case`split`:case`side-by-side`:case`unified`:case`inline`:return St(e);default:return null}}catch{return null}},_C=()=>gC()??`split`,vC=()=>{if(typeof window>`u`)return hC;let e=window.localStorage.getItem(dC);if(!e)return hC;let t=Number.parseInt(e,10);return Number.isFinite(t)?Math.min(mC,Math.max(pC,t)):hC},yC=()=>{if(typeof window>`u`)return!0;let e=window.localStorage.getItem(fC);return e===null||e===`true`?!0:e!==`false`};function bC(){let[e,t]=(0,F.useState)(null),[n,r]=(0,F.useState)(0),[i,a]=(0,F.useState)(_C),[o,s]=(0,F.useState)(!0),[c,l]=(0,F.useState)(!0),[u,d]=(0,F.useState)(null),[f,p]=(0,F.useState)(!1),[m,h]=(0,F.useState)(vC),[g,_]=(0,F.useState)(!1),[v,y]=(0,F.useState)(yC),[b,x]=(0,F.useState)(!1),[S,C]=(0,F.useState)(!1),[w,T]=(0,F.useState)(!1),[E,D]=(0,F.useState)(!1),[O,k]=(0,F.useState)(!1),[A,j]=(0,F.useState)(new Set),M=(0,F.useRef)(!1),N=(0,F.useRef)(null),[P,ee]=(0,F.useState)(null),[te,ne]=(0,F.useState)(Yt(``,``)),[re,L]=(0,F.useState)(``),[R,z]=(0,F.useState)(``),ie=(0,F.useRef)(!1),ae=(0,F.useRef)(te.baseMode);ae.current=e?.requestedBaseMode??te.baseMode;let oe=(0,F.useRef)(te);oe.current=te;let se=(0,F.useRef)(0),ce=(0,F.useRef)(null),le=(0,F.useMemo)(()=>!e?.baseCommitish||!e?.targetCommitish?null:Yt(e.baseCommitish,e.targetCommitish,e.requestedBaseMode),[e]),ue=(0,F.useMemo)(()=>le?Zt(le):null,[le]),{settings:de,updateSettings:fe}=Xx(),{isMobile:pe,isDesktop:me}=XS(),{hasLoadedComments:he,threads:ge,replaceThreads:_e,addThread:ve,replyToThread:ye,removeThread:be,removeMessage:xe,updateMessage:Se,clearAllComments:Ce,generateThreadPrompt:we,generateAllCommentsPrompt:Te}=mS(le?.baseCommitish,le?.targetCommitish,e?.commit,void 0,e?.repositoryId,le?.baseMode),Ee=pe&&ge.length>0,De=(0,F.useMemo)(()=>ue?`${e?.repositoryId??`default`}:${ue}`:null,[e?.repositoryId,ue]),Oe=(0,F.useMemo)(()=>{if(!le)return null;let e=new URLSearchParams({base:le.baseCommitish,target:le.targetCommitish});return le.baseMode===`merge-base`&&e.set(`baseMode`,le.baseMode),e.toString()},[le]),B=(0,F.useCallback)(e=>Oe?`${e}?${Oe}`:e,[Oe]),[ke,Ae]=(0,F.useState)(null),je=De!==null&&De===ke,Me=(0,F.useRef)(null),Ne=(0,F.useRef)(!1),Pe=(0,F.useRef)(null),Fe=(0,F.useRef)(!1);(0,F.useEffect)(()=>{De!==ke&&(Ne.current=!1)},[ke,De]);let Ie=(0,F.useCallback)(async()=>{let e=await fetch(B(`/api/comments-json`));if(!e.ok)throw Error(`Failed to fetch comments: ${e.status} ${e.statusText}`);let t=await e.json();return typeof t.version==`number`&&(Pe.current=t.version),Array.isArray(t.threads)?t.threads:[]},[B]),Le=(0,F.useCallback)(async e=>{let t=await fetch(B(`/api/comments`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({threads:e,baseVersion:Pe.current??void 0})});if(!t.ok)return;let n=await t.json();typeof n.version==`number`&&(Pe.current=n.version),n.merged&&Array.isArray(n.threads)&&(Ne.current=!0,_e(n.threads))},[B,_e]),{viewedFiles:V,changedSinceViewedFiles:Re,hasLoadedInitialViewedFiles:ze,toggleFileViewed:Be,setFilesViewed:Ve,clearViewedFiles:He}=KS(le?.baseCommitish,le?.targetCommitish,e?.commit,void 0,e?.files,e?.repositoryId,de.autoViewedPatterns,le?.baseMode);(0,F.useEffect)(()=>{M.current=!1},[e?.repositoryId,ue,e?.commit]),(0,F.useEffect)(()=>{!M.current&&ze&&(j(new Set(V)),M.current=!0)},[V,ze]);let{renderedFilePaths:Ue,ensureFileRendered:We,ensureFilesRenderedUpTo:Ge,registerLazyFileContainer:Ke,scrollFileIntoDiffContainer:Je,isFileScrolledPastContainerTop:Ye}=GS({diffData:e,diffScrollContainerRef:N,setDiffData:t}),Xe=(0,F.useCallback)(async t=>{if(!e)return;let n=e.files.find(e=>e.path===t);if(!n)return;let r=V.has(t),i=!r&&Ye(t);await Be(t,n),j(e=>{let n=new Set(e);return r?n.delete(t):n.add(t),n}),i&&setTimeout(()=>{Je(t)},100)},[e,Ye,Je,Be,V]),Ze=(0,F.useCallback)(async(t,n)=>{if(!e)return;let r=e.files.filter(e=>e.path.startsWith(`${t}/`));r.length!==0&&(await Ve(r,n),j(e=>{let t=new Set(e);return r.forEach(e=>{n?t.add(e.path):t.delete(e.path)}),t}))},[e,Ve]),Qe=(0,F.useCallback)(e=>{j(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),$e=(0,F.useCallback)(t=>{e&&j(t?new Set(e.files.map(e=>e.path)):new Set)},[e]),et=(0,F.useCallback)(()=>{y(!1)},[]),tt=(0,F.useCallback)(e=>{a(e);try{window.localStorage.setItem(uC,e)}catch{}},[]),{isLoading:nt,expandLines:rt,expandAllBetweenChunks:it,prefetchFileContent:ot,getMergedChunks:st,lastUpdatedAt:ct}=vS({baseCommitish:e?.baseCommitish,targetCommitish:e?.targetCommitish,diffIdentity:n}),lt=(0,F.useRef)(st);(0,F.useEffect)(()=>{lt.current=st},[st]);let[ft,pt]=(0,F.useState)(tC),mt=(0,F.useMemo)(()=>{let t=new Map;return e?.files.forEach(e=>{t.set(e.path,e)}),t},[e]);(0,F.useEffect)(()=>{if(!e){pt(tC);return}pt(nC(n,Ue,mt,e=>lt.current(e)))},[e,n,mt,Ue,ct]);let gt=(0,F.useMemo)(()=>e?e.files.map(e=>({...e,chunks:rC(ft,n,e.path)||e.chunks})):[],[e,n,ft]),vt=(0,F.useMemo)(()=>{let e=new Map;return gt.forEach(t=>{e.set(t.path,oC(t))}),e},[gt]),yt=(0,F.useMemo)(()=>ge.map(e=>({id:e.id,file:e.filePath,line:typeof e.position.line==`number`?e.position.line:[e.position.line.start,e.position.line.end],side:e.position.side,createdAt:e.createdAt,updatedAt:e.updatedAt,codeContent:e.codeSnapshot?.content,isOutdated:sC(e,vt.get(e.filePath)),messages:e.messages})),[ge,vt]),bt=(0,F.useMemo)(()=>QS(yt.flatMap(e=>e.messages)),[yt]),xt=(0,F.useMemo)(()=>{let e=new Map;return yt.forEach(t=>{let n=e.get(t.file);n?n.push(t):e.set(t.file,[t])}),e},[yt]),[St,Ct]=(0,F.useState)(null),wt=(0,F.useRef)(null),{shouldReload:Tt,reload:Et,watchState:Dt}=xS((0,F.useCallback)(async()=>{await wt.current?.()},[]),(0,F.useCallback)(async()=>{try{let e=await Ie();Ne.current=!0,_e(e),De&&Ae(De)}catch(e){console.error(`Failed to refresh comments from server:`,e)}},[De,Ie,_e])),Ot=(0,F.useRef)(null),{cursor:kt,isHelpOpen:At,setIsHelpOpen:jt,setCursorPosition:Mt,rememberFilePosition:Nt}=LS({files:gt,comments:yt,viewMode:i,reviewedFiles:V,onToggleReviewed:Xe,getHoveredFileIndex:(0,F.useCallback)(()=>Ot.current,[]),onCreateComment:()=>{kt&&Ct({fileIndex:kt.fileIndex,chunkIndex:kt.chunkIndex,lineIndex:kt.lineIndex})},onCopyAllComments:()=>{ge.length>0&&Ut()},onDeleteAllComments:()=>{ge.length>0&&confirm(`Delete all comments?`)&&Ce()},onShowCommentsList:()=>{D(!0)},onRefresh:()=>{Et()}}),Pt=(0,F.useCallback)(t=>{if(Xe(t),e){let n=e.files.findIndex(e=>e.path===t);n!==-1&&Nt(n)}},[Xe,e,Nt]);(0,F.useEffect)(()=>{if(!e||!kt)return;let t=e.files[kt.fileIndex]?.path;!t||Ue.has(t)||(Ge(t),requestAnimationFrame(()=>{Mt(kt)}))},[kt,e,Ge,Ue,Mt]);let Ft=(0,F.useCallback)((e,t,n,r)=>{Mt({fileIndex:e,chunkIndex:t,lineIndex:n,side:r})},[Mt]),It=(0,F.useCallback)(()=>{Ct(null)},[Ct]),Lt=(0,F.useCallback)(e=>we(e.id),[we]),Rt=e=>{e.preventDefault(),x(!0);let t=e.clientX,n=m,r=e=>{h(Math.max(pC,Math.min(mC,n+(e.clientX-t))))},i=()=>{x(!1),document.removeEventListener(`mousemove`,r),document.removeEventListener(`mouseup`,i)};document.addEventListener(`mousemove`,r),document.addEventListener(`mouseup`,i)},zt=(0,F.useCallback)(async e=>{let n=se.current+1;se.current=n,ce.current?.abort();let i=new AbortController;ce.current=i;try{let a=e??(ie.current?oe.current:void 0),s=new URLSearchParams({ignoreWhitespace:String(o)});a?.baseCommitish&&s.set(`base`,a.baseCommitish),a?.targetCommitish&&s.set(`target`,a.targetCommitish),a?.baseMode===`merge-base`&&s.set(`baseMode`,a.baseMode);let c=await fetch(`/api/diff?${s}`,{signal:i.signal});if(!c.ok)throw Error(`Failed to fetch diff data`);let l=await c.json();if(se.current!==n)return;if(t(l),r(e=>e+1),L(l.baseCommitish&&l.requestedBaseMode!==`merge-base`?l.baseCommitish:``),l.targetCommitish&&z(l.targetCommitish),!ie.current){let e=l.requestedBaseCommitish??l.baseCommitish,t=l.requestedTargetCommitish??l.targetCommitish;e&&t&&ne(Yt(e,t,l.requestedBaseMode))}}catch(e){if(e?.name===`AbortError`||se.current!==n)return;d(e instanceof Error?e.message:`Unknown error`)}finally{ce.current===i&&(ce.current=null),se.current===n&&l(!1)}},[o]);wt.current=zt,(0,F.useEffect)(()=>{zt()},[zt]),(0,F.useEffect)(()=>()=>{ce.current?.abort()},[]),(0,F.useEffect)(()=>{pe&&i!==`unified`&&a(`unified`)},[i,pe]),(0,F.useEffect)(()=>{try{window.localStorage.setItem(dC,String(m))}catch{}},[m]),(0,F.useEffect)(()=>{try{window.localStorage.setItem(fC,String(v))}catch{}},[v]),(0,F.useEffect)(()=>{fetch(`/api/revisions`).then(e=>e.ok?e.json():null).then(e=>{ee(e),e?.resolvedBase&&Jt(ae.current)!==`merge-base`&&L(t=>t||e.resolvedBase||``),e?.resolvedTarget&&z(t=>t||e.resolvedTarget||``)}).catch(()=>ee(null))},[]);let Bt=(0,F.useCallback)(async e=>{Xt(e,te)||(ie.current=!0,oe.current=e,ne(e),l(!0),d(null),await zt(e))},[zt,te]),Vt=(0,F.useRef)(!1);(0,F.useEffect)(()=>{e?.clearComments&&!Vt.current&&(Vt.current=!0,Fe.current=!0,Ce({resetAppliedCommentImportIds:!0}),He(),console.log(`✅ All existing comments and viewed files cleared as requested via --clean flag`))},[e?.clearComments,Ce,He]),(0,F.useEffect)(()=>{if(!De||!he||ke===De||Me.current===De)return;let e=Fe.current;Fe.current=!1,Me.current=De;let t=!1;return(async()=>{try{let n=await Ie(),r=e?n:Kt(n,ge).threads;if(t)return;Ne.current=!0,_e(r),!e&&JSON.stringify(n)!==JSON.stringify(r)&&await Le(r)}catch(e){t||console.error(`Failed to bootstrap comments from server:`,e)}finally{t||Ae(De),Me.current===De&&(Me.current=null)}})(),()=>{t=!0,Me.current===De&&(Me.current=null)}},[ke,De,Ie,he,_e,Le,ge]),(0,F.useEffect)(()=>{e&&(V.size<e.files.length?T(!1):V.size===e.files.length&&!w&&(C(!0),T(!0),setTimeout(()=>{C(!1)},1e3)))},[V.size,e,w]),(0,F.useEffect)(()=>{if(!je)return;let e=JSON.stringify({threads:ge,baseVersion:Pe.current??void 0}),t=B(`/api/comments`),n=()=>{navigator.sendBeacon(t,e)};return window.addEventListener(`beforeunload`,n),Ne.current?(Ne.current=!1,()=>{window.removeEventListener(`beforeunload`,n)}):(Le(ge).catch(e=>{console.error(`Failed to sync comments:`,e)}),()=>{window.removeEventListener(`beforeunload`,n)})},[B,je,Le,ge]),(0,F.useEffect)(()=>{let e=new EventSource(bS(`/api/heartbeat`));return e.onopen=()=>{console.log(`Connected to server heartbeat`)},e.onerror=()=>{console.log(`Server connection lost`),e.close()},()=>{e.close()}},[]);let Ht=(0,F.useCallback)((e,t,n,r,i)=>(ve({filePath:e,body:n,side:i||`new`,line:typeof t==`number`?t:{start:t[0],end:t[1]},codeSnapshot:r===void 0?void 0:{content:r,language:void 0}}),Promise.resolve()),[ve]),Ut=async()=>{try{await nn(Te()),p(!0),setTimeout(()=>p(!1),2e3)}catch(e){console.error(`Failed to copy all comments prompt:`,e)}},Wt=(0,F.useCallback)((e,t)=>(ye({threadId:e,body:t}),Promise.resolve()),[ye]),Gt=t=>{if(!e)return;let n=eC(t,e.files);n&&Mt(n)},qt=(0,F.useCallback)(async(e,t)=>{try{let n=await fetch(`/api/open-in-editor`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e,line:t,editor:de.editor})});if(!n.ok){let e=await n.json().catch(()=>null),t=n.statusText;e&&typeof e==`object`&&`error`in e&&typeof e.error==`string`&&(t=e.error),console.error(`Failed to open file in editor:`,t)}}catch(e){console.error(`Failed to open file in editor:`,e)}},[de.editor]),$t=e=>{Mt(null);let t=e.target,n=t.closest(`[data-comment-button="true"]`),r=t.closest(`[data-open-in-editor-button="true"]`),i=e.shiftKey&&t.closest(`[data-diff-line-row="true"]`);!n&&!r&&!i&&tn(e)},tn=e=>{document.querySelectorAll(`form[data-empty="true"]`).forEach(t=>{t.contains(e.target)||t.querySelector(`[data-comment-cancel="true"]`)?.click()})};if(c)return(0,I.jsx)(`div`,{className:`flex items-center justify-center h-screen bg-github-bg-primary`,children:(0,I.jsx)(`div`,{className:`text-github-text-secondary text-base`,children:`Loading diff...`})});if(u)return(0,I.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-screen bg-github-bg-primary text-center gap-2`,children:[(0,I.jsx)(`h2`,{className:`text-github-danger text-2xl mb-2`,children:`Error`}),(0,I.jsx)(`p`,{className:`text-github-text-secondary text-base`,children:u})]});if(!e)return(0,I.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-screen bg-github-bg-primary text-center gap-2`,children:[(0,I.jsx)(`h2`,{className:`text-github-danger text-2xl mb-2`,children:`No data`}),(0,I.jsx)(`p`,{className:`text-github-text-secondary text-base`,children:`No diff data available`})]});let rn=e.openInEditorAvailable!==!1&&de.editor.id!==`none`&&de.editor.command.trim()!==``&&de.editor.argsTemplate.trim()!==``;return(0,I.jsx)(af,{children:(0,I.jsxs)(`div`,{className:`h-screen flex flex-col`,onClickCapture:$t,children:[(0,I.jsxs)(`header`,{className:`bg-github-bg-secondary border-b border-github-border flex ${pe?`flex-col`:`flex-row items-center`}`,children:[(0,I.jsxs)(`div`,{className:`flex items-center justify-between w-full ${pe?`px-3 py-2 gap-3`:`px-4 py-3 gap-4 w-auto`} ${b?``:`!transition-all !duration-300 !ease-in-out`}`,style:{width:pe?`100%`:v?`${m}px`:`auto`,minWidth:pe?`0px`:v?`200px`:`auto`,maxWidth:pe?`none`:v?`600px`:`none`},children:[(0,I.jsx)(`h1`,{children:(0,I.jsx)(px,{style:{height:`18px`,color:`var(--color-github-text-secondary)`}})}),(0,I.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,I.jsx)(`button`,{onClick:()=>y(!v),className:`p-2 text-github-text-secondary hover:text-github-text-primary hover:bg-github-bg-tertiary rounded transition-colors`,title:v?`Collapse file tree`:`Expand file tree`,"aria-expanded":v,"aria-controls":`file-tree-panel`,"aria-label":`Toggle file tree panel`,children:v?(0,I.jsx)(ut,{size:18}):(0,I.jsx)(dt,{size:18})}),(0,I.jsx)(`button`,{onClick:()=>_(!0),className:`p-2 text-github-text-secondary hover:text-github-text-primary hover:bg-github-bg-tertiary rounded transition-colors`,title:`Settings`,children:(0,I.jsx)(ht,{size:18})})]})]}),!pe&&(0,I.jsx)(`div`,{className:`border-r border-github-border ${b?``:`!transition-all !duration-300 !ease-in-out`}`,style:{width:v?`4px`:`0px`,height:`calc(100% - 16px)`,margin:`8px 0`,transform:`translateX(-2px)`}}),(0,I.jsxs)(`div`,{className:`flex-1 flex flex-wrap items-center justify-between ${pe?`px-3 pb-2 gap-3`:`px-4 py-3 gap-4`}`,children:[(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center ${pe?`gap-2`:`gap-3`}`,children:[!pe&&(0,I.jsxs)(`div`,{className:`flex bg-github-bg-tertiary border border-github-border rounded-md p-1`,children:[(0,I.jsxs)(`button`,{onClick:()=>tt(`split`),className:`px-3 py-1.5 text-xs font-medium rounded transition-all duration-200 flex items-center gap-1.5 cursor-pointer ${i===`split`?`bg-github-bg-primary text-github-text-primary shadow-sm`:`text-github-text-secondary hover:text-github-text-primary`}`,children:[(0,I.jsx)(qe,{size:14}),`Split`]}),(0,I.jsxs)(`button`,{onClick:()=>tt(`unified`),className:`px-3 py-1.5 text-xs font-medium rounded transition-all duration-200 flex items-center gap-1.5 cursor-pointer ${i===`unified`?`bg-github-bg-primary text-github-text-primary shadow-sm`:`text-github-text-secondary hover:text-github-text-primary`}`,children:[(0,I.jsx)(_t,{size:14}),`Unified`]})]}),(0,I.jsx)(Qt,{checked:o,onChange:s,label:`Ignore Whitespace`,title:o?`Show whitespace changes`:`Ignore whitespace changes`}),(0,I.jsx)(mx,{shouldReload:Tt,isReloading:Dt.isReloading,onReload:Et,changeType:Dt.lastChangeType,compact:pe})]}),(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center text-sm text-github-text-secondary ${pe?`gap-3`:`gap-4`}`,children:[!pe&&ge.length>0&&(0,I.jsx)(en,{commentsCount:ge.length,isCopiedAll:f,onCopyAll:Ut,onDeleteAll:Ce,onViewAll:()=>D(!0)}),(0,I.jsxs)(`div`,{className:`flex flex-col gap-1 items-center`,children:[(0,I.jsxs)(`div`,{className:`text-xs relative`,children:[V.size===e.files.length?`All diffs difit-ed!`:`${V.size} / ${e.files.length} files viewed`,(0,I.jsx)(qx,{isActive:S})]}),(0,I.jsx)(`div`,{className:`relative h-2 bg-github-bg-tertiary rounded-full overflow-hidden`,style:{width:`90px`,border:`1px solid var(--color-github-border)`},children:(0,I.jsx)(`div`,{className:`absolute top-0 right-0 h-full transition-all duration-300 ease-out`,style:{width:`${(e.files.length-V.size)/e.files.length*100}%`,backgroundColor:(()=>{let t=(e.files.length-V.size)/e.files.length*100;return t>50?`var(--color-github-accent)`:t>20?`var(--color-github-warning)`:`var(--color-github-danger)`})()}})})]}),P?(0,I.jsx)(Rv,{options:P,selection:te,resolvedBaseRevision:re,resolvedTargetRevision:R,onSelectDiff:e=>void Bt(e),onOpenAdvanced:()=>k(!0),compact:!me}):(0,I.jsxs)(`span`,{className:`text-xs`,children:[`Reviewing:`,` `,(0,I.jsx)(`code`,{className:`bg-github-bg-tertiary px-1.5 py-0.5 rounded text-xs text-github-text-primary`,children:e.commit.includes(`...`)?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(`span`,{className:`text-github-text-secondary font-medium`,children:[e.commit.split(`...`)[0],`...`]}),(0,I.jsx)(`span`,{className:`font-medium`,children:e.commit.split(`...`)[1]})]}):e.commit})]})]})]})]}),P&&(0,I.jsx)(vx,{isOpen:O,onClose:()=>k(!1),options:P,selection:te,resolvedBaseRevision:re,resolvedTargetRevision:R,onApply:e=>void Bt(e)},O?Zt(te):`closed`),pe&&v&&(0,I.jsx)(`button`,{type:`button`,"aria-label":`Close file tree`,className:`fixed inset-0 bg-black/40 z-30`,onClick:()=>y(!1)}),(0,I.jsxs)(`div`,{className:`flex flex-1 overflow-hidden relative`,children:[(0,I.jsx)(`div`,{className:`relative overflow-hidden ${b?``:`!transition-all !duration-300 !ease-in-out`}`,style:{width:pe?`0px`:v?`${m}px`:`0px`},children:(0,I.jsxs)(`aside`,{id:`file-tree-panel`,className:`bg-github-bg-secondary overflow-y-auto flex flex-col ${pe?`fixed inset-y-0 right-0 z-40 w-[min(85vw,360px)] border-l border-github-border transition-transform duration-300 ease-out`:`relative border-r border-github-border`}`,style:{width:pe?`min(85vw, 360px)`:`${m}px`,minWidth:pe?`0px`:`200px`,maxWidth:pe?`none`:`600px`,height:`100%`,transform:pe?v?`translateX(0)`:`translateX(100%)`:void 0},children:[(0,I.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,I.jsx)(ux,{files:e.files,onScrollToFile:Je,onFileSelected:pe?et:void 0,comments:yt,reviewedFiles:V,onToggleReviewed:Xe,onToggleFolderReviewed:Ze,selectedFileIndex:kt?.fileIndex??null})}),!pe&&(0,I.jsxs)(`div`,{className:`p-4 border-t border-github-border flex justify-between items-center`,children:[(0,I.jsxs)(`button`,{onClick:()=>jt(!0),className:`flex items-center gap-1.5 text-github-text-secondary hover:text-github-text-primary transition-colors`,title:`Keyboard shortcuts (Shift+?)`,children:[(0,I.jsx)(at,{size:16}),(0,I.jsx)(`span`,{className:`text-sm`,children:`Shortcuts`})]}),(0,I.jsxs)(`a`,{href:`https://github.com/yoshiko-pg/difit`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center gap-2 text-github-text-secondary hover:text-github-text-primary transition-colors`,title:`View on GitHub`,children:[(0,I.jsx)(`span`,{className:`text-sm`,children:`Star on GitHub`}),(0,I.jsx)(dx,{style:{height:`18px`,width:`18px`}})]})]})]})}),!pe&&(0,I.jsx)(`div`,{className:`bg-github-border hover:bg-github-text-muted cursor-col-resize ${b?``:`!transition-all !duration-300 !ease-in-out`}`,style:{width:v?`4px`:`0px`},onMouseDown:Rt,title:`Drag to resize file list`}),(0,I.jsx)(`main`,{ref:N,className:`flex-1 overflow-y-auto ${Ee?`pb-16`:``}`,children:e.files.map((t,r)=>{let a=xt.get(t.path)??cC,o=rC(ft,n,t.path)??lC,s=Ue.has(t.path);return(0,I.jsx)(`div`,{id:BS(t.path),"data-file-path":t.path,"data-rendered":s?`true`:`false`,ref:e=>Ke(t.path,e),className:`mb-6`,onMouseEnter:()=>{Ot.current=r},onMouseLeave:()=>{Ot.current===r&&(Ot.current=null)},children:s?(0,I.jsx)(nx,{file:t,threads:a,showAuthorBadges:bt,diffMode:i,reviewedFiles:V,isChangedSinceViewed:Re.has(t.path),onToggleReviewed:Pt,collapsedFiles:A,onToggleCollapsed:Qe,onToggleAllCollapsed:$e,onAddComment:Ht,onGenerateThreadPrompt:Lt,onRemoveThread:be,onReplyToThread:Wt,onRemoveMessage:xe,onUpdateMessage:Se,onOpenInEditor:rn?qt:void 0,syntaxTheme:de.syntaxTheme,baseCommitish:e.baseCommitish,targetCommitish:e.targetCommitish,cursor:kt?.fileIndex===r?kt:null,isFocused:kt?.fileIndex===r,fileIndex:r,onLineClick:Ft,commentTrigger:St?.fileIndex===r?St:null,onCommentTriggerHandled:It,mergedChunks:o,expandLines:rt,expandAllBetweenChunks:it,prefetchFileContent:ot,isExpandLoading:nt,diffVersion:n}):(0,I.jsx)(`div`,{className:`bg-github-bg-secondary border border-github-border rounded-md px-4 py-3`,children:(0,I.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsx)(`div`,{className:`text-xs uppercase tracking-wide text-github-text-muted`,children:`Deferred Rendering`}),(0,I.jsx)(`div`,{className:`text-sm font-mono text-github-text-primary truncate`,children:t.path})]}),(0,I.jsx)(`button`,{type:`button`,onClick:()=>We(t.path),className:`px-3 py-1.5 text-xs rounded border border-github-border text-github-text-secondary hover:text-github-text-primary hover:bg-github-bg-tertiary`,children:`Load now`})]})})},t.path)})})]}),Ee&&(0,I.jsx)(`div`,{className:`fixed bottom-0 left-0 right-0 z-20 bg-github-bg-secondary border-t border-github-border px-4 py-2 flex justify-end`,children:(0,I.jsx)(en,{commentsCount:ge.length,isCopiedAll:f,onCopyAll:Ut,onDeleteAll:Ce,onViewAll:()=>D(!0),direction:`up`,compact:!0})}),g&&(0,I.jsx)(Gx,{isOpen:g,onClose:()=>_(!1),settings:de,onSettingsChange:fe}),(0,I.jsx)(fx,{isOpen:At,onClose:()=>jt(!1)}),(0,I.jsx)(Wp,{isOpen:E,onClose:()=>D(!1),onNavigate:Gt,comments:yt,showAuthorBadges:bt,onRemoveThread:be,onGenerateThreadPrompt:Lt,onReplyToThread:Wt,onRemoveMessage:xe,onUpdateMessage:Se,syntaxTheme:de.syntaxTheme})]})})}var xC=document.getElementById(`root`);if(!xC)throw Error(`Root element not found`);ee.createRoot(xC).render((0,I.jsx)(F.StrictMode,{children:(0,I.jsx)(we,{initiallyActiveScopes:[`navigation`],children:(0,I.jsx)(bC,{})})}));export{o as n,l as r,sp as t};
|