@devframes/plugin-git--assets 1.2.3 → 1.2.5

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.
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,15065,e=>{"use strict";let t,n,r,o,i,a;var l,s,c,u=e.i(68865),d=e.i(12985);function f(...e){return e.filter(Boolean).join(" ")}function m({variant:e="primary",size:t="md",class:n}={}){return f({primary:"btn-primary",secondary:"btn-action",outline:"btn-action",ghost:"inline-flex items-center justify-center gap-1.5 rounded px2 py1 op75 hover:op100 hover:bg-active transition disabled:pointer-events-none disabled:op30!",destructive:"btn-action text-error border-error/30!",link:"inline-flex items-center gap-1.5 color-active hover:underline underline-offset-2"}[e],"sm"===t?"primary"===e?"text-sm px-2.5! py-1!":"text-sm":"lg"===t?"text-base px-4! py-2!":"",n)}let h={connecting:{label:"connecting…",dot:"bg-neutral-400 animate-pulse"},disconnected:{label:"disconnected",dot:"bg-error"},unauthorized:{label:"unauthorized",dot:"bg-warning"},error:{label:"error",dot:"bg-error"}},p={connecting:{icon:"i-ph-plugs-connected-duotone",title:"Connecting…",body:"Establishing a connection to the devframe server.",reloadable:!1,spin:!0},disconnected:{icon:"i-ph-plugs-duotone",title:"Disconnected",body:"Lost the connection to the devframe server. Reload once it is back up.",reloadable:!0,spin:!1},unauthorized:{icon:"i-ph-lock-key-duotone",title:"Not authorized",body:"This client isn’t authorized. Reopen the link printed by your dev server, then reload.",reloadable:!0,spin:!1},error:{icon:"i-ph-warning-octagon-duotone",title:"Connection failed",body:"Could not reach the devframe server.",reloadable:!0,spin:!1}};var g=e.i(71459);let b="rpc:is-trusted:updated",v="rpc:error",y="connection:status",x="connection:error",w="devframe:auth:revoked",k="devframe:rpc:cache:invalidate",j="devframe:rpc:client-state:updated",S="devframe:rpc:client-state:patch",E="devframe:streaming:chunk",N="devframe:streaming:end",_="devframe:streaming:upload-cancel",C="__connection.json",R="__DEVFRAME_CONNECTION__",$="devframe_otp",T="devframe_auth_token",P=function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[" _-,;:!?.'\"()[]{}@*/\\&#%`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e}();function z(e,t){if(e===t)return 0;let n=Math.min(e.length,t.length),r=0;for(let o=0;o<n;o++){let n=e.charCodeAt(o),i=t.charCodeAt(o);if(n===i)continue;let a=n<128&&P[n]?P[n]:n+128,l=i<128&&P[i]?P[i]:i+128;if(a!==l)return a<l?-1:1;0===r&&(r=n>i?-1:1)}return e.length!==t.length?e.length<t.length?-1:1:r}let A=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return"string"===n&&"string"===r?z(e,t):"number"===n&&"number"===r?e-t:z(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(null===e)return"null";switch(typeof e){case"string":return t?e:`'${e}'`;case"bigint":return`${e}n`;case"object":return this.$object(e);case"function":return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if("[object Object]"!==t)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||void 0===n?"":n.name;if(""!==r&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if("toJSON"in e&&"function"==typeof e.toJSON){let t=e.toJSON();return r+(null!==t&&"object"==typeof t?this.$object(t):`(${this.serialize(t)})`)}let o=Object.keys(e).sort(z),i=`${r}{`;for(let t=0;t<o.length;t++){let n=o[t];i+=`${n}:${this.serialize(e[n])}`,t<o.length-1&&(i+=",")}return i+"}"}serializeBuiltInType(e,t){let n=this["$"+e];if(n)return n.call(this,t);if("function"==typeof t.entries)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,o]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(o)}`,e<n.length-1&&(r+=",")}return r+"}"}$object(e){let t=this.#e.get(e);return void 0===t&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return"[native code] }"===t.slice(-15)?`${e.name||""}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,"")}`}$Array(e){let t="[";for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=",");return t+"]"}$Date(e){try{return`Date(${e.toISOString()})`}catch{return"Date(null)"}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(",")}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries("Map",e.entries())}}for(let t of["Error","RegExp","URL"])e.prototype["$"+t]=function(e){return`${t}(${e})`};for(let t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+t]=function(e){return`${t}[${e.join(",")}]`};for(let t of["BigInt64Array","BigUint64Array"])e.prototype["$"+t]=function(e){return`${t}[${e.join("n,")}${e.length>0?"n":""}]`};return e}(),L=[0x6a09e667,-0x4498517b,0x3c6ef372,-0x5ab00ac6,0x510e527f,-0x64fa9774,0x1f83d9ab,0x5be0cd19],O=[0x428a2f98,0x71374491,-0x4a3f0431,-0x164a245b,0x3956c25b,0x59f111f1,-0x6dc07d5c,-0x54e3a12b,-0x27f85568,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,-0x7f214e02,-0x6423f959,-0x3e640e8c,-0x1b64963f,-0x1041b87a,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,-0x67c1aeae,-0x57ce3993,-0x4ffcd838,-0x40a68039,-0x391ff40d,-0x2a586eb9,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,-0x7e3d36d2,-0x6d8dd37b,-0x5d40175f,-0x57e599b5,-0x3db47490,-0x3893ae5d,-0x2e6d17e7,-0x2966f9dc,-0xbf1ca7b,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,-0x7b3787ec,-0x7338fdf8,-0x6f410006,-0x5baf9315,-0x41065c09,-0x398e870e],M=[];var D=class{_data=new I;_hash=new I([...L]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=8*this._nDataBytes,n=8*this._data.sigBytes;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/0x100000000),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=4*this._data.words.length,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],o=n[1],i=n[2],a=n[3],l=n[4],s=n[5],c=n[6],u=n[7];for(let n=0;n<64;n++){if(n<16)M[n]=0|e[t+n];else{let e=M[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=M[n-2],o=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;M[n]=t+M[n-7]+o+M[n-16]}let d=l&s^~l&c,f=r&o^r&i^o&i,m=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),h=u+((l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25))+d+O[n]+M[n],p=m+f;u=c,c=s,s=l,l=a+h|0,a=i,i=o,o=r,r=h+p|0}n[0]=n[0]+r|0,n[1]=n[1]+o|0,n[2]=n[2]+i|0,n[3]=n[3]+a|0,n[4]=n[4]+l|0,n[5]=n[5]+s|0,n[6]=n[6]+c|0,n[7]=n[7]+u|0}_append(e){"string"==typeof e&&(e=I.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64,r=16*(n=e?Math.ceil(n):Math.max((0|n)-this._minBufferSize,0)),o=Math.min(4*r,this._data.sigBytes);if(r){for(let e=0;e<r;e+=16)this._doProcessBlock(this._data.words,e);t=this._data.words.splice(0,r),this._data.sigBytes-=o}return new I(t,o)}},I=class e{words;sigBytes;constructor(e,t){e=this.words=e||[],this.sigBytes=void 0===t?4*e.length:t}static fromUtf8(t){let n=unescape(encodeURIComponent(t)),r=n.length,o=[];for(let e=0;e<r;e++)o[e>>>2]|=(255&n.charCodeAt(e))<<24-e%4*8;return new e(o,r)}toBase64(){let e=[];for(let t=0;t<this.sigBytes;t+=3){let n=(this.words[t>>>2]>>>24-t%4*8&255)<<16|(this.words[t+1>>>2]>>>24-(t+1)%4*8&255)<<8|this.words[t+2>>>2]>>>24-(t+2)%4*8&255;for(let r=0;r<4&&8*t+6*r<8*this.sigBytes;r++)e.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(n>>>6*(3-r)&63))}return e.join("")}concat(e){if(this.words[this.sigBytes>>>2]&=0xffffffff<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){let n=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function F(e){var t;return t="string"==typeof e?`'${e}'`:new A().serialize(e),new D().finalize(t).toBase64()}class W{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>F(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}has(e,t){return this.cacheMap.get(e)?.has(this.keySerializer(t))??!1}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}}function U(e,t){let n=`\x1b[${e}m`,r=`\x1b[${t}m`;return(e,...t)=>{if(Array.isArray(e)&&"raw"in e){let o="";for(let n=0;n<e.length;n++)o+=e[n],n<t.length&&(o+=String(t[n]));return`${n}${o}${r}`}return`${n}${String(e)}${r}`}}let B={blue:U(34,39),cyan:U(36,39),gray:U(90,39),green:U(32,39),red:U(31,39),yellow:U(33,39),bold:U(1,22),dim:U(2,22),reset:U(0,0),underline:U(4,24)};function q(e,...t){return"function"==typeof e?e(...t):e}let V=Error.captureStackTrace;var H=class e extends Error{name;code;docs;fix;sources;data;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.code=this.name=t.code,this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,this.data=t.data,V?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,data:this.data,stack:this.stack}}};let G=e=>{let t=`${B.bold(B.red(`[${e.name}]`))} ${e.message}`,n=[];return(e.fix&&n.push(`${B.dim("fix:")} ${e.fix}`),e.sources?.length&&n.push(`${B.dim("sources:")} ${e.sources.join(", ")}`),e.docs&&n.push(`${B.dim("see:")} ${B.cyan(e.docs)}`),0===n.length)?t:[t,...n.map((e,t)=>`${B.dim(t<n.length-1?"├▶":"╰▶")} ${e}`)].join("\n")},X=function(e){let t=e.reporters??[],n={},{docsBase:r}=e;for(let o of Object.keys(e.codes)){let i=e.codes[o],a=!1===i.docs?void 0:i.docs||("string"==typeof r?`${r}/${o.toLowerCase()}`:r?.(o)),l=(e={},n={})=>{let r=new H({code:o,why:q(i.why,e),fix:q(i.fix,e),docs:a,cause:e.cause,sources:e.sources,data:q(i.data,e)},l);for(let e of t)e(r,n);return r};n[o]=l}return n}({...l={docsBase:"https://devfra.me/errors",codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is \`false\`; MCP requires JSON-serializable data.`,fix:"Remove `jsonSerializable: false`, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."},DF0043:{why:e=>`RPC function "${e.name}" received an invalid argument at position ${e.index}: ${e.issues}`,fix:"Pass a value that satisfies the `args` schema declared for this function."},DF0044:{why:e=>`RPC function "${e.name}" returned a value that failed its \`returns\` schema: ${e.issues}`,fix:"Make the handler return a value that satisfies the `returns` schema, or relax the schema."}}},reporters:[function(e,{method:t="warn"}={}){console[t](G(e))},...l.reporters??[]]});function J(e){if(e.agent&&!1===e.jsonSerializable)throw X.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function K(e,t){let n=e["~standard"].validate(t);return n instanceof Promise?await n:n}function Y(e){return e.map(e=>{let t=e.path?.map(e=>"object"==typeof e?e.key:e).join(".");return t?`${t}: ${e.message}`:e.message}).join("; ")}async function Z(e,t,n){let r=n.slice();if(!t||0===t.length)return r;for(let r=0;r<t.length;r++){let o=t[r];if(!o)continue;let i=await K(o,n[r]);if(i.issues)throw X.DF0043({name:e,index:r,issues:Y(i.issues)})}return r}async function Q(e,t,n){if(!t)return n;let r=await K(t,n);if(r.issues)throw X.DF0044({name:e,issues:Y(r.issues)});return n}async function ee(e,t){if(!e.setup)return{};if("object"==typeof t&&null!==t){e.__cache??=new WeakMap;let n=e.__cache,r=n.get(t);return r||((r=Promise.resolve(e.setup(t))).catch(()=>{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function et(e,t){let n=e.handler;if(!n){let r=await ee(e,t);if(!r.handler)throw X.DF0024({name:e.name});n=r.handler}let r=e.args,o=e.returns;if(!r&&!o)return n;let i=n;return async(...t)=>{let n=await Z(e.name,r,t),a=await i(...n);return await Q(e.name,o,a)}}class en{context;definitions;functions;_onChanged;constructor(e){this.context=e,this.definitions=new Map,this._onChanged=[];const t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let o=t.get(r);if(o)return et(o,n.context)},has:(e,n)=>t.has(n),getOwnPropertyDescriptor:(e,n)=>({value:t.get(n)?.handler,configurable:!0,enumerable:!0}),ownKeys:()=>Array.from(t.keys())})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw X.DF0021({name:e.name});J(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw X.DF0022({name:e.name});J(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);-1!==t&&this._onChanged.splice(t,1)}}async getHandler(e){return await et(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw X.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}}function er(){let e={};function t(n,...r){let o=e[n]||[];for(let e=0,t=o.length;e<t;e++){let t=o[e];t&&t(...r)}}function n(t,n){return(e[t]||=[]).push(n),()=>{e[t]=e[t]?.filter(e=>n!==e)}}return{_listeners:e,emit:t,emitOnce:function(n,...r){t(n,...r),delete e[n]},on:n,once:function(e,t){let r=n(e,(...e)=>(r(),t(...e)));return r}}}let eo=/^[\w+.-]{2,}:\/\//;function ei(e,t){if(!t||"/"===t||eo.test(e))return e;let n=(t.endsWith("/")?t.slice(0,-1):t)||"/";return e.startsWith(n)?e:function(e,...t){let n=e;for(let e of t)if(e&&"/"!==e){var r;n=n?((r=n).endsWith("/")?r:`${r}/`)+e.replace(/^\.?\//,""):e}return n}(n,e)}let ea="__DEVFRAME_CONNECTION_META__",el="__DEVFRAME_CONNECTION_AUTH_TOKEN__";function es(e){for(let t of[()=>window?.[e],()=>globalThis?.[e],()=>parent.window?.[e]])try{let e=t();if(e)return e}catch{}}function ec(e){if(e)return e;try{let e=localStorage.getItem(el);if(e)return e}catch{}return es(el)}function eu(e){globalThis[R]=e,globalThis[ea]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&ed(e.authToken)}function ed(e){try{localStorage.setItem(el,e)}catch{}globalThis[el]=e;let t=es(R);t&&(globalThis[R]={...t,authToken:e})}function ef(e){let t=ei(C,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function em(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}async function eh(e={}){if(e.connection){let t=em(e.connection,ec(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return eu(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??"./"];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:ef(t[0]??"./"),authToken:ec(e.authToken??e.connectionMeta.authToken)};return eu(n),n}let n=function(){let e=es(R);if(e)return em(e,ec()??e.authToken??e.connectionMeta.authToken);let t=es(ea);if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??ef("./"),authToken:ec(t.authToken)}}();if(n){let t=em(n,ec(e.authToken??n.authToken??n.connectionMeta.authToken));return eu(t),t}let r=[];for(let n of t){let t=ei(C,n),o=ef(n);try{let n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch connection meta from ${o}: ${n.status}`);let r=await n.json(),i=n.url||o,a={connectionMeta:r,metaBaseUrl:r.baseUrl?new URL(r.baseUrl,i).href:i,authToken:ec(e.authToken??r.authToken)};return eu(a),a}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(", ")}`,{cause:r})}class ep extends Error{name="DevframeConnectionError";kind;constructor(e,t,n){super(t,n),this.kind=e}}async function eg(e,t={}){let n=function(e=$){let t=function(e=$){try{let t=globalThis.location?.hash?.replace(/^#/,"")??"";return new URLSearchParams(t).get(e)||void 0}catch{return}}(e);return t&&function(e){try{let t=new URL(globalThis.location.href),n=new URLSearchParams(t.hash.replace(/^#/,""));if(!n.has(e))return;n.delete(e),t.hash=n.toString(),globalThis.history?.replaceState(globalThis.history.state,"",t.href)}catch{}}(e),t}(t.param??$);return!!n&&(!!e.isTrusted||e.requestTrustWithCode(n))}var eb=Symbol.for("immer-nothing"),ev=Symbol.for("immer-draftable"),ey=Symbol.for("immer-state");function ex(e){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ew=Object,ek=ew.getPrototypeOf,ej="constructor",eS="prototype",eE="configurable",eN="enumerable",e_="writable",eC="value",eR=e=>!!e&&!!e[ey];function e$(e){return!!e&&(ez(e)||eI(e)||!!e[ev]||!!e[ej]?.[ev]||eF(e)||eW(e))}var eT=ew[eS][ej].toString(),eP=new WeakMap;function ez(e){if(!e||!eU(e))return!1;let t=ek(e);if(null===t||t===ew[eS])return!0;let n=ew.hasOwnProperty.call(t,ej)&&t[ej];if(n===Object)return!0;if(!eB(n))return!1;let r=eP.get(n);return void 0===r&&(r=Function.toString.call(n),eP.set(n,r)),r===eT}function eA(e,t,n=!0){0===eL(e)?(n?Reflect.ownKeys(e):ew.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function eL(e){let t=e[ey];return t?t.type_:eI(e)?1:eF(e)?2:3*!!eW(e)}var eO=(e,t,n=eL(e))=>2===n?e.has(t):ew[eS].hasOwnProperty.call(e,t),eM=(e,t,n=eL(e))=>2===n?e.get(t):e[t],eD=(e,t,n,r=eL(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n},eI=Array.isArray,eF=e=>e instanceof Map,eW=e=>e instanceof Set,eU=e=>"object"==typeof e,eB=e=>"function"==typeof e,eq=e=>e.modified_?e.copy_:e.base_;function eV(e,t){if(eF(e))return new Map(e);if(eW(e))return new Set(e);if(eI(e))return Array[eS].slice.call(e);let n=ez(e);if(!0!==t&&("class_only"!==t||n)){let t=ek(e);if(null!==t&&n)return{...e};let r=ew.create(t);return ew.assign(r,e)}{let t=ew.getOwnPropertyDescriptors(e);delete t[ey];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let o=n[r],i=t[o];!1===i[e_]&&(i[e_]=!0,i[eE]=!0),(i.get||i.set)&&(t[o]={[eE]:!0,[e_]:!0,[eN]:i[eN],[eC]:e[o]})}return ew.create(ek(e),t)}}function eH(e,t=!1){return eX(e)||eR(e)||!e$(e)||(eL(e)>1&&ew.defineProperties(e,{set:eG,add:eG,clear:eG,delete:eG}),ew.freeze(e),t&&eA(e,(e,t)=>{eH(t,!0)},!1)),e}var eG={[eC]:function(){ex(2)}};function eX(e){return!(null!==e&&eU(e))||ew.isFrozen(e)}var eJ="MapSet",eK="Patches",eY="ArrayMethods",eZ={};function eQ(e){let t=eZ[e];return t||ex(0),t}var e0=e=>!!eZ[e];function e1(e,t){t&&(e.patchPlugin_=eQ(eK),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function e2(e){e4(e),e.drafts_.forEach(e3),e.drafts_=null}function e4(e){e===c&&(c=e.parent_)}var e5=e=>c={drafts_:[],parent_:c,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:e0(eJ)?eQ(eJ):void 0,arrayMethodsPlugin_:e0(eY)?eQ(eY):void 0};function e3(e){let t=e[ey];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function e6(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(void 0!==e&&e!==n){n[ey].modified_&&(e2(t),ex(4)),e$(e)&&(e=e8(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[ey].base_,e,t)}else e=e8(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&eH(t,n)}(t,e,!0),e2(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==eb?e:void 0}function e8(e,t){if(eX(t))return t;let n=t[ey];if(!n)return tr(t,e.handledSet_,e);if(!e9(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);tn(n,e)}return n.copy_}function e7(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var e9=(e,t)=>e.scope_===t,te=[];function tt(e,t,n,r){let o=e.copy_||e.base_,i=e.type_;if(void 0!==r&&eM(o,r,i)===t)return void eD(o,r,n,i);if(!e.draftLocations_){let t=e.draftLocations_=new Map;eA(o,(e,n)=>{if(eR(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}for(let r of e.draftLocations_.get(t)??te)eD(o,r,n,i)}function tn(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}e7(e)}}function tr(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||eR(e)||t.has(e)||!e$(e)||eX(e)||(t.add(e),eA(e,(r,o)=>{if(eR(o)){let t=o[ey];e9(t,n)&&(eD(e,r,eq(t),e.type_),e7(t))}else e$(o)&&tr(o,t,n)})),e}var to={get(e,t){var n,r,o,i;let a;if(t===ey)return e;let l=e.scope_.arrayMethodsPlugin_,s=1===e.type_&&"string"==typeof t;if(s&&l?.isArrayOperationMethod(t))return l.createMethodInterceptor(e,t);let c=e.copy_||e.base_;if(!eO(c,t,e.type_)){let r;return n=e,(r=tl(c,t))?eC in r?r[eC]:r.get?.call(n.draft_):void 0}let u=c[t];if(e.finalized_||!e$(u)||s&&e.operationMethod&&l?.isMutatingArrayMethod(e.operationMethod)&&Number.isInteger(a=+t)&&String(a)===t)return u;if(u===ta(e.base_,t)||(r=e,o=t,i=u,!(1!==r.type_||!r.allIndicesReassigned_||r.assigned_?.get(o))&&e$(i)&&!i[ey]&&r.baseRefs_.has(i))){tc(e);let n=1===e.type_?+t:t,r=td(e.scope_,u,e,n);return e.copy_[n]=r}return u},has:(e,t)=>t in(e.copy_||e.base_),ownKeys:e=>Reflect.ownKeys(e.copy_||e.base_),set(e,t,n){let r=tl(e.copy_||e.base_,t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=ta(e.copy_||e.base_,t),o=r?.[ey];if(o&&o.base_===n)return e.copy_[t]=n,e.assigned_.delete(t),!0;if((n===r?0!==n||1/n==1/r:n!=n&&r!=r)&&(void 0!==n||eO(e.base_,t,e.type_)))return!0;tc(e),ts(e)}return!!(e.copy_[t]===n&&(void 0!==n||eO(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t]))||(e.copy_[t]=n,e.assigned_.set(t,!0),!function(e,t,n){let{scope_:r}=e;if(eR(n)){let o=n[ey];e9(o,r)&&o.callbacks_.push(function(){tc(e),tt(e,n,eq(o),t)})}else e$(n)&&e.callbacks_.push(function(){let o=e.copy_||e.base_;3===e.type_?o.has(n)&&tr(n,r.handledSet_,r):eM(o,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&tr(eM(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n),!0)},deleteProperty:(e,t)=>(tc(e),void 0!==ta(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),ts(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){let n=e.copy_||e.base_,r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[e_]:!0,[eE]:1!==e.type_||"length"!==t,[eN]:r[eN],[eC]:n[t]}:r},defineProperty(){ex(11)},getPrototypeOf:e=>ek(e.base_),setPrototypeOf(){ex(12)}},ti={};for(let e in to){let t=to[e];ti[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function ta(e,t){let n=e[ey];return(n?n.copy_||n.base_:e)[t]}function tl(e,t){if(!(t in e))return;let n=ek(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=ek(n)}}function ts(e){!e.modified_&&(e.modified_=!0,e.parent_&&ts(e.parent_))}function tc(e){e.copy_||(e.assigned_=new Map,e.copy_=eV(e.base_,e.scope_.immer_.useStrictShallowCopy_))}ti.deleteProperty=function(e,t){return ti.set.call(this,e,t,void 0)},ti.set=function(e,t,n){return to.set.call(this,e[0],t,n,e[0])};var tu=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{let r;if(eB(e)&&!eB(t)){let n=t;t=e;let r=this;return function(e=n,...o){return r.produce(e,e=>t.call(this,e,...o))}}if(eB(t)||ex(6),void 0===n||eB(n)||ex(7),e$(e)){let o=e5(this),i=td(o,e,void 0),a=!0;try{r=t(i),a=!1}finally{a?e2(o):e4(o)}return e1(o,n),e6(r,o)}if(e&&eU(e))ex(1);else{if(void 0===(r=t(e))&&(r=e),r===eb&&(r=void 0),this.autoFreeze_&&eH(r,!0),n){let t=[],o=[];eQ(eK).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:o}),n(t,o)}return r}},this.produceWithPatches=(e,t)=>{let n,r;return eB(e)?(t,...n)=>this.produceWithPatches(t,t=>e(t,...n)):[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},(e=>"boolean"==typeof e)(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),(e=>"boolean"==typeof e)(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),(e=>"boolean"==typeof e)(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){var t;e$(e)||ex(8),eR(e)&&(eR(t=e)||ex(10),e=function e(t){let n;if(!e$(t)||eX(t))return t;let r=t[ey],o=!0;if(r){if(!r.modified_)return r.base_;r.finalized_=!0,n=eV(t,r.scope_.immer_.useStrictShallowCopy_),o=r.scope_.immer_.shouldUseStrictIteration()}else n=eV(t,!0);return eA(n,(t,r)=>{eD(n,t,e(r))},o),r&&(r.finalized_=!1),n}(t));let n=e5(this),r=td(n,e,void 0);return r[ey].isManual_=!0,e4(n),r}finishDraft(e,t){let n=e&&e[ey];n&&n.isManual_||ex(9);let{scope_:r}=n;return e1(r,t),e6(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=eQ(eK).applyPatches_;return eR(e)?r(e,t):this.produce(e,e=>r(e,t))}};function td(e,t,n,r){let[o,i]=eF(t)?eQ(eJ).proxyMap_(t,n):eW(t)?eQ(eJ).proxySet_(t,n):function(e,t){let n=eI(e),r={type_:+!!n,scope_:t?t.scope_:c,modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},o=r,i=to;n&&(o=[r],i=ti);let{revoke:a,proxy:l}=Proxy.revocable(o,i);return r.draft_=l,r.revoke_=a,[l,r]}(t,n);if((n?.scope_??c).drafts_.push(o),i.callbacks_=n?.callbacks_??[],i.key_=r,n&&void 0!==r)n.callbacks_.push(function(e){if(!i||!e9(i,e))return;e.mapSetPlugin_?.fixSetContents(i);let t=eq(i);tt(n,i.draft_??i,t,r),tn(i,e)});else i.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(i);let{patchPlugin_:t}=e;i.modified_&&t&&t.generatePatches_(i,[],e)});return o}function tf(){let e="replace",t="remove";function n(e){if(!e$(e))return e;if(eI(e))return e.map(n);if(eF(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,n(t)]));if(eW(e))return new Set(Array.from(e).map(n));let t=Object.create(ek(e));for(let r in e)t[r]=n(e[r]);return eO(e,ev)&&(t[ev]=e[ev]),t}function r(e){return eR(e)?n(e):e}eZ[eK]||(eZ[eK]={applyPatches_:function(r,o){return o.forEach(o=>{let{path:i,op:a}=o,l=r;for(let e=0;e<i.length-1;e++){let t=eL(l),n=i[e];"string"!=typeof n&&"number"!=typeof n&&(n=""+n),(0===t||1===t)&&("__proto__"===n||n===ej)&&ex(19),eB(l)&&n===eS&&ex(19),null!==(l=eM(l,n))&&eU(l)||ex(18,i.join("/"))}let s=eL(l),c=n(o.value),u=i[i.length-1];switch(a){case e:switch(s){case 2:return l.set(u,c);case 3:ex(16);default:return l[u]=c}case"add":switch(s){case 1:return"-"===u?l.push(c):l.splice(u,0,c);case 2:return l.set(u,c);case 3:return l.add(c);default:return l[u]=c}case t:switch(s){case 1:return l.splice(u,1);case 2:return l.delete(u);case 3:return l.delete(o.value);default:return delete l[u]}default:ex(17)}}),r},generatePatches_:function(n,o,i){if(n.scope_.processedForPatches_.has(n))return;n.scope_.processedForPatches_.add(n);let{patches_:a,inversePatches_:l}=i;switch(n.type_){case 0:case 2:return function(n,o,i,a){let{base_:l,copy_:s,type_:c}=n;eA(n.assigned_,(n,u)=>{let d=eM(l,n,c),f=eM(s,n,c),m=u?eO(l,n)?e:"add":t;if(d===f&&m===e)return;let h=o.concat(n);i.push(m===t?{op:m,path:h}:{op:m,path:h,value:r(f)}),a.push("add"===m?{op:t,path:h}:m===t?{op:"add",path:h,value:r(d)}:{op:e,path:h,value:r(d)})})}(n,o,a,l);case 1:return function(n,o,i,a){let{base_:l,assigned_:s}=n,c=n.copy_;c.length<l.length&&([l,c]=[c,l],[i,a]=[a,i]);let u=!0===n.allIndicesReassigned_;for(let t=0;t<l.length;t++){let n=c[t],d=l[t];if((u||s?.get(t.toString()))&&n!==d){let l=n?.[ey];if(l&&l.modified_)continue;let s=o.concat([t]);i.push({op:e,path:s,value:r(n)}),a.push({op:e,path:s,value:r(d)})}}for(let e=l.length;e<c.length;e++){let t=o.concat([e]);i.push({op:"add",path:t,value:r(c[e])})}for(let e=c.length-1;l.length<=e;--e){let n=o.concat([e]);a.push({op:t,path:n})}}(n,o,a,l);case 3:return function(e,n,r,o){let{base_:i,copy_:a}=e,l=0;i.forEach(e=>{if(!a.has(e)){let i=n.concat([l]);r.push({op:t,path:i,value:e}),o.unshift({op:"add",path:i,value:e})}l++}),l=0,a.forEach(e=>{if(!i.has(e)){let i=n.concat([l]);r.push({op:"add",path:i,value:e}),o.unshift({op:t,path:i,value:e})}l++})}(n,o,a,l)}},generateReplacementPatches_:function(t,n,r){let{patches_:o,inversePatches_:i}=r;o.push({op:e,path:[],value:n===eb?void 0:n}),i.push({op:e,path:[],value:t})},getPath:function e(t,n=[]){if(void 0!==t.key_){var r;let e,o=t.parent_.copy_??t.parent_.base_,i=eU(r=eM(o,t.key_))?r?.[ey]:null,a=eM(o,t.key_);if(void 0===a||a!==t.draft_&&a!==t.base_&&a!==t.copy_||null!=i&&i.base_!==t.base_)return null;let l=3===t.parent_.type_;if(e=l?Array.from(t.parent_.drafts_.keys()).indexOf(t.key_):t.key_,!(l&&o.size>e||eO(o,e)))return null;n.push(e)}if(t.parent_)return e(t.parent_,n);n.reverse();try{var o=t.copy_,i=n;let e=o;for(let t=0;t<i.length-1;t++)if(!eU(e=eM(e,i[t]))||null===e)throw Error(`Cannot resolve path at '${i.join("/")}'`)}catch(e){return null}return n}})}var tm=globalThis.Iterator;tm?.from;var th=new tu,tp=th.produce,tg=th.produceWithPatches.bind(th),tb=th.applyPatches.bind(th),tv=e.i(21383);function ty(e,t){if(e.add(t),e.size>1e3){let t=e.values().next().value;void 0!==t&&e.delete(t)}}let tx="object"==typeof self?self:globalThis,tw=new Set(["Error","EvalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError","AggregateError"]),tk=new Set(["Boolean","Number","String","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float16Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"]);function tj(e){var t;let n,r;return(t=new Map,n=(e,n)=>(t.set(n,e),e),r=o=>{if(t.has(o))return t.get(o);let[i,a]=e[o];switch(i){case 0:case -1:return n(a,o);case 1:{let e=n([],o);for(let t of a)e.push(r(t));return e}case 2:{let e=n({},o);for(let[t,n]of a)e[r(t)]=r(n);return e}case 3:return n(new Date(a),o);case 4:{let{source:e,flags:t}=a;return n(new RegExp(e,t),o)}case 5:{let e=n(new Map,o);for(let[t,n]of a)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,o);for(let t of a)e.add(r(t));return e}case 7:{let{name:e,message:t}=a;return n(new((tw.has(e)?tx[e]:void 0)??tx.Error)(t),o)}case 8:return n(BigInt(a),o);case"BigInt":return n(Object(BigInt(a)),o);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{let{buffer:e}=new Uint8Array(a);return n(new DataView(e),a)}}if("string"==typeof i&&tk.has(i))return n(new tx[i](a),o);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(i)}`)})(0)}let{toString:tS}={},{keys:tE}=Object;function tN(e){let t=typeof e;if("object"!==t||!e)return[0,t];let n=tS.call(e).slice(8,-1);switch(n){case"Array":return[1,""];case"Object":return[2,""];case"Date":return[3,""];case"RegExp":return[4,""];case"Map":return[5,""];case"Set":return[6,""];case"DataView":return[1,n]}return n.includes("Array")?[1,n]:n.includes("Error")?[7,n]:[2,n]}function t_([e,t]){return 0===e&&("function"===t||"symbol"===t)}let{parse:tC,stringify:tR}=JSON,t$={json:!0,lossy:!0};function tT(e,t,n,r){var o,i;let a=(o=n,i=r,Array.isArray(o)?`[${i}]`:""===i?"<root>":i);return X.DF0020({name:e||"<anonymous>",type:t,path:a})}let tP=new Map;function tz(e=tP){let t=new Map;return{serialize:n=>{let r;return("q"===n.t?r=n.m:(r=t.get(n.i),t.delete(n.i)),!("s"===n.t&&"e"in n)&&r&&e.get(r)?.jsonSerializable===!0)?function(e,t=""){return JSON.stringify(e,function(e,n){let r=null!=this?this[e]:n;if(void 0===r){if(Array.isArray(this))throw tT(t,"undefined",this,e);return n}return null!==r&&function(e,t,n,r){if("bigint"==typeof e)throw tT(r,"BigInt",t,n);if("object"!=typeof e)return;if(e instanceof Map)throw tT(r,"Map",t,n);if(e instanceof Set)throw tT(r,"Set",t,n);if(e instanceof Date)throw tT(r,"Date",t,n);if(Array.isArray(e))return;let o=Object.getPrototypeOf(e);if(null!==o&&o!==Object.prototype)throw tT(r,e.constructor?.name??"class instance",t,n)}(r,this,e,t),n})}(n,r??""):`s:${tR(function(e,t={}){var n,r,o;let i,a,l=[];return(n=!(t.json||t.lossy),r=!!t.json,o=new Map,i=(e,t)=>{let n=l.push(e)-1;return o.set(t,n),n},a=e=>{if(o.has(e))return o.get(e);let[t,l]=tN(e);switch(t){case 0:{let r=e;switch(l){case"bigint":t=8,r=e.toString();break;case"function":case"symbol":if(n)throw TypeError(`unable to serialize ${l}`);r=null;break;case"undefined":return i([-1],e)}return i([t,r],e)}case 1:{if(l){let t=e;return"DataView"===l?t=new Uint8Array(e.buffer):"ArrayBuffer"===l&&(t=new Uint8Array(e)),i([l,[...t]],e)}let n=[],r=i([t,n],e);for(let t of e)n.push(a(t));return r}case 2:{if(l)switch(l){case"BigInt":return i([l,e.toString()],e);case"Boolean":case"Number":case"String":return i([l,e.valueOf()],e)}if(r&&"toJSON"in e)return a(e.toJSON());let o=[],s=i([t,o],e);for(let t of tE(e))(n||!t_(tN(e[t])))&&o.push([a(t),a(e[t])]);return s}case 3:return i([t,e.toISOString()],e);case 4:{let{source:n,flags:r}=e;return i([t,{source:n,flags:r}],e)}case 5:{let r=[],o=i([t,r],e);for(let[t,o]of e)(n||!(t_(tN(t))||t_(tN(o))))&&r.push([a(t),a(o)]);return o}case 6:{let r=[],o=i([t,r],e);for(let t of e)(n||!t_(tN(t)))&&r.push(a(t));return o}}let{message:s}=e;return i([t,{name:l,message:s}],e)})(e),l}(n,t$))}`},deserialize:e=>{let n=e.startsWith("s:")?tj(tC(e.slice(2))):JSON.parse(e);return"q"===n.t&&n.i&&n.m&&t.set(n.i,n.m),n}}}function tA(){}let tL=Math.random.bind(Math),tO=e=>e,{clearTimeout:tM,setTimeout:tD}=globalThis;function tI(e){let{transport:t,authToken:n,connectionMeta:r,events:o,clientRpc:i,rpcOptions:a={},callTimeout:l=0}=e,s=!1,c="connecting",u=null,d=Promise.withResolvers();function f(e,t=null){if(t?u=t:"connected"===e&&(u=null),e===c)return;let n=c;c=e,o.emit(y,e,n)}let m=new Set;function h(e){for(let t of[...m])t.reject(e)}function p(){return"disconnected"===c||"error"===c?new ep("connection","[devframe] Not connected to the devframe server",{cause:u??void 0}):"unauthorized"===c?new ep("auth","[devframe] Not authorized by the devframe server",{cause:u??void 0}):null}function g(e,t){return new Promise((n,r)=>{let i,a=!1,s={reject(e){a||(c(),o.emit(v,e,t),r(e))}};function c(){a=!0,m.delete(s),i&&clearTimeout(i)}m.add(s),l>0&&(i=setTimeout(()=>{s.reject(new ep("timeout",`[devframe] RPC call "${t}" timed out after ${l}ms`))},l)),e.then(e=>{a||(c(),n(e))},e=>{if(a)return;c();let n=e instanceof Error?e:Error(String(e));o.emit(v,n,t),r(n)})})}let k=new Map;for(let e of r.jsonSerializableMethods??[])k.set(e,{jsonSerializable:!0});let j=e.createChannel({definitions:k,onError(e){f("error",e),o.emit(x,e),h(new ep("connection","[devframe] Connection to the devframe server failed",{cause:e}))},onDisconnected(){"error"!==c&&f("disconnected"),h(new ep("connection","[devframe] Disconnected from the devframe server",{cause:u??void 0}))}}),S=function(e,t){let{channel:n,rpcOptions:r={}}=t;return function(e,t){let n,r,{post:o,on:i,off:a=()=>{},eventNames:l=[],serialize:s=tO,deserialize:c=tO,resolver:u,bind:d="rpc",timeout:f=6e4,proxify:m=!0}=t,h=!1,p=new Map;async function g(e,i,a,l){let c,u,d;if(h)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let m={m:e,a:i,t:"q"};l&&(m.o=!0);let g=async e=>o(s(e));if(a)return void await g(m);if(n)try{await n}finally{n=void 0}let{promise:b,resolve:v,reject:y}={promise:new Promise((e,t)=>{u=e,d=t}),resolve:u,reject:d},x=function(e=21){let t="",n=e;for(;n--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*tL()|0];return t}();async function w(n=m){return f>=0&&"object"==typeof(c=tD(()=>{try{if(t.onTimeoutError?.call(r,e,i)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){y(e)}p.delete(x)},f))&&(c=c.unref?.()),p.set(x,{resolve:v,reject:y,timeoutId:c,method:e}),await g(n),b}m.i=x;try{t.onRequest?await t.onRequest.call(r,m,w,v):await w()}catch(e){if(t.onGeneralError?.call(r,e)!==!0)throw e;return}finally{tM(c),p.delete(x)}return b}let b={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:function(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t},get $closed(){return h},get $meta(){return t.meta},$close:function(e){h=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),a(v)},$functions:e};async function v(n,...i){let a;try{a=c(n)}catch(e){if(t.onGeneralError?.call(r,e)!==!0)throw e;return}if("q"===a.t){let n,l,{m:c,a:f,o:m}=a,h=await (u?u.call(r,c,e[c]):e[c]);if(m&&(h||=()=>void 0),h)try{n=await h.apply("rpc"===d?r:e,f)}catch(e){l=e}else l=Error(`[birpc] function "${c}" not found`);if(a.i){if(l&&t.onFunctionError&&!0===t.onFunctionError.call(r,l,c,f))return;if(!l)try{await o(s({t:"s",i:a.i,r:n}),...i);return}catch(e){if(l=e,t.onGeneralError?.call(r,e,c,f)!==!0)throw e}try{await o(s({t:"s",i:a.i,e:l}),...i)}catch(e){if(t.onGeneralError?.call(r,e,c,f)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(tM(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return r=m?new Proxy({},{get(t,n){if(Object.hasOwn(b,n))return b[n];if("then"===n&&!l.includes("then")&&!("then"in e))return;let r=(...e)=>g(n,e,!0);if(l.includes(n))return r.asEvent=r,r;let o=(...e)=>g(n,e,!1);return o.asEvent=r,o}}):b,n=i(v),r}(e,{...n,timeout:-1,...r,proxify:!1})}(i.functions,{channel:j,rpcOptions:a});i.register({name:w,type:"event",handler:()=>{s=!1;let e=new ep("auth","[devframe] The devframe server revoked this client's trust");f("unauthorized",e),o.emit(x,e),h(e),o.emit(b,!1)}});let E=n;async function N(e){E=e;let t=await S.$call("anonymous:devframe:auth",{authToken:e,ua:navigator.userAgent,origin:location.origin});if(s=t.isTrusted)d.resolve(!0),f("connected");else{let e=new ep("auth","[devframe] The devframe server refused this client's credentials");f("unauthorized",e),o.emit(x,e)}return o.emit(b,s),t.isTrusted}return{transport:t,get isTrusted(){return s},get status(){return c},get connectionError(){return u},requestTrust:async function(){return!!s||N(E??"")},requestTrustWithToken:N,requestTrustWithCode:async function(e){let t=await S.$call("anonymous:devframe:auth:exchange",{code:e,ua:navigator.userAgent,origin:location.origin}),n=t?.authToken??null;return n&&(E=n,s=!0,d.resolve(!0),f("connected"),o.emit(b,!0)),n},requestAuthCode:async function(e={}){await S.$call("anonymous:devframe:auth:request-code",{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})},ensureTrusted:async function(e=6e4){let t;if(s&&d.resolve(!0),e<=0)return d.promise;try{return await Promise.race([d.promise,new Promise((n,r)=>{t=setTimeout(()=>{r(Error("[devframe] Timeout waiting for rpc to be trusted"))},e)})]),s}finally{clearTimeout(t)}},call:(...e)=>{let t=String(e[0]),n=p();return n?(o.emit(v,n,t),Promise.reject(n)):g(S.$call(...e),t)},callEvent:(...e)=>{let t=p();return t?void o.emit(v,t,String(e[0])):S.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=p();return n?(o.emit(v,n,t),Promise.reject(n)):g(S.$callOptional(...e),t)},close:()=>{j.close()}}}function tF(e){if(e.error)throw function e(t){var n;let{name:r,message:o,cause:i,...a}=t,l=i instanceof Error?i:"object"==typeof(n=i)&&null!==n&&"string"==typeof n.message&&"string"==typeof n.name?e(i):i,s=void 0!==l?Error(o,{cause:l}):Error(o);return s.name=r,Object.assign(s,a),s}(e.error);return e.output}function tW(e){return e.some(e=>null!=e)}async function tU(e){let t=function(e,t){let n=new Map,r=new Map;function o(e,t){var n=null!==e&&"object"==typeof e&&"serialization"in e&&"data"in e?e.data:e;return"structured-clone"===t&&Array.isArray(n)?tj(n):n}async function i(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>o(t,e.serialization)));let r=await n.get(e.path);return"object"==typeof r&&null!==r&&("output"in r||"error"in r)?tF(r):r}async function a(e,n){return r.has(e)||r.set(e,t(e).then(e=>o(e,n))),await r.get(e)}async function l(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if("object"==typeof r&&null!==r&&"static"===r.type&&"string"==typeof r.path){if(tW(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await i(r)}if("object"==typeof r&&null!==r&&"query"===r.type&&"object"==typeof r.records&&null!==r.records){let e=F(n),o=r.records[e];if(o)return tF(await a(o,r.serialization));if(r.fallback)return tF(await a(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!tW(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await l(e,t),callOptional:async(t,n)=>{if(t in e)return await l(t,n)},callEvent:async(e,t)=>{}}}(await e.fetchJsonFromBases("__rpc-dump/index.json"),e.fetchJsonFromBases);return{transport:"static",isTrusted:!0,status:"connected",connectionError:null,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,requestAuthCode:async()=>{},ensureTrusted:async()=>!0,call:(...e)=>t.call(e[0],e.slice(1)),callEvent:(...e)=>t.callEvent(e[0],e.slice(1)),callOptional:(...e)=>t.callOptional(e[0],e.slice(1)),close:()=>{}}}class tB extends Error{name="StreamClosedError"}function tq(e,t){return`${e}\x1f${t}`}function tV(){}let tH=new Map;function tG(e){return e.includes(":")}function tX(e,t){return tG(t)?t:`${e}:${t}`}function tJ(e,t,n){var r;let o,i=`devframe:settings:${n}:${t}`;return r=function(){return o||(o=(async()=>(await e.ensureTrusted(),e.sharedState.get(i)))().catch(e=>{throw o=void 0,e})),o},{get:async e=>(await r()).value()?.[e],async set(e,t){(await r()).mutate(n=>{if(void 0===n)return{[e]:t};n[e]=t})},async delete(e){(await r()).mutate(t=>{void 0!==t&&delete t[e]})},all:async()=>(await r()).value()??{},onChange:async e=>(await r()).on("updated",t=>e(t??{}))}}let tK=Object.freeze({type:"object",additionalProperties:!0});async function tY(e,t,n){try{var r,o;let i=(r=e.args?.length,function(e,t){if(Array.isArray(e))return e;if(null==e)return[];if("object"==typeof e){if(null!=t)return Array.from({length:t},(t,n)=>e[`arg${n}`]);if("arg0"in e){let t=[];for(;`arg${t.length}`in e;)t.push(e[`arg${t.length}`]);return t}return 0===Object.keys(e).length?[]:void 0}}(n,r)??[n]),a=await et(e,t),l=await a(...i);return{content:[{type:"text",text:(o=l,void 0===o?"undefined":"string"==typeof o?o:JSON.stringify(o,null,2))}]}}catch(e){return{isError:!0,content:[{type:"text",text:function(e){if(!(e instanceof Error))return String(e);let t=e.cause instanceof Error?` (cause: ${e.cause.message})`:"";return`${e.name}: ${e.message}${t}`}(e)}]}}}async function tZ(t={}){let n,r,o,i,a,l,s,c,u,d,f,{baseURL:m="./",rpcOptions:h={},cacheOptions:p=!1}=t,g=er(),v=Array.isArray(m)?m:[m],x=await eh(t),{connectionMeta:w,metaBaseUrl:C,authToken:R}=x,P=v[0]??"./";try{P=new URL(".",C).href}catch{}let z=new W({functions:[],..."object"==typeof t.cacheOptions?t.cacheOptions:{}}),A={rpc:void 0},L=new en(A),O=!1===t.webmcp?void 0:function(e,t={}){let n=t.modelContext??function(){if("u">typeof document){let e=document.modelContext;if(e)return e}if("u">typeof navigator){let e=navigator.modelContext;if(e)return e}}();if(!n)return()=>{};let r=new Map,o=new Map;function i(t){for(let i of t?[t]:[...e.definitions.keys()]){r.get(i)?.(),r.delete(i);let t=e.definitions.get(i),a=t?.agent;t&&a&&function(t,i){var a;let l=t.name.replace(/[^\w-]+/g,"_").slice(0,128),s=o.get(l);if(s&&s!==t.name)return console.warn(`[devframe] WebMCP tool name "${l}" (from "${t.name}") collides with "${s}"; keeping the first registration.`);let c=new AbortController,u=(a=t.type,i.safety?i.safety:"static"===a||"query"===a||null==a?"read":"action"),d=n.registerTool({name:l,description:i.description,inputSchema:function(e){if(!e||0===e.length)return{type:"object",properties:{}};let t={},n=[];for(let r=0;r<e.length;r++){let o=`arg${r}`;t[o]=function(e){let t=e["~standard"];if(t.jsonSchema)try{return t.jsonSchema.input({target:"draft-2020-12"})}catch{}return tK}(e[r]),n.push(o)}return{type:"object",properties:t,required:n,additionalProperties:!1}}(t.args),annotations:{title:i.title??t.name,readOnlyHint:"read"===u,destructiveHint:"destructive"===u},execute:n=>tY(t,e.context,n)},{signal:c.signal});d&&"then"in d&&d.then(()=>{},()=>{}),o.set(l,t.name),r.set(t.name,()=>{c.abort(),d&&"unregister"in d&&"function"==typeof d.unregister&&d.unregister(),o.delete(l)})}(t,a)}}i();let a=e.onChanged(e=>i(e));return()=>{for(let e of(a(),r.values()))e();r.clear()}}(L),M=!1,D=0;function I(){D++,r=void 0,z.clear(),!0===p&&z.updateOptions({functions:[]})}async function F(e){let t=[P,...v.filter(e=>e!==P)].filter(e=>null!=e),n=[];for(let r of t)try{return await fetch(ei(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(", ")}`,{cause:n})}p&&(L.register({name:k,type:"event",handler:I}),g.on(y,I),g.on(b,I));let U=t.callTimeout??0,B=U>0?U:1/0,q={authToken:R,connectionMeta:w,metaBaseUrl:C,events:g,clientRpc:L,callTimeout:t.callTimeout,rpcOptions:{...h,async onRequest(e,t,n){let i=performance.now()+B;if(await h.onRequest?.call(this,e,t,n),!0===p&&e.i&&o.isTrusted&&!e.m.startsWith("anonymous:")&&"devframe:rpc:cacheable-functions"!==e.m){function a(){if(performance.now()>=i)throw new ep("timeout",`[devframe] RPC call "${e.m}" timed out after ${U}ms`)}for(;!r&&(a(),!M&&"connected"===o.status);){let e=D;r=o.callOptional("devframe:rpc:cacheable-functions").then(t=>{e===D&&z.updateOptions({functions:t??[]})}).catch(t=>{throw e===D&&(r=void 0),t}),await r}await r,a()}let l=D;if(p&&e.i&&!M&&o.isTrusted&&z.validate(e.m)){if(z.has(e.m,e.a))return n(z.cached(e.m,e.a));let r=await t(e);l!==D||M||z.apply(e,r)}else await t(e)}}},V=function(e,t){if("static"===t.backend)return"static";let n=void 0!==t.websocket,r=void 0!==t.sse;if("websocket"===e){if(!n)throw Error("[devframe] transport: 'websocket' was requested, but this server does not advertise a WebSocket endpoint");return"websocket"}if("sse"===e){if(!r)throw Error("[devframe] transport: 'sse' was requested, but this server does not advertise an SSE endpoint");return"sse"}if("sse"===t.backend&&r)return"sse";if(n)return"websocket";if(r)return"sse";throw Error('[devframe] This server advertises no RPC transport (backend "none"), so there is nothing to connect to. Enable the WebSocket or SSE endpoint on the server, or use its static/MCP surfaces instead.')}(t.transport??"auto",w);o="static"===V?await tU({fetchJsonFromBases:F}):"sse"===V?function(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:o,clientRpc:i,rpcOptions:a={},sseOptions:l={},callTimeout:s=0}=e,c=function(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&"object"==typeof e){if(null!=e.host||null!=e.port){let t=e.host??`${r.hostname}:${e.port}`;return new URL(e.path??"/",`${r.protocol}//${t}`).href}return new URL(e.path??"",r).href}let o=e??"";return/^https?:\/\//i.test(o)?o:new URL(o,r).href}(n.sse,r??"./",location);return tI({transport:"sse",authToken:t,connectionMeta:n,events:o,clientRpc:i,rpcOptions:a,callTimeout:s,createChannel:e=>(function(e){let t,n,r,o,{onConnected:i=tA,onError:a=tA,onDisconnected:l=tA,definitions:s,fetch:c=globalThis.fetch.bind(globalThis)}=e,u=e.url;e.authToken&&(u=`${u}${u.includes("?")?"&":"?"}${T}=${encodeURIComponent(e.authToken)}`);let d=tz(s),f=new AbortController,m=!1,h=new Promise((e,t)=>{r=e,o=t});function p(){m||(m=!0,o(Error("Devframe SSE stream closed")),l())}async function g(e){let o=e.getReader();n=o;let a=new TextDecoder,l="";for(;;){let{done:e,value:n}=await o.read();if(e)break;for(l+=a.decode(n,{stream:!0});;){let e=function(e){let t=e.search(/\n\n|\r\n\r\n/);if(!(t<0))return{frame:e.slice(0,t),rest:e.slice(t+("\r"===e[t]?4:2))}}(l);if(!e)break;l=e.rest;let{event:n,data:o}=function(e){let t="message",n=[];for(let r of e.split(/\r?\n/))!r.startsWith(":")&&(r.startsWith("event:")?t=r.slice(6).trimStart():r.startsWith("data:")&&n.push(r.slice(5).replace(/^ /,"")));return{event:t,data:n}}(e.frame);o.length>0&&function(e,n){if("session"===e){r(n),i();return}t?.(n)}(n,o.join("\n"))}}p()}return h.catch(()=>{}),(async()=>{try{let e=await c(u,{headers:{accept:"text/event-stream"},signal:f.signal});if(!e.ok||!e.body)throw Error(`Devframe SSE stream request failed: ${e.status}`);await g(e.body)}catch(t){var e;if(f.signal.aborted)return void p();e=t instanceof Error?t:Error(String(t)),m||(m=!0,o(e),a(e),l())}})(),{close:()=>{m=!0,f.abort(),n?.cancel().catch(()=>{})},on:e=>{t=e},post:async e=>{let n;try{n=await h}catch{return}if(m)return void a(Error("Devframe SSE channel is closed; message dropped"));try{let r=await c(u,{method:"POST",headers:{"content-type":"text/plain; charset=utf-8","x-birpc-session":n},body:e});if(200===r.status){let e=await r.text();e&&t?.(e);return}if(!r.ok)throw Error(`Devframe SSE POST failed: ${r.status}`)}catch(e){a(e instanceof Error?e:Error(String(e)))}},serialize:d.serialize,deserialize:d.deserialize}})({url:c,authToken:t,definitions:e.definitions,...l,onConnected(){l.onConnected?.()},onError(t){e.onError(t),l.onError?.(t)},onDisconnected(){e.onDisconnected(),l.onDisconnected?.()}})})}({...q,sseOptions:t.sseOptions}):function(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:o,clientRpc:i,rpcOptions:a={},wsOptions:l={},callTimeout:s=0}=e,c=function(e,t,n){let r=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})(),o="https:"===r.protocol?"wss:":"ws:";if(e&&"object"==typeof e){if(null!=e.host||null!=e.port){let t=e.host??`${r.hostname}:${e.port}`,n=new URL(e.path??"/",`${o}//${t}`);return n.protocol=o,n.href}let t=new URL(e.path??"",r);return t.protocol=o,t.href}if("number"==typeof e)return`${o}//${r.hostname}:${e}`;let i=e??"";if(/^wss?:\/\//i.test(i))return i;if(/^https?:\/\//i.test(i)){var a;let e;return a=/^https/i.test(i)?"wss://":"ws://",a+((e=i.match(eo))?i.slice(e[0].length):i)}let l=new URL(i,r);return l.protocol=o,l.href}(n.websocket,r??"./",location);return tI({transport:"websocket",authToken:t,connectionMeta:n,events:o,clientRpc:i,rpcOptions:a,callTimeout:s,createChannel:e=>(function(e){let t=e.url;e.authToken&&(t=`${t}?${T}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=tV,onError:o=tV,onDisconnected:i=tV,definitions:a=tH}=e;n.addEventListener("open",e=>{r(e)}),n.addEventListener("error",e=>{o(e instanceof Error?e:Error(e.type))}),n.addEventListener("close",e=>{i(e)});let l=tz(a);return{close:()=>{n.close()},on:e=>{n.addEventListener("message",t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN)return void n.send(e);if(n.readyState===WebSocket.CONNECTING){let r=()=>{t(),n.readyState===WebSocket.OPEN&&n.send(e)},o=()=>t();function t(){n.removeEventListener("open",r),n.removeEventListener("close",o)}n.addEventListener("open",r),n.addEventListener("close",o);return}o(Error("Devframe WebSocket is not open; message dropped"))},serialize:l.serialize,deserialize:l.deserialize}})({url:c,authToken:t,definitions:e.definitions,...l,onConnected(e){l.onConnected?.(e)},onError(t){e.onError(t),l.onError?.(t)},onDisconnected(t){e.onDisconnected(),l.onDisconnected?.(t)}})})}({...q,wsOptions:t.wsOptions});try{i=new BroadcastChannel("devframe-auth")}catch{}let H=!1;function G(e){return(...t)=>H||!a?e(...t):a.then(()=>e(...t))}let X={events:g,get isTrusted(){return o.isTrusted},get status(){return o.status},get connectionError(){return o.connectionError},get transport(){return o.transport??V},get connection(){return x},connectionMeta:w,ensureTrusted:o.ensureTrusted,requestTrust:o.requestTrust,requestTrustWithToken:async e=>(ed(e),x={...x,authToken:e},o.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await o.requestTrustWithCode(e);if(!t)return!1;ed(t),x={...x,authToken:t};try{i?.postMessage({type:"auth-update",authToken:t})}catch{}return!0},requestAuthCode:e=>o.requestAuthCode(e),call:G(o.call),callEvent:G(o.callEvent),callOptional:G(o.callOptional),client:L,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:z,scope:void 0,close:function(){M=!0,I();try{n?.(),O?.()}finally{try{i?.close()}finally{o.close?.()}}}};X.sharedState=function(e){let t=new Map,n=new Map,r=new Map,o=new Set,i="static"===e.connectionMeta.backend;function a(e,t){let n=r.get(e);return!n||"object"!=typeof n||Array.isArray(n)||"object"!=typeof t||Array.isArray(t)?t:{...n,...t}}function l(t,n){let r=[];return r.push(n.on("updated",(n,r,o)=>{i||(r?e.callEvent("devframe:rpc:server-state:patch",t,r,o):e.callEvent("devframe:rpc:server-state:set",t,n,o))})),()=>{for(let e of r)e()}}return e.client.register({name:j,type:"event",handler:(e,n,r)=>{let o=t.get(e);!o||o.syncIds.has(r)||o.mutate(()=>a(e,n),r)}}),e.client.register({name:S,type:"event",handler:(e,n,r)=>{let o=t.get(e);!o||o.syncIds.has(r)||o.patch(n,r)}}),{keys:()=>Array.from(t.keys()),onKeyAdded:e=>(o.add(e),()=>{o.delete(e)}),delete(e){let o=n.get(e);n.delete(e);let i=t.delete(e);return r.delete(e),o?.(),i},get:async(s,c)=>{if(c?.initialValue!==void 0&&r.set(s,c.initialValue),t.has(s))return t.get(s);let u=function(e){let{enablePatches:t=!1}=e;t&&tf();let n=er(),r=e.initialValue,o=new Set;return{on:n.on,value:()=>r,patch:(e,t=(0,tv.nanoid)())=>{o.has(t)||(tf(),r=tb(r,e),ty(o,t),n.emit("updated",r,void 0,t))},mutate:(e,i=(0,tv.nanoid)())=>{if(!o.has(i))if(ty(o,i),t){let[t,o]=tg(r,e);if(t===r)return;r=t,n.emit("updated",r,o,i)}else{let t=tp(r,e);if(t===r)return;r=t,n.emit("updated",r,void 0,i)}},syncIds:o}}({initialValue:c?.initialValue,enablePatches:!1});async function d(){if(i||e.callEvent("devframe:rpc:server-state:subscribe",s),c?.initialValue!==void 0){for(let e of(t.set(s,u),o))e(s);return e.call("devframe:rpc:server-state:get",s).then(e=>{void 0!==e&&u.mutate(()=>a(s,e))}).catch(e=>{console.error("Error getting server state",e)}),n.set(s,l(s,u)),u}{let r=await e.call("devframe:rpc:server-state:get",s);for(let e of(u.mutate(()=>a(s,r)),t.set(s,u),o))e(s);return n.set(s,l(s,u)),u}}return new Promise((t,n)=>{if(e.isTrusted)d().then(t,n);else{t(u);let n=!1;e.events.on(b,e=>{e&&!n&&(n=!0,d())})}})}}}(X),l=new Map,s=new Map,X.client.register({name:E,type:"event",handler(e,t,n,r){let o=l.get(tq(e,t));o?._push(n,r)}}),X.client.register({name:N,type:"event",handler(e,t,n){let r=tq(e,t),o=l.get(r);o&&(o._end(n),l.delete(r))}}),X.client.register({name:_,type:"event",handler(e,t){let n=tq(e,t),r=s.get(n);r&&(r.abort("server cancelled upload"),s.delete(n))}}),X.events.on(b,e=>{if(e)for(let[e,t]of l){if(t.cancelled||t.done)continue;let n=e.indexOf("\x1f");if(n<0)continue;let r=e.slice(0,n),o=e.slice(n+1);X.callEvent("devframe:streaming:subscribe",r,o,{afterSeq:t.lastSeenSeq})}}),X.streaming={subscribe:function(e,t,n={}){let r=tq(e,t),o=l.get(r);if(o)return o;let i=function(e={}){let t,n,r,o,i=e.id??(0,tv.nanoid)(),a=Math.max(1,e.highWaterMark??256),l=[],s=0,c=!1,u=!1;function d(){if(n){if(l.length>0){let e=l.shift(),t=n;n=void 0,t.resolve({value:e,done:!1});return}if(c){let e=n;if(n=void 0,t){let n=Error(t.message);n.name=t.name,e.reject(n)}else e.resolve({value:void 0,done:!0})}}}function f(){if(r){for(;l.length>0;){let e=l.shift();try{r.enqueue(e)}catch{break}}if(c&&r){try{if(t){let e=Error(t.message);e.name=t.name,r.error(e)}else r.close()}catch{}r=void 0}}}function m(e){!c&&(c=!0,t=e,d(),o&&f())}function h(){u||c||(u=!0,e.onCancel?.(),m(void 0))}return{id:i,get cancelled(){return u},get done(){return c},get lastSeenSeq(){return s},get readable(){return o||(o=new ReadableStream({start(e){r=e,f()},cancel(){h()}}))},cancel:h,_push:function(t,n){if(!c&&!u&&!(t<=s)){if(s=t,l.push(n),l.length>a){let t=l.length-a;l.splice(0,t),e.onOverflow?.(t)}d(),o&&f()}},_end:m,[Symbol.asyncIterator]:()=>({next(){if(l.length>0)return Promise.resolve({value:l.shift(),done:!1});if(c){if(t){let e=Error(t.message);return e.name=t.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{n={resolve:e,reject:t}})},return:()=>(h(),Promise.resolve({value:void 0,done:!0}))})}}({id:t,highWaterMark:n.highWaterMark,onOverflow(n){console.warn(`[devframe] DF0029: Stream "${e}#${t}" dropped ${n} chunk(s) after exceeding the client high-water mark.`)},onCancel(){X.callEvent("devframe:streaming:cancel",e,t),l.delete(r)}});if(l.set(r,i),X.isTrusted)X.callEvent("devframe:streaming:subscribe",e,t,{afterSeq:0});else{let n=X.events.on(b,o=>{o&&(n(),!l.has(r)||i.cancelled||i.done||X.callEvent("devframe:streaming:subscribe",e,t,{afterSeq:i.lastSeenSeq}))})}return i},upload:function(e,t){let n=tq(e,t),r=s.get(n);if(r)return r;let o=function(e={}){let t=e.id??(0,tv.nanoid)(),n=Math.max(0,e.replayWindow??0),r=er(),o=new AbortController,i=[],a=!1,l=0;function s(e){if(a)throw new tB(`Cannot write to a closed stream "${t}"`);l+=1,n>0&&(i.push({seq:l,chunk:e}),i.length>n&&(i.length-n==1?i.shift():i.splice(0,i.length-n))),r.emit("chunk",l,e)}function c(e){if(a)return;a=!0;let t=function(e){if(e instanceof Error)return{name:e.name||"Error",message:e.message};if("string"==typeof e)return{name:"Error",message:e};try{return{name:"Error",message:JSON.stringify(e)}}catch{return{name:"Error",message:String(e)}}}(e);o.abort(e),r.emit("end",t)}function u(){a||(a=!0,o.signal.aborted||o.abort("stream closed"),r.emit("end",void 0))}let d=new WritableStream({write(e){s(e)},close(){u()},abort(e){c(e)}});return{id:t,signal:o.signal,get closed(){return a},get lastSeq(){return l},write:s,error:c,close:u,abort:function(e){!a&&(o.signal.aborted||o.abort(e??"aborted"))},writable:d,events:r,buffer:i}}({id:t});return o.events.on("chunk",(n,r)=>{X.callEvent("devframe:streaming:upload-chunk",e,t,n,r)}),o.events.on("end",r=>{X.callEvent("devframe:streaming:upload-end",e,t,r),s.delete(n)}),s.set(n,o),o}},u={},d=new WeakMap,(f=()=>c??=X.sharedState.get("devframe:services",{initialValue:{}}).then(e=>(u=e.value(),e.on("updated",e=>{u=e}),e)))(),X.services={state:f,has:e=>e in u,keys:()=>Object.keys(u),get:e=>{let t=u[e];if(!t)return;let n=d.get(t);return n||(n={...t,rpc:X.scope(t.scope).rpc},d.set(t,n)),n}};let J=new Map;async function K(){if(!1!==t.simpleAuth&&function(){try{return window.self===window.top}catch{return!1}}()&&"function"==typeof globalThis.prompt)for(await X.requestAuthCode().catch(()=>{});!X.isTrusted;){let e=globalThis.prompt("devframe: enter the authentication code shown in your terminal");if(null==e)return;let t=e.trim();if(t&&await X.requestTrustWithCode(t))return}}return X.scope=e=>{if(!e)return X;let t=J.get(e);!t&&(t={namespace:e,base:X,rpc:{namespace:e,register(t){if(tG(t.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${e}" received an already-namespaced function name "${t.name}". Pass a bare name without a ":" separator.`);X.client.register({...t,name:`${e}:${t.name}`})},call:(t,...n)=>X.call(tX(e,t),...n),callEvent:(t,...n)=>X.callEvent(tX(e,t),...n),callOptional:(t,...n)=>X.callOptional(tX(e,t),...n),sharedState:(t,n)=>X.sharedState.get(tX(e,t),n),streaming:{subscribe:(t,n,r)=>X.streaming.subscribe(tX(e,t),n,r),upload:(t,n)=>X.streaming.upload(tX(e,t),n)}},settings:{global:tJ(X,e,"global"),project:tJ(X,e,"project")},scope:X.scope},J.set(e,t));return t},A.rpc=X,a=(async function(){let e=await o.requestTrust(),n=t.otpParam??$,r=!!n&&await eg(X,{param:n});e||r||X.isTrusted||await K()})().then(()=>{H=!0},()=>{H=!0}),w.mcp&&e.A(5344).then(({setupBrowserAgentRpcBridge:e})=>{M||(n=e(X))}).catch(()=>{}),i&&(i.onmessage=e=>{e.data?.type==="auth-update"&&e.data.authToken&&X.requestTrustWithToken(e.data.authToken)}),X}let tQ=(0,d.createContext)({rpc:null,status:"connecting",error:null});function t0(){return(0,d.use)(tQ)}function t1({children:e}){let[t,n]=(0,d.useState)({rpc:null,status:"connecting",error:null});return(0,d.useEffect)(()=>{let e,t=!1,r=g.default.env.NEXT_PUBLIC_DEVFRAME_WS,o=r?/^\d+$/.test(r)?{port:Number(r),path:"__ws"}:r:void 0;return tZ(o?{connectionMeta:{backend:"websocket",websocket:o}}:void 0).then(r=>{t||(n({rpc:r,status:r.status,error:r.connectionError?.message??null}),e=r.events.on("connection:status",e=>{n({rpc:r,status:e,error:r.connectionError?.message??null})}))},e=>{t||n({rpc:null,status:"error",error:e instanceof Error?e.message:String(e)})}),()=>{t=!0,e?.()}},[]),(0,u.jsx)(tQ,{value:t,children:e})}function t2(e){let{rpc:t}=t0(),[n,r]=(0,d.useState)(null),[o,i]=(0,d.useState)(!1),[a,l]=(0,d.useState)(null),s=(0,d.useCallback)(async()=>{if(t){i(!0),l(null);try{r(await e(t))}catch(e){l(e instanceof Error?e.message:String(e))}finally{i(!1)}}},[t,e]);return(0,d.useEffect)(()=>{s()},[s]),{data:n,loading:o,error:a,refresh:s,setData:r}}let t4=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),t5=[],t3=(e,t,n)=>{if(0==e.length-t)return n.classGroupId;let r=e[t],o=n.nextPart.get(r);if(o){let n=t3(e,t+1,o);if(n)return n}let i=n.validators;if(null===i)return;let a=0===t?e.join("-"):e.slice(t).join("-"),l=i.length;for(let e=0;e<l;e++){let t=i[e];if(t.validator(a))return t.classGroupId}},t6=(e,t)=>{let n=t4();for(let r in e)t8(e[r],n,r,t);return n},t8=(e,t,n,r)=>{let o=e.length;for(let i=0;i<o;i++)t7(e[i],t,n,r)},t7=(e,t,n,r)=>{"string"==typeof e?t9(e,t,n):"function"==typeof e?ne(e,t,n,r):nt(e,t,n,r)},t9=(e,t,n)=>{(""===e?t:nn(t,e)).classGroupId=n},ne=(e,t,n,r)=>{nr(e)?t8(e(r),t,n,r):(null===t.validators&&(t.validators=[]),t.validators.push({classGroupId:n,validator:e}))},nt=(e,t,n,r)=>{let o=Object.entries(e),i=o.length;for(let e=0;e<i;e++){let[i,a]=o[e];t8(a,nn(t,i),n,r)}},nn=(e,t)=>{let n=e,r=t.split("-"),o=r.length;for(let e=0;e<o;e++){let t=r[e],o=n.nextPart.get(t);o||(o=t4(),n.nextPart.set(t,o)),n=o}return n},nr=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,no=[],ni=(e,t,n,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:o}),na=/\s+/,nl=e=>{let t;if("string"==typeof e)return e;let n="";for(let r=0;r<e.length;r++)e[r]&&(t=nl(e[r]))&&(n&&(n+=" "),n+=t);return n},ns=[],nc=e=>{let t=t=>t[e]||ns;return t.isThemeGetter=!0,t.themeKey=e,t},nu=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,nd=/^\((?:(\w[\w-]*):)?(.+)\)$/i,nf=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,nm=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,nh=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,np=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,ng=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,nb=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,nv=e=>nf.test(e),ny=e=>!!e&&!Number.isNaN(Number(e)),nx=e=>!!e&&Number.isInteger(Number(e)),nw=e=>e.endsWith("%")&&ny(e.slice(0,-1)),nk=e=>nm.test(e),nj=()=>!0,nS=e=>nh.test(e)&&!np.test(e),nE=()=>!1,nN=e=>ng.test(e),n_=e=>nb.test(e),nC=e=>!nT(e)&&!nI(e),nR=e=>e.startsWith("@container")&&("/"===e[10]&&void 0!==e[11]||"s"===e[11]&&void 0!==e[16]&&e.startsWith("-size/",10)||"n"===e[11]&&void 0!==e[18]&&e.startsWith("-normal/",10)),n$=e=>nG(e,nY,nE),nT=e=>nu.test(e),nP=e=>nG(e,nZ,nS),nz=e=>nG(e,nQ,ny),nA=e=>nG(e,n1,nj),nL=e=>nG(e,n0,nE),nO=e=>nG(e,nJ,nE),nM=e=>nG(e,nK,n_),nD=e=>nG(e,n2,nN),nI=e=>nd.test(e),nF=e=>nX(e,nZ),nW=e=>nX(e,n0),nU=e=>nX(e,nJ),nB=e=>nX(e,nY),nq=e=>nX(e,nK),nV=e=>nX(e,n2,!0),nH=e=>nX(e,n1,!0),nG=(e,t,n)=>{let r=nu.exec(e);return!!r&&(r[1]?t(r[1]):n(r[2]))},nX=(e,t,n=!1)=>{let r=nd.exec(e);return!!r&&(r[1]?t(r[1]):n)},nJ=e=>"position"===e||"percentage"===e,nK=e=>"image"===e||"url"===e,nY=e=>"length"===e||"size"===e||"bg-size"===e,nZ=e=>"length"===e,nQ=e=>"number"===e,n0=e=>"family-name"===e,n1=e=>"number"===e||"weight"===e,n2=e=>"shadow"===e,n4=(s=()=>{let e=nc("color"),t=nc("font"),n=nc("text"),r=nc("font-weight"),o=nc("tracking"),i=nc("leading"),a=nc("breakpoint"),l=nc("container"),s=nc("spacing"),c=nc("radius"),u=nc("shadow"),d=nc("inset-shadow"),f=nc("text-shadow"),m=nc("drop-shadow"),h=nc("blur"),p=nc("perspective"),g=nc("aspect"),b=nc("ease"),v=nc("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],w=()=>[...x(),nI,nT],k=()=>["auto","hidden","clip","visible","scroll"],j=()=>["auto","contain","none"],S=()=>[nI,nT,s],E=()=>[nv,"full","auto",...S()],N=()=>[nx,"none","subgrid",nI,nT],_=()=>["auto",{span:["full",nx,nI,nT]},nx,nI,nT],C=()=>[nx,"auto",nI,nT],R=()=>["auto","min","max","fr",nI,nT],$=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],T=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...S()],z=()=>[nv,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],A=()=>[l,nv,"screen","full","dvw","lvw","svw","min","max","fit",...S()],L=()=>[nv,"screen","full","lh","dvh","lvh","svh","min","max","fit",...S()],O=()=>[e,nI,nT],M=()=>[...x(),nU,nO,{position:[nI,nT]}],D=()=>["no-repeat",{repeat:["","x","y","space","round"]}],I=()=>["auto","cover","contain",nB,n$,{size:[nI,nT]}],F=()=>[nw,nF,nP],W=()=>["","none","full",c,nI,nT],U=()=>["",ny,nF,nP],B=()=>["solid","dashed","dotted","double"],q=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],V=()=>[ny,nw,nU,nO],H=()=>["","none",h,nI,nT],G=()=>["none",ny,nI,nT],X=()=>["none",ny,nI,nT],J=()=>[ny,nI,nT],K=()=>[nv,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[nk],breakpoint:[nk],color:[nj],container:[nk],"drop-shadow":[nk],ease:["in","out","in-out"],font:[nC],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[nk],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[nk],shadow:[nk],spacing:["px",ny],text:[nk],"text-shadow":[nk],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",nv,nT,nI,g]}],container:["container"],"container-type":[{"@container":["","normal","size",nI,nT]}],"container-named":[nR],columns:[{columns:[ny,"auto",nT,nI,l]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:w()}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:j()}],"overscroll-x":[{"overscroll-x":j()}],"overscroll-y":[{"overscroll-y":j()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:E()}],"inset-x":[{"inset-x":E()}],"inset-y":[{"inset-y":E()}],start:[{"inset-s":E(),start:E()}],end:[{"inset-e":E(),end:E()}],"inset-bs":[{"inset-bs":E()}],"inset-be":[{"inset-be":E()}],top:[{top:E()}],right:[{right:E()}],bottom:[{bottom:E()}],left:[{left:E()}],visibility:["visible","invisible","collapse"],z:[{z:[nx,"auto",nI,nT]}],basis:[{basis:[nv,"full","auto",l,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ny,nv,"auto","initial","none",nT]}],grow:[{grow:["",ny,nI,nT]}],shrink:[{shrink:["",ny,nI,nT]}],order:[{order:[nx,"first","last","none",nI,nT]}],"grid-cols":[{"grid-cols":N()}],"col-start-end":[{col:_()}],"col-start":[{"col-start":C()}],"col-end":[{"col-end":C()}],"grid-rows":[{"grid-rows":N()}],"row-start-end":[{row:_()}],"row-start":[{"row-start":C()}],"row-end":[{"row-end":C()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":R()}],"auto-rows":[{"auto-rows":R()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...$(),"normal"]}],"justify-items":[{"justify-items":[...T(),"normal"]}],"justify-self":[{"justify-self":["auto",...T()]}],"align-content":[{content:["normal",...$()]}],"align-items":[{items:[...T(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...T(),{baseline:["","last"]}]}],"place-content":[{"place-content":$()}],"place-items":[{"place-items":[...T(),"baseline"]}],"place-self":[{"place-self":["auto",...T()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:z()}],"inline-size":[{inline:["auto",...A()]}],"min-inline-size":[{"min-inline":["auto",...A()]}],"max-inline-size":[{"max-inline":["none",...A()]}],"block-size":[{block:["auto",...L()]}],"min-block-size":[{"min-block":["auto",...L()]}],"max-block-size":[{"max-block":["none",...L()]}],w:[{w:[l,"screen",...z()]}],"min-w":[{"min-w":[l,"screen","none",...z()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[a]},...z()]}],h:[{h:["screen","lh",...z()]}],"min-h":[{"min-h":["screen","lh","none",...z()]}],"max-h":[{"max-h":["screen","lh","none",...z()]}],"font-size":[{text:["base",n,nF,nP]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,nH,nA]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",nw,nT]}],"font-family":[{font:[nW,nL,t]}],"font-features":[{"font-features":[nT]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,nI,nT]}],"line-clamp":[{"line-clamp":[ny,"none",nI,nz]}],leading:[{leading:["none",i,...S()]}],"list-image":[{"list-image":["none",nI,nT]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",nI,nT]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:O()}],"text-color":[{text:O()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...B(),"wavy"]}],"text-decoration-thickness":[{decoration:[ny,"from-font","auto",nI,nP]}],"text-decoration-color":[{decoration:O()}],"underline-offset":[{"underline-offset":[ny,"auto",nI,nT]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"tab-size":[{tab:[nx,nI,nT]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",nI,nT]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",nI,nT]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:M()}],"bg-repeat":[{bg:D()}],"bg-size":[{bg:I()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},nx,nI,nT],radial:["",nI,nT],conic:["",nx,nI,nT]},nq,nM]}],"bg-color":[{bg:O()}],"gradient-from-pos":[{from:F()}],"gradient-via-pos":[{via:F()}],"gradient-to-pos":[{to:F()}],"gradient-from":[{from:O()}],"gradient-via":[{via:O()}],"gradient-to":[{to:O()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:U()}],"border-w-x":[{"border-x":U()}],"border-w-y":[{"border-y":U()}],"border-w-s":[{"border-s":U()}],"border-w-e":[{"border-e":U()}],"border-w-bs":[{"border-bs":U()}],"border-w-be":[{"border-be":U()}],"border-w-t":[{"border-t":U()}],"border-w-r":[{"border-r":U()}],"border-w-b":[{"border-b":U()}],"border-w-l":[{"border-l":U()}],"divide-x":[{"divide-x":U()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":U()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...B(),"hidden","none"]}],"divide-style":[{divide:[...B(),"hidden","none"]}],"border-color":[{border:O()}],"border-color-x":[{"border-x":O()}],"border-color-y":[{"border-y":O()}],"border-color-s":[{"border-s":O()}],"border-color-e":[{"border-e":O()}],"border-color-bs":[{"border-bs":O()}],"border-color-be":[{"border-be":O()}],"border-color-t":[{"border-t":O()}],"border-color-r":[{"border-r":O()}],"border-color-b":[{"border-b":O()}],"border-color-l":[{"border-l":O()}],"divide-color":[{divide:O()}],"outline-style":[{outline:[...B(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ny,nI,nT]}],"outline-w":[{outline:["",ny,nF,nP]}],"outline-color":[{outline:O()}],shadow:[{shadow:["","inner","none",u,nV,nD]}],"shadow-color":[{shadow:O()}],"inset-shadow":[{"inset-shadow":["none",d,nV,nD]}],"inset-shadow-color":[{"inset-shadow":O()}],"ring-w":[{ring:U()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:O()}],"ring-offset-w":[{"ring-offset":[ny,nP]}],"ring-offset-color":[{"ring-offset":O()}],"inset-ring-w":[{"inset-ring":U()}],"inset-ring-color":[{"inset-ring":O()}],"text-shadow":[{"text-shadow":["none",f,nV,nD]}],"text-shadow-color":[{"text-shadow":O()}],opacity:[{opacity:[ny,nI,nT]}],"mix-blend":[{"mix-blend":[...q(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":q()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ny]}],"mask-image-linear-from-pos":[{"mask-linear-from":V()}],"mask-image-linear-to-pos":[{"mask-linear-to":V()}],"mask-image-linear-from-color":[{"mask-linear-from":O()}],"mask-image-linear-to-color":[{"mask-linear-to":O()}],"mask-image-t-from-pos":[{"mask-t-from":V()}],"mask-image-t-to-pos":[{"mask-t-to":V()}],"mask-image-t-from-color":[{"mask-t-from":O()}],"mask-image-t-to-color":[{"mask-t-to":O()}],"mask-image-r-from-pos":[{"mask-r-from":V()}],"mask-image-r-to-pos":[{"mask-r-to":V()}],"mask-image-r-from-color":[{"mask-r-from":O()}],"mask-image-r-to-color":[{"mask-r-to":O()}],"mask-image-b-from-pos":[{"mask-b-from":V()}],"mask-image-b-to-pos":[{"mask-b-to":V()}],"mask-image-b-from-color":[{"mask-b-from":O()}],"mask-image-b-to-color":[{"mask-b-to":O()}],"mask-image-l-from-pos":[{"mask-l-from":V()}],"mask-image-l-to-pos":[{"mask-l-to":V()}],"mask-image-l-from-color":[{"mask-l-from":O()}],"mask-image-l-to-color":[{"mask-l-to":O()}],"mask-image-x-from-pos":[{"mask-x-from":V()}],"mask-image-x-to-pos":[{"mask-x-to":V()}],"mask-image-x-from-color":[{"mask-x-from":O()}],"mask-image-x-to-color":[{"mask-x-to":O()}],"mask-image-y-from-pos":[{"mask-y-from":V()}],"mask-image-y-to-pos":[{"mask-y-to":V()}],"mask-image-y-from-color":[{"mask-y-from":O()}],"mask-image-y-to-color":[{"mask-y-to":O()}],"mask-image-radial":[{"mask-radial":[nI,nT]}],"mask-image-radial-from-pos":[{"mask-radial-from":V()}],"mask-image-radial-to-pos":[{"mask-radial-to":V()}],"mask-image-radial-from-color":[{"mask-radial-from":O()}],"mask-image-radial-to-color":[{"mask-radial-to":O()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[ny]}],"mask-image-conic-from-pos":[{"mask-conic-from":V()}],"mask-image-conic-to-pos":[{"mask-conic-to":V()}],"mask-image-conic-from-color":[{"mask-conic-from":O()}],"mask-image-conic-to-color":[{"mask-conic-to":O()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:M()}],"mask-repeat":[{mask:D()}],"mask-size":[{mask:I()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",nI,nT]}],filter:[{filter:["","none",nI,nT]}],blur:[{blur:H()}],brightness:[{brightness:[ny,nI,nT]}],contrast:[{contrast:[ny,nI,nT]}],"drop-shadow":[{"drop-shadow":["","none",m,nV,nD]}],"drop-shadow-color":[{"drop-shadow":O()}],grayscale:[{grayscale:["",ny,nI,nT]}],"hue-rotate":[{"hue-rotate":[ny,nI,nT]}],invert:[{invert:["",ny,nI,nT]}],saturate:[{saturate:[ny,nI,nT]}],sepia:[{sepia:["",ny,nI,nT]}],"backdrop-filter":[{"backdrop-filter":["","none",nI,nT]}],"backdrop-blur":[{"backdrop-blur":H()}],"backdrop-brightness":[{"backdrop-brightness":[ny,nI,nT]}],"backdrop-contrast":[{"backdrop-contrast":[ny,nI,nT]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ny,nI,nT]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ny,nI,nT]}],"backdrop-invert":[{"backdrop-invert":["",ny,nI,nT]}],"backdrop-opacity":[{"backdrop-opacity":[ny,nI,nT]}],"backdrop-saturate":[{"backdrop-saturate":[ny,nI,nT]}],"backdrop-sepia":[{"backdrop-sepia":["",ny,nI,nT]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",nI,nT]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ny,"initial",nI,nT]}],ease:[{ease:["linear","initial",b,nI,nT]}],delay:[{delay:[ny,nI,nT]}],animate:[{animate:["none",v,nI,nT]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,nI,nT]}],"perspective-origin":[{"perspective-origin":w()}],rotate:[{rotate:G()}],"rotate-x":[{"rotate-x":G()}],"rotate-y":[{"rotate-y":G()}],"rotate-z":[{"rotate-z":G()}],scale:[{scale:X()}],"scale-x":[{"scale-x":X()}],"scale-y":[{"scale-y":X()}],"scale-z":[{"scale-z":X()}],"scale-3d":["scale-3d"],skew:[{skew:J()}],"skew-x":[{"skew-x":J()}],"skew-y":[{"skew-y":J()}],transform:[{transform:[nI,nT,"","none","gpu","cpu"]}],"transform-origin":[{origin:w()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:K()}],"translate-x":[{"translate-x":K()}],"translate-y":[{"translate-y":K()}],"translate-z":[{"translate-z":K()}],"translate-none":["translate-none"],zoom:[{zoom:[nx,nI,nT]}],accent:[{accent:O()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:O()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",nI,nT]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":O()}],"scrollbar-track-color":[{"scrollbar-track":O()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",nI,nT]}],fill:[{fill:["none",...O()]}],"stroke-w":[{stroke:[ny,nF,nP,nz]}],stroke:[{stroke:["none",...O()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["start","end","right","left"],"inset-y":["inset-bs","inset-be","top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["ps","pe","pr","pl"],py:["pbs","pbe","pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["ms","me","mr","ml"],my:["mbs","mbe","mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-s","border-w-e","border-w-r","border-w-l"],"border-w-y":["border-w-bs","border-w-be","border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-s","border-color-e","border-color-r","border-color-l"],"border-color-y":["border-color-bs","border-color-be","border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-ms","scroll-me","scroll-mr","scroll-ml"],"scroll-my":["scroll-mbs","scroll-mbe","scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-ps","scroll-pe","scroll-pr","scroll-pl"],"scroll-py":["scroll-pbs","scroll-pbe","scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},a=e=>{let t=r(e);if(t)return t;let i=((e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:i,postfixLookupClassGroupIds:a}=t,l=[],s=e.trim().split(na),c="";for(let e=s.length-1;e>=0;e-=1){let t,u=s[e],{isExternal:d,modifiers:f,hasImportantModifier:m,baseClassName:h,maybePostfixModifierPosition:p}=n(u);if(d){c=u+(c.length>0?" "+c:c);continue}let g=!!p;if(g){let e=(t=r(h.substring(0,p)))&&a[t]?r(h):void 0;e&&e!==t&&(t=e,g=!1)}else t=r(h);if(!t){if(!g||!(t=r(h))){c=u+(c.length>0?" "+c:c);continue}g=!1}let b=0===f.length?"":1===f.length?f[0]:i(f).join(":"),v=m?b+"!":b,y=v+t;if(l.indexOf(y)>-1)continue;l.push(y);let x=o(t,g);for(let e=0;e<x.length;++e){let t=x[e];l.push(v+t)}c=u+(c.length>0?" "+c:c)}return c})(e,n);return o(e,i),i},i=e=>{var t;let l;return r=(n={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),o=(o,i)=>{n[o]=i,++t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];return void 0!==t?t:void 0!==(t=r[e])?(o(e,t),t):void 0},set(e,t){e in n?n[e]=t:o(e,t)}}})((t=[].reduce((e,t)=>t(e),s())).cacheSize),parseClassName:(e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t,n=[],r=0,o=0,i=0,a=e.length;for(let l=0;l<a;l++){let a=e[l];if(0===r&&0===o){if(":"===a){n.push(e.slice(i,l)),i=l+1;continue}if("/"===a){t=l;continue}}"["===a?r++:"]"===a?r--:"("===a?o++:")"===a&&o--}let l=0===n.length?e:e.slice(i),s=l,c=!1;return l.endsWith("!")?(s=l.slice(0,-1),c=!0):l.startsWith("!")&&(s=l.slice(1),c=!0),ni(n,c,s,t&&t>i?t-i:void 0)};if(t){let e=t+":",n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):ni(no,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r})(t),sortModifiers:(l=new Map,t.orderSensitiveModifiers.forEach((e,t)=>{l.set(e,1e6+t)}),e=>{let t=[],n=[];for(let r=0;r<e.length;r++){let o=e[r],i="["===o[0],a=l.has(o);i||a?(n.length>0&&(n.sort(),t.push(...n),n=[]),t.push(o)):n.push(o)}return n.length>0&&(n.sort(),t.push(...n)),t}),postfixLookupClassGroupIds:(e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t})(t),...(e=>{let t=(e=>{let{theme:t,classGroups:n}=e;return t6(n,t)})(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var n;let t,r,o;return -1===(n=e).slice(1,-1).indexOf(":")?void 0:(r=(t=n.slice(1,-1)).indexOf(":"),(o=t.slice(0,r))?"arbitrary.."+o:void 0)}let r=e.split("-"),o=+(""===r[0]&&r.length>1);return t3(r,o,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],o=n[e];if(t){if(o){let e=Array(o.length+t.length);for(let t=0;t<o.length;t++)e[t]=o[t];for(let n=0;n<t.length;n++)e[o.length+n]=t[n];return e}return t}return o||t5}return n[e]||t5}}})(t)}).cache.get,o=n.cache.set,i=a,a(e)},(...e)=>i(((...e)=>{let t,n,r=0,o="";for(;r<e.length;)(t=e[r++])&&(n=nl(t))&&(o&&(o+=" "),o+=n);return o})(...e)));function n5(...e){return n4(function(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=function e(t){var n,r,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t)if(Array.isArray(t)){var i=t.length;for(n=0;n<i;n++)t[n]&&(r=e(t[n]))&&(o&&(o+=" "),o+=r)}else for(r in t)t[r]&&(o&&(o+=" "),o+=r);return o}(e))&&(r&&(r+=" "),r+=t);return r}(e))}var n3=Object.defineProperty,n6=(e,t)=>n3(e,"name",{value:t,configurable:!0});function n8(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function n7(...e){return t=>{let n=!1,r=e.map(e=>{let r=n8(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():n8(e[t],null)}}}}function n9(...e){return d.useCallback(n7(...e),e)}n6(n8,"setRef"),n6(n7,"composeRefs"),n6(n9,"useComposedRefs");var re=Object.defineProperty,rt=(e,t)=>re(e,"name",{value:t,configurable:!0});function rn(e){let t=d.forwardRef((t,n)=>{let{children:r,...o}=t,i=null,a=!1,l=[];rd(r)&&"function"==typeof rg&&(r=rg(r._payload)),d.Children.forEach(r,e=>{if(rc(e)){a=!0;let t="child"in e.props?e.props.child:e.props.children;rd(t)&&"function"==typeof rg&&(t=rg(t._payload)),i=ra(e,t),l.push(i?.props?.children)}else l.push(e)}),i?i=d.cloneElement(i,void 0,l):!a&&1===d.Children.count(r)&&d.isValidElement(r)&&(i=r);let s=i?rs(i):void 0,c=n9(n,s);if(!i){if(r||0===r)throw Error(a?rp(e):rh(e));return r}let u=rl(o,i.props??{});return i.type!==d.Fragment&&(u.ref=n?c:s),d.cloneElement(i,u)});return t.displayName=`${e}.Slot`,t}rt(rn,"createSlot");var rr=rn("Slot"),ro=Symbol.for("radix.slottable");function ri(e){let t=rt(e=>"child"in e?e.children(e.child):e.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=ro,t}rt(ri,"createSlottable");var ra=rt((e,t)=>{if("child"in e.props){let t=e.props.child;return d.isValidElement(t)?d.cloneElement(t,void 0,e.props.children(t.props.children)):null}return d.isValidElement(t)?t:null},"getSlottableElementFromSlottable");function rl(e,t){let n={...t};for(let r in t){let o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...e)=>{let t=i(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...i}:"className"===r?n[r]=[o,i].filter(Boolean).join(" "):"aria-describedby"===r&&(n[r]=rm(i,o))}return{...e,...n}}function rs(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}function rc(e){return d.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===ro}rt(rl,"mergeProps"),rt(rs,"getElementRef"),rt(rc,"isSlottable");var ru=Symbol.for("react.lazy");function rd(e){return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===ru&&"_payload"in e&&rf(e._payload)}function rf(e){return"object"==typeof e&&null!==e&&"then"in e}function rm(...e){let t=new Set;for(let n of e)if("string"==typeof n)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(" "):void 0}rt(rd,"isLazyComponent"),rt(rf,"isPromiseLike"),rt(rm,"concatAriaDescribedby");var rh=rt(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),rp=rt(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),rg=d[" use ".trim().toString()];function rb({className:e,variant:t="secondary",asChild:n=!1,...r}){return(0,u.jsx)(n?rr:"span",{"data-slot":"badge",className:n5(function({variant:e="secondary",class:t}={}){return f({primary:"badge-active",secondary:"badge-muted",success:"badge badge-color-green",warning:"badge badge-color-amber",destructive:"badge badge-color-red",outline:"badge border border-base"}[e],t)}({variant:t}),e),...r})}let rv=[{match:/package\.json$/,icon:"i-catppuccin:npm"},{match:/(?:^|\/)tsconfig(?:\.\w+)?\.json$/,icon:"i-catppuccin:typescript-config"},{match:/\.(?:test|spec)\.[cm]?[jt]sx?$/,icon:"i-catppuccin:typescript-test"},{match:/\.vue$/,icon:"i-catppuccin:vue"},{match:/\.svelte$/,icon:"i-catppuccin:svelte"},{match:/\.tsx$/,icon:"i-catppuccin:typescript-react"},{match:/\.jsx$/,icon:"i-catppuccin:javascript-react"},{match:/\.d\.[cm]?ts$/,icon:"i-catppuccin:typescript-def"},{match:/\.[cm]?ts$/,icon:"i-catppuccin:typescript"},{match:/\.[cm]?js$/,icon:"i-catppuccin:javascript"},{match:/\.json5?$/,icon:"i-catppuccin:json"},{match:/\.ya?ml$/,icon:"i-catppuccin:yaml"},{match:/\.toml$/,icon:"i-catppuccin:toml"},{match:/\.mdx?$/,icon:"i-catppuccin:markdown"},{match:/\.html?$/,icon:"i-catppuccin:html"},{match:/\.(?:css|postcss)$/,icon:"i-catppuccin:css"},{match:/\.s[ac]ss$/,icon:"i-catppuccin:sass"},{match:/\.less$/,icon:"i-catppuccin:less"},{match:/\.svg$/,icon:"i-catppuccin:svg"},{match:/\.(?:png|jpe?g|gif|webp|avif|ico)$/,icon:"i-catppuccin:image"},{match:/\.(?:woff2?|ttf|otf|eot)$/,icon:"i-catppuccin:font"},{match:/\.wasm$/,icon:"i-catppuccin:webassembly"},{match:/\.(?:sh|bash|zsh|fish)$/,icon:"i-catppuccin:bash"},{match:/\.py$/,icon:"i-catppuccin:python"},{match:/\.rs$/,icon:"i-catppuccin:rust"},{match:/\.go$/,icon:"i-catppuccin:go"},{match:/\.(?:xlsx?|csv)$/,icon:"i-catppuccin:table"},{match:/(?:^|\/)\.gitignore$/,icon:"i-catppuccin:git"},{match:/(?:^|\/)LICENSE(?:\.\w+)?$/,icon:"i-catppuccin:license"}];function ry({name:e,className:t,...n}){return(0,u.jsx)("span",{"aria-hidden":!0,className:n5(e,"inline-block shrink-0",t),...n})}function rx({path:e,className:t,...n}){return(0,u.jsx)(ry,{name:function(e){let t=e.replace(/[?#].*$/,"");for(let e of rv)if(e.match.test(t))return e.icon;return"i-catppuccin:file"}(e),className:n5("size-4",t),...n})}var rw=e.i(49553),rk=Object.defineProperty,rj=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let n=rn(`Primitive.${t}`),r=d.forwardRef((e,r)=>{let{asChild:o,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,u.jsx)(o?n:t,{...i,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});rk(function(e,t){e&&rw.flushSync(()=>e.dispatchEvent(t))},"name",{value:"dispatchDiscreteCustomEvent",configurable:!0});var rS=globalThis?.document?d.useLayoutEffect:()=>{},rE=Object.defineProperty,rN=(e,t)=>rE(e,"name",{value:t,configurable:!0});function r_(e,t){return d.useReducer((e,n)=>t[e][n]??e,e)}rN(r_,"useStateMachine");var rC=rN(e=>{let{present:t,children:n}=e,r=rR(t),o="function"==typeof n?n({present:r.isPresent}):d.Children.only(n),i=rT(r.ref,rz(o));return"function"==typeof n||r.isPresent?d.cloneElement(o,{ref:i}):null},"Presence");function rR(e){let[t,n]=d.useState(),r=d.useRef(null),o=d.useRef(e),i=d.useRef("none"),a=d.useRef(void 0),[l,s]=r_(e?"mounted":"unmounted",{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return d.useEffect(()=>{"mounted"===l?(i.current=a.current??rP(r.current),a.current=void 0):i.current="none"},[l]),rS(()=>{let t=r.current,n=o.current;if(n!==e){let r=i.current,l=rP(t);e?(a.current=l,s("MOUNT")):"none"===l||t?.display==="none"?s("UNMOUNT"):n&&r!==l?s("ANIMATION_OUT"):s("UNMOUNT"),o.current=e}},[e,s]),rS(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,a=rN(i=>{let a=rP(r.current).includes(CSS.escape(i.animationName));if(i.target===t&&a&&(s("ANIMATION_END"),!o.current)){let r=t.style.animationFillMode;t.style.animationFillMode="forwards",e=n.setTimeout(()=>{"forwards"===t.style.animationFillMode&&(t.style.animationFillMode=r)})}},"handleAnimationEnd"),l=rN(e=>{e.target===t&&(i.current=rP(r.current))},"handleAnimationStart");return t.addEventListener("animationstart",l),t.addEventListener("animationcancel",a),t.addEventListener("animationend",a),()=>{n.clearTimeout(e),t.removeEventListener("animationstart",l),t.removeEventListener("animationcancel",a),t.removeEventListener("animationend",a)}}s("ANIMATION_END")},[t,s]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:d.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,a.current=rP(t)}else r.current=null;n(e)},[])}}function r$(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function rT(...e){let t=d.useRef(e);return t.current=e,d.useCallback(e=>{let n=t.current,r=!1,o=n.map(t=>{let n=r$(t,e);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let e=0;e<o.length;e++){let t=o[e];"function"==typeof t?t():r$(n[e],null)}}},[])}function rP(e){return e?.animationName||"none"}function rz(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}rN(rR,"usePresence"),rN(r$,"setRef"),rN(rT,"useStableComposedRefs"),rN(rP,"getAnimationName"),rN(rz,"getElementRef");var rA=Object.defineProperty,rL=(e,t)=>rA(e,"name",{value:t,configurable:!0});function rO(e,t=[]){let n=[];function r(t,r){let o=d.createContext(r);o.displayName=t+"Context";let i=n.length;n=[...n,r];let a=rL(t=>{let{scope:n,children:r,...a}=t,l=n?.[e]?.[i]||o,s=d.useMemo(()=>a,Object.values(a));return(0,u.jsx)(l.Provider,{value:s,children:r})},"Provider");function l(n,a,s={}){let{optional:c=!1}=s,u=a?.[e]?.[i]||o,f=d.useContext(u);if(f)return f;if(void 0!==r)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return a.displayName=t+"Provider",rL(l,"useContext"),[a,l]}rL(r,"createContext");let o=rL(()=>{let t=n.map(e=>d.createContext(e));return rL(function(n){let r=n?.[e]||t;return d.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},"useScope")},"createScope");return o.scopeName=e,[r,rM(o,...t)]}function rM(...e){let t=e[0];if(1===e.length)return t;let n=rL(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return rL(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{...t,...o}},{});return d.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}function rD(e){let t=d.useRef(e);return d.useEffect(()=>{t.current=e}),d.useMemo(()=>(...e)=>t.current?.(...e),[])}rL(function(e,t){let n=d.createContext(t);n.displayName=e+"Context";let r=rL(e=>{let{children:t,...r}=e,o=d.useMemo(()=>r,Object.values(r));return(0,u.jsx)(n.Provider,{value:o,children:t})},"Provider");function o(r,i={}){let{optional:a=!1}=i,l=d.useContext(n);if(l)return l;if(void 0!==t)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return r.displayName=e+"Provider",rL(o,"useContext"),[r,o]},"createContext"),rL(rO,"createContextScope"),rL(rM,"composeContextScopes"),(0,Object.defineProperty)(rD,"name",{value:"useCallbackRef",configurable:!0});var rI=Object.defineProperty,rF=d.createContext(void 0);function rW(e){let t=d.useContext(rF);return e||t||"ltr"}function rU(e,[t,n]){return Math.min(n,Math.max(t,e))}rI(rW,"name",{value:"useDirection",configurable:!0}),(0,Object.defineProperty)(rU,"name",{value:"clamp",configurable:!0});var rB=Object.defineProperty,rq=(e,t)=>rB(e,"name",{value:t,configurable:!0}),rV=!!("u">typeof window&&window.document&&window.document.createElement);function rH(e,t,{checkForDefaultPrevented:n=!0}={}){return rq(function(r){if(e?.(r),!1===n||!r||!r.defaultPrevented)return t?.(r)},"handleEvent")}function rG(e){if(!rV)throw Error("Cannot access document outside of the DOM");return e?.ownerDocument??document}function rX(e){return"IFRAME"===e.tagName}rq(rH,"composeEventHandlers"),rq(function(e){if(!rV)throw Error("Cannot access window outside of the DOM");return e?.ownerDocument?.defaultView??window},"getOwnerWindow"),rq(rG,"getOwnerDocument"),rq(function e(t,n=!1){let{activeElement:r}=rG(t);if(!r?.nodeName)return null;if(rX(r)&&r.contentDocument)return e(r.contentDocument.body,n);if(n){let e=r.getAttribute("aria-activedescendant");if(e){let t=rG(r).getElementById(e);if(t)return t}}return r},"getActiveElement"),rq(rX,"isFrame");var rJ=Object.defineProperty,rK=(e,t)=>rJ(e,"name",{value:t,configurable:!0});function rY(e,t){return d.useReducer((e,n)=>t[e][n]??e,e)}rK(rY,"useStateMachine");var rZ="scroll",rQ="hover",r0="vertical",r1="horizontal",r2="ScrollArea",[r4,r5]=rO(r2),[r3,r6]=r4(r2),r8=d.forwardRef(rK(function(e,t){let{__scopeScrollArea:n,type:r=rQ,dir:o,scrollHideDelay:i=600,...a}=e,[l,s]=d.useState(null),[c,f]=d.useState(null),[m,h]=d.useState(null),[p,g]=d.useState(null),[b,v]=d.useState(null),[y,x]=d.useState(0),[w,k]=d.useState(0),[j,S]=d.useState(!1),[E,N]=d.useState(!1),_=n9(t,s),C=rW(o);return(0,u.jsx)(r3,{scope:n,type:r,dir:C,scrollHideDelay:i,scrollArea:l,viewport:c,onViewportChange:f,content:m,onContentChange:h,scrollbarX:p,onScrollbarXChange:g,scrollbarXEnabled:j,onScrollbarXEnabledChange:S,scrollbarY:b,onScrollbarYChange:v,scrollbarYEnabled:E,onScrollbarYEnabledChange:N,onCornerWidthChange:x,onCornerHeightChange:k,children:(0,u.jsx)(rj.div,{dir:C,...a,ref:_,style:{position:"relative","--radix-scroll-area-corner-width":y+"px","--radix-scroll-area-corner-height":w+"px",...e.style}})})},"ScrollArea")),r7="ScrollAreaViewport",r9=ri(r7),oe=d.forwardRef(rK(function(e,t){let{__scopeScrollArea:n,children:r,nonce:o,disableImplicitContentElement:i,...a}=e,l=r6(r7,n),s=n9(t,d.useRef(null),l.onViewportChange),c=d.isValidElement(r);return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(ot,{nonce:o}),(0,u.jsx)(rj.div,{"data-radix-scroll-area-viewport":"",...a,ref:s,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...e.style},children:i?r:c?(0,u.jsx)(r9,{child:r,children:e=>(0,u.jsx)(on,{__scopeScrollArea:n,children:e})}):(0,u.jsx)(r9,{children:(0,u.jsx)(on,{__scopeScrollArea:n,children:r})})})]})},"ScrollAreaViewport")),ot=d.memo(rK(function({nonce:e}){return(0,u.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:e})},"ScrollAreaViewportStyle"),(e,t)=>e.nonce===t.nonce),on=d.forwardRef(rK(function(e,t){let{__scopeScrollArea:n,children:r,...o}=e,i=n9(t,r6("ScrollAreaContent",n).onContentChange);return(0,u.jsx)(rj.div,{...o,ref:i,style:{minWidth:"100%",display:"table",...e.style},children:r})},"ScrollAreaContent")),or="ScrollAreaScrollbar",oo=d.forwardRef(rK(function(e,t){let{forceMount:n,...r}=e,o=r6(or,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=o,l=e.orientation===r1;return d.useEffect(()=>(l?i(!0):a(!0),()=>{l?i(!1):a(!1)}),[l,i,a]),o.type===rQ?(0,u.jsx)(oi,{...r,ref:t,forceMount:n}):o.type===rZ?(0,u.jsx)(oa,{...r,ref:t,forceMount:n}):"auto"===o.type?(0,u.jsx)(ol,{...r,ref:t,forceMount:n}):"always"===o.type?(0,u.jsx)(os,{...r,ref:t,"data-state":"visible"}):null},"ScrollAreaScrollbar")),oi=d.forwardRef(rK(function(e,t){let{forceMount:n,...r}=e,o=r6(or,e.__scopeScrollArea),[i,a]=d.useState(!1);return d.useEffect(()=>{let e=o.scrollArea,t=0;if(e){let n=rK(()=>{window.clearTimeout(t),a(!0)},"handlePointerEnter"),r=rK(()=>{t=window.setTimeout(()=>a(!1),o.scrollHideDelay)},"handlePointerLeave");return e.addEventListener("pointerenter",n),e.addEventListener("pointerleave",r),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",n),e.removeEventListener("pointerleave",r)}}},[o.scrollArea,o.scrollHideDelay]),(0,u.jsx)(rC,{present:n||i,children:(0,u.jsx)(ol,{"data-state":i?"visible":"hidden",...r,ref:t})})},"ScrollAreaScrollbarHover")),oa=d.forwardRef(rK(function(e,t){let{forceMount:n,...r}=e,o=r6(or,e.__scopeScrollArea),i=e.orientation===r1,a=oC(()=>s("SCROLL_END"),100),[l,s]=rY("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return d.useEffect(()=>{if("idle"===l){let e=window.setTimeout(()=>s("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(e)}},[l,o.scrollHideDelay,s]),d.useEffect(()=>{let e=o.viewport,t=i?"scrollLeft":"scrollTop";if(e){let n=e[t],r=rK(()=>{let r=e[t];n!==r&&(s("SCROLL"),a()),n=r},"handleScroll");return e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[o.viewport,i,s,a]),(0,u.jsx)(rC,{present:n||"hidden"!==l,children:(0,u.jsx)(os,{"data-state":"hidden"===l?"hidden":"visible",...r,ref:t,onPointerEnter:rH(e.onPointerEnter,()=>s("POINTER_ENTER")),onPointerLeave:rH(e.onPointerLeave,()=>s("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),ol=d.forwardRef(rK(function(e,t){let n=r6(or,e.__scopeScrollArea),{forceMount:r,...o}=e,[i,a]=d.useState(!1),l=e.orientation===r1,s=oC(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;a(l?e:t)}},10);return oR(n.viewport,s),oR(n.content,s),(0,u.jsx)(rC,{present:r||i,children:(0,u.jsx)(os,{"data-state":i?"visible":"hidden",...o,ref:t})})},"ScrollAreaScrollbarAuto")),os=d.forwardRef(rK(function(e,t){let{orientation:n=r0,...r}=e,o=r6(or,e.__scopeScrollArea),i=d.useRef(null),a=d.useRef(0),[l,s]=d.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=ow(l.viewport,l.content),f={...r,sizes:l,onSizesChange:s,hasThumb:!!(c>0&&c<1),onThumbChange:rK(e=>i.current=e,"onThumbChange"),onThumbPointerUp:rK(()=>a.current=0,"onThumbPointerUp"),onThumbPointerDown:rK(e=>a.current=e,"onThumbPointerDown")};function m(e,t){return oj(e,a.current,l,t)}return(rK(m,"getScrollPosition"),n===r1)?(0,u.jsx)(oc,{...f,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){let e=oS(o.viewport.scrollLeft,l,o.dir);i.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{o.viewport&&(o.viewport.scrollLeft=e)},onDragScroll:e=>{o.viewport&&(o.viewport.scrollLeft=m(e,o.dir))}}):n===r0?(0,u.jsx)(ou,{...f,ref:t,onThumbPositionChange:()=>{if(o.viewport&&i.current){let e=oS(o.viewport.scrollTop,l);i.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{o.viewport&&(o.viewport.scrollTop=e)},onDragScroll:e=>{o.viewport&&(o.viewport.scrollTop=m(e))}}):null},"ScrollAreaScrollbarVisible")),oc=d.forwardRef(rK(function(e,t){let{sizes:n,onSizesChange:r,...o}=e,i=r6(or,e.__scopeScrollArea),[a,l]=d.useState(),s=d.useRef(null),c=n9(t,s,i.onScrollbarXChange);return d.useEffect(()=>{s.current&&l(getComputedStyle(s.current))},[s]),(0,u.jsx)(om,{"data-orientation":"horizontal",...o,ref:c,sizes:n,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ok(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(i.viewport){let r=i.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),oN(r,n)&&t.preventDefault()}},onResize:()=>{s.current&&i.viewport&&a&&r({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:s.current.clientWidth,paddingStart:ox(a.paddingLeft),paddingEnd:ox(a.paddingRight)}})}})},"ScrollAreaScrollbarX")),ou=d.forwardRef(rK(function(e,t){let{sizes:n,onSizesChange:r,...o}=e,i=r6(or,e.__scopeScrollArea),[a,l]=d.useState(),s=d.useRef(null),c=n9(t,s,i.onScrollbarYChange);return d.useEffect(()=>{s.current&&l(getComputedStyle(s.current))},[s]),(0,u.jsx)(om,{"data-orientation":"vertical",...o,ref:c,sizes:n,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ok(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(i.viewport){let r=i.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),oN(r,n)&&t.preventDefault()}},onResize:()=>{s.current&&i.viewport&&a&&r({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:s.current.clientHeight,paddingStart:ox(a.paddingTop),paddingEnd:ox(a.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[od,of]=r4(or),om=d.forwardRef(rK(function(e,t){let{__scopeScrollArea:n,sizes:r,hasThumb:o,onThumbChange:i,onThumbPointerUp:a,onThumbPointerDown:l,onThumbPositionChange:s,onDragScroll:c,onWheelScroll:f,onResize:m,...h}=e,p=r6(or,n),[g,b]=d.useState(null),v=n9(t,b),y=d.useRef(null),x=d.useRef(""),w=p.viewport,k=r.content-r.viewport,j=rD(f),S=rD(s),E=oC(m,10);function N(e){y.current&&c({x:e.clientX-y.current.left,y:e.clientY-y.current.top})}return rK(N,"handleDragScroll"),d.useEffect(()=>{let e=rK(e=>{let t=e.target;g?.contains(t)&&j(e,k)},"handleWheel");return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[w,g,k,j]),d.useEffect(S,[r,S]),oR(g,E),oR(p.content,E),(0,u.jsx)(od,{scope:n,scrollbar:g,hasThumb:o,onThumbChange:rD(i),onThumbPointerUp:rD(a),onThumbPositionChange:S,onThumbPointerDown:rD(l),children:(0,u.jsx)(rj.div,{...h,ref:v,style:{position:"absolute",...h.style},onPointerDown:rH(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),y.current=g.getBoundingClientRect(),x.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),N(e))}),onPointerMove:rH(e.onPointerMove,N),onPointerUp:rH(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=x.current,p.viewport&&(p.viewport.style.scrollBehavior=""),y.current=null})})})},"ScrollAreaScrollbarImpl")),oh="ScrollAreaThumb",op=d.forwardRef(rK(function(e,t){let{forceMount:n,...r}=e,o=of(oh,e.__scopeScrollArea);return(0,u.jsx)(rC,{present:n||o.hasThumb,children:(0,u.jsx)(og,{ref:t,...r})})},"ScrollAreaThumb")),og=d.forwardRef(rK(function(e,t){let{__scopeScrollArea:n,style:r,...o}=e,i=r6(oh,n),a=of(oh,n),{onThumbPositionChange:l}=a,s=n9(t,a.onThumbChange),c=d.useRef(void 0),f=oC(()=>{c.current&&(c.current(),c.current=void 0)},100);return d.useEffect(()=>{let e=i.viewport;if(e){let t=rK(()=>{f(),c.current||(c.current=o_(e,l),l())},"handleScroll");return l(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[i.viewport,f,l]),(0,u.jsx)(rj.div,{"data-state":a.hasThumb?"visible":"hidden",...o,ref:s,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:rH(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;a.onThumbPointerDown({x:n,y:r})}),onPointerUp:rH(e.onPointerUp,a.onThumbPointerUp)})},"ScrollAreaThumbImpl")),ob="ScrollAreaCorner",ov=d.forwardRef(rK(function(e,t){let n=r6(ob,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==rZ&&r?(0,u.jsx)(oy,{...e,ref:t}):null},"ScrollAreaCorner")),oy=d.forwardRef(rK(function(e,t){let{__scopeScrollArea:n,...r}=e,o=r6(ob,n),[i,a]=d.useState(0),[l,s]=d.useState(0),c=!!(i&&l),{onCornerWidthChange:f,onCornerHeightChange:m}=o;return oR(o.scrollbarX,()=>{let e=o.scrollbarX?.offsetHeight||0;o.onCornerHeightChange(e),s(e)}),oR(o.scrollbarY,()=>{let e=o.scrollbarY?.offsetWidth||0;o.onCornerWidthChange(e),a(e)}),d.useEffect(()=>()=>{f(0),m(0)},[f,m]),c?(0,u.jsx)(rj.div,{...r,ref:t,style:{width:i,height:l,position:"absolute",right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:0,...e.style}}):null},"ScrollAreaCornerImpl"));function ox(e){return e?parseInt(e,10):0}function ow(e,t){let n=e/t;return isNaN(n)?0:n}function ok(e){let t=ow(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-n)*t,18)}function oj(e,t,n,r="ltr"){let o=ok(n),i=t||o/2,a=n.scrollbar.paddingStart+i,l=n.scrollbar.size-n.scrollbar.paddingEnd-(o-i),s=n.content-n.viewport;return oE([a,l],"ltr"===r?[0,s]:[-1*s,0])(e)}function oS(e,t,n="ltr"){let r=ok(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-o,a=t.content-t.viewport,l=rU(e,"ltr"===n?[0,a]:[-1*a,0]);return oE([0,a],[0,i-r])(l)}function oE(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function oN(e,t){return e>0&&e<t}rK(ox,"toInt"),rK(ow,"getThumbRatio"),rK(ok,"getThumbSize"),rK(oj,"getScrollPositionFromPointer"),rK(oS,"getThumbOffsetFromScroll"),rK(oE,"linearScale"),rK(oN,"isScrollingWithinScrollbarBounds");var o_=rK((e,t=()=>{})=>(e.scrollLeft,e.scrollTop,()=>window.cancelAnimationFrame(0)),"addUnlinkedScrollListener");function oC(e,t){let n=rD(e),r=d.useRef(0);return d.useEffect(()=>()=>window.clearTimeout(r.current),[]),d.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function oR(e,t){let n=rD(t);rS(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}function o$({className:e,children:t,...n}){return(0,u.jsxs)(r8,{"data-slot":"scroll-area",className:n5("relative",e),...n,children:[(0,u.jsx)(oe,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-primary-500/40 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:t}),(0,u.jsx)(oT,{}),(0,u.jsx)(ov,{})]})}function oT({className:e,orientation:t="vertical",...n}){return(0,u.jsx)(oo,{"data-slot":"scroll-area-scrollbar",orientation:t,className:n5("flex touch-none p-px transition-colors select-none","vertical"===t&&"h-full w-2.5 border-l border-l-transparent","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent",e),...n,children:(0,u.jsx)(op,{"data-slot":"scroll-area-thumb",className:"bg-[#8882] relative flex-1 rounded-full"})})}function oP({className:e,...t}){return(0,u.jsx)("div",{"data-slot":"skeleton",className:n5("bg-active animate-pulse rounded-md",e),...t})}rK(oC,"useDebounceCallback"),rK(oR,"useResizeObserver");let oz={modified:"M",added:"A",deleted:"D",renamed:"R",copied:"C","type-changed":"T",unmerged:"U",unknown:"?"},oA={added:"text-success",deleted:"text-error",modified:"text-warning",renamed:"color-status-positive",copied:"color-status-positive","type-changed":"text-warning",unmerged:"text-error",unknown:"color-muted"};function oL({code:e,className:t}){return(0,u.jsx)("span",{className:n5("w-3.5 shrink-0 text-center font-mono text-xs font-semibold",oA[e],t),title:e,"aria-label":e,children:oz[e]})}class oO{diff(e,t,n={}){let r;"function"==typeof n?(r=n,n={}):"callback"in n&&(r=n.callback);let o=this.castInput(e,n),i=this.castInput(t,n),a=this.removeEmpty(this.tokenize(o,n)),l=this.removeEmpty(this.tokenize(i,n));return this.diffWithOptionsObj(a,l,n,r)}diffWithOptionsObj(e,t,n,r){var o;let i=e=>(e=this.postProcess(e,n),r)?void setTimeout(function(){r(e)},0):e,a=t.length,l=e.length,s=1,c=a+l;null!=n.maxEditLength&&(c=Math.min(c,n.maxEditLength));let u=null!=(o=n.timeout)?o:1/0,d=Date.now()+u,f=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(f[0],t,e,0,n);if(f[0].oldPos+1>=l&&m+1>=a)return i(this.buildValues(f[0].lastComponent,t,e));let h=-1/0,p=1/0,g=()=>{for(let r=Math.max(h,-s);r<=Math.min(p,s);r+=2){let o,s=f[r-1],c=f[r+1];s&&(f[r-1]=void 0);let u=!1;if(c){let e=c.oldPos-r;u=c&&0<=e&&e<a}let d=s&&s.oldPos+1<l;if(!u&&!d){f[r]=void 0;continue}if(o=!d||u&&s.oldPos<c.oldPos?this.addToPath(c,!0,!1,0,n):this.addToPath(s,!1,!0,1,n),m=this.extractCommon(o,t,e,r,n),o.oldPos+1>=l&&m+1>=a)return i(this.buildValues(o.lastComponent,t,e))||!0;f[r]=o,o.oldPos+1>=l&&(p=Math.min(p,r-1)),m+1>=a&&(h=Math.max(h,r+1))}s++};if(r)!function e(){setTimeout(function(){if(s>c||Date.now()>d)return r(void 0);g()||e()},0)}();else for(;s<=c&&Date.now()<=d;){let e=g();if(e)return e}}addToPath(e,t,n,r,o){let i=e.lastComponent;return i&&!o.oneChangePerToken&&i.added===t&&i.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:i.count+1,added:t,removed:n,previousComponent:i.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:i}}}extractCommon(e,t,n,r,o){let i=t.length,a=n.length,l=e.oldPos,s=l-r,c=0;for(;s+1<i&&l+1<a&&this.equals(n[l+1],t[s+1],o);)s++,l++,c++,o.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return c&&!o.oneChangePerToken&&(e.lastComponent={count:c,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=l,s}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,o=[];for(;e;)o.push(e),r=e.previousComponent,delete e.previousComponent,e=r;o.reverse();let i=o.length,a=0,l=0,s=0;for(;a<i;a++){let e=o[a];if(e.removed)e.value=this.join(n.slice(s,s+e.count)),s+=e.count;else{if(!e.added&&this.useLongestToken){let r=t.slice(l,l+e.count);r=r.map(function(e,t){let r=n[s+t];return r.length>e.length?r:e}),e.value=this.join(r)}else e.value=this.join(t.slice(l,l+e.count));l+=e.count,e.added||(s+=e.count)}}return o}}function oM(e,t){let n;for(n=0;n<e.length&&n<t.length&&e[n]==t[n];n++);return e.slice(0,n)}function oD(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&&e[e.length-(n+1)]==t[t.length-(n+1)];n++);return e.slice(-n)}function oI(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 oF(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 oW(e,t){return oI(e,t,"")}function oU(e,t){return t.slice(0,function(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 o=Array(r),i=0;o[0]=0;for(let e=1;e<r;e++){for(t[e]==t[i]?o[e]=o[i]:o[e]=i;i>0&&t[e]!=t[i];)i=o[i];t[e]==t[i]&&i++}i=0;for(let r=n;r<e.length;r++){for(;i>0&&e[r]!=t[i];)i=o[i];e[r]==t[i]&&i++}return i}(e,t))}function oB(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 oq(e,t){let n;if(t)return oH(e,t)[1];for(n=e.length-1;n>=0&&e[n].match(/\s/);n--);return e.substring(n+1)}function oV(e,t){if(t)return oH(e,t)[0];let n=e.match(/^\s*/);return n?n[0]:""}function oH(e,t){if(!t)return[oV(e),oq(e)];if("word"!=t.resolvedOptions().granularity)throw Error('The segmenter passed must have a granularity of "word"');let n=oB(e,t),r=n[0],o=n[n.length-1];return[/\s/.test(r)?r:"",/\s/.test(o)?o:""]}let oG="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}",oX=RegExp(`[${oG}]+|\\s+|[^${oG}]`,"ug"),oJ=new class extends oO{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("word"!=r.resolvedOptions().granularity)throw Error('The segmenter passed must have a granularity of "word"');n=oB(e,r)}else n=e.match(oX)||[];let r=[],o=null;return n.forEach(e=>{/\s/.test(e)?null==o?r.push(e):r.push(r.pop()+e):null!=o&&/\s/.test(o)?r[r.length-1]==o?r.push(r.pop()+e):r.push(o+e):r.push(e),o=e}),r}join(e){return e.map((e,t)=>0==t?e:e.replace(/^\s+/,"")).join("")}postProcess(e,t){if(!e||t.oneChangePerToken)return e;let n=null,r=null,o=null;return e.forEach(e=>{e.added?r=e:e.removed?o=e:((r||o)&&oK(n,o,r,e,t.intlSegmenter),n=e,r=null,o=null)}),(r||o)&&oK(n,o,r,null,t.intlSegmenter),e}};function oK(e,t,n,r,o){var i,a,l,s;if(t&&n){let[l,s]=oH(t.value,o),[c,u]=oH(n.value,o);if(e){let r=oM(l,c);e.value=oF(e.value,c,r),t.value=oW(t.value,r),n.value=oW(n.value,r)}if(r){let e=oD(s,u);r.value=oI(r.value,u,e),i=t.value,t.value=oF(i,e,""),a=n.value,n.value=oF(a,e,"")}}else if(n){if(e){let e=oV(n.value,o);n.value=n.value.substring(e.length)}if(r){let e=oV(r.value,o);r.value=r.value.substring(e.length)}}else if(e&&r){let n=oV(r.value,o),[i,a]=oH(t.value,o),s=oM(n,i);t.value=oW(t.value,s);let c=oD(oW(n,s),a);l=t.value,t.value=oF(l,c,""),r.value=oI(r.value,n,c),e.value=oF(e.value,n,n.slice(0,n.length-c.length))}else if(r){let e=oV(r.value,o),n=oU(oq(t.value,o),e);s=t.value,t.value=oF(s,n,"")}else if(e){let n=oU(oq(e.value,o),oV(t.value,o));t.value=oW(t.value,n)}}function oY(e){let t=[],n=[],r=e.hunks.map(e=>{let r=function(e){let t=new Map,n=0;for(;n<e.length;){if("del"!==e[n].type){n++;continue}let r=function(e,t){let n=t;for(;n<e.length&&"del"===e[n].type;)n++;let r=n;for(;n<e.length&&"add"===e[n].type;)n++;return{delStart:t,addStart:r,addEnd:n}}(e,n);!function(e,t,n){let r=Math.min(t.addStart-t.delStart,t.addEnd-t.addStart);for(let o=0;o<r;o++){let r=e[t.delStart+o],i=e[t.addStart+o],{old:a,new:l}=function(e,t){let n=[],r=[],o=0,i=0;for(let a of oJ.diff(e,t,void 0)){let e=a.value.length;a.added?(r.push([i,i+e]),i+=e):a.removed?(n.push([o,o+e]),o+=e):(o+=e,i+=e)}return{old:n,new:r}}(r.content,i.content);a.length>0&&n.set(t.delStart+o,a),l.length>0&&n.set(t.addStart+o,l)}}(e,r,t),n=r.addEnd}return t}(e.lines),o=e.lines.map((e,o)=>{let i,a;return"del"===e.type?(i="old",a=t.length,t.push(e.content)):("add"===e.type||t.push(e.content),i="new",a=n.length,n.push(e.content)),{...e,tokenSide:i,tokenLine:a,wordRanges:r.get(o)??[]}});return{header:e.header,lines:o}});return{file:e,oldText:t.join("\n"),newText:n.join("\n"),hunks:r}}new class extends oO{tokenize(e){let t=RegExp(`(\\r?\\n)|[${oG}]+|[^\\S\\n\\r]+|[^${oG}]`,"ug");return e.match(t)||[]}};let oZ={light:"vitesse-light",dark:"vitesse-dark"},oQ="w-10 shrink-0 select-none px-1.5 text-right tabular-nums color-faint";function o0({line:e,tokens:t}){let n=function(e,t,n){let r=[],o=0;if(e)for(let t of e)r.push({start:o,end:o+t.content.length,style:t.htmlStyle}),o+=t.content.length;e&&o===t.length||(r.length=0,r.push({start:0,end:t.length}));let i=new Set([0,t.length]);for(let e of r)i.add(e.start),i.add(e.end);for(let[e,t]of n)i.add(e),i.add(t);let a=[...i].filter(e=>e>=0&&e<=t.length).sort((e,t)=>e-t),l=[];for(let e=0;e<a.length-1;e++){let o=a[e],i=a[e+1];if(o===i)continue;let s=r.find(e=>e.start<=o&&e.end>o)?.style,c=n.some(([e,t])=>o>=e&&o<t);l.push({text:t.slice(o,i),style:s,changed:c})}return 0===l.length&&l.push({text:"",style:void 0,changed:!1}),l}(t?.[e.tokenLine],e.content,e.wordRanges),r="add"===e.type?"bg-success/25":"bg-error/25";return(0,u.jsx)(u.Fragment,{children:n.map((e,t)=>(0,u.jsx)("span",{className:n5("dark:[color:var(--shiki-dark)]",e.changed&&r),style:e.style,children:e.text},t))})}function o1({line:e,tokens:t}){let n="add"===e.type?"bg-success/10":"del"===e.type?"bg-error/10":"",r="add"===e.type?"+":"del"===e.type?"−":" ",o="add"===e.type?"text-success":"del"===e.type?"text-error":"color-faint";return(0,u.jsxs)("div",{className:n5("flex",n),children:[(0,u.jsx)("span",{className:oQ,children:e.oldNumber??""}),(0,u.jsx)("span",{className:oQ,children:e.newNumber??""}),(0,u.jsx)("span",{className:n5("w-4 shrink-0 select-none text-center",o),children:r}),(0,u.jsx)("code",{className:"min-w-0 flex-1 break-all whitespace-pre-wrap pr-2",children:(0,u.jsx)(o0,{line:e,tokens:t})})]})}function o2({hunk:e,oldTokens:t,newTokens:n}){return(0,u.jsxs)("div",{children:[(0,u.jsx)("div",{className:"bg-secondary color-faint px-2 py-0.5",children:e.header}),e.lines.map((e,r)=>(0,u.jsx)(o1,{line:e,tokens:"old"===e.tokenSide?t:n},r))]})}function o4({model:e}){let t=e.file.hunks.length>0,{oldTokens:n,newTokens:r,loading:o,unavailable:i}=function(e,t,n,r){let{rpc:o}=t0(),[i,a]=(0,d.useState)({oldTokens:null,newTokens:null,loading:!0,unavailable:!1});return(0,d.useEffect)(()=>{if(!r)return;if(!o)return void a({oldTokens:null,newTokens:null,loading:!0,unavailable:!1});let i=o.services.get("@devframes/service-shiki");if(!i)return void a({oldTokens:null,newTokens:null,loading:!1,unavailable:!0});let l=!1;a({oldTokens:null,newTokens:null,loading:!0,unavailable:!1});let s=e=>""===e?Promise.resolve([]):i.rpc.call("code-to-tokens",{code:e,lang:n,themes:oZ}).then(e=>e.tokens);return Promise.all([s(e),s(t)]).then(([e,t])=>{l||a({oldTokens:e,newTokens:t,loading:!1,unavailable:!1})},()=>{l||a({oldTokens:null,newTokens:null,loading:!1,unavailable:!0})}),()=>{l=!0}},[o,e,t,n,r]),i}(e.oldText,e.newText,e.file.lang,t);if(!t)return(0,u.jsx)("p",{className:"color-muted px-3 py-2 text-xs",children:"No textual diff (binary or metadata-only change)."});if(o&&!i)return(0,u.jsx)(oP,{className:"m-2 h-20"});let a=i?null:n,l=i?null:r;return(0,u.jsx)("div",{className:"font-mono text-xs leading-5",children:e.hunks.map((e,t)=>(0,u.jsx)(o2,{hunk:e,oldTokens:a,newTokens:l},t))})}function o5(e){return e&&"/dev/null"!==e?e.replace(/^[ab]\//,""):null}function o3(e){var t;let n=function(e){let t={oldName:null,newName:null,isRename:!1,isCreate:!1,isDelete:!1,isBinary:!1};for(let n of e.split("\n")){if(n.startsWith("@@"))break;if(n.startsWith("new file mode"))t.isCreate=!0;else if(n.startsWith("deleted file mode"))t.isDelete=!0;else if(n.startsWith("rename from ")||n.startsWith("copy from "))t.oldName=n.slice(n.indexOf("from ")+5),t.isRename||=n.startsWith("rename");else if(n.startsWith("rename to ")||n.startsWith("copy to "))t.newName=n.slice(n.indexOf("to ")+3),t.isRename||=n.startsWith("rename");else if(n.startsWith("--- "))t.oldName=o5(n.slice(4));else if(n.startsWith("+++ "))t.newName=o5(n.slice(4));else if(n.startsWith("Binary files")||n.startsWith("GIT binary patch"))t.isBinary=!0;else if(n.startsWith("diff --git ")){let e=/^diff --git a\/(.*) b\/(.*)$/.exec(n);e&&(t.oldName??=e[1],t.newName??=e[2])}}return t}(e),r=function(e){try{return function(e){let t=e.split(/\n/),n=[],r=0;function o(e){return/^diff --git /.test(e)}function i(e){return o(e)||/^Index:\s/.test(e)||/^diff(?: -r \w+)+\s/.test(e)}function a(e){return/^(---|\+\+\+)\s/.test(e)}function l(e){return/^@@\s/.test(e)}function s(e){if(e.startsWith('"')){let t=c(e);if(t)return t.fileName}return e}function c(e){if(!e.startsWith('"'))return null;let t="",n=1;for(;n<e.length;){if('"'===e[n])return{fileName:t,rawLength:n+1};if("\\"===e[n]&&n+1<e.length)switch(e[++n]){case"a":t+="\x07";break;case"b":t+="\b";break;case"f":t+="\f";break;case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+=" ";break;case"v":t+="\v";break;case"\\":t+="\\";break;case'"':t+='"';break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{if(n+2>=e.length||e[n+1]<"0"||e[n+1]>"7"||e[n+2]<"0"||e[n+2]>"7")return null;let r=[parseInt(e.substring(n,n+3),8)];for(n+=3;"\\"===e[n]&&e[n+1]>="0"&&e[n+1]<="7";){if(n+3>=e.length||e[n+2]<"0"||e[n+2]>"7"||e[n+3]<"0"||e[n+3]>"7")return null;r.push(parseInt(e.substring(n+1,n+4),8)),n+=4}t+=new TextDecoder("utf-8").decode(new Uint8Array(r));continue}default:return null}else t+=e[n];n++}return null}function u(e){let n=/^(---|\+\+\+)\s+/.exec(t[r]);if(n){let o=n[1],i=t[r].substring(3).trim().split(" ",2),a=(i[1]||"").trim(),l=i[0];l=l.startsWith('"')?s(l):l.replace(/\\\\/g,"\\"),"---"===o?(e.oldFileName=l,e.oldHeader=a):(e.newFileName=l,e.newHeader=a),r++}}for(;r<t.length;)!function(){var e;let d={};d.hunks=[],n.push(d);let f=!1;for(;r<t.length;){let e=t[r];if(a(e)||l(e))break;if(o(e)){if(f)return;f=!0,d.isGit=!0;let n=function(e){let t=e.substring(11);if(t.startsWith('"')){let e,n=c(t);if(null===n)return null;let r=t.substring(n.rawLength+1);if(r.startsWith('"')){let t=c(r);if(null===t)return null;e=t.fileName}else e=r;return{oldFileName:n.fileName,newFileName:e}}let n=t.indexOf('"');if(n>0){let e=t.substring(0,n-1),r=c(t.substring(n));return null===r?null:{oldFileName:e,newFileName:r.fileName}}if(t.startsWith("a/")){let e=[],n=0;for(;-1!==(n=t.indexOf(" b/",n+1));)e.push(n);if(e.length>0){let n=e[Math.floor(e.length/2)];return{oldFileName:t.substring(0,n),newFileName:t.substring(n+1)}}}return null}(e);for(n&&(d.oldFileName=n.oldFileName,d.newFileName=n.newFileName),r++;r<t.length;){let e=t[r];if(a(e)||l(e)||i(e))break;let n=/^rename from (.*)/.exec(e);n&&(d.oldFileName="a/"+s(n[1]),d.isRename=!0);let o=/^rename to (.*)/.exec(e);o&&(d.newFileName="b/"+s(o[1]),d.isRename=!0);let c=/^copy from (.*)/.exec(e);c&&(d.oldFileName="a/"+s(c[1]),d.isCopy=!0);let u=/^copy to (.*)/.exec(e);u&&(d.newFileName="b/"+s(u[1]),d.isCopy=!0);let f=/^new file mode (\d+)/.exec(e);f&&(d.isCreate=!0,d.newMode=f[1]);let m=/^deleted file mode (\d+)/.exec(e);m&&(d.isDelete=!0,d.oldMode=m[1]);let h=/^old mode (\d+)/.exec(e);h&&(d.oldMode=h[1]);let p=/^new mode (\d+)/.exec(e);p&&(d.newMode=p[1]),/^Binary files /.test(e)&&(d.isBinary=!0),r++}continue}if(i(e)){if(f)return;f=!0;let t=/^(?:Index:|diff(?: -r \w+)+)\s+/.exec(e);t&&(d.index=e.substring(t[0].length).trim())}r++}if(u(d),u(d),void 0===d.oldFileName!=(void 0===d.newFileName))throw Error("Missing "+(void 0!==d.oldFileName?'"+++ ..."':'"--- ..."')+" file header for "+(null!=(e=d.oldFileName)?e:d.newFileName));for(;r<t.length;){let e=t[r];if(i(e)||a(e)||/^===================================================================/.test(e))break;l(e)?d.hunks.push(function(){var e;let n=r,o=t[r++].split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/),i={oldStart:+o[1],oldLines:void 0===o[2]?1:+o[2],newStart:+o[3],newLines:void 0===o[4]?1:+o[4],lines:[]};0===i.oldLines&&(i.oldStart+=1),0===i.newLines&&(i.newStart+=1);let l=0,s=0;for(;r<t.length&&(s<i.oldLines||l<i.newLines||(null==(e=t[r])?void 0:e.startsWith("\\")));r++){let e=0==t[r].length&&r!=t.length-1?" ":t[r][0];if("+"===e||"-"===e||" "===e||"\\"===e)i.lines.push(t[r]),"+"===e?l++:"-"===e?s++:" "===e&&(l++,s++);else throw Error(`Hunk at line ${n+1} contained invalid line ${t[r]}`)}if(l||1!==i.newLines||(i.newLines=0),s||1!==i.oldLines||(i.oldLines=0),l!==i.newLines)throw Error("Added line count did not match for hunk at line "+(n+1));if(s!==i.oldLines)throw Error("Removed line count did not match for hunk at line "+(n+1));if(r<t.length&&t[r]&&/^[+ -]/.test(t[r])&&!a(t[r]))throw Error("Hunk at line "+(n+1)+" has more lines than expected (expected "+i.oldLines+" old lines and "+i.newLines+" new lines)");return i}()):r++}}();return n}(e)[0]?.hunks??[]}catch{let t=[],n=null;for(let r of e.split("\n")){let e=/^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/.exec(r);if(e){n={oldStart:+e[1],oldLines:e[2]?+e[2]:1,newStart:+e[3],newLines:e[4]?+e[4]:1,lines:[]},t.push(n);continue}if(!n)continue;let o=r[0];" "===o||"+"===o||"-"===o||"\\"===o?n.lines.push(r):n=null}return t}}(e),o=[...e.matchAll(/^@@ .* @@(.*)$/gm)].map(e=>e[1].trim()),i=(t=r.length>0,n.isCreate?"new":n.isDelete?"deleted":n.isRename?t?"rename-changed":"rename-pure":"modified"),a=("deleted"===i?n.oldName:n.newName)??n.oldName??n.newName??"(unknown)",l=n.isRename&&n.oldName&&n.oldName!==a?n.oldName:null,s=0,c=0,u=r.map((e,t)=>{let n=function(e){let t=e.oldStart,n=e.newStart,r=0,o=0,i=[];for(let a of e.lines){let e=a[0],l=a.slice(1);if("+"===e)r++,i.push({type:"add",content:l,oldNumber:null,newNumber:n++});else if("-"===e)o++,i.push({type:"del",content:l,oldNumber:t++,newNumber:null});else{if("\\"===e)continue;i.push({type:"context",content:l,oldNumber:t++,newNumber:n++})}}return{lines:i,additions:r,deletions:o}}(e);s+=n.additions,c+=n.deletions;let r=`@@ -${e.oldStart},${e.oldLines} +${e.newStart},${e.newLines} @@`,i=o[t];return{header:i?`${r} ${i}`:r,lines:n.lines}});return{name:a,prevName:l,type:i,binary:n.isBinary,additions:s,deletions:c,hunks:u,lang:function(e){if(e)return/\.([^./\\]+)$/.exec(e)?.[1]?.toLowerCase()||void 0}(a)}}function o6(e){switch(e){case"new":return"added";case"deleted":return"deleted";case"rename-pure":case"rename-changed":return"renamed";default:return"modified"}}function o8({file:e,defaultOpen:t}){let[n,r]=(0,d.useState)(t),o=(0,d.useMemo)(()=>oY(e),[e]),i=e.prevName?`${e.prevName} → ${e.name}`:e.name;return(0,u.jsxs)("div",{children:[(0,u.jsxs)("button",{type:"button",onClick:()=>r(e=>!e),"aria-expanded":n,className:"hover:bg-active bg-secondary flex w-full items-center gap-1.5 px-2.5 py-1.5 text-left font-mono text-xs transition-colors",children:[(0,u.jsx)(ry,{name:"i-ph-caret-right",className:n5("color-faint size-3 transition-transform",n&&"rotate-90")}),(0,u.jsx)(oL,{code:o6(e.type)}),(0,u.jsx)(rx,{path:e.name,className:"size-3.5"}),(0,u.jsx)("span",{className:"min-w-0 flex-1 truncate",title:i,children:i}),e.hunks.length>0?(0,u.jsxs)("span",{className:"shrink-0 tabular-nums",children:[(0,u.jsx)("span",{className:"text-success",children:`+${e.additions}`})," ",(0,u.jsx)("span",{className:"text-error",children:`−${e.deletions}`})]}):e.type.startsWith("rename")?(0,u.jsx)(rb,{variant:"secondary",className:"px-1.5 py-0 text-[10px]",children:"renamed"}):(0,u.jsx)(rb,{variant:"secondary",className:"px-1.5 py-0 text-[10px]",children:"bin"})]}),n&&(0,u.jsx)(o4,{model:o})]})}function o7({file:e}){let t=(0,d.useMemo)(()=>oY(e),[e]),n=e.prevName?`${e.prevName} → ${e.name}`:e.name;return(0,u.jsxs)("div",{children:[(0,u.jsxs)("div",{className:"bg-secondary flex items-center gap-1.5 px-2.5 py-1.5 font-mono text-xs",children:[(0,u.jsx)(oL,{code:o6(e.type)}),(0,u.jsx)(rx,{path:e.name,className:"size-3.5"}),(0,u.jsx)("span",{className:"min-w-0 flex-1 truncate",title:n,children:n}),(0,u.jsxs)("span",{className:"shrink-0 tabular-nums",children:[(0,u.jsx)("span",{className:"text-success",children:`+${e.additions}`})," ",(0,u.jsx)("span",{className:"text-error",children:`−${e.deletions}`})]})]}),(0,u.jsx)(o4,{model:t})]})}function o9({patch:e,loading:t,truncated:n,scroll:r=!0,layout:o="flat"}){let i=(0,d.useMemo)(()=>e?(function(e){let t=[],n=/^diff --git .*$/gm;for(let r=n.exec(e);r;r=n.exec(e))t.push(r.index);return 0===t.length?e.trim()?[e]:[]:t.map((n,r)=>e.slice(n,t[r+1]??e.length))})(e).map(o3):[],[e]);if(t)return(0,u.jsx)(oP,{className:"h-40 w-full"});if(!e||0===i.length)return(0,u.jsx)("p",{className:"color-muted p-3 text-sm",children:"No textual diff available (binary or unchanged)."});if("collapsible"===o)return(0,u.jsxs)("div",{className:"flex flex-col [&>*+*]:border-t [&>*+*]:border-base",children:[i.map((e,t)=>(0,u.jsx)(o8,{file:e,defaultOpen:1===i.length},e.name||t)),n&&(0,u.jsx)("p",{className:"text-warning px-3 py-1 text-xs",children:"Patch truncated."})]});let a=(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("div",{className:"flex flex-col [&>*+*]:border-t [&>*+*]:border-base",children:i.map((e,t)=>(0,u.jsx)(o7,{file:e},e.name||t))}),n&&(0,u.jsx)("p",{className:"text-warning px-3 py-1 text-xs",children:"Patch truncated."})]});return r?(0,u.jsx)(o$,{className:"h-72 w-full",children:a}):(0,u.jsx)("div",{children:a})}function ie({className:e,variant:t="primary",size:n="md",asChild:r=!1,...o}){return(0,u.jsx)(r?rr:"button",{"data-slot":"button",className:n5(m({variant:t,size:n}),e),...o})}function it({className:e,variant:t="outline",size:n="md",asChild:r=!1,...o}){return(0,u.jsx)(r?rr:"button",{"data-slot":"icon-button",className:n5(function({variant:e="outline",size:t="md",class:n}={}){return f("ghost"===e?"btn-icon":"btn-icon-square","sm"===t?"w-7! h-7! text-sm":"",n)}({variant:t,size:n}),e),...o})}function ir({label:e}){let t=e.startsWith("tag: "),n=t?e.slice(5):e;return(0,u.jsxs)(rb,{variant:"secondary",className:"gap-1 font-mono text-[10px]",children:[t&&(0,u.jsx)(ry,{name:"i-ph-tag-duotone",className:"size-3"}),n]})}function io({data:e,loading:t,error:n,onClose:r}){var o;return(0,u.jsxs)("div",{className:"flex h-full flex-col",children:[(0,u.jsxs)("div",{className:"flex items-start justify-between gap-2 pb-2",children:[(0,u.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,u.jsx)(ry,{name:"i-ph-git-commit-duotone",className:"color-active size-4"}),(0,u.jsx)("h2",{className:"text-sm leading-none font-semibold",children:"Commit details"})]}),r&&(0,u.jsx)(it,{variant:"ghost",size:"sm",onClick:r,"aria-label":"Close commit details",children:(0,u.jsx)(ry,{name:"i-ph-x",className:"size-4"})})]}),n&&(0,u.jsx)("p",{className:"text-error text-sm",children:n}),!n&&(t||!e)&&(0,u.jsxs)("div",{className:"space-y-2",children:[(0,u.jsx)(oP,{className:"h-5 w-3/4"}),(0,u.jsx)(oP,{className:"h-4 w-1/2"}),(0,u.jsx)(oP,{className:"h-24 w-full"})]}),!n&&e&&!e.found&&(0,u.jsx)("p",{className:"color-muted text-sm",children:"Commit not found."}),!n&&e&&e.found&&(0,u.jsx)(o$,{className:"min-h-0 flex-1 pr-2",children:(0,u.jsxs)("div",{className:"space-y-4",children:[(0,u.jsxs)("div",{className:"space-y-1.5",children:[(0,u.jsx)("p",{className:"text-sm leading-snug font-medium break-words",children:e.subject}),e.refs.length>0&&(0,u.jsx)("div",{className:"flex flex-wrap gap-1",children:e.refs.map(e=>(0,u.jsx)(ir,{label:e},e))})]}),(0,u.jsxs)("dl",{className:"grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-1 text-xs",children:[(0,u.jsx)("dt",{className:"color-muted",children:"Commit"}),(0,u.jsx)("dd",{className:"truncate font-mono tabular-nums",title:e.hash,children:e.shortHash}),(0,u.jsx)("dt",{className:"color-muted",children:"Author"}),(0,u.jsxs)("dd",{className:"truncate",children:[e.author,(0,u.jsx)("span",{className:"color-muted",children:` <${e.email}>`})]}),(0,u.jsx)("dt",{className:"color-muted",children:"Authored"}),(0,u.jsx)("dd",{className:"truncate",children:(o=e.date)?new Date(o).toLocaleString():""}),e.committer!==e.author&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("dt",{className:"color-muted",children:"Committer"}),(0,u.jsx)("dd",{className:"truncate",children:e.committer})]}),e.parents.length>0&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("dt",{className:"color-muted",children:e.parents.length>1?"Parents":"Parent"}),(0,u.jsx)("dd",{className:"truncate font-mono tabular-nums",children:e.parents.map(e=>e.slice(0,7)).join(", ")})]})]}),e.body&&(0,u.jsx)("pre",{className:"bg-secondary max-h-48 overflow-auto rounded-md p-3 font-mono text-xs whitespace-pre-wrap",children:e.body}),(0,u.jsxs)("div",{className:"space-y-1.5",children:[(0,u.jsxs)("div",{className:"flex items-center justify-between",children:[(0,u.jsx)("span",{className:"color-muted text-xs font-medium tracking-wide uppercase",children:`${e.files.length} ${1===e.files.length?"file":"files"} changed`}),(0,u.jsxs)("span",{className:"text-xs tabular-nums",children:[(0,u.jsx)("span",{className:"text-success",children:`+${e.totalAdditions}`})," ",(0,u.jsx)("span",{className:"text-error",children:`−${e.totalDeletions}`})]})]}),null!==e.patch?(0,u.jsx)("div",{className:"overflow-hidden rounded-md border",children:(0,u.jsx)(o9,{patch:e.patch,loading:!1,truncated:e.truncated,scroll:!1,layout:"collapsible"})}):(0,u.jsx)("ul",{className:"space-y-0.5",children:e.files.map(e=>(0,u.jsxs)("li",{className:"flex items-center gap-2 text-xs",children:[(0,u.jsx)(oL,{code:e.status}),(0,u.jsx)(rx,{path:e.path,className:"size-4 shrink-0"}),(0,u.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono",title:e.path,children:e.path}),e.binary?(0,u.jsx)(rb,{variant:"secondary",className:"px-1.5 py-0 text-[10px]",children:"bin"}):(0,u.jsxs)("span",{className:"shrink-0 font-mono tabular-nums",children:[(0,u.jsx)("span",{className:"text-success",children:`+${e.additions}`})," ",(0,u.jsx)("span",{className:"text-error",children:`−${e.deletions}`})]})]},e.path))})]})]})})]})}function ii({hash:e,onClose:t}){let{data:n,loading:r,error:o}=t2((0,d.useCallback)(t=>t.call("devframes:service:git:show",{hash:e}),[e]));return(0,u.jsx)(io,{data:n,loading:r,error:o,onClose:t})}function ia({status:e,error:t}){let n="connected"===e?null:p[e];return n?(0,u.jsxs)("div",{className:f("flex flex-col items-center justify-center gap-4 bg-base p-8 text-center","h-svh w-full"),children:[(0,u.jsx)(ry,{name:n.icon,className:function(e=!1){return f("text-4xl color-active",e&&"animate-pulse",void 0)}(n.spin)}),(0,u.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,u.jsx)("p",{className:f("text-lg font-medium color-base",void 0),children:n.title}),(0,u.jsx)("p",{className:f("max-w-sm text-sm color-muted",void 0),children:n.body}),t&&"error"===e&&(0,u.jsx)("p",{className:f("mt-1 max-w-sm break-words font-mono text-xs color-faint",void 0),children:t})]}),n.reloadable&&(0,u.jsxs)("button",{type:"button",className:m({variant:"primary",size:"sm"}),onClick:()=>location.reload(),children:[(0,u.jsx)(ry,{name:"i-ph-arrow-clockwise",className:"size-4"}),"Reload"]})]}):null}let il=Math.min,is=Math.max,ic=Math.round,iu=Math.floor,id=e=>({x:e,y:e}),im={left:"right",right:"left",bottom:"top",top:"bottom"};function ih(e,t){return"function"==typeof e?e(t):e}function ip(e){return e.split("-")[0]}function ig(e){return e.split("-")[1]}function ib(e){return"x"===e?"y":"x"}function iv(e){return"y"===e?"height":"width"}function iy(e){let t=e[0];return"t"===t||"b"===t?"y":"x"}function ix(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}let iw=["left","right"],ik=["right","left"],ij=["top","bottom"],iS=["bottom","top"];function iE(e){let t=ip(e);return im[t]+e.slice(t.length)}function iN(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function i_(e,t,n){let r,{reference:o,floating:i}=e,a=iy(t),l=ib(iy(t)),s=iv(l),c=ip(t),u=o.x+o.width/2-i.width/2,d=o.y+o.height/2-i.height/2,f=o[s]/2-i[s]/2;switch(c){case"top":r={x:u,y:o.y-i.height};break;case"bottom":r={x:u,y:o.y+o.height};break;case"right":r={x:o.x+o.width,y:d};break;case"left":r={x:o.x-i.width,y:d};break;default:r={x:o.x,y:o.y}}let m=ig(t);return m&&(r[l]+=f*("end"===m?1:-1)*(n&&"y"===a?-1:1)),r}async function iC(e,t){var n,r,o,i,a;void 0===t&&(t={});let{x:l,y:s,platform:c,rects:u,elements:d,strategy:f}=e,{boundary:m="clippingAncestors",rootBoundary:h="viewport",elementContext:p="floating",altBoundary:g=!1,padding:b=0}=ih(t,e),v="number"!=typeof b?{top:null!=(r=b.top)?r:0,right:null!=(o=b.right)?o:0,bottom:null!=(i=b.bottom)?i:0,left:null!=(a=b.left)?a:0}:{top:b,right:b,bottom:b,left:b},y=d[g?"floating"===p?"reference":"floating":p],x=iN(await c.getClippingRect({element:null==(n=await (null==c.isElement?void 0:c.isElement(y)))||n?y:y.contextElement||await (null==c.getDocumentElement?void 0:c.getDocumentElement(d.floating)),boundary:m,rootBoundary:h,strategy:f})),w="floating"===p?{x:l,y:s,width:u.floating.width,height:u.floating.height}:u.reference,k=await (null==c.getOffsetParent?void 0:c.getOffsetParent(d.floating)),j=await (null==c.isElement?void 0:c.isElement(k))&&await (null==c.getScale?void 0:c.getScale(k))||{x:1,y:1},S=iN(c.convertOffsetParentRelativeRectToViewportRelativeRect?await c.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:w,offsetParent:k,strategy:f}):w);return{top:(x.top-S.top+v.top)/j.y,bottom:(S.bottom-x.bottom+v.bottom)/j.y,left:(x.left-S.left+v.left)/j.x,right:(S.right-x.right+v.right)/j.x}}let iR=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:a}=n,l=a.detectOverflow?a:{...a,detectOverflow:iC},s=await (null==a.isRTL?void 0:a.isRTL(t)),c=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:d}=i_(c,r,s),f=r,m=0,h={};for(let n=0;n<i.length;n++){let p=i[n];if(!p)continue;let{name:g,fn:b}=p,{x:v,y:y,data:x,reset:w}=await b({x:u,y:d,initialPlacement:r,placement:f,strategy:o,middlewareData:h,rects:c,platform:l,elements:{reference:e,floating:t}});u=null!=v?v:u,d=null!=y?y:d,h[g]={...h[g],...x},w&&m<50&&(m++,"object"==typeof w&&(w.placement&&(f=w.placement),w.rects&&(c=!0===w.rects?await a.getElementRects({reference:e,floating:t,strategy:o}):w.rects),{x:u,y:d}=i_(c,f,s)),n=-1)}return{x:u,y:d,placement:f,strategy:o,middlewareData:h}},i$=new Set(["left","top"]);async function iT(e,t){let{placement:n,platform:r,elements:o}=e,i=await (null==r.isRTL?void 0:r.isRTL(o.floating)),a=ip(n),l=ig(n),s="y"===iy(n),c=i$.has(a)?-1:1,u=i&&s?-1:1,d=ih(t,e),{mainAxis:f,crossAxis:m,alignmentAxis:h}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return l&&"number"==typeof h&&(m="end"===l?-1*h:h),s?{x:m*u,y:f*c}:{x:f*c,y:m*u}}function iP(){return"u">typeof window}function iz(e){return iO(e)?(e.nodeName||"").toLowerCase():"#document"}function iA(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function iL(e){var t;return null==(t=(iO(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function iO(e){return!!iP()&&(e instanceof Node||e instanceof iA(e).Node)}function iM(e){return!!iP()&&(e instanceof Element||e instanceof iA(e).Element)}function iD(e){return!!iP()&&(e instanceof HTMLElement||e instanceof iA(e).HTMLElement)}function iI(e){return!(!iP()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof iA(e).ShadowRoot)}function iF(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=iX(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&"inline"!==o&&"contents"!==o}function iW(e){try{if(e.matches(":popover-open"))return!0}catch(e){}try{return e.matches(":modal")}catch(e){return!1}}let iU=/transform|translate|scale|rotate|perspective|filter/,iB=/paint|layout|strict|content/,iq=e=>!!e&&"none"!==e;function iV(e){let t=iM(e)?iX(e):e;return iq(t.transform)||iq(t.translate)||iq(t.scale)||iq(t.rotate)||iq(t.perspective)||!iH()&&(iq(t.backdropFilter)||iq(t.filter))||iU.test(t.willChange||"")||iB.test(t.contain||"")}function iH(){return null==t&&(t="u">typeof CSS&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),t}function iG(e){return/^(html|body|#document)$/.test(iz(e))}function iX(e){return iA(e).getComputedStyle(e)}function iJ(e){return iM(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function iK(e){if("html"===iz(e))return e;let t=e.assignedSlot||e.parentNode||iI(e)&&e.host||iL(e);return iI(t)?t.host:t}function iY(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let o=function e(t){let n=iK(t);return iG(n)?(t.ownerDocument||t).body:iD(n)&&iF(n)?n:e(n)}(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),a=iA(o);if(!i)return t.concat(o,iY(o,[],n));{let e=iZ(a);return t.concat(a,a.visualViewport||[],iF(o)?o:[],e&&n?iY(e):[])}}function iZ(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function iQ(e){let t=iX(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=iD(e),i=o?e.offsetWidth:n,a=o?e.offsetHeight:r,l=ic(n)!==i||ic(r)!==a;return l&&(n=i,r=a),{width:n,height:r,$:l}}function i0(e){return iM(e)?e:e.contextElement}function i1(e){let t=i0(e);if(!iD(t))return id(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:i}=iQ(t),a=(i?ic(n.width):n.width)/r,l=(i?ic(n.height):n.height)/o;return a&&Number.isFinite(a)||(a=1),l&&Number.isFinite(l)||(l=1),{x:a,y:l}}let i2=id(0);function i4(e){let t=iA(e);return iH()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:i2}function i5(e,t,n,r){var o;void 0===t&&(t=!1),void 0===n&&(n=!1);let i=e.getBoundingClientRect(),a=i0(e),l=id(1);t&&(r?iM(r)&&(l=i1(r)):l=i1(e));let s=(void 0===(o=n)&&(o=!1),r&&o&&r===iA(a))?i4(a):id(0),c=(i.left+s.x)/l.x,u=(i.top+s.y)/l.y,d=i.width/l.x,f=i.height/l.y;if(a&&r){let e=iA(a),t=iM(r)?iA(r):r,n=e,o=iZ(n);for(;o&&t!==n;){let e=i1(o),t=o.getBoundingClientRect(),r=iX(o),i=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,a=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,u*=e.y,d*=e.x,f*=e.y,c+=i,u+=a,o=iZ(n=iA(o))}}return iN({width:d,height:f,x:c,y:u})}function i3(e,t){let n=iJ(e).scrollLeft;return t?t.left+n:i5(iL(e)).left+n}function i6(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-i3(e,n),y:n.top+t.scrollTop}}function i8(e,t,n){var r;let o;if("viewport"===t||"layoutViewport"===t)o=function(e,t,n){void 0===n&&(n="viewport");let r="layoutViewport"===n,o=iA(e),i=iL(e),a=o.visualViewport,l=i.clientWidth,s=i.clientHeight,c=0,u=0;if(a){let e=!iH()||"fixed"===t;r?e||(c=-a.offsetLeft,u=-a.offsetTop):(l=a.width,s=a.height,e&&(c=a.offsetLeft,u=a.offsetTop))}if(0>=i3(i)){let e=i.ownerDocument,t=e.body,n=getComputedStyle(t),r="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(i.clientWidth-t.clientWidth-r),a="stable both-edges"===getComputedStyle(i).scrollbarGutter?o/2:o;a<=25&&(l-=a)}return{width:l,height:s,x:c,y:u}}(e,n,t);else if("document"===t){let t,n,i,a,l,s;t=iJ(r=iL(e)),n=r.ownerDocument.body,i=is(r.scrollWidth,r.clientWidth,n.scrollWidth,n.clientWidth),a=is(r.scrollHeight,r.clientHeight,n.scrollHeight,n.clientHeight),l=-t.scrollLeft+i3(r),s=-t.scrollTop,"rtl"===iX(n).direction&&(l+=is(r.clientWidth,n.clientWidth)-i),o={width:i,height:a,x:l,y:s}}else if(iM(t)){let e,r,i,a,l,s;r=(e=i5(t,!0,"fixed"===n)).top+t.clientTop,i=e.left+t.clientLeft,a=i1(t),l=t.clientWidth*a.x,s=t.clientHeight*a.y,o={width:l,height:s,x:i*a.x,y:r*a.y}}else{let n=i4(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return iN(o)}function i7(e){return"static"===iX(e).position}function i9(e,t){if(!iD(e)||"fixed"===iX(e).position)return null;if(t)return t(e);let n=e.offsetParent;return iL(e)===n&&(n=n.ownerDocument.body),n}function ae(e,t){var n;let r=iA(e);if(iW(e))return r;if(!iD(e)){let t=iK(e);for(;t&&!iG(t);){if(iM(t)&&!i7(t))return t;t=iK(t)}return r}let o=i9(e,t);for(;o&&(n=o,/^(table|td|th)$/.test(iz(n)))&&i7(o);)o=i9(o,t);return o&&iG(o)&&i7(o)&&!iV(o)?r:o||function(e){let t=iK(e);for(;iD(t)&&!iG(t);){if(iV(t))return t;if(iW(t))break;t=iK(t)}return null}(e)||r}let at=async function(e){let t=this.getOffsetParent||ae,n=this.getDimensions,r=await n(e.floating);return{reference:function(e,t,n){let r=iD(t),o=iL(t),i="fixed"===n,a=i5(e,!0,i,t),l={scrollLeft:0,scrollTop:0},s=id(0);if((r||!i)&&(("body"!==iz(t)||iF(o))&&(l=iJ(t)),r)){let e=i5(t,!0,i,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}!r&&o&&(s.x=i3(o));let c=!o||r||i?id(0):i6(o,l);return{x:a.left+l.scrollLeft-s.x-c.x,y:a.top+l.scrollTop-s.y-c.y,width:a.width,height:a.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},an={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,i="fixed"===o,a=iL(r),l=!!t&&iW(t.floating);if(r===a||l&&i)return n;let s={scrollLeft:0,scrollTop:0},c=id(1),u=id(0),d=iD(r);if((d||!i)&&(("body"!==iz(r)||iF(a))&&(s=iJ(r)),d)){let e=i5(r);c=i1(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=!a||d||i?id(0):i6(a,s);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+u.x+f.x,y:n.y*c.y-s.scrollTop*c.y+u.y+f.y}},getDocumentElement:iL,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[..."clippingAncestors"===n?iW(t)?[]:function(e,t){let n=t.get(e);if(n)return n;let r=iY(e,[],!1).filter(e=>iM(e)&&"body"!==iz(e)),o=null,i="fixed"===iX(e).position,a=i?iK(e):e;for(;iM(a)&&!iG(a);){let e=iX(a),t=iV(a),n=o?o.position:i?"fixed":"";t||"fixed"!==n&&("absolute"!==n||"static"!==e.position)?o=e:r=r.filter(e=>e!==a),a=iK(a)}return t.set(e,r),r}(t,this._c):[].concat(n),r],a=i8(t,i[0],o),l=a.top,s=a.right,c=a.bottom,u=a.left;for(let e=1;e<i.length;e++){let n=i8(t,i[e],o);l=is(n.top,l),s=il(n.right,s),c=il(n.bottom,c),u=is(n.left,u)}return{width:s-u,height:c-l,x:u,y:l}},getOffsetParent:ae,getElementRects:at,getClientRects:function(e){return e.getClientRects?Array.from(e.getClientRects()):[]},getDimensions:function(e){let{width:t,height:n}=iQ(e);return{width:t,height:n}},getScale:i1,isElement:iM,isRTL:function(e){return"rtl"===iX(e).direction}};function ar(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ao(e,t,n,r){let o;void 0===r&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:l="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:c=!1}=r,u=i0(e),d=i||a?[...u?iY(u):[],...t?iY(t):[]]:[];d.forEach(e=>{i&&e.addEventListener("scroll",n),a&&e.addEventListener("resize",n)});let f=u&&s?function(e,t,n){let r,o=null,i=iL(e);function a(){var e;clearTimeout(r),null==(e=o)||e.disconnect(),o=null}function l(n,s){void 0===n&&(n=!1),void 0===s&&(s=1),a();let c=e.getBoundingClientRect(),{left:u,top:d,width:f,height:m}=c;if(n||t(),!f||!m)return;let h={rootMargin:-iu(d)+"px "+-iu(i.clientWidth-(u+f))+"px "+-iu(i.clientHeight-(d+m))+"px "+-iu(u)+"px",threshold:is(0,il(1,s))||1},p=!0;function g(t){let n=t[0].intersectionRatio;if(!ar(c,e.getBoundingClientRect()))return l();if(n!==s){if(!p)return l();n?l(!1,n):r=setTimeout(()=>{l(!1,1e-7)},1e3)}p=!1}try{o=new IntersectionObserver(g,{...h,root:i.ownerDocument})}catch(e){o=new IntersectionObserver(g,h)}o.observe(e)}let s=iA(e),c=()=>l(n);return s.addEventListener("resize",c),l(!0),()=>{s.removeEventListener("resize",c),a()}}(u,n,a):null,m=-1,h=null;l&&(h=new ResizeObserver(e=>{let[r]=e;r&&r.target===u&&h&&t&&(h.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var e;null==(e=h)||e.observe(t)})),n()}),u&&!c&&h.observe(u),t&&h.observe(t));let p=c?i5(e):null;return c&&function t(){let r=i5(e);p&&!ar(p,r)&&n(),p=r,o=requestAnimationFrame(t)}(),n(),()=>{var e;d.forEach(e=>{i&&e.removeEventListener("scroll",n),a&&e.removeEventListener("resize",n)}),null==f||f(),null==(e=h)||e.disconnect(),h=null,c&&cancelAnimationFrame(o)}}var ai="u">typeof document?d.useLayoutEffect:function(){};function aa(e,t){let n,r,o;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!aa(e[r],t[r]))return!1;return!0}if((n=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!({}).hasOwnProperty.call(t,o[r]))return!1;for(r=n;0!=r--;){let n=o[r];if(("_owner"!==n||!e.$$typeof)&&!aa(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function al(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function as(e,t){let n=al(e);return Math.round(t*n)/n}function ac(e){let t=d.useRef(e);return ai(()=>{t.current=e}),t}var au='input:not([inert]):not([inert] *),select:not([inert]):not([inert] *),textarea:not([inert]):not([inert] *),a[href]:not([inert]):not([inert] *),area[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] *)',ad="u"<typeof Element,af=ad?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,am=!ad&&Element.prototype.getRootNode?function(e){var t;return null==e||null==(t=e.getRootNode)?void 0:t.call(e)}:function(e){return null==e?void 0:e.ownerDocument},ah=function(e,t){void 0===t&&(t=!0);var n,r=null==e||null==(n=e.getAttribute)?void 0:n.call(e,"inert");return""===r||"true"===r||t&&e&&("function"==typeof e.closest?e.closest("[inert]"):ah(e.parentNode))},ap=function(e){var t,n=null==e||null==(t=e.getAttribute)?void 0:t.call(e,"contenteditable");return""===n||"true"===n},ag=function(e,t,n){if(ah(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(au));return t&&af.call(e,au)&&r.unshift(e),r=r.filter(n)},ab=function(e,t,n){for(var r=[],o=Array.from(e);o.length;){var i=o.shift();if(!ah(i,!1))if("SLOT"===i.tagName){var a=i.assignedElements(),l=ab(a.length?a:i.children,!0,n);n.flatten?r.push.apply(r,l):r.push({scopeParent:i,candidates:l})}else{af.call(i,au)&&n.filter(i)&&(t||!e.includes(i))&&r.push(i);var s=i.shadowRoot||"function"==typeof n.getShadowRoot&&n.getShadowRoot(i),c=!ah(s,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(i));if(s&&c){var u=ab(!0===s?i.children:s.children,!0,n);n.flatten?r.push.apply(r,u):r.push({scopeParent:i,candidates:u})}else o.unshift.apply(o,i.children)}}return r},av=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ay=function(e){if(!e)throw Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ap(e))&&!av(e)?0:e.tabIndex},ax=function(e,t){var n=ay(e);return n<0&&t&&!av(e)?0:n},aw=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},ak=function(e){return"INPUT"===e.tagName},aj=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]},aS=function(e){if(!e.name)return!0;var t,n=e.form||am(e),r=function(e){return n.querySelectorAll('input[type="radio"][name="'+e+'"]')};if("u">typeof window&&void 0!==window.CSS&&"function"==typeof window.CSS.escape)t=r(window.CSS.escape(e.name));else try{t=r(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 o=aj(t,e.form);return!o||o===e},aE=function(e){return ak(e)&&"radio"===e.type&&!aS(e)},aN=function(e){var t,n,r,o,i,a,l,s=e&&am(e),c=null==(t=s)?void 0:t.host,u=!1;if(s&&s!==e)for(u=!!(null!=(n=c)&&null!=(r=n.ownerDocument)&&r.contains(c)||null!=e&&null!=(o=e.ownerDocument)&&o.contains(e));!u&&c;)u=!!(null!=(a=c=null==(i=s=am(c))?void 0:i.host)&&null!=(l=a.ownerDocument)&&l.contains(c));return u},a_=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return 0===n&&0===r},aC=function(e,t){var n=t.displayCheck,r=t.getShadowRoot;if("full-native"===n&&"checkVisibility"in e)return!e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});var o=getComputedStyle(e).visibility;if("hidden"===o||"collapse"===o)return!0;var i=af.call(e,"details>summary:first-of-type")?e.parentElement:e;if(af.call(i,"details:not([open]) *"))return!0;if(n&&"full"!==n&&"full-native"!==n&&"legacy-full"!==n){if("non-zero-area"===n)return a_(e)}else{if("function"==typeof r){for(var a=e;e;){var l=e.parentElement,s=am(e);if(l&&!l.shadowRoot&&!0===r(l))return a_(e);e=e.assignedSlot?e.assignedSlot:l||s===e.ownerDocument?l:s.host}e=a}if(aN(e))return!e.getClientRects().length;if("legacy-full"!==n)return!0}return!1},aR=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if("FIELDSET"===t.tagName&&t.disabled){for(var n=0;n<t.children.length;n++){var r=t.children.item(n);if("LEGEND"===r.tagName)return!!af.call(t,"fieldset[disabled] *")||!r.contains(e)}return!0}t=t.parentElement}return!1},a$=function(e,t){return!(t.disabled||ak(t)&&"hidden"===t.type||aC(t,e)||"DETAILS"===t.tagName&&Array.prototype.slice.apply(t.children).some(function(e){return"SUMMARY"===e.tagName})||aR(t))},aT=function(e,t){return!(aE(t)||0>ay(t))&&!!a$(e,t)},aP=function(e){var t=parseInt(e.getAttribute("tabindex"),10);return!!isNaN(t)||!!(t>=0)},az=function(e){var t=[],n=[];return e.forEach(function(e,r){var o=!!e.scopeParent,i=o?e.scopeParent:e,a=ax(i,o),l=o?az(e.candidates):i;0===a?o?t.push.apply(t,l):t.push(i):n.push({documentOrder:r,tabIndex:a,item:e,isScope:o,content:l})}),n.sort(aw).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},aA=function(e,t){return az((t=t||{}).getShadowRoot?ab([e],t.includeContainer,{filter:aT.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:aP}):ag(e,t.includeContainer,aT.bind(null,t)))};function aL(){return/apple/i.test(navigator.vendor)}function aO(e){let t=e.activeElement;for(;(null==(n=t)||null==(n=n.shadowRoot)?void 0:n.activeElement)!=null;){var n;t=t.shadowRoot.activeElement}return t}function aM(e,t){if(!e||!t)return!1;let n=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&iI(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function aD(e){return"composedPath"in e?e.composedPath()[0]:e.target}function aI(e,t){return null!=t&&("composedPath"in e?e.composedPath().includes(t):null!=e.target&&t.contains(e.target))}function aF(e){return(null==e?void 0:e.ownerDocument)||document}function aW(e,t,n){return void 0===n&&(n=!0),e.filter(e=>{var r;return e.parentId===t&&(!n||(null==(r=e.context)?void 0:r.open))}).flatMap(t=>[t,...aW(e,t.id,n)])}function aU(e,t){let n=["mouse","pen"];return t||n.push("",void 0),n.includes(e)}var aB="u">typeof document?d.useLayoutEffect:function(){};function aq(e){let t=d.useRef(e);return aB(()=>{t.current=e}),t}let aV={...d}.useInsertionEffect||(e=>e());function aH(e){let t=d.useRef(()=>{});return aV(()=>{t.current=e}),d.useCallback(function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return null==t.current?void 0:t.current(...n)},[])}let aG=()=>({getShadowRoot:!0,displayCheck:"function"==typeof ResizeObserver&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function aX(e,t){let n=aA(e,aG()),r=n.length;if(0===r)return;let o=aO(aF(e)),i=n.indexOf(o);return n[-1===i?1===t?0:r-1:i+t]}function aJ(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!aM(n,r)}function aK(e){e.querySelectorAll("[data-tabindex]").forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute("tabindex",t):e.removeAttribute("tabindex")})}let aY="active",aZ="selected",aQ={...d},a0=!1,a1=0,a2=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+a1++,a4=aQ.useId||function(){let[e,t]=d.useState(()=>a0?a2():void 0);return aB(()=>{null==e&&t(a2())},[]),d.useEffect(()=>{a0=!0},[]),e},a5=d.createContext(null),a3=d.createContext(null),a6=()=>{var e;return(null==(e=d.useContext(a5))?void 0:e.id)||null};function a8(e){return"data-floating-ui-"+e}function a7(e){-1!==e.current&&(clearTimeout(e.current),e.current=-1)}let a9=a8("safe-polygon");function le(e,t,n){if(n&&!aU(n))return 0;if("number"==typeof e)return e;if("function"==typeof e){let n=e();return"number"==typeof n?n:null==n?void 0:n[t]}return null==e?void 0:e[t]}function lt(e){return"function"==typeof e?e():e}function ln(e,t){if(!e||!t)return!1;let n=null==t.getRootNode?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&iI(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}let lr={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},lo=d.forwardRef(function(e,t){let[n,r]=d.useState();aB(()=>{aL()&&r("button")},[]);let o={ref:t,tabIndex:0,role:n,"aria-hidden":!n||void 0,[a8("focus-guard")]:"",style:lr};return(0,u.jsx)("span",{...e,...o})}),li={clipPath:"inset(50%)",position:"fixed",top:0,left:0},la=d.createContext(null),ll=a8("portal");function ls(e){let{children:t,id:n,root:r,preserveTabOrder:o=!0}=e,i=function(e){void 0===e&&(e={});let{id:t,root:n}=e,r=a4(),o=lc(),[i,a]=d.useState(null),l=d.useRef(null);return aB(()=>()=>{null==i||i.remove(),queueMicrotask(()=>{l.current=null})},[i]),aB(()=>{if(!r||l.current)return;let e=t?document.getElementById(t):null;if(!e)return;let n=document.createElement("div");n.id=r,n.setAttribute(ll,""),e.appendChild(n),l.current=n,a(n)},[t,r]),aB(()=>{if(null===n||!r||l.current)return;let e=n||(null==o?void 0:o.portalNode);e&&!iO(e)&&(e=e.current),e=e||document.body;let i=null;t&&((i=document.createElement("div")).id=t,e.appendChild(i));let s=document.createElement("div");s.id=r,s.setAttribute(ll,""),(e=i||e).appendChild(s),l.current=s,a(s)},[t,n,r,o]),i}({id:n,root:r}),[a,l]=d.useState(null),s=d.useRef(null),c=d.useRef(null),f=d.useRef(null),m=d.useRef(null),h=null==a?void 0:a.modal,p=null==a?void 0:a.open,g=!!a&&!a.modal&&a.open&&o&&!!(r||i);return d.useEffect(()=>{if(i&&o&&!h)return i.addEventListener("focusin",e,!0),i.addEventListener("focusout",e,!0),()=>{i.removeEventListener("focusin",e,!0),i.removeEventListener("focusout",e,!0)};function e(e){i&&aJ(e)&&("focusin"===e.type?aK:function(e){aA(e,aG()).forEach(e=>{e.dataset.tabindex=e.getAttribute("tabindex")||"",e.setAttribute("tabindex","-1")})})(i)}},[i,o,h]),d.useEffect(()=>{!i||p||aK(i)},[p,i]),(0,u.jsxs)(la.Provider,{value:d.useMemo(()=>({preserveTabOrder:o,beforeOutsideRef:s,afterOutsideRef:c,beforeInsideRef:f,afterInsideRef:m,portalNode:i,setFocusManagerState:l}),[o,i]),children:[g&&i&&(0,u.jsx)(lo,{"data-type":"outside",ref:s,onFocus:e=>{var t,n;if(aJ(e,i))null==(t=f.current)||t.focus();else{let e=aX(aF(n=a?a.domReference:null).body,-1)||n;null==e||e.focus()}}}),g&&i&&(0,u.jsx)("span",{"aria-owns":i.id,style:li}),i&&rw.createPortal(t,i),g&&i&&(0,u.jsx)(lo,{"data-type":"outside",ref:c,onFocus:e=>{var t,n;if(aJ(e,i))null==(t=m.current)||t.focus();else{let t=aX(aF(n=a?a.domReference:null).body,1)||n;null==t||t.focus(),(null==a?void 0:a.closeOnFocusOut)&&(null==a||a.onOpenChange(!1,e.nativeEvent,"focus-out"))}}})]})}let lc=()=>d.useContext(la),lu={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},ld={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},lf=e=>{var t,n;return{escapeKey:"boolean"==typeof e?e:null!=(t=null==e?void 0:e.escapeKey)&&t,outsidePress:"boolean"==typeof e?e:null==(n=null==e?void 0:e.outsidePress)||n}};function lm(){let e;return(null!=(e=navigator.userAgentData)&&e.platform?e.platform:navigator.platform).toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints&&aL()}function lh(e,t,n){let r=new Map,o="item"===n,i=e;if(o&&e){let{[aY]:t,[aZ]:n,...r}=e;i=r}return{..."floating"===n&&{tabIndex:-1,"data-floating-ui-focusable":""},...i,...t.map(t=>{let r=t?t[n]:null;return"function"==typeof r?e?r(e):null:r}).concat(e).reduce((e,t)=>(t&&Object.entries(t).forEach(t=>{let[n,i]=t;if(!(o&&[aY,aZ].includes(n)))if(0===n.indexOf("on")){if(r.has(n)||r.set(n,[]),"function"==typeof i){var a;null==(a=r.get(n))||a.push(i),e[n]=function(){for(var e,t=arguments.length,o=Array(t),i=0;i<t;i++)o[i]=arguments[i];return null==(e=r.get(n))?void 0:e.map(e=>e(...o)).find(e=>void 0!==e)}}}else e[n]=i}),e),{})}}function lp(e,t){let[n,r]=e,o=!1,i=t.length;for(let e=0,a=i-1;e<i;a=e++){let[i,l]=t[e]||[0,0],[s,c]=t[a]||[0,0];l>=r!=c>=r&&n<=(s-i)*(r-l)/(c-l)+i&&(o=!o)}return o}let lg=["#3b82f6","#f59e0b","#ef4444","#8b5cf6","#10b981","#ec4899","#06b6d4","#f97316"],lb={remote:0,head:1,tag:2,branch:3};function lv(e){return"branch"===e.kind&&e.current?4:lb[e.kind]}let ly=["#3b82f6","#f59e0b","#ef4444","#8b5cf6","#10b981","#ec4899","#06b6d4","#f97316","#14b8a6","#6366f1"];async function lx(e){let t=new TextEncoder().encode(e);return Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256",t)),e=>e.toString(16).padStart(2,"0")).join("")}let lw=/^(?:\d+\+)?([a-z0-9](?:[a-z0-9-]*[a-z0-9])?)@users\.noreply\.github\.com$/i;async function lk(e,t){let n=e.trim().toLowerCase();if(!n||!n.includes("@"))return null;let r=n.match(lw);if(r)return`https://github.com/${r[1]}.png?size=${t}`;if(!globalThis.crypto?.subtle)return null;let o=await lx(n);return`https://gravatar.com/avatar/${o}?s=${t}&d=404`}function lj({name:e,email:t,size:n=64,className:r,...o}){let i,a=ly[function(e){let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return Math.abs(t)}((t||e||"?").toLowerCase())%ly.length],[l,s]=(0,d.useState)(null),[c,f]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{let e=!0;return s(null),f(!1),lk(t??"",n).then(t=>e&&s(t)).catch(()=>{}),()=>{e=!1}},[t,n]),(0,u.jsxs)("span",{className:n5("relative inline-flex size-7 shrink-0 items-center justify-center overflow-hidden rounded-full text-[11px] font-semibold text-white select-none",r),style:{backgroundColor:a},title:e,...o,children:[0===(i=(e.trim()||(t??"").split("@")[0]||"?").split(/[\s._-]+/).filter(Boolean)).length?"?":1===i.length?i[0].slice(0,2).toUpperCase():(i[0][0]+i[i.length-1][0]).toUpperCase(),l&&!c&&(0,u.jsx)("img",{src:l,alt:"",loading:"lazy",referrerPolicy:"no-referrer",onError:()=>f(!0),className:"absolute inset-0 size-full rounded-full object-cover"})]})}function lS(e,t){let n=Number.parseInt(e.slice(1,3),16),r=Number.parseInt(e.slice(3,5),16),o=Number.parseInt(e.slice(5,7),16);return`rgba(${n}, ${r}, ${o}, ${t})`}function lE(e){return 8+15*e+7.5}function lN(e,t,n,r){let o=lE(e),i=lE(n);if(e===n)return`M ${o} ${t} L ${i} ${r}`;let a=(t+r)/2;return`M ${o} ${t} C ${o} ${a} ${i} ${a} ${i} ${r}`}function l_({row:e,width:t,isHead:n,topStub:r}){return(0,u.jsxs)("svg",{width:t,height:30,className:"block shrink-0",style:{overflow:"visible"},"aria-hidden":!0,children:[r&&(0,u.jsx)("path",{d:lN(e.col,0,e.col,15),fill:"none",stroke:e.color,strokeWidth:2,strokeLinecap:"round"}),e.topLinks.map((e,t)=>(0,u.jsx)("path",{d:lN(e.from,0,e.to,15),fill:"none",stroke:e.color,strokeWidth:2,strokeLinecap:"round"},`t${t}`)),e.bottomLinks.map((e,t)=>(0,u.jsx)("path",{d:lN(e.from,15,e.to,30),fill:"none",stroke:e.color,strokeWidth:2,strokeLinecap:"round"},`b${t}`)),n&&(0,u.jsx)("circle",{cx:lE(e.col),cy:15,r:7.5,fill:"none",stroke:e.color,strokeWidth:1.5,opacity:.3}),(0,u.jsx)("circle",{cx:lE(e.col),cy:15,r:4,fill:n?void 0:e.color,className:n?"fill-white dark:fill-[#111]":void 0,stroke:e.color,strokeWidth:2.5})]})}function lC({refToken:e,color:t}){if("tag"===e.kind)return(0,u.jsxs)("span",{className:"inline-flex max-w-[140px] items-center gap-1 rounded-full border px-1.5 py-0.5 text-[10px] leading-none font-medium",style:{color:t,borderColor:lS(t,.5),backgroundColor:lS(t,.12)},children:[(0,u.jsx)(ry,{name:"i-ph-tag-duotone",className:"size-2.5 shrink-0"}),(0,u.jsx)("span",{className:"truncate",title:e.name,children:e.name})]});if("head"===e.kind)return(0,u.jsx)("span",{className:"color-muted inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 font-mono text-[10px] leading-none font-medium",children:"HEAD"});let n="remote"===e.kind?`${e.remote}/${e.name}`:e.name,r="branch"===e.kind&&e.current;return(0,u.jsxs)("span",{className:"inline-flex max-w-[140px] items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] leading-none font-medium",style:r?{color:"#fff",backgroundColor:t}:{color:t,borderColor:lS(t,.5),backgroundColor:lS(t,.12),borderWidth:1,borderStyle:"solid"},children:[r?(0,u.jsx)(ry,{name:"i-ph-check",className:"size-2.5 shrink-0"}):(0,u.jsx)(ry,{name:"i-ph-git-branch-duotone",className:"size-2.5 shrink-0 opacity-70"}),(0,u.jsx)("span",{className:"truncate",title:n,children:n})]})}function lR({additions:e,deletions:t}){return(0,u.jsxs)("span",{className:"tabular-nums",children:[(0,u.jsx)("span",{className:"text-success font-medium",children:`+${e}`})," ",(0,u.jsx)("span",{className:"text-error font-medium",children:`−${t}`})]})}function l$({commit:e,detail:t,onOpen:n}){let r=(t?.data?.body||e.body||e.subject).trim(),o=t?.data?.files.length??0;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)("div",{className:"space-y-2.5 p-3.5",children:[(0,u.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,u.jsx)(lj,{name:e.author,email:e.email,className:"size-8 text-xs"}),(0,u.jsxs)("div",{className:"flex min-w-0 items-baseline gap-2",children:[(0,u.jsx)("span",{className:"color-base truncate font-semibold",children:e.author}),(0,u.jsx)("span",{className:"color-muted shrink-0 text-xs",title:new Date(e.date).toLocaleString(),children:function(e){let t=Math.round((Date.now()-e)/6e4);if(t<1)return"just now";if(t<60)return`${t} minute${1===t?"":"s"} ago`;let n=Math.round(t/60);if(n<24)return`${n} hour${1===n?"":"s"} ago`;let r=Math.round(n/24);return r<30?`${r} day${1===r?"":"s"} ago`:new Date(e).toLocaleDateString()}(e.date)})]})]}),(0,u.jsx)("p",{className:"color-muted line-clamp-3 text-sm leading-snug",children:r})]}),(0,u.jsxs)("div",{className:"border-base flex items-center justify-between border-t px-3.5 py-2.5 text-sm",children:[t?.loading||!t?(0,u.jsxs)("span",{className:"color-faint inline-flex items-center gap-1.5",children:[(0,u.jsx)(ry,{name:"i-ph-spinner-gap",className:"size-3.5 animate-spin"}),"Loading…"]}):t.data?(0,u.jsxs)("span",{className:"color-muted",children:[(0,u.jsxs)("span",{className:"color-base font-medium",children:[o," ",1===o?"file":"files"," ","changed"]})," ",(0,u.jsx)(lR,{additions:t.data.totalAdditions,deletions:t.data.totalDeletions})]}):(0,u.jsx)("code",{className:"color-muted tabular-nums",children:e.shortHash}),(0,u.jsx)(it,{variant:"ghost",size:"sm",onClick:n,"aria-label":"Open commit details",children:(0,u.jsx)(ry,{name:"i-ph-arrow-right",className:"size-4"})})]})]})}let lT=(0,d.memo)(({commit:e,row:t,gutter:n,currentBranch:r,isHead:o,topStub:i,selected:a,onSelect:l,onLoadDetail:s})=>{var c,f,m,h,p;let g,b,v,y,x,w,k,j,S,E=(0,d.useMemo)(()=>(function(e,t){let n=[];for(let r of e){let e=r.trim();if(!e)continue;let o=function(e,t){if(e.startsWith("tag: "))return{kind:"tag",name:e.slice(5).trim()};if(e.includes("->")){let t=e.split("->")[1]?.trim();return t?{kind:"branch",name:t,current:!0}:null}if("HEAD"===e)return{kind:"head"};let n=e.indexOf("/");if(n>0){let t=e.slice(n+1);return"HEAD"===t?null:{kind:"remote",remote:e.slice(0,n),name:t}}return{kind:"branch",name:e,current:t===e}}(e,t);o&&n.push(o)}return n.sort((e,t)=>lv(e)-lv(t))})(e.refs,r),[e.refs,r]),[N,_]=(0,d.useState)(!1),[C,R]=(0,d.useState)(),$=0!==t.col&&!a&&!N,T=function(e){var t,n;let{elements:r,...o}=void 0===e?{}:e,{nodeId:i}=o,a=function(e){let{open:t=!1,onOpenChange:n,elements:r}=e,o=a4(),i=d.useRef({}),[a]=d.useState(()=>{let e;return e=new Map,{emit(t,n){var r;null==(r=e.get(t))||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;null==(r=e.get(t))||r.delete(n)}}}),l=null!=a6(),[s,c]=d.useState(r.reference),u=aH((e,t,r)=>{i.current.openEvent=e?t:void 0,a.emit("openchange",{open:e,event:t,reason:r,nested:l}),null==n||n(e,t,r)}),f=d.useMemo(()=>({setPositionReference:c}),[]),m=d.useMemo(()=>({reference:s||r.reference||null,floating:r.floating||null,domReference:r.reference}),[s,r.reference,r.floating]);return d.useMemo(()=>({dataRef:i,open:t,onOpenChange:u,elements:m,events:a,floatingId:o,refs:f}),[t,u,m,a,o,f])}({...o,elements:{reference:null!=(t=null==r?void 0:r.reference)?t:null,floating:null!=(n=null==r?void 0:r.floating)?n:null}}),l=o.rootContext||a,s=l.elements,[c,u]=d.useState(null),[f,m]=d.useState(null),h=(null==s?void 0:s.domReference)||c,p=d.useRef(null),g=d.useContext(a3);aB(()=>{h&&(p.current=h)},[h]);let b=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:i,floating:a}={},transform:l=!0,whileElementsMounted:s,open:c}=e,[u,f]=d.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,h]=d.useState(r);aa(m,r)||h(r);let[p,g]=d.useState(null),[b,v]=d.useState(null),y=d.useCallback(e=>{e!==j.current&&(j.current=e,g(e))},[]),x=d.useCallback(e=>{e!==S.current&&(S.current=e,v(e))},[]),w=i||p,k=a||b,j=d.useRef(null),S=d.useRef(null),E=d.useRef(u),N=null!=s,_=ac(s),C=ac(o),R=ac(c),$=d.useCallback(()=>{var e,r;let o,i,a;if(!j.current||!S.current)return;let l={placement:t,strategy:n,middleware:m};C.current&&(l.platform=C.current),(e=j.current,r=S.current,o=new Map,i=null!=l?l:{},a={...an,...i.platform,_c:o},iR(e,r,{...i,platform:a})).then(e=>{let t={...e,isPositioned:!1!==R.current};T.current&&!aa(E.current,t)&&(E.current=t,rw.flushSync(()=>{f(t)}))})},[m,t,n,C,R]);ai(()=>{!1===c&&E.current.isPositioned&&(E.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[c]);let T=d.useRef(!1);ai(()=>(T.current=!0,()=>{T.current=!1}),[]),ai(()=>{if(w&&(j.current=w),k&&(S.current=k),w&&k){if(_.current)return _.current(w,k,$);$()}},[w,k,$,_,N]);let P=d.useMemo(()=>({reference:j,floating:S,setReference:y,setFloating:x}),[y,x]),z=d.useMemo(()=>({reference:w,floating:k}),[w,k]),A=d.useMemo(()=>{let e={position:n,left:0,top:0};if(!z.floating)return e;let t=as(z.floating,u.x),r=as(z.floating,u.y);return l?{...e,transform:"translate("+t+"px, "+r+"px)",...al(z.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,l,z.floating,u.x,u.y]);return d.useMemo(()=>({...u,update:$,refs:P,elements:z,floatingStyles:A}),[u,$,P,z,A])}({...o,elements:{...s,...f&&{reference:f}}}),v=d.useCallback(e=>{let t=iM(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;m(t),b.refs.setReference(t)},[b.refs]),y=d.useCallback(e=>{(iM(e)||null===e)&&(p.current=e,u(e)),(iM(b.refs.reference.current)||null===b.refs.reference.current||null!==e&&!iM(e))&&b.refs.setReference(e)},[b.refs]),x=d.useMemo(()=>({...b.refs,setReference:y,setPositionReference:v,domReference:p}),[b.refs,y,v]),w=d.useMemo(()=>({...b.elements,domReference:h}),[b.elements,h]),k=d.useMemo(()=>({...b,...l,refs:x,elements:w,nodeId:i}),[b,x,w,i,l]);return aB(()=>{l.dataRef.current.floatingContext=k;let e=null==g?void 0:g.nodesRef.current.find(e=>e.id===i);e&&(e.context=k)}),d.useMemo(()=>({...b,context:k,refs:x,elements:w}),[b,x,w,k])}({open:N,onOpenChange:_,placement:"bottom-start",middleware:[{name:(g={name:"offset",options:6,async fn(e){var t,n;let{x:r,y:o,placement:i,middlewareData:a}=e,l=await iT(e,6);return i===(null==(t=a.offset)?void 0:t.placement)&&null!=(n=a.arrow)&&n.alignmentOffset?{}:{x:r+l.x,y:o+l.y,data:{...l,placement:i}}}}).name,fn:g.fn,options:[6,void 0]},{name:(b={name:"flip",options:f=c={padding:8},async fn(e){var t,n,r,o,i,a,l,s;let c,u,d,{placement:m,middlewareData:h,rects:p,initialPlacement:g,platform:b,elements:v}=e,{mainAxis:y=!0,crossAxis:x=!0,fallbackPlacements:w,fallbackStrategy:k="bestFit",fallbackAxisSideDirection:j="none",flipAlignment:S=!0,...E}=ih(f,e);if(null!=(t=h.arrow)&&t.alignmentOffset)return{};let N=ip(m),_=iy(g),C=ip(g)===g,R=await (null==b.isRTL?void 0:b.isRTL(v.floating)),$=w||(C||!S?[iE(g)]:(c=iE(g),[ix(g),c,ix(c)])),T="none"!==j;!w&&T&&$.push(...(u=ig(g),d=function(e,t,n){switch(e){case"top":case"bottom":if(n)return t?ik:iw;return t?iw:ik;case"left":case"right":return t?ij:iS;default:return[]}}(ip(g),"start"===j,R),u&&(d=d.map(e=>e+"-"+u),S&&(d=d.concat(d.map(ix)))),d));let P=[g,...$],z=await b.detectOverflow(e,E),A=[],L=(null==(n=h.flip)?void 0:n.overflows)||[];if(y&&A.push(z[N]),x){let e,t,n,r,o=(a=m,l=p,void 0===(s=R)&&(s=!1),e=ig(a),n=iv(t=ib(iy(a))),r="x"===t?e===(s?"end":"start")?"right":"left":"start"===e?"bottom":"top",l.reference[n]>l.floating[n]&&(r=iE(r)),[r,iE(r)]);A.push(z[o[0]],z[o[1]])}if(L=[...L,{placement:m,overflows:A}],!A.every(e=>e<=0)){let e=((null==(r=h.flip)?void 0:r.index)||0)+1,t=P[e];if(t&&("alignment"!==x||_===iy(t)||L.every(e=>iy(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:L},reset:{placement:t}};let n=null==(o=L.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:o.placement;if(!n)switch(k){case"bestFit":{let e=null==(i=L.filter(e=>{if(T){let t=iy(e.placement);return t===_||"y"===t}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])?void 0:i[0];e&&(n=e);break}case"initialPlacement":n=g}if(m!==n)return{reset:{placement:n}}}return{}}}).name,fn:b.fn,options:[c,void 0]},{name:(v={name:"shift",options:h=m={padding:8},async fn(e){let{x:t,y:n,placement:r,platform:o}=e,{mainAxis:i=!0,crossAxis:a=!1,limiter:l={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...s}=ih(h,e),c={x:t,y:n},u=await o.detectOverflow(e,s),d=iy(r),f=ib(d),m=c[f],p=c[d],g=(e,t)=>is(t+u["y"===e?"top":"left"],il(t,t-u["y"===e?"bottom":"right"]));i&&(m=g(f,m)),a&&(p=g(d,p));let b=l.fn({...e,[f]:m,[d]:p});return{...b,data:{x:b.x-t,y:b.y-n,enabled:{[f]:i,[d]:a}}}}}).name,fn:v.fn,options:[m,void 0]}],whileElementsMounted:ao}),{getReferenceProps:P,getFloatingProps:z}=(y=(p=[function(e,t){void 0===t&&(t={});let{open:n,onOpenChange:r,dataRef:o,events:i,elements:a}=e,{enabled:l=!0,delay:s=0,handleClose:c=null,mouseOnly:u=!1,restMs:f=0,move:m=!0}=t,h=d.useContext(a3),p=a6(),g=aq(c),b=aq(s),v=aq(n),y=aq(f),x=d.useRef(),w=d.useRef(-1),k=d.useRef(),j=d.useRef(-1),S=d.useRef(!0),E=d.useRef(!1),N=d.useRef(()=>{}),_=d.useRef(!1),C=aH(()=>{var e;let t=null==(e=o.current.openEvent)?void 0:e.type;return(null==t?void 0:t.includes("mouse"))&&"mousedown"!==t});d.useEffect(()=>{if(l)return i.on("openchange",e),()=>{i.off("openchange",e)};function e(e){let{open:t}=e;t||(a7(w),a7(j),S.current=!0,_.current=!1)}},[l,i]),d.useEffect(()=>{if(!l||!g.current||!n)return;function e(e){C()&&r(!1,e,"hover")}let t=aF(a.floating).documentElement;return t.addEventListener("mouseleave",e),()=>{t.removeEventListener("mouseleave",e)}},[a.floating,n,r,l,g,C]);let R=d.useCallback(function(e,t,n){void 0===t&&(t=!0),void 0===n&&(n="hover");let o=le(b.current,"close",x.current);o&&!k.current?(a7(w),w.current=window.setTimeout(()=>r(!1,e,n),o)):t&&(a7(w),r(!1,e,n))},[b,r]),$=aH(()=>{N.current(),k.current=void 0}),T=aH(()=>{if(E.current){let e=aF(a.floating).body;e.style.pointerEvents="",e.removeAttribute(a9),E.current=!1}}),P=aH(()=>!!o.current.openEvent&&["click","mousedown"].includes(o.current.openEvent.type));d.useEffect(()=>{if(l&&iM(a.domReference)){let r=a.domReference,o=a.floating;return n&&r.addEventListener("mouseleave",i),m&&r.addEventListener("mousemove",e,{once:!0}),r.addEventListener("mouseenter",e),r.addEventListener("mouseleave",t),o&&(o.addEventListener("mouseleave",i),o.addEventListener("mouseenter",s),o.addEventListener("mouseleave",c)),()=>{n&&r.removeEventListener("mouseleave",i),m&&r.removeEventListener("mousemove",e),r.removeEventListener("mouseenter",e),r.removeEventListener("mouseleave",t),o&&(o.removeEventListener("mouseleave",i),o.removeEventListener("mouseenter",s),o.removeEventListener("mouseleave",c))}}function e(e){if(a7(w),S.current=!1,u&&!aU(x.current)||lt(y.current)>0&&!le(b.current,"open"))return;let t=le(b.current,"open",x.current);t?w.current=window.setTimeout(()=>{v.current||r(!0,e,"hover")},t):n||r(!0,e,"hover")}function t(e){if(P())return void T();N.current();let t=aF(a.floating);if(a7(j),_.current=!1,g.current&&o.current.floatingContext){n||a7(w),k.current=g.current({...o.current.floatingContext,tree:h,x:e.clientX,y:e.clientY,onClose(){T(),$(),P()||R(e,!0,"safe-polygon")}});let r=k.current;t.addEventListener("mousemove",r),N.current=()=>{t.removeEventListener("mousemove",r)};return}"touch"===x.current&&aM(a.floating,e.relatedTarget)||R(e)}function i(e){P()||o.current.floatingContext&&(null==g.current||g.current({...o.current.floatingContext,tree:h,x:e.clientX,y:e.clientY,onClose(){T(),$(),P()||R(e)}})(e))}function s(){a7(w)}function c(e){P()||R(e,!1)}},[a,l,e,u,m,R,$,T,r,n,v,h,b,g,o,P,y]),aB(()=>{var e,t;if(l&&n&&null!=(e=g.current)&&null!=(e=e.__options)&&e.blockPointerEvents&&C()){E.current=!0;let e=a.floating;if(iM(a.domReference)&&e){let n=aF(a.floating).body;n.setAttribute(a9,"");let r=a.domReference,o=null==h||null==(t=h.nodesRef.current.find(e=>e.id===p))||null==(t=t.context)?void 0:t.elements.floating;return o&&(o.style.pointerEvents=""),n.style.pointerEvents="none",r.style.pointerEvents="auto",e.style.pointerEvents="auto",()=>{n.style.pointerEvents="",r.style.pointerEvents="",e.style.pointerEvents=""}}}},[l,n,p,a,h,g,C]),aB(()=>{n||(x.current=void 0,_.current=!1,$(),T())},[n,$,T]),d.useEffect(()=>()=>{$(),a7(w),a7(j),T()},[l,a.domReference,$,T]);let z=d.useMemo(()=>{function e(e){x.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e;function o(){S.current||v.current||r(!0,t,"hover")}u&&!aU(x.current)||n||0===lt(y.current)||_.current&&e.movementX**2+e.movementY**2<2||(a7(j),"touch"===x.current?o():(_.current=!0,j.current=window.setTimeout(o,lt(y.current))))}}},[u,r,n,v,y]);return d.useMemo(()=>l?{reference:z}:{},[l,z])}(T.context,{delay:{open:200,close:80},handleClose:function(e){void 0===e&&(e={});let{buffer:t=.5,blockPointerEvents:n=!1,requireIntent:r=!0}=e,o={current:-1},i=!1,a=null,l=null,s="u">typeof performance?performance.now():0,c=e=>{let{x:n,y:c,placement:u,elements:d,onClose:f,nodeId:m,tree:h}=e;return function(e){function p(){a7(o),f()}if(a7(o),!d.domReference||!d.floating||null==u||null==n||null==c)return;let{clientX:g,clientY:b}=e,v=[g,b],y="composedPath"in e?e.composedPath()[0]:e.target,x="mouseleave"===e.type,w=ln(d.floating,y),k=ln(d.domReference,y),j=d.domReference.getBoundingClientRect(),S=d.floating.getBoundingClientRect(),E=u.split("-")[0],N=n>S.right-S.width/2,_=c>S.bottom-S.height/2,C=v[0]>=j.x&&v[0]<=j.x+j.width&&v[1]>=j.y&&v[1]<=j.y+j.height,R=S.width>j.width,$=S.height>j.height,T=(R?j:S).left,P=(R?j:S).right,z=($?j:S).top,A=($?j:S).bottom;if(w&&(i=!0,!x))return;if(k&&(i=!1),k&&!x){i=!0;return}if(x&&iM(e.relatedTarget)&&ln(d.floating,e.relatedTarget)||h&&function e(t,n,r){return void 0===r&&(r=!0),t.filter(e=>{var t;return e.parentId===n&&(!r||(null==(t=e.context)?void 0:t.open))}).flatMap(n=>[n,...e(t,n.id,r)])}(h.nodesRef.current,m).length)return;if("top"===E&&c>=j.bottom-1||"bottom"===E&&c<=j.top+1||"left"===E&&n>=j.right-1||"right"===E&&n<=j.left+1)return p();let L=[];switch(E){case"top":L=[[T,j.top+1],[T,S.bottom-1],[P,S.bottom-1],[P,j.top+1]];break;case"bottom":L=[[T,S.top+1],[T,j.bottom-1],[P,j.bottom-1],[P,S.top+1]];break;case"left":L=[[S.right-1,A],[S.right-1,z],[j.left+1,z],[j.left+1,A]];break;case"right":L=[[j.right-1,A],[j.right-1,z],[S.left+1,z],[S.left+1,A]]}if(!lp([g,b],L)){if(i&&!C)return p();if(!x&&r){let t=function(e,t){let n=performance.now(),r=n-s;if(null===a||null===l||0===r)return a=e,l=t,s=n,null;let o=e-a,i=t-l,c=Math.sqrt(o*o+i*i);return a=e,l=t,s=n,c/r}(e.clientX,e.clientY);if(null!==t&&t<.1)return p()}lp([g,b],function(e){let[n,r]=e;switch(E){case"top":{let e=[[S.left,N||R?S.bottom-t:S.top],[S.right,N?R?S.bottom-t:S.top:S.bottom-t]];return[[R?n+t/2:N?n+4*t:n-4*t,r+t+1],[R?n-t/2:N?n+4*t:n-4*t,r+t+1],...e]}case"bottom":{let e=[[S.left,N||R?S.top+t:S.bottom],[S.right,N?R?S.top+t:S.bottom:S.top+t]];return[[R?n+t/2:N?n+4*t:n-4*t,r-t],[R?n-t/2:N?n+4*t:n-4*t,r-t],...e]}case"left":return[[_||$?S.right-t:S.left,S.top],[_?$?S.right-t:S.left:S.right-t,S.bottom],[n+t+1,$?r+t/2:_?r+4*t:r-4*t],[n+t+1,$?r-t/2:_?r+4*t:r-4*t]];case"right":{let e=[[_||$?S.left+t:S.right,S.top],[_?$?S.left+t:S.right:S.left+t,S.bottom]];return[[n-t,$?r+t/2:_?r+4*t:r-4*t],[n-t,$?r-t/2:_?r+4*t:r-4*t],...e]}}}([n,c]))?!i&&r&&(o.current=window.setTimeout(p,40)):p()}}};return c.__options={blockPointerEvents:n},c}()}),function(e,t){void 0===t&&(t={});let{open:n,onOpenChange:r,events:o,dataRef:i,elements:a}=e,{enabled:l=!0,visibleOnly:s=!0}=t,c=d.useRef(!1),u=d.useRef(-1),f=d.useRef(!0);d.useEffect(()=>{if(!l)return;let e=iA(a.domReference);function t(){!n&&iD(a.domReference)&&a.domReference===aO(aF(a.domReference))&&(c.current=!0)}function r(){f.current=!0}function o(){f.current=!1}return e.addEventListener("blur",t),lm()&&(e.addEventListener("keydown",r,!0),e.addEventListener("pointerdown",o,!0)),()=>{e.removeEventListener("blur",t),lm()&&(e.removeEventListener("keydown",r,!0),e.removeEventListener("pointerdown",o,!0))}},[a.domReference,n,l]),d.useEffect(()=>{if(l)return o.on("openchange",e),()=>{o.off("openchange",e)};function e(e){let{reason:t}=e;("reference-press"===t||"escape-key"===t)&&(c.current=!0)}},[o,l]),d.useEffect(()=>()=>{a7(u)},[]);let m=d.useMemo(()=>({onMouseLeave(){c.current=!1},onFocus(e){if(c.current)return;let t=aD(e.nativeEvent);if(s&&iM(t)){if(lm()&&!e.relatedTarget){if(!f.current&&!(iD(t)&&t.matches("input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])")))return}else if(!function(e){let t;if(!e||((t=navigator.userAgentData)&&Array.isArray(t.brands)?t.brands.map(e=>{let{brand:t,version:n}=e;return t+"/"+n}).join(" "):navigator.userAgent).includes("jsdom/"))return!0;try{return e.matches(":focus-visible")}catch(e){return!0}}(t))return}r(!0,e.nativeEvent,"focus")},onBlur(e){c.current=!1;let t=e.relatedTarget,n=e.nativeEvent,o=iM(t)&&t.hasAttribute(a8("focus-guard"))&&"outside"===t.getAttribute("data-type");u.current=window.setTimeout(()=>{var e;let l=aO(a.domReference?a.domReference.ownerDocument:document);!t&&l===a.domReference||aM(null==(e=i.current.floatingContext)?void 0:e.refs.floating.current,l)||aM(a.domReference,l)||o||r(!1,n,"focus")})}}),[i,a.domReference,r,s]);return d.useMemo(()=>l?{reference:m}:{},[l,m])}(T.context),function(e,t){void 0===t&&(t={});let{open:n,onOpenChange:r,elements:o,dataRef:i}=e,{enabled:a=!0,escapeKey:l=!0,outsidePress:s=!0,outsidePressEvent:c="pointerdown",referencePress:u=!1,referencePressEvent:f="pointerdown",ancestorScroll:m=!1,bubbles:h,capture:p}=t,g=d.useContext(a3),b=aH("function"==typeof s?s:()=>!1),v="function"==typeof s?b:s,y=d.useRef(!1),{escapeKey:x,outsidePress:w}=lf(h),{escapeKey:k,outsidePress:j}=lf(p),S=d.useRef(!1),E=aH(e=>{var t;if(!n||!a||!l||"Escape"!==e.key||S.current)return;let o=null==(t=i.current.floatingContext)?void 0:t.nodeId,s=g?aW(g.nodesRef.current,o):[];if(!x&&(e.stopPropagation(),s.length>0)){let e=!0;if(s.forEach(t=>{var n;if(null!=(n=t.context)&&n.open&&!t.context.dataRef.current.__escapeKeyBubbles){e=!1;return}}),!e)return}r(!1,"nativeEvent"in e?e.nativeEvent:e,"escape-key")}),N=aH(e=>{var t;let n=()=>{var t;E(e),null==(t=aD(e))||t.removeEventListener("keydown",n)};null==(t=aD(e))||t.addEventListener("keydown",n)}),_=aH(e=>{var t;let n=i.current.insideReactTree;i.current.insideReactTree=!1;let a=y.current;if(y.current=!1,"click"===c&&a||n||"function"==typeof v&&!v(e))return;let l=aD(e),s="["+a8("inert")+"]",u=aF(o.floating).querySelectorAll(s),d=iM(l)?l:null;for(;d&&!iG(d);){let e=iK(d);if(iG(e)||!iM(e))break;d=e}if(u.length&&iM(l)&&!l.matches("html,body")&&!aM(l,o.floating)&&Array.from(u).every(e=>!aM(d,e)))return;if(iD(l)&&$){let t=iG(l),n=iX(l),r=/auto|scroll/,o=t||r.test(n.overflowX),i=t||r.test(n.overflowY),a=o&&l.clientWidth>0&&l.scrollWidth>l.clientWidth,s=i&&l.clientHeight>0&&l.scrollHeight>l.clientHeight,c="rtl"===n.direction,u=s&&(c?e.offsetX<=l.offsetWidth-l.clientWidth:e.offsetX>l.clientWidth),d=a&&e.offsetY>l.clientHeight;if(u||d)return}let f=null==(t=i.current.floatingContext)?void 0:t.nodeId,m=g&&aW(g.nodesRef.current,f).some(t=>{var n;return aI(e,null==(n=t.context)?void 0:n.elements.floating)});if(aI(e,o.floating)||aI(e,o.domReference)||m)return;let h=g?aW(g.nodesRef.current,f):[];if(h.length>0){let e=!0;if(h.forEach(t=>{var n;if(null!=(n=t.context)&&n.open&&!t.context.dataRef.current.__outsidePressBubbles){e=!1;return}}),!e)return}r(!1,e,"outside-press")}),C=aH(e=>{var t;let n=()=>{var t;_(e),null==(t=aD(e))||t.removeEventListener(c,n)};null==(t=aD(e))||t.addEventListener(c,n)});d.useEffect(()=>{if(!n||!a)return;i.current.__escapeKeyBubbles=x,i.current.__outsidePressBubbles=w;let e=-1;function t(e){r(!1,e,"ancestor-scroll")}function s(){window.clearTimeout(e),S.current=!0}function u(){e=window.setTimeout(()=>{S.current=!1},5*!!iH())}let d=aF(o.floating);l&&(d.addEventListener("keydown",k?N:E,k),d.addEventListener("compositionstart",s),d.addEventListener("compositionend",u)),v&&d.addEventListener(c,j?C:_,j);let f=[];return m&&(iM(o.domReference)&&(f=iY(o.domReference)),iM(o.floating)&&(f=f.concat(iY(o.floating))),!iM(o.reference)&&o.reference&&o.reference.contextElement&&(f=f.concat(iY(o.reference.contextElement)))),(f=f.filter(e=>{var t;return e!==(null==(t=d.defaultView)?void 0:t.visualViewport)})).forEach(e=>{e.addEventListener("scroll",t)}),()=>{l&&(d.removeEventListener("keydown",k?N:E,k),d.removeEventListener("compositionstart",s),d.removeEventListener("compositionend",u)),v&&d.removeEventListener(c,j?C:_,j),f.forEach(e=>{e.removeEventListener("scroll",t)}),window.clearTimeout(e)}},[i,o,l,v,c,n,r,m,a,x,w,E,k,N,_,j,C]),d.useEffect(()=>{i.current.insideReactTree=!1},[i,v,c]);let R=d.useMemo(()=>({onKeyDown:E,...u&&{[lu[f]]:e=>{r(!1,e.nativeEvent,"reference-press")},..."click"!==f&&{onClick(e){r(!1,e.nativeEvent,"reference-press")}}}}),[E,r,u,f]),$=d.useMemo(()=>{function e(e){0===e.button&&(y.current=!0)}return{onKeyDown:E,onMouseDown:e,onMouseUp:e,[ld[c]]:()=>{i.current.insideReactTree=!0}}},[E,c,i]);return d.useMemo(()=>a?{reference:R,floating:$}:{},[a,R,$])}(T.context)]).map(e=>null==e?void 0:e.reference),x=p.map(e=>null==e?void 0:e.floating),w=p.map(e=>null==e?void 0:e.item),k=d.useCallback(e=>lh(e,p,"reference"),y),j=d.useCallback(e=>lh(e,p,"floating"),x),S=d.useCallback(e=>lh(e,p,"item"),w),d.useMemo(()=>({getReferenceProps:k,getFloatingProps:j,getItemProps:S}),[k,j,S])),{isMounted:A,status:L}=function(e,t){void 0===t&&(t={});let{open:n,elements:{floating:r}}=e,{duration:o=250}=t,i=("number"==typeof o?o:o.close)||0,[a,l]=d.useState("unmounted"),s=function(e,t){let[n,r]=d.useState(e);return e&&!n&&r(!0),d.useEffect(()=>{if(!e&&n){let e=setTimeout(()=>r(!1),t);return()=>clearTimeout(e)}},[e,n,t]),n}(n,i);return s||"close"!==a||l("unmounted"),aB(()=>{if(r){if(n){l("initial");let e=requestAnimationFrame(()=>{rw.flushSync(()=>{l("open")})});return()=>{cancelAnimationFrame(e)}}l("close")}},[n,r]),{isMounted:s,status:a}}(T.context,{duration:150});return(0,d.useEffect)(()=>{if(!N||C||!s)return;let t=!0;return R({loading:!0,data:null}),s(e.hash).then(e=>t&&R({loading:!1,data:e})).catch(()=>t&&R({loading:!1,data:null})),()=>{t=!1}},[N,C,s,e.hash]),(0,u.jsxs)("li",{children:[(0,u.jsxs)("button",{ref:T.refs.setReference,type:"button","aria-current":a?"true":void 0,className:n5("relative flex w-full items-stretch rounded-md text-left transition-colors","focus-visible:ring-primary-500/40 outline-none focus-visible:ring-2",a?"bg-active":"hover:bg-active"),style:{height:30},...P({onClick:()=>l?.(e.hash)}),children:[(0,u.jsx)("div",{className:"relative z-10",children:(0,u.jsx)(l_,{row:t,width:n,isHead:o,topStub:i})}),(0,u.jsxs)("div",{className:"relative z-10 flex min-w-0 flex-1 items-center gap-1.5 pr-2 pl-1.5",children:[(0,u.jsx)("span",{className:n5("truncate text-[13px] transition-colors",$?"color-faint font-normal":"color-base font-medium"),title:e.subject,children:e.subject}),E.map((e,n)=>(0,u.jsx)(lC,{refToken:e,color:t.color},n))]})]}),A&&(0,u.jsx)(ls,{children:(0,u.jsx)("div",{ref:T.refs.setFloating,style:T.floatingStyles,"data-af-animate":!0,"data-state":"open"===L?"open":"closed",className:"border-base bg-base z-tooltip w-80 overflow-hidden rounded-lg border shadow-lg",...z(),children:(0,u.jsx)(l$,{commit:e,detail:C,onOpen:()=>{l?.(e.hash),_(!1)}})})})]})});function lP({col:e,color:t,gutter:n,changes:r}){return(0,u.jsxs)("li",{className:"relative flex items-stretch",style:{height:30},children:[(0,u.jsx)("div",{className:"relative z-10",children:(0,u.jsxs)("svg",{width:n,height:30,className:"block shrink-0",style:{overflow:"visible"},"aria-hidden":!0,children:[(0,u.jsx)("path",{d:lN(e,15,e,30),fill:"none",stroke:t,strokeWidth:2,strokeDasharray:"2 3",strokeLinecap:"round"}),(0,u.jsx)("circle",{cx:lE(e),cy:15,r:4,className:"fill-white dark:fill-[#111]",stroke:t,strokeWidth:2,strokeDasharray:"2 2"})]})}),(0,u.jsxs)("div",{className:"relative z-10 flex min-w-0 flex-1 items-center gap-2 pr-2 pl-1.5",children:[(0,u.jsx)(ry,{name:"i-ph-pencil-simple-duotone",className:"color-muted size-3.5 shrink-0"}),(0,u.jsx)("span",{className:"text-[13px] font-medium",children:"Work in Progress"}),(0,u.jsxs)("span",{className:"color-muted text-xs",children:[r," ",1===r?"change":"changes"]})]})]})}function lz(e){let{rpcConnected:t,isRepo:n,commits:r,hasMore:o,loading:i,error:a,selectedRef:l,currentBranch:s,workingChanges:c,selectedHash:f,onRefresh:m,onLoadMore:h,onSelectCommit:p,onLoadDetail:g}=e,b=(0,d.useMemo)(()=>{let e,t,n,o,i;return e=[],t=0,n=()=>lg[t++%lg.length],o=()=>{let t=e.indexOf(null);return -1===t?e.length:t},{rows:i=r.map(t=>(function(e,t,n,r){var o,i;let a,l,{hash:s,parents:c}=e,u=function(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];r&&t.push({col:n,hash:r.hash,color:r.color})}return t}(t),d=t.findIndex(e=>e?.hash===s);-1===d?(d=r(),a=n()):a=t[d].color;for(let e=0;e<t.length;e++)t[e]?.hash===s&&(t[e]=null);t[d]=null;let f=(o=d,i=a,l=[],c.forEach((e,a)=>{if(0===a){t[o]={hash:e,color:i},l.push({col:o,color:i});return}let s=t.findIndex(t=>t?.hash===e);-1===s&&(t[s=r()]={hash:e,color:n()}),l.push({col:s,color:t[s].color})}),l);for(0===c.length&&(t[d]=null);t.length>0&&null==t[t.length-1];)t.pop();let m=u.map(e=>({from:e.col,to:e.hash===s?d:e.col,color:e.color}));return{col:d,color:a,topLinks:m,bottomLinks:function(e,t,n,r){let o=[];for(let n of e)n.hash!==t&&o.push({from:n.col,to:n.col,color:n.color});for(let e of r)o.push({from:n,to:e.col,color:e.color});return o}(u,s,d,f)}})(t,e,n,o)),columns:function(e){let t=0;for(let n of e){for(let e of(t=Math.max(t,n.col+1),n.topLinks))t=Math.max(t,e.from+1,e.to+1);for(let e of n.bottomLinks)t=Math.max(t,e.from+1,e.to+1)}return t}(i)}},[r]),v=15*Math.max(b.columns,1)+7.5+8,y=(c??0)>0&&r.length>0&&(!l||l===s),x=b.rows[0],w=(0,d.useRef)(null),k=(0,d.useRef)(null),j=(0,d.useRef)(!1),S=(0,d.useRef)(h);return S.current=h,(0,d.useEffect)(()=>{i||(j.current=!1)},[i]),(0,d.useEffect)(()=>{let e=w.current,t=k.current;if(!e||!t||!o)return;let n=new IntersectionObserver(e=>{!e[0]?.isIntersecting||j.current||i||(j.current=!0,S.current())},{root:e,rootMargin:"120px"});return n.observe(t),()=>n.disconnect()},[o,i,r.length]),(0,u.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-2",children:[(0,u.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,u.jsxs)("div",{className:"flex min-w-0 items-baseline gap-2.5",children:[(0,u.jsx)("h2",{className:"text-lg leading-none font-semibold tracking-tight",children:"Commit History"}),(0,u.jsx)("span",{className:"color-muted shrink-0 text-xs tabular-nums",children:n?`${r.length}${o?"+":""}${l?` \xb7 ${l}`:""}`:""})]}),(0,u.jsx)(it,{variant:"ghost",size:"sm",onClick:m,disabled:i,"aria-label":"Refresh log",children:(0,u.jsx)(ry,{name:"i-ph-arrows-clockwise",className:n5("size-4",i&&"animate-spin")})})]}),!t&&(0,u.jsx)("div",{className:"space-y-1.5",children:Array.from({length:6}).map((e,t)=>(0,u.jsx)(oP,{className:"h-8 w-full"},t))}),a&&(0,u.jsx)("p",{className:"text-error text-sm",children:a}),!1===n&&(0,u.jsx)("p",{className:"color-muted text-sm",children:"The working directory is not a git repository."}),!0===n&&0===r.length&&(0,u.jsx)("p",{className:"color-muted text-sm",children:"No commits yet."}),!0===n&&r.length>0&&(0,u.jsxs)("div",{ref:w,className:"min-h-0 flex-1 overflow-y-auto pr-1",children:[(0,u.jsxs)("ul",{children:[y&&x&&(0,u.jsx)(lP,{col:x.col,color:x.color,gutter:v,changes:c??0}),r.map((e,t)=>(0,u.jsx)(lT,{commit:e,row:b.rows[t],gutter:v,currentBranch:s,isHead:0===t,topStub:0===t&&y,selected:e.hash===f,onSelect:p,onLoadDetail:g},e.hash))]}),o&&(0,u.jsxs)("div",{ref:k,className:"color-muted flex items-center justify-center gap-2 py-3 text-xs",children:[(0,u.jsx)(ry,{name:"i-ph-spinner-gap",className:"size-3.5 animate-spin"}),"Loading more…"]})]})]})}function lA({branch:e,selectedHash:t,onSelectCommit:n}){let{rpc:r}=t0(),[o,i]=(0,d.useState)(null),[a,l]=(0,d.useState)([]),[s,c]=(0,d.useState)(0),[f,m]=(0,d.useState)(!1),[h,p]=(0,d.useState)(!1),[g,b]=(0,d.useState)(null),[v,y]=(0,d.useState)(null),[x,w]=(0,d.useState)(null),k=(0,d.useRef)([]);(0,d.useEffect)(()=>{k.current=a},[a]);let j=(0,d.useCallback)(async(t,n,r)=>{p(!0),b(null);try{let o=await t.call("devframes:service:git:log",{limit:30,skip:n,ref:e??void 0});if(i(o.isRepo),"replace"===r)l(o.commits),c(o.commits.length);else{let e=new Set(k.current.map(e=>e.hash)),t=o.commits.filter(t=>!e.has(t.hash)&&(e.add(t.hash),!0));if(0===t.length)return void m(!1);l(e=>[...e,...t]),c(e=>e+t.length)}m(o.hasMore)}catch(e){b(e instanceof Error?e.message:String(e))}finally{p(!1)}},[e]),S=(0,d.useCallback)(async e=>{try{let t=await e.call("devframes:service:git:status");y(t.branch),w(t.staged.length+t.unstaged.length+t.untracked.length)}catch{}},[]);(0,d.useEffect)(()=>{r&&(j(r,0,"replace"),S(r))},[r,j,S]);let E=(0,d.useCallback)(async()=>{r&&await Promise.all([j(r,0,"replace"),S(r)])},[r,j,S]),N=(0,d.useCallback)(async()=>{r&&await j(r,s,"append")},[r,s,j]),_=(0,d.useCallback)(e=>r?r.call("devframes:service:git:show",{hash:e,patch:!1}):Promise.reject(Error("rpc unavailable")),[r]);return(0,u.jsx)(lz,{rpcConnected:!!r,isRepo:o,commits:a,hasMore:f,loading:h,error:g,selectedRef:e??null,currentBranch:v,workingChanges:x,selectedHash:t,onRefresh:E,onLoadMore:N,onSelectCommit:n,onLoadDetail:r?_:void 0})}function lL({className:e,...t}){return(0,u.jsx)("textarea",{"data-slot":"textarea",className:n5("border-base placeholder:color-muted focus-visible:ring-primary-500/40 flex min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t})}function lO(e,t){return`${t}:${e}`}function lM({entry:e,staged:t,selected:n,action:r,onSelect:o}){let i=e.from?`${e.from} → ${e.path}`:e.path;return(0,u.jsxs)("li",{className:n5("group flex items-center gap-1 rounded pr-1 transition-colors",n?"bg-active":"hover:bg-active"),children:[(0,u.jsxs)("button",{type:"button",onClick:()=>o?.(e.path,t),className:"flex min-w-0 flex-1 items-center gap-1.5 py-0.5 pl-1 text-left text-xs outline-none",children:[(0,u.jsx)(oL,{code:e.status}),(0,u.jsx)(rx,{path:e.path,className:"size-4"}),(0,u.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono",title:i,children:i})]}),r]})}function lD({title:e,count:t,headerAction:n,children:r}){return 0===t?null:(0,u.jsxs)("div",{className:"space-y-1",children:[(0,u.jsxs)("div",{className:"flex items-center justify-between",children:[(0,u.jsxs)("div",{className:"color-muted flex items-center gap-2 text-xs font-medium tracking-wide uppercase",children:[e,(0,u.jsx)(rb,{variant:"secondary",className:"px-1.5 py-0 text-[10px] tabular-nums",children:t})]}),n]}),(0,u.jsx)("ul",{children:r})]})}function lI(e){let{data:t,loading:n,busy:r,canWrite:o,message:i,note:a,selectedKey:l,onRefresh:s,onStage:c,onUnstage:d,onCommit:f,onMessageChange:m,onSelectFile:h,patchSlot:p}=e,g=(e,t)=>(0,u.jsx)(it,{variant:"ghost",size:"sm",disabled:r,"aria-label":t,onClick:()=>c(e),children:(0,u.jsx)(ry,{name:"i-ph-plus",className:"size-4"})});return(0,u.jsxs)("div",{className:"flex h-full min-h-0 flex-col gap-3",children:[(0,u.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-2",children:[(0,u.jsxs)("div",{className:"flex min-w-0 items-baseline gap-2.5",children:[(0,u.jsx)("h2",{className:"text-lg leading-none font-semibold tracking-tight",children:"Changes"}),t?.isRepo&&!t.clean&&(0,u.jsxs)("span",{className:"color-muted shrink-0 text-xs tabular-nums",children:[t.staged.length+t.unstaged.length+t.untracked.length," ","changed"]})]}),(0,u.jsxs)("div",{className:"flex items-center gap-2",children:[t?.isRepo&&(t.ahead>0||t.behind>0)&&(0,u.jsxs)(rb,{variant:"secondary",className:"gap-1 font-mono",children:[t.ahead>0&&(0,u.jsxs)("span",{className:"text-success inline-flex items-center tabular-nums",children:[(0,u.jsx)(ry,{name:"i-ph-arrow-up",className:"size-3"}),t.ahead]}),t.behind>0&&(0,u.jsxs)("span",{className:"text-warning inline-flex items-center tabular-nums",children:[(0,u.jsx)(ry,{name:"i-ph-arrow-down",className:"size-3"}),t.behind]})]}),(0,u.jsx)(it,{variant:"ghost",size:"sm",onClick:s,disabled:n||r,"aria-label":"Refresh status",children:(0,u.jsx)(ry,{name:"i-ph-arrows-clockwise",className:`size-4 ${n?"animate-spin":""}`})})]})]}),!t&&(0,u.jsx)("div",{className:"space-y-2",children:Array.from({length:4}).map((e,t)=>(0,u.jsx)(oP,{className:"h-6 w-full"},t))}),t&&!t.isRepo&&(0,u.jsx)("p",{className:"color-muted text-sm",children:"The working directory is not a git repository."}),t?.isRepo&&t.clean&&(0,u.jsx)("p",{className:"color-muted text-sm",children:"Nothing to commit. The working tree is clean."}),t?.isRepo&&!t.clean&&(0,u.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:[(0,u.jsx)(o$,{className:"min-h-0 flex-1 pr-3",children:(0,u.jsxs)("div",{className:"space-y-4",children:[(0,u.jsx)(lD,{title:"Staged",count:t.staged.length,headerAction:o&&t.staged.length>0?(0,u.jsx)(ie,{variant:"ghost",size:"sm",disabled:r,onClick:()=>d(t.staged.map(e=>e.path)),children:"Unstage all"}):void 0,children:t.staged.map(e=>{let t,n;return(0,u.jsx)(lM,{entry:e,staged:!0,selected:l===lO(e.path,!0),onSelect:h,action:o?(t=[e.path],n=`Unstage ${e.path}`,(0,u.jsx)(it,{variant:"ghost",size:"sm",disabled:r,"aria-label":n,onClick:()=>d(t),children:(0,u.jsx)(ry,{name:"i-ph-minus",className:"size-4"})})):void 0},`s:${e.path}`)})}),(0,u.jsx)(lD,{title:"Unstaged",count:t.unstaged.length,headerAction:o&&t.unstaged.length>0?(0,u.jsx)(ie,{variant:"ghost",size:"sm",disabled:r,onClick:()=>c(t.unstaged.map(e=>e.path)),children:"Stage all"}):void 0,children:t.unstaged.map(e=>(0,u.jsx)(lM,{entry:e,staged:!1,selected:l===lO(e.path,!1),onSelect:h,action:o?g([e.path],`Stage ${e.path}`):void 0},`u:${e.path}`))}),(0,u.jsx)(lD,{title:"Untracked",count:t.untracked.length,headerAction:o&&t.untracked.length>0?(0,u.jsx)(ie,{variant:"ghost",size:"sm",disabled:r,onClick:()=>c(t.untracked),children:"Stage all"}):void 0,children:t.untracked.map(e=>(0,u.jsx)(lM,{entry:{path:e,status:"unknown"},staged:!1,selected:l===lO(e,!1),onSelect:h,action:o?g([e],`Stage ${e}`):void 0},`t:${e}`))})]})}),p&&(0,u.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden rounded-md border",children:p}),o&&t.staged.length>0&&(0,u.jsxs)("div",{className:"shrink-0 space-y-2 border-t pt-3",children:[(0,u.jsx)(lL,{value:i,onChange:e=>m(e.target.value),placeholder:"Commit message",rows:2,disabled:r,"aria-label":"Commit message"}),a&&(0,u.jsx)("p",{className:"text-error text-xs",children:a}),(0,u.jsx)(ie,{size:"sm",className:"tabular-nums",onClick:f,disabled:r||0===i.trim().length,children:`Commit ${t.staged.length} file${1===t.staged.length?"":"s"}`})]})]})]})}function lF({staged:e,path:t}){let{data:n,loading:r}=t2((0,d.useCallback)(n=>n.call("devframes:service:git:diff",{staged:e,path:t}),[e,t]));return(0,u.jsx)(o9,{patch:n?.patch??null,loading:r||!n,truncated:n?.truncated??!1})}function lW(){let{rpc:e}=t0(),{data:t,loading:n,refresh:r,setData:o}=t2((0,d.useCallback)(e=>e.call("devframes:service:git:status"),[])),[i,a]=(0,d.useState)(!1),[l,s]=(0,d.useState)(""),[c,f]=(0,d.useState)(null),[m,h]=(0,d.useState)(null),p=!!t?.canWrite&&e?.connectionMeta.backend==="websocket",g=(0,d.useCallback)(async t=>{if(e&&0!==t.length){a(!0),f(null);try{o(await e.call("devframes:service:git:stage",{paths:t}))}finally{a(!1)}}},[e,o]),b=(0,d.useCallback)(async t=>{if(e&&0!==t.length){a(!0),f(null);try{o(await e.call("devframes:service:git:unstage",{paths:t}))}finally{a(!1)}}},[e,o]),v=(0,d.useCallback)(async()=>{if(e){a(!0),f(null);try{let t=await e.call("devframes:service:git:commit",{message:l});o(t.status),t.ok?s(""):f(t.message)}finally{a(!1)}}},[e,l,o]),y=(0,d.useCallback)((e,t)=>{h(n=>n&&n.path===e&&n.staged===t?null:{path:e,staged:t})},[]);return(0,u.jsx)(lI,{data:t,loading:n,busy:i,canWrite:!!p,message:l,note:c,selectedKey:m?`${m.staged}:${m.path}`:null,onRefresh:r,onStage:g,onUnstage:b,onCommit:v,onMessageChange:s,onSelectFile:y,patchSlot:m?(0,u.jsx)(lF,{staged:m.staged,path:m.path},`${m.staged}:${m.path}`):null})}let lU="devframe-git-theme",lB=[{id:"commits",label:"Commits",icon:"i-ph-git-commit-duotone"},{id:"changes",label:"Changes",icon:"i-ph-git-diff-duotone"}];function lq(e,t,n){return Math.min(Math.max(e,t),n)}function lV({onPointerDown:e,label:t}){return(0,u.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":t,onPointerDown:e,className:"group bg-[#8882] relative w-px shrink-0 cursor-col-resize",children:(0,u.jsx)("div",{className:"group-hover:bg-primary/40 group-active:bg-primary/60 absolute inset-y-0 -left-1 -right-1 z-10 transition-colors"})})}function lH(){let{status:e}=t0(),t=function(e){if("connected"===e)return null;let t=h[e];return{label:t.label,dot:f("inline-block size-1.5 rounded-full shrink-0",t.dot),class:f("flex items-center gap-1.5 shrink-0 text-xs color-muted select-none",void 0)}}(e);return t?(0,u.jsxs)("span",{className:t.class,children:[(0,u.jsx)("span",{className:t.dot}),t.label]}):null}function lG(){let{toggle:e}=function(){let[e,t]=(0,d.useState)("dark");return(0,d.useEffect)(()=>(function(){if(window.parent===window)return()=>{};let e=document.documentElement,t=e.style.getPropertyValue("--devframe-primary"),n=e.style.getPropertyPriority("--devframe-primary"),r=!1,o=!1;return eh().then(({connectionMeta:t})=>{let n=t.configs,i=n?.ui?.branding?.primaryColor;!r&&i&&CSS.supports("color",i)&&(e.style.setProperty("--devframe-primary",i),o=!0)}).catch(()=>{}),()=>{r=!0,o&&(t?e.style.setProperty("--devframe-primary",t,n):e.style.removeProperty("--devframe-primary"))}})(),[]),(0,d.useEffect)(()=>{t(function(){try{let e=localStorage.getItem(lU);return"light"===e||"dark"===e?e:null}catch{return null}}()??(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"))},[]),(0,d.useEffect)(()=>{document.documentElement.classList.toggle("dark","dark"===e)},[e]),{theme:e,toggle:function(){t(e=>{let t="dark"===e?"light":"dark";try{localStorage.setItem(lU,t)}catch{}return t})}}}();return(0,u.jsx)(it,{variant:"ghost",size:"sm",onClick:e,"aria-label":"Toggle light/dark theme",children:(0,u.jsx)(ry,{name:"i-ph-sun-duotone dark:i-ph-moon-duotone",className:"size-4"})})}function lX({branches:e,disabled:t,value:n,onSelect:r}){return(0,u.jsxs)("label",{className:"border-base bg-base focus-within:ring-primary-500/40 flex h-7 min-w-0 items-center gap-1.5 rounded-md border pr-1.5 pl-2 focus-within:ring-2",children:[(0,u.jsx)(ry,{name:"i-ph-git-branch-duotone",className:"color-active size-3.5 shrink-0"}),(0,u.jsxs)("select",{"aria-label":"Branch",value:n??"",onChange:e=>r(e.target.value),disabled:t,className:"color-base h-full max-w-44 min-w-0 cursor-pointer appearance-none truncate bg-transparent pr-4 text-sm outline-none disabled:cursor-default",children:[!e?.isRepo&&(0,u.jsx)("option",{value:"",children:"Not a repository"}),e?.isRepo&&0===e.branches.length&&(0,u.jsx)("option",{value:"",children:"No branches"}),e?.isRepo&&e.branches.map(e=>(0,u.jsx)("option",{value:e.name,children:e.name},e.name))]}),(0,u.jsx)(ry,{name:"i-ph-caret-up-down",className:"color-faint pointer-events-none -ml-4 size-3.5 shrink-0"})]})}function lJ(){let[e,t]=(0,d.useState)("commits"),[n,r]=(0,d.useState)(null),[o,i]=(0,d.useState)(null),a=function(e){let[t,n]=(0,d.useState)(480),r=(0,d.useRef)(480);return r.current=t,(0,d.useEffect)(()=>{try{let t=Number(localStorage.getItem(e));Number.isFinite(t)&&t>0&&n(lq(t,340,760))}catch{}},[e,340,760]),{width:t,onPointerDown:(0,d.useCallback)(t=>{t.preventDefault();let o=t.clientX,i=r.current,a=e=>n(lq(i+-1*(e.clientX-o),340,760)),l=()=>{window.removeEventListener("pointermove",a),window.removeEventListener("pointerup",l),document.body.style.cursor="",document.body.style.userSelect="";try{localStorage.setItem(e,String(Math.round(r.current)))}catch{}};window.addEventListener("pointermove",a),window.addEventListener("pointerup",l),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[e,340,760,-1])}}("devframe-git:rail-right"),{data:l,loading:s}=t2((0,d.useCallback)(e=>e.call("devframes:service:git:branches"),[]));(0,d.useEffect)(()=>{if(!l?.isRepo)return void r(null);let e=l.branches.map(e=>e.name),t=l.current??l.branches.find(e=>e.current)?.name??null;r(n=>n&&e.includes(n)?n:t??e[0]??null)},[l]);let c="commits"===e&&null!==o;return(0,u.jsxs)("div",{className:"bg-base color-base flex h-svh w-full flex-col overflow-hidden",children:[(0,u.jsxs)("header",{className:f("flex items-center gap-2 shrink-0 h-nav px-3 border-b border-base bg-base z-nav",void 0),children:[(0,u.jsxs)("div",{className:f("flex items-center gap-1.5 shrink-0 font-semibold text-sm select-none",void 0),children:[(0,u.jsx)(ry,{name:"i-ph-git-fork-duotone",className:"text-base color-active"}),(0,u.jsx)("span",{children:"Git"})]}),(0,u.jsx)(lX,{branches:l,disabled:s||!l?.isRepo||0===l.branches.length,value:n,onSelect:e=>{r(e),i(null),t("commits")}}),(0,u.jsx)("nav",{className:f("inline-flex items-center gap-1 p-1 rounded-lg bg-secondary w-max",void 0),role:"tablist","aria-label":"Git views",children:lB.map(({id:n,label:r,icon:o})=>(0,u.jsxs)("button",{type:"button",role:"tab","aria-selected":e===n,"data-state":e===n?"active":"inactive",className:f("px-3 py-1 rounded-md text-sm color-muted inline-flex gap-1.5 items-center whitespace-nowrap select-none cursor-pointer transition outline-none hover:color-base focus-visible:ring-2 focus-visible:ring-primary-500/40 data-[state=active]:bg-base data-[state=active]:color-base data-[state=active]:shadow-sm",void 0),onClick:()=>t(n),children:[(0,u.jsx)(ry,{name:o,className:"size-4"}),r]},n))}),(0,u.jsx)("div",{className:"flex-1"}),(0,u.jsx)(lH,{}),(0,u.jsx)(lG,{})]}),(0,u.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,u.jsxs)("section",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:["commits"===e&&(0,u.jsx)("div",{className:"flex min-h-0 flex-1 flex-col px-3 py-2.5",children:(0,u.jsx)(lA,{branch:n,selectedHash:o,onSelectCommit:i})}),"changes"===e&&(0,u.jsx)("div",{className:"flex min-h-0 flex-1 flex-col px-3 py-2.5",children:(0,u.jsx)(lW,{})})]}),c&&o&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(lV,{onPointerDown:a.onPointerDown,label:"Resize commit details"}),(0,u.jsx)("aside",{className:"flex min-h-0 flex-col p-3",style:{width:a.width},children:(0,u.jsx)(ii,{hash:o,onClose:()=>i(null)})})]})]})]})}function lK(){let{status:e,error:t}=t0();return"connected"!==e?(0,u.jsx)(ia,{status:e,error:t}):(0,u.jsx)(lJ,{})}e.s(["Dashboard",0,function(){return(0,u.jsx)(t1,{children:(0,u.jsx)(lK,{})})}],15065)}]);